scapy.layers.eap¶
Extensible Authentication Protocol (EAP)
-
class
scapy.layers.eap.EAP(*args, **kargs)¶ Bases:
scapy.packet.PacketRFC 3748 - Extensible Authentication Protocol (EAP)
-
FAILURE= 4¶
-
FINISH= 6¶
-
INITIATE= 5¶
-
REQUEST= 1¶
-
RESPONSE= 2¶
-
SUCCESS= 3¶
-
aliastypes¶
-
answers(other)¶
-
classmethod
dispatch_hook(_pkt=None, *args, **kargs)¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | ID | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | DESIRED AUTH TYPES | IDENTITY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MESSAGE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EAPEAP fields¶ code
4id
0len
Nonetype
ByteEnumField(Cond)0desired_auth_types
FieldListField(Cond)[]identity
StrLenField(Cond)b''message
StrLenField(Cond)b''
-
guess_payload_class(_)¶
-
mysummary()¶
-
post_build(p, pay)¶
-
classmethod
register_variant()¶
-
registered_methods= {0: <class 'scapy.layers.eap.EAP'>, 4: <class 'scapy.layers.eap.EAP_MD5'>, 13: <class 'scapy.layers.eap.EAP_TLS'>, 17: <class 'scapy.layers.eap.LEAP'>, 21: <class 'scapy.layers.eap.EAP_TTLS'>, 25: <class 'scapy.layers.eap.EAP_PEAP'>, 43: <class 'scapy.layers.eap.EAP_FAST'>}¶
-
-
class
scapy.layers.eap.EAPOL(*args, **kargs)¶ Bases:
scapy.packet.PacketEAPOL - IEEE Std 802.1X-2010
-
ASF= 4¶
-
EAP_PACKET= 0¶
-
KEY= 3¶
-
LOGOFF= 2¶
-
START= 1¶
-
aliastypes¶
-
answers(other)¶
-
extract_padding(s)¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VERSION | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EAPOLEAPOL fields¶ version
1type
0len
None
-
hashret()¶
-
mysummary()¶
-
-
class
scapy.layers.eap.EAP_FAST(*args, **kargs)¶ Bases:
scapy.layers.eap.EAPRFC 4851 - “The Flexible Authentication via Secure Tunneling Extensible Authentication Protocol Method (EAP-FAST)”
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | ID | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE |L|M|S|RES|VERSI| MESSAGE LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EAP_FASTEAP_FAST fields¶ code
1id
0len
Nonetype
43L
BitField(1 bit)0M
BitField(1 bit)0S
BitField(1 bit)0reserved
BitField(2 bits)0version
BitField(3 bits)0message_len
IntField(Cond)0data
b''
-
match_subclass= True¶
-
-
class
scapy.layers.eap.EAP_MD5(*args, **kargs)¶ Bases:
scapy.layers.eap.EAPRFC 3748 - “Extensible Authentication Protocol (EAP)”
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | ID | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | VALUE SIZE | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTIONAL NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EAP_MD5EAP_MD5 fields¶ code
1id
0len
Nonetype
4value_size
Nonevalue
b''optional_name
b''
-
match_subclass= True¶
-
-
class
scapy.layers.eap.EAP_PEAP(*args, **kargs)¶ Bases:
scapy.layers.eap.EAPdraft-josefsson-pppext-eap-tls-eap-05.txt - “Protected EAP Protocol (PEAP)”
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | ID | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE |L|M|S|RESER|VER| TLS MESSAGE LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | TLS DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EAP_PEAPEAP_PEAP fields¶ code
1id
0len
Nonetype
25L
BitField(1 bit)0M
BitField(1 bit)0S
BitField(1 bit)0reserved
BitField(3 bits)0version
BitField(2 bits)1tls_message_len
IntField(Cond)0tls_data
b''
-
match_subclass= True¶
-
-
class
scapy.layers.eap.EAP_TLS(*args, **kargs)¶ Bases:
scapy.layers.eap.EAPRFC 5216 - “The EAP-TLS Authentication Protocol”
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | ID | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE |L|M|S| RESERVED| TLS MESSAGE LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | TLS DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EAP_TLSEAP_TLS fields¶ code
1id
0len
Nonetype
13L
BitField(1 bit)0M
BitField(1 bit)0S
BitField(1 bit)0reserved
BitField(5 bits)0tls_message_len
IntField(Cond)0tls_data
b''
-
match_subclass= True¶
-
-
class
scapy.layers.eap.EAP_TTLS(*args, **kargs)¶ Bases:
scapy.layers.eap.EAPRFC 5281 - “Extensible Authentication Protocol Tunneled Transport Layer Security Authenticated Protocol Version 0 (EAP-TTLSv0)”
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | ID | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE |L|M|S|RES|VERSI| MESSAGE LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EAP_TTLSEAP_TTLS fields¶ code
1id
0len
Nonetype
21L
BitField(1 bit)0M
BitField(1 bit)0S
BitField(1 bit)0reserved
BitField(2 bits)0version
BitField(3 bits)0message_len
IntField(Cond)0data
b''
-
match_subclass= True¶
-
-
class
scapy.layers.eap.LEAP(*args, **kargs)¶ Bases:
scapy.layers.eap.EAPCisco LEAP (Lightweight EAP) https://freeradius.org/rfc/leap.txt
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CODE | ID | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | VERSION | UNUSED | COUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHALLENGE RESPONSE | USERNAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LEAPLEAP fields¶ code
1id
0len
Nonetype
17version
1unused
0count
Nonechallenge_response
b''username
b''
-
match_subclass= True¶
-
-
class
scapy.layers.eap.MACsecSCI(*args, **kargs)¶ Bases:
scapy.packet.PacketSecure Channel Identifier.
-
aliastypes¶
-
extract_padding(s)¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SYSTEM IDENTIFIER | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | PORT IDENTIFIER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MACsecSCIMACsecSCI fields¶ system_identifier
Noneport_identifier
0
-
-
class
scapy.layers.eap.MKABasicParamSet(*args, **kargs)¶ Bases:
scapy.packet.PacketBasic Parameter Set (802.1X-2010, section 11.11).
-
aliastypes¶
-
extract_padding(s)¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MKA VERSION ID|KEY SERVER PRIO|K|M|MAC| PARAM SET BODY LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SCI | ACTOR MEMBER ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ACTOR MESSAGE NUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ALGORITHM AGILITY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CAK NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MKABasicParamSetMKABasicParamSet fields¶ mka_version_id
0key_server_priority
0key_server
BitField(1 bit)0macsec_desired
BitField(1 bit)0macsec_capability
BitField(2 bits)0param_set_body_len
BitField(12 bits)0SCI
<MACsecSCI |>actor_member_id
b''actor_message_number
0algorithm_agility
0cak_name
b''
-
-
class
scapy.layers.eap.MKADistributedCAKParamSet(*args, **kargs)¶ Bases:
scapy.layers.eap.MKAParamSetDistributed CAK Parameter Set (802.1X-2010, section 11.11).
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PARAM SET TYPE| PARAM SET BODY LEN |CAK AES KEY WRA| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CAK KEY NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MKADistributedCAKParamSetMKADistributedCAKParamSet fields¶ param_set_type
5param_set_body_len
0cak_aes_key_wrap
b''cak_key_name
b''
-
-
class
scapy.layers.eap.MKADistributedSAKParamSet(*args, **kargs)¶ Bases:
scapy.layers.eap.MKAParamSetDistributed SAK parameter set (802.1X-2010, section 11.11).
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PARAM SET TYPE|DIS|CON| UNUSED| PARAM SET BODY LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEY NUMBER | MACSEC CIPHER SUITE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SAK AES KEY WRAP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MKADistributedSAKParamSetMKADistributedSAKParamSet fields¶ param_set_type
4distributed_an
BitField(2 bits)0confidentiality_offset
BitField(2 bits)0unused
BitField(4 bits)0param_set_body_len
0key_number
b''macsec_cipher_suite
XStrFixedLenField(Cond)b''sak_aes_key_wrap
b''
-
-
class
scapy.layers.eap.MKAICVSet(*args, **kargs)¶ Bases:
scapy.layers.eap.MKAParamSetICV (802.1X-2010, section 11.11).
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PARAM SET TYPE| PARAM SET BODY LEN | ICV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MKAICVSetMKAICVSet fields¶ param_set_type
255param_set_body_len
0icv
b''
-
-
class
scapy.layers.eap.MKALivePeerListParamSet(*args, **kargs)¶ Bases:
scapy.layers.eap.MKAParamSetLive Peer List parameter sets (802.1X-2010, section 11.11).
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PARAM SET TYPE| PARAM SET BODY LEN |MEMBER ID MESSA| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MKALivePeerListParamSetMKALivePeerListParamSet fields¶ param_set_type
1param_set_body_len
0member_id_message_num
[]
-
-
class
scapy.layers.eap.MKAPDU(*args, **kargs)¶ Bases:
scapy.packet.PacketMACsec Key Agreement Protocol Data Unit.
-
aliastypes¶
-
extract_padding(s)¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BASIC PARAM SET | PARAMETER SETS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MKAPDUMKAPDU fields¶ basic_param_set
b''parameter_sets
[]
-
-
class
scapy.layers.eap.MKAParamSet(*args, **kargs)¶ Bases:
scapy.packet.PacketClass from which every parameter set class inherits (except MKABasicParamSet, which has no “Parameter set type” field, and must come first in the list of parameter sets).
-
EAPOL_MKA_DEFAULT_KEY_WRAP_LEN= 24¶
-
MACSEC_DEFAULT_ICV_LEN= 16¶
-
aliastypes¶
-
classmethod
dispatch_hook(_pkt=None, *args, **kargs)¶ Returns the right parameter set class.
-
-
class
scapy.layers.eap.MKAParamSetPacketListField(name, default, cls=None, count_from=None, length_from=None, next_cls_cb=None)¶ Bases:
scapy.fields.PacketListFieldPacketListField that handles the parameter sets.
-
PARAM_SET_LEN_MASK= 4095¶
-
getfield(pkt, s)¶
-
m2i(pkt, m)¶
-
-
class
scapy.layers.eap.MKAPeerListTuple(*args, **kargs)¶ Bases:
scapy.packet.PacketLive / Potential Peer List parameter sets tuples (802.1X-2010, section 11.11). # noqa: E501
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MEMBER ID | MESSAGE NUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MKAPeerListTupleMKAPeerListTuple fields¶ member_id
b''message_number
b''
-
-
class
scapy.layers.eap.MKAPotentialPeerListParamSet(*args, **kargs)¶ Bases:
scapy.layers.eap.MKAParamSetPotential Peer List parameter sets (802.1X-2010, section 11.11).
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PARAM SET TYPE| PARAM SET BODY LEN |MEMBER ID MESSA| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. MKAPotentialPeerListParamSetMKAPotentialPeerListParamSet fields¶ param_set_type
2param_set_body_len
0member_id_message_num
[]
-
-
class
scapy.layers.eap.MKASAKUseParamSet(*args, **kargs)¶ Bases:
scapy.layers.eap.MKAParamSetSAK Use Parameter Set (802.1X-2010, section 11.11).
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PARAM SET TYPE|LAT|L|L|OLD|O|O|P|P|X|D| PARAM SET BODY LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LATEST KEY KEY SERVER MEMBER ID| LATEST KEY KEY NUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |LATEST KEY LOWEST ACCEPTABLE PN| OLD KEY KEY SERVER MEMBER ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OLD KEY KEY NUMBER | OLD KEY LOWEST ACCEPTABLE PN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. MKASAKUseParamSetMKASAKUseParamSet fields¶ param_set_type
3latest_key_an
BitField(2 bits)0latest_key_tx
BitField(1 bit)0latest_key_rx
BitField(1 bit)0old_key_an
BitField(2 bits)0old_key_tx
BitField(1 bit)0old_key_rx
BitField(1 bit)0plain_tx
BitField(1 bit)0plain_rx
BitField(1 bit)0X
BitField(1 bit)0delay_protect
BitField(1 bit)0param_set_body_len
BitField(12 bits)0latest_key_key_server_member_id
b''latest_key_key_number
b''latest_key_lowest_acceptable_pn
b''old_key_key_server_member_id
b''old_key_key_number
b''old_key_lowest_acceptable_pn
b''
-