def decrypt(mechanism, key, data=nil, &block)
      common_crypt(:C_DecryptInit, :C_DecryptUpdate, :C_DecryptFinal, :C_Decrypt,
                   mechanism, key, data, &block)
    end
def decrypt(mechanism, key, data=nil, &block)
      common_crypt(:C_DecryptInit, :C_DecryptUpdate, :C_DecryptFinal, :C_Decrypt,
                   mechanism, key, data, &block)
    end
Convenience method for the {Session#C_DecryptInit}, {Session#C_DecryptUpdate}, {Session#C_DecryptFinal} call flow.

 @see Session#encrypt

 @param [Hash, Symbol, Integer, PKCS11::CK_MECHANISM] mechanism  used mechanism
 @param [PKCS11::Object] key  used key
 @param [String] data  data to decrypt
 @yield [PKCS11::Session::Cipher]  Cipher object for processing data parts
 @return [String]  the final part of the encryption operation.
 @example Decrypt data previously encrypted with a RSA pulic key
     plaintext2 = session.decrypt( :RSA_PKCS, rsa_priv_key, cryptogram)