使用 c# 的带有 HKDF 的 ECDH

问题描述

在使用本机 Windows 功能的 Windows 中使用 HKDF 作为关键推导函数实现椭圆曲线 diffie hellman 的最佳方法是什么。

我无法从 (https://docs.microsoft.com/en-us/windows/win32/seccng/cng-portal) 运行 ECDiffieHellmanCng,因为它仅支持以下 KDF(tls、hmac、hash)

不推荐其他库(仅当没有本机支持时)

解决方法

目前我没有找到只使用 windows(cng 或 dotnet5 加密库)来进行不使用密钥派生函数的 ECDH 秘密交换的方法(以获取普通秘密)。

所以我无法使用 HKDF 密钥派生功能。

我去的方式是使用 Bouncy Castle ECDH 和 Bouncy Castle HKDF。

这对我有用。

遗憾的是我必须部署另一个依赖项(即使它是一个很棒的加密库)