code: def encrypt(self, msg, iv='', auth_data=None):
          
          if not iv:
              raise ValueError('Missing Nonce')
  
          return self.key.encrypt(iv, msg, auth_data)
docs: Encrypts and authenticates the data provided as well as authenticating
          the associated_data.
  
          :param msg: The message to be encrypted
          :param iv: MUST be present, at least 96-bit long
          :param auth_data: Associated data
          :return: The cipher text bytes with the 16 byte tag appended.