code: def decrypt(self, pkt, verify=True):
          
          if not isinstance(pkt, self.SUPPORTED_PROTOS):
              raise TypeError('cannot decrypt %s, supported protos are %s'
                              % (pkt.__class__, self.SUPPORTED_PROTOS))
  
          if self.proto is ESP and pkt.haslayer(ESP):
              return self._decrypt_esp(pkt, verify=verify)
          elif self.proto is AH and pkt.haslayer(AH):
              return self._decrypt_ah(pkt, verify=verify)
          else:
              raise TypeError('%s has no %s layer' % (pkt, self.proto.name))
docs: Decrypt (and decapsulate) an IP(v6) packet containing ESP or AH.
  
          @param pkt:     the packet to decrypt
          @param verify:  if False, do not perform the integrity check
  
          @return: the decrypted/decapsulated packet
          @raise IPSecIntegrityError: if the integrity check fails