code: def encrypt(self, msg, pubkey, enhex=False):
          '''
          Return duple of (cyphertext, nonce) resulting from encrypting the message
          using shared key generated from the .key and the pubkey
          If pubkey is hex encoded it is converted first
          If enhex is True then use HexEncoder otherwise use RawEncoder
  
          Intended for the owner of the passed in public key
  
          msg is string
          pub is Publican instance
          '''
          if not isinstance(pubkey, PublicKey):
              if len(pubkey) == 32:
                  pubkey = PublicKey(pubkey, encoding.RawEncoder)
              else:
                  pubkey = PublicKey(pubkey, encoding.HexEncoder)
          box = Box(self.key, pubkey)
          nonce = self.nonce()
          encoder = encoding.HexEncoder if enhex else encoding.RawEncoder
          encrypted = box.encrypt(msg, nonce, encoder)
          return (encrypted.ciphertext, encrypted.noncef encrypt(self, msg, pubkey, enhex=False):
          '''
          Return duple of (cyphertext, nonce) resulting from encrypting the message
          using shared key generated from the .key and the pubkey
          If pubkey is hex encoded it is converted first
          If enhex is True then use HexEncoder otherwise use RawEncoder
  
          Intended for the owner of the passed in public key
  
          msg is string
          pub is Publican instance
          '''
          if not isinstance(pubkey, PublicKey):
              if len(pubkey) == 32:
                  pubkey = PublicKey(pubkey, encoding.RawEncoder)
              else:
                  pubkey = PublicKey(pubkey, encoding.HexEncoder)
          box = Box(self.key, pubkey)
          nonce = self.nonce()
          encoder = encoding.HexEncoder if enhex else encoding.RawEncoder
          encrypted = box.encrypt(msg, nonce, encoder)
          return (encrypted.ciphertext, encrypted.nonce)
docs: Return duple of (cyphertext, nonce) resulting from encrypting the message
          using shared key generated from the .key and the pubkey
          If pubkey is hex encoded it is converted first
          If enhex is True then use HexEncoder otherwise use RawEncoder
  
          Intended for the owner of the passed in public key
  
          msg is string
          pub is Publican instance