Как использовать HKDF с ECDiffieHellmanCng - PullRequest
2 голосов
/ 05 марта 2019

Я пытаюсь использовать класс ECDiffieHellmanCng для выполнения операций обмена ключами между рабочим столом и устройством, подключенным через BLE.Спецификации системы требуют, чтобы HKDF использовался для получения ключа.Это, кажется, не вариант для хэш-функций в классе ECDiffieHellmanCng.Есть ли способ сделать это?Затем мне нужно взять полученный ключ и передать его в объект AesCng.

1 Ответ

1 голос
/ 05 марта 2019

ECDiffieHellmanCng - отстой, поскольку он заставляет вас использовать одну из трех предопределенных функций деривации ключей пост-обработки (Hash, Hmac или Tls).Если ни один из них не соответствует вашему протоколу, вам не повезло.

Возможно, вы сможете использовать вариант Hmac, поскольку это первая внутренняя операция для HKDF («extract»).Просто установите свойство HmacKey для соли в HKDF.Затем вручную выполните вторую операцию Hmac («разверните»), чтобы получить окончательный результат HKDF.

...