code: func (t *EncCC) DecrypterVerify(stub shim.ChaincodeStubInterface, args []string, decKey, verKey []byte) pb.Response {
  	// create the decrypter/verify entity - we give it an ID, the bccsp instance and the keys
  	ent, err := entities.NewAES256EncrypterECDSASignerEntity("ID", t.bccspInst, decKey, verKey)
  	if err != nil {
  		return shim.Error(fmt.Sprintf("entities.NewAES256DecrypterEntity failed, err %s", err))
  	}
  
  	if len(args) != 1 {
  		return shim.Error("Expected 1 parameters to function DecrypterVerify")
  	}
  	key := args[0]
  
  	// here we decrypt the state associated to key and verify it
  	cleartextValue, err := getStateDecryptAndVerify(stub, ent, key)
  	if err != nil {
  		return shim.Error(fmt.Sprintf("getStateDecryptAndVerify failed, err %+v", err))
  	}
  
  	// here we return the decrypted and verified value as a result
  	return shim.Success(cleartextValue)
  }
docs: // DecrypterVerify exposes how to get state to the ledger after having received keys for
  // decrypting (AES 256 bit key) and verifying (X9.62/SECG curve over a 256 bit prime field) that has been provided to the chaincode through the
  // transient field