class Matter::Session::Pase::PaseCommissioner

Overview

PASE session establishment (initiator side - commissioner)

Defined in:

matter/session/pase/pase.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(pin_code : UInt32, crypto : Crypto::CryptoBase = Crypto::StandardCrypto.new, context : Bytes = "CHIP PAKE V1 Commissioning".to_slice) #

[View source]

Instance Method Detail

def context : Bytes #

[View source]
def context=(context : Bytes) #

[View source]
def create_pbkdf_param_request : Bytes #

Step 1: Request PBKDF parameters from responder


[View source]
def crypto : Crypto::CryptoBase #

[View source]
def crypto=(crypto : Crypto::CryptoBase) #

[View source]
def derive_session_keys : NamedTuple(encryption: Bytes, decryption: Bytes) #

Derive session keys after successful PASE


[View source]
def generate_pake1 : Bytes #

Step 3: Generate pA (our public value)


[View source]
def pbkdf_params : PbkdfParameters | Nil #

[View source]
def pbkdf_params=(pbkdf_params : PbkdfParameters | Nil) #

[View source]
def pin_code : UInt32 #

[View source]
def pin_code=(pin_code : UInt32) #

[View source]
def process_pake2(p_b : Bytes) : Bytes #

Step 4: Process pB (responder's public value) and generate verifier


[View source]
def process_pake3(confirmation : Bytes) : Bool #

Step 5: Verify responder's confirmation


[View source]
def process_pbkdf_param_response(response : Bytes, params : PbkdfParameters) #

Step 2: Process PBKDF parameters from responder


[View source]
def spake : Crypto::Spake2p | Nil #

[View source]
def spake=(spake : Crypto::Spake2p | Nil) #

[View source]