circuitmatter.pase ================== .. py:module:: circuitmatter.pase Attributes ---------- .. autoapisummary:: circuitmatter.pase.M circuitmatter.pase.N Classes ------- .. autoapisummary:: circuitmatter.pase.PASEMessage circuitmatter.pase.PBKDFParamRequest circuitmatter.pase.Crypto_PBKDFParameterSet circuitmatter.pase.PBKDFParamResponse circuitmatter.pase.PAKE1 circuitmatter.pase.PAKE2 circuitmatter.pase.PAKE3 Functions --------- .. autoapisummary:: circuitmatter.pase.initiator_values circuitmatter.pase.Crypto_pA circuitmatter.pase.Crypto_pB circuitmatter.pase.Crypto_Transcript circuitmatter.pase.KDF circuitmatter.pase.Crypto_P2 circuitmatter.pase.compute_session_keys circuitmatter.pase.compute_verification circuitmatter.pase.compute_qr_code circuitmatter.pase.show_qr_code Module Contents --------------- .. py:class:: PASEMessage Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: PROTOCOL_ID .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: PBKDFParamRequest Bases: :py:obj:`PASEMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: initiatorRandom .. py:attribute:: initiatorSessionId .. py:attribute:: passcodeId .. py:attribute:: hasPBKDFParameters .. py:attribute:: initiatorSessionParams .. py:attribute:: PROTOCOL_ID .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: Crypto_PBKDFParameterSet Bases: :py:obj:`circuitmatter.tlv.Structure` .. py:attribute:: iterations .. py:attribute:: salt .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: PBKDFParamResponse Bases: :py:obj:`PASEMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: initiatorRandom .. py:attribute:: responderRandom .. py:attribute:: responderSessionId .. py:attribute:: pbkdf_parameters .. py:attribute:: responderSessionParams .. py:attribute:: PROTOCOL_ID .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: PAKE1 Bases: :py:obj:`PASEMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: pA .. py:attribute:: PROTOCOL_ID .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: PAKE2 Bases: :py:obj:`PASEMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: pB .. py:attribute:: cB .. py:attribute:: PROTOCOL_ID .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:class:: PAKE3 Bases: :py:obj:`PASEMessage` .. py:attribute:: PROTOCOL_OPCODE .. py:attribute:: cA .. py:attribute:: PROTOCOL_ID .. py:method:: __str__() .. py:method:: encode() -> memoryview .. py:method:: encode_into(buffer: bytearray, offset: int = 0) -> int .. py:method:: decode(buffer: memoryview, offset=0) -> Structure :classmethod: .. py:method:: decode_member(control_octet, buffer, offset=0, depth=0) -> tuple[dict, int] :classmethod: .. py:method:: construct_containers() .. py:method:: from_value(value) :classmethod: .. py:attribute:: values .. py:method:: max_length() :classmethod: .. py:method:: set_value(tag, value) .. py:method:: delete_value(tag) .. py:data:: M .. py:data:: N .. py:function:: initiator_values(passcode, salt, iterations) -> tuple[bytes, bytes] .. py:function:: Crypto_pA(w0, w1) -> bytes .. py:function:: Crypto_pB(random_source, w0: int, L: ecdsa.ellipticcurve.Point) -> tuple[int, ecdsa.ellipticcurve.AbstractPoint] .. py:function:: Crypto_Transcript(context, pA, pB, Z, V, w0) -> bytes .. py:function:: KDF(salt, key, info) .. py:function:: Crypto_P2(tt, pA, pB) -> tuple[bytes, bytes, bytes] .. py:function:: compute_session_keys(Ke, secure_session_context) .. py:function:: compute_verification(random_source, pake1, pake2, context, verifier) .. py:function:: compute_qr_code(vendor_id, product_id, discriminator, passcode) -> str .. py:function:: show_qr_code(vendor_id, product_id, discriminator, passcode)