问题标签 [ecdsa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
14670 浏览

ssh - 使用 ECDSA 对 Amazon AWS EC2 服务器进行 SSH 指纹验证?

ssh当我创建一个新的 Amazon EC2 服务器时,我像往常一样使用它连接到它。

我看到了典型的警告:

登录前如何验证指纹?

理想情况下,答案基于原始创建控制台日志之外的其他内容——因为日志可能在系统重新启动后或在生成大量输出的大型系统安装脚本期间被刷新,或者连接到旧系统在创建时未跟踪的密钥。

0 投票
2 回答
3821 浏览

javascript - Javascript ECDSA 获取私钥和​​公钥?

我只需要为 ECDSA 获取私钥和​​公钥对。斯坦福 Javascript 加密库以非标准方式 ( https://groups.google.com/forum/?fromgroups#!topic/sjcl-discuss/UaWUyMWS3Rs ) 执行此操作,这对我来说没用 - 就像制作一个MD5 库可以为其他所有内容提供不同的结果?

是否有在 JavaScript 中使用 ECDSA 的实际工作方式?

0 投票
1 回答
828 浏览

security - 为什么这些 Botan 公钥如此相似?

我正在使用 Botan 创建公共/私有 ECDSA 密钥对。生成的公钥(即使在使用此代码的不同机器上)非常相似......我认为太相似了,无法考虑安全。这是两次运行的示例:

我正在使用 X509 编码对公钥进行编码。这是生成 ECDSA 密钥的代码:

为什么我要生成如此相似的公钥?如果多个用户要使用此代码生成自己的密钥,我是否正确地假设这不是“安全的”?


更新:下面的答案似乎是正确的。我向 XCA 的创建者 Christian Hohnstaedt 发送了电子邮件,以进一步探讨 XCA 如何生成此公钥以及它是什么。他回答说是EC_POINT,是通过命令获取的

插入 X509 PEM 编码的公钥确实揭示了不同的公共 EC 点。应该注意(对于像我这样的其他新手)答案中的公共 EC 点对另一方本身没有好处 - 另一方需要知道正在使用哪个 EC 组,这就是为什么 X509 PEM 编码是比仅仅一个 EC 点更有帮助。

0 投票
2 回答
6251 浏览

ssh - “known_hosts”文件中的 ECDSA 条目有哪些部分?

我正在尝试从我的known_hosts文件中提取一个 ECDSA 公钥,该文件ssh用于验证主机。我有一个下面的例子。

这是我 known_hosts 文件中“127.0.0.1 ecdsa-sha2-nistp256”的条目:

AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBF3QCzKPRluwunLRHaFVEZNGCPD/rT13yFjKiCesA1qoU3rEp9syhnJgTbaJgK70OjoT71fDGkwwcnCZuJQPFfo=

我通过 Base64 解码器运行它来得到这个:

��ecdsa-sha2-nistp256���nistp256���A]2F[rUF=wXʈ'ZSzħ2r`M::WL0rp

所以我假设这些问号是某种分隔符(不,那些是长度)。我认为 nistp256 是使用的椭圆曲线,但最后一个值到底是什么?

根据我一直在阅读的内容,ECDSA 的公钥有一对值 x 和 y,它们代表曲线上的一个点。有什么方法可以从那里提取 x 和 y 吗?

我正在尝试将其转换为 Java 公钥对象,但我需要 x 和 y 才能这样做。

0 投票
0 回答
1554 浏览

java - ECDSA 签名在验证时总是返回 false

我有 3 个测试密钥——RSA、DSA 和 ECDSA。RSA 和 DSA 基于密钥的签名在验证后返回 true。但是基于 ECDSA 的签名总是返回 false(即使签名匹配)。

相同的代码用于验证所有 3 个测试密钥(除了传递给的提供程序对象的差异Signature.getInstance())。我的代码如下:

程序的输出总是Verifying: false. 当我将提供程序更改为SHA1WithRSA并使用 RSA 密钥(使用上面相同的代码)时,验证返回 true,与基于 DSA 的密钥相同。有人提到它与ECPoint传递给ECPublicKeySpec()构造函数有关,当尝试从私钥创建公钥时,如下所示:

有人提到,如果使用与私钥不同的密钥,签名验证(使用公钥)将失败ECPoint。但我实际上是ECPointPrivateKey对象 ( ec) 中得到的。请问有什么解决办法吗?

0 投票
2 回答
7403 浏览

c - 用openssl实现ECDSA签名和验证的C语言

我正在尝试创建 C 程序,如果我可以从菜单中选择我想要从签署消息和验证消息中选择的选项。我有签名消息并同时验证的代码。我想要的是能够解析一条消息并对其进行签名,然后输出证书。接下来,当我选择验证时,我将插入相同的消息和证书,这样我就可以实际验证或不验证消息。

我使用的代码来自: Signing a message using ECDSA in OpenSSL

PS:基本上我不知道如何实际打印签名、私钥和公钥。

非常感谢。

0 投票
1 回答
544 浏览

ssl - Openssl Generate Public Asymmetric Key

I am trying to output the public EC key parameters Qx and Qy from OpenSSL CLI. Is this possible?

0 投票
1 回答
1722 浏览

c# - c#充气城堡验证签名上的InvalidCastException

我尝试验证 ecdsa (256) 签名,我要做的唯一数据是下面给定格式的公钥、原始数据和签名:

当我尝试使用充气城堡通过调用来验证签名时:

我收到一个InvalidCastException

在以下行:

所以,签名似乎有问题,但我无法弄清楚。我希望任何人都可以提供一个好主意。

顺便说一句,此示例中提供的数据已被修改,因此签名将被评估为假,如果它可以工作的话。

0 投票
2 回答
518 浏览

c++ - 组合 ECDSA 密钥

如何将两个 ECDSA 私钥/公钥对组合成一个?我知道它是通过 openssl 中的模块化添加完成的,我只是不明白它是如何工作的。谁能给我解释一下?

0 投票
1 回答
2005 浏览

openssl - ECDSA:如何使用 openssl 从解压缩 x 中获取 y 坐标

我试图用 ECDSA 做的是从外部 ECDSA 硬件(它实际上是一个公钥)获取的值中获取一个 x“压缩”坐标和一个“位”,然后尝试使用 OpenSSL 函数调用恢复 y 坐标(未压缩) .

我正在尝试以下代码,但它没有按预期工作(我的 xy[] 数组没有填充正确的数据)。任何人都可以帮忙吗?

我是 ECDSA 的新手,甚至是 OpenSSL 的新手,但我想我可以做到以下几点: