我正在尝试使用ECDiffieHellmanCng类在通过BLE连接的桌面和设备之间执行密钥交换操作。该系统的规格要求使用HKDF来派生密钥。这似乎不是ECDiffieHellmanCng类中哈希函数的选项。有没有办法做到这一点?然后,我需要获取结果键并将其传递给一个AesCng对象。
发布于 2019-03-06 02:20:59
ECDiffieHellmanCng很糟糕,因为它迫使您使用三个预定义的后处理密钥派生函数(散列、Hmac或Tls)中的一个。如果这些都不符合您的协议,那么您就不走运了。
但是,您可以使用Hmac变体,因为这是HKDF的第一个内部操作("extract")。只需将HmacKey属性设置为HKDF中的盐即可。然后手动执行第二个Hmac操作(“展开”),得到最终的HKDF结果。
https://stackoverflow.com/questions/55007915
复制相似问题