code: def _read_para_diffie_hellman(self, code, cbit, clen, *, desc, length, version):
          
          _gpid = self._read_unpack(1)
          _vlen = self._read_unpack(2)
          _pval = self._read_fileng(_vlen)
  
          diffie_hellman = dict(
              type=desc,
              critical=cbit,
              length=clen,
              id=_GROUP_ID.get(_gpid, 'Unassigned'),
              pub_len=_vlen,
              pub_val=_pval,
          )
  
          _plen = length - clen
          if _plen:
              self._read_fileng(_plen)
  
          return diffie_hellman
docs: Read HIP DIFFIE_HELLMAN parameter.
  
          Structure of HIP DIFFIE_HELLMAN parameter [RFC 7401]:
               0                   1                   2                   3
               0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |             Type              |             Length            |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              |   Group ID    |      Public Value Length      | Public Value  /
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              /                                                               |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              /                               |            Padding            |
              +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  
              Octets      Bits        Name                    Description
                0           0     diffie_hellman.type     Parameter Type
                1          15     diffie_hellman.critical Critical Bit
                2          16     diffie_hellman.length   Length of Contents
                4          32     diffie_hellman.id       Group ID
                5          40     diffie_hellman.pub_len  Public Value Length
                6          48     diffie_hellman.pub_val  Public Value
                ?           ?     -                       Padding