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

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

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

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

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


person L. Aebi    schedule 21.09.2017    source источник


Ответы (1)


Предлагаю и вам посмотреть документацию модуля curve25519 для генерации эллиптического ключа:

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

person leaumonte    schedule 21.09.2017