如何在C#中使用ECC?我认为我应该使用ECDiffieHellman (虽然我不确定,因为它可能不是我想要使用的非对称加密算法,但在互联网上,我没有通过搜索短语ECC找到任何其他推荐的加密算法),但是没有任何加密方法,而且我自己的密码学也不够好。我也没有看到任何允许我使用ECC加密的NuGet包。但我认为这是必须要做的,但是怎么做呢?
发布于 2022-07-25 07:24:14
来自WIKI -几种基于离散对数的协议已经适应于椭圆曲线,将群Zp^x替换为椭圆曲线:
在2005年的RSA会议上,国家安全局(NSA)宣布Suite B专门用于数字签名生成和密钥交换。该套件旨在保护机密和非机密的国家安全系统和信息。
以下是可供选择的C#收养清单:
概括地说,在所有ECC算法中,ECDH和ECDSA是使用最广泛的,并且具有MS支持,其余的都是可用的,但可能更棘手。
变形方案使用哈里森的p进位曼哈顿度量-这是一个文件很少,似乎是一个科学问题(不是活的/广泛使用的算法)。
发布于 2022-07-24 22:38:06
ECDiffieHellman
是一个抽象类,因此您需要使用ECDiffieHellmanCng
。文档中的一个正式示例提供了它是如何工作的,它演示了消息加密和解密。
如果您需要更多关于执行情况的信息,请详细说明您的问题。
发布于 2022-10-25 11:54:27
您需要一个名为Security的工具,它可以是具有相关软件接口的硬件-安全模块,也可以是软件-安全模块。软件安全模块的核心是PKCS#11InterOp for C#。这里有GitHub (用于RSA密钥生成)示例代码,对于椭圆曲线,必须进行搜索。然而,它的社区并不丰富(您可以在堆栈溢出中找到#pkcs11interop或#interop的问题)。PKCS#11是为安全模块定义的标准,而PCKS11Interop是C#上的C++库的包装器。
用法如下:
在你的系统中:
https://stackoverflow.com/questions/73071357
复制相似问题