C-蓝牙LE安全连接与WolfSSL和Nordic:密钥交换



我想用北欧芯片(NRF52)从客户端建立安全的蓝牙连接。我还在运行WolfSSL库。因此,我通过PEER-64Byte密钥从Nordic SoftDevice那里收到一个" ble_gap_evt_lesc_dhkey_request"请求。现在,我需要生成自己的密钥对,然后将公共密钥发送回中央。我该如何管理?我是对的,以下功能不是Btle Secure Connection的正确功能吗?

    wc_InitDhKey(...);
    wc_DhGenerateKeyPair(...);
    ...
    sd_ble_gap_lesc_dhkey_reply(...);

我需要生成具有P-256长度的椭圆形曲线差异键对。不幸的是,我不是这个主题的专家。我需要从WolfSSL库中拨打哪些功能来生成这样的公共ECDH键?

感谢您的回答或提示

我建议您也查看模块曲线的文档25519以生成椭圆键:

https://www.wolfssl.com/wolfssl/docs-wolfssl-manual-18-10-wolfcrypt-api-curve25519.html

混乱是ECDH和DH几乎没有共同点,但名称。我建议查看wc_ecc_shared_secret()wc_ecc_make_key()

最新更新