docs: def encrypt(self, m, t=None, h=None, mgf=None, L=None):
          """
          Encrypt message 'm' using 't' encryption scheme where 't' can be:
  
          - None: the message 'm' is directly applied the RSAEP encryption
                  primitive, as described in PKCS#1 v2.1, i.e. RFC 3447
                  Sect 5.1.1. Simply put, the message undergo a modular
                  exponentiation using the public key. Additionnal method
                  parameters are just ignored.
  
          - 'pkcs': the message 'm' is applied RSAES-PKCS1-V1_5-ENCRYPT encryption
                  scheme as described in section 7.2.1 of RFC 3447. In that
                  context, other parameters ('h', 'mgf', 'l') are not used.
  
          - 'oaep': the message 'm' is applied the RSAES-OAEP-ENCRYPT encryption
                  scheme, as described in PKCS#1 v2.1, i.e. RFC 3447 Sect
                  7.1.1. 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.
  
                  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 h is not None:
              h = mapHashFunc(h)
          if t is None: # Raw encryption
              return self.key.encrypt(
                  m,
                  padding.AssymmetricPadding(),
              )
          
          elif t == "pkcs":
              return self.key.encrypt(
                  m,
                  padding.PKCS1v15(),
              )
          
          elif t == "oaep":
              return self.key.encrypt(
                  m,
                  padding.OAEP(
                      mgf=mgf(h()),
                      algorithm=h(),
                      label=L,
                  ),
              )
          else:
              warning("Key.encrypt(): Unknown encryption type (%s) provided" % t)
              return None