code: def split_pkt(pkt, assoclen, icvlen=0):
          
          data = raw(pkt)
          assoc = data[:assoclen]
          if icvlen:
              icv = data[-icvlen:]
              enc = data[assoclen:-icvlen]
          else:
              icv = b''
              enc = data[assoclen:]
          return assoc, enc, icv
docs: split the packet into associated data, plaintext or ciphertext, and
          optional ICV