Bluetooth LE защищенное соединение с wolfssl и nordic: обмен ключами

Я хочу установить безопасное соединение Bluetooth со стороны клиента с помощью сканера Nordic (nRF52). У меня также работает библиотека wolfSSL. Поэтому я получаю запрос "BLE_GAP_EVT_LESC_DHKEY_REQUEST" от скандинавского программного устройства с ключом peer-64byte. Теперь мне нужно сгенерировать свою собственную пару ключей и отправить открытый ключ обратно в центральный. Как я могу справиться с этим? Я прав, что следующие функции не являются правильными для безопасного соединения BTLE?

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

Мне нужно создать пару ключей Diffie Helman с эллиптической кривой длиной P-256. К сожалению, я не эксперт в этой теме. Какие функции мне нужно вызывать из библиотеки wolfSSL для создания такого открытого dh-ключа?

Спасибо за ваш ответ или подсказки

2 ответа

Я предлагаю вам тоже взглянуть на документацию модуля curve25519, чтобы сгенерировать эллиптический ключ:

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

Путаница в том, что у ECDH и DH мало общего, кроме названия. предлагаю посмотретьwc_ecc_shared_secret()иwc_ecc_make_key().

Другие вопросы по тегам