首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >椭圆曲线密码的C#加密

椭圆曲线密码的C#加密
EN

Stack Overflow用户
提问于 2022-07-21 18:54:21
回答 3查看 488关注 0票数 -1

如何在C#中使用ECC?我认为我应该使用ECDiffieHellman (虽然我不确定,因为它可能不是我想要使用的非对称加密算法,但在互联网上,我没有通过搜索短语ECC找到任何其他推荐的加密算法),但是没有任何加密方法,而且我自己的密码学也不够好。我也没有看到任何允许我使用ECC加密的NuGet包。但我认为这是必须要做的,但是怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-07-25 07:24:14

来自WIKI -几种基于离散对数的协议已经适应于椭圆曲线,将群Zp^x替换为椭圆曲线:

  • 椭圆曲线Diffie-Hellman (ECDH)密钥协商方案是基于Diffie-Hellman方案的,
  • 椭圆曲线综合加密方案(ECIES),又称椭圆曲线增强加密方案或简单的椭圆曲线加密方案,
  • 椭圆曲线数字签名算法(ECDSA)是基于数字签名算法,
  • 变形格式使用哈里森的p进位曼哈顿度量
  • 爱德华兹曲线数字签名算法(EdDSA)以Schnorr签名为基础,采用扭曲的Edwards曲线,
  • ECMQV密钥协商方案是基于MQV密钥协商方案的,
  • ECQV隐式证书方案。

在2005年的RSA会议上,国家安全局(NSA)宣布Suite B专门用于数字签名生成和密钥交换。该套件旨在保护机密和非机密的国家安全系统和信息。

以下是可供选择的C#收养清单:

概括地说,在所有ECC算法中,ECDH和ECDSA是使用最广泛的,并且具有MS支持,其余的都是可用的,但可能更棘手。

变形方案使用哈里森的p进位曼哈顿度量-这是一个文件很少,似乎是一个科学问题(不是活的/广泛使用的算法)。

票数 2
EN

Stack Overflow用户

发布于 2022-07-24 22:38:06

ECDiffieHellman是一个抽象类,因此您需要使用ECDiffieHellmanCng文档中的一个正式示例提供了它是如何工作的,它演示了消息加密和解密。

如果您需要更多关于执行情况的信息,请详细说明您的问题。

票数 0
EN

Stack Overflow用户

发布于 2022-10-25 11:54:27

您需要一个名为Security的工具,它可以是具有相关软件接口的硬件-安全模块,也可以是软件-安全模块。软件安全模块的核心是PKCS#11InterOp for C#。这里有GitHub (用于RSA密钥生成)示例代码,对于椭圆曲线,必须进行搜索。然而,它的社区并不丰富(您可以在堆栈溢出中找到#pkcs11interop或#interop的问题)。PKCS#11是为安全模块定义的标准,而PCKS11Interop是C#上的C++库的包装器。

用法如下:

  1. 在HSM上生成密钥对
  2. 保留密钥对的名字,给双方起名字。
  3. 使用公钥对文档进行签名(或加密):其中一方通过调用HSM库来执行该功能。
  4. 在其他各方中使用私钥验证(或解密)它:其他方调用HSM库,并使用从HSM接收到的密钥名执行函数。

在你的系统中:

  1. 安装软件工具(例如SafeNet软件HSM)
  2. 构建或导入库(例如PKCS#11InterOp)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73071357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档