The unlock process is an implementation of the SRP (Secure Remote Password) algorithm using the RFC5054 1024-bit group and the SHA-256 hash algorithm . The value of I is fixed to the username apiservice.
Upon completion, each side will have derived a shared session key which is used to communicate in an encrypted fashion with the peer. Additionally, a Modem Status frame - 0x8A with the status code 0x32 (Bluetooth Connected) is sent through the UART (if AP = 1 or 2). When an unlocked connection is terminated, a Modem Status frame with the status code 0x33 (Bluetooth Disconnected) is sent through the UART.
The following implementations are known to work with the BLE SRP implementation: n github.com/cncfanatics/SRP You need to modify the hashing algorithm to SAH256 and the values of N and g to use the RFC5054 1024-bit group. n github.com/cocagne/csrp n github.com/cocagne/pysrp