docs: def decrypt(self, C, t=None, h=None, mgf=None, L=None):
          """
          Decrypt ciphertext 'C' using 't' decryption scheme where 't' can be:
  
          - None: the ciphertext 'C' is directly applied the RSADP decryption
                  primitive, as described in PKCS#1 v2.1, i.e. RFC 3447
                  Sect 5.1.2. Simply, put the message undergo a modular
                  exponentiation using the private key. Additionnal method
                  parameters are just ignored.
  
          - 'pkcs': the ciphertext 'C' is applied RSAES-PKCS1-V1_5-DECRYPT
                  decryption scheme as described in section 7.2.2 of RFC 3447.
                  In that context, other parameters ('h', 'mgf', 'l') are not
                  used.
  
          - 'oaep': the ciphertext 'C' is applied the RSAES-OAEP-DECRYPT decryption
                  scheme, as described in PKCS#1 v2.1, i.e. RFC 3447 Sect
                  7.1.2. In that context,
  
                  o 'h' parameter provides the name of the hash method to use.
                    Possible values are "md2", "md4", "md5", "sha1", "tls",
                    "sha224", "sha256", "sha384" and "sha512". if none is provided,
                    sha1 is used by default.
  
                  o 'mgf' is the mask generation function. By default, mgf
                    is derived from the provided hash function using the
                    generic MGF1 (see pkcs_mgf1() for details).
  
                  o 'L' is the optional label to be associated with the
                    message. If not provided, the default value is used, i.e
                    the empty string. No check is done on the input limitation
                    of the hash function regarding the size of 'L' (for
                    instance, 2^61 - 1 for SHA-1). You have been warned.        
          """
          if t is None:
              C = pkcs_os2ip(C)
              c = self._rsadp(C)
              l = int(math.ceil(math.log(c, 2) / 8.)) # Hack
              return pkcs_i2osp(c, l)
  
          elif t == "pkcs":
              return self._rsaes_pkcs1_v1_5_decrypt(C)
  
          elif t == "oaep":
              return self._rsaes_oaep_decrypt(C, h, mgf, L)
  
          else:
              warning("Key.decrypt(): Unknown decryption type (%s) provided" % t)
              return None