问题标签 [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 投票
0 回答
823 浏览

cryptography - 使用 ECDSA 代替 RSA 加密和解密整数

我想使用 ECDSA 而不是 RSA 来加密和解密整数。通常 ECDSA 用于数字签名。但是可以转换数字签名的算法:使用签名生成进行解密,使用签名验证进行加密。我对这样的转换算法有疑问。

我想知道,加密功能和解密功能应该做什么。

PS:请不要建议我使用 ECDH 和 ECIES。这不是我需要的。我需要 ECDSA 像 RSA 一样工作:获取整数,将其加密为另一个整数并解密该整数。

0 投票
1 回答
311 浏览

python - 使用 python 创建密钥并在 .net 中使用它

我尝试使用 python 包ecdsa创建密钥,将其导出到 der 并在 .Net 下与 BouncyCastle 一起使用它们(反之亦然)。

这是我在 Python 中的代码:

我得到两个要在 .Net 中导入的字符串:

但我得到一个例外:

知道我在这里做错了什么吗?

0 投票
0 回答
2428 浏览

java - Java SSL/TLS 与基于 ECC 的证书的连接

我正在尝试构建一个使用基于 ECC 的证书的服务器。到目前为止,我已经采取了以下步骤:

1) 使用 openssl 创建签名的服务器证书:

ca.sert.pem 是用于签署服务器证书的自签名 CA 证书。它同样生成:

2)设置服务器

备注:我只成功使用 BouncyCastle 将服务器证书加载到密钥库中。否则我会得到“仅支持命名的 ECParameters”错误。

3) 设置客户端 客户端设置类似,只是将服务器证书导入到信任库中。

现在,当客户端连接到服务器时,我得到以下错误堆栈:

我猜,客户端无法验证服务器证书(与我不使用 BouncyCastle 导入证书相同的错误)。

我已经打印了命名的 EC 曲线

它清楚地输出了其中的名称“secp256k1”。那么我在这里错过了什么?或者我怎样才能让 SSLContext 使用 CertificateX509Key 的另一个实现?

客户端的调试输出为:

该曲线也在曲线名称中列出。我现在尝试了很多东西,我有点卡住了。非常感谢任何帮助。

0 投票
1 回答
515 浏览

smartcard - 获取 JavaCard 中出现 CryptoException 的原因

我正在尝试在 JavaCard(Eclipse 4.4.2、JC 2.2.1)中实现 ECDSA。我的卡是金雅拓 IDCore 3010,或者至少应该是(在检查 ATR 代码后,它看起来是 WM GX4 72 DHS TSA ......)。

无论如何,如果我不使用 try and catch 包围objECDSAKeyPair = new KeyPair(KeyPair.ALG_EC_FP, KeyBuilder.LENGTH_EC_FP_192)行,我会收到一个未知错误(send_APDU() 返回 0x80206F00 (Unknown ISO7816 error: 0x6F00)),但是当我环绕它,它不会返回错误(send_APDU() 返回 0x80209000 (9000: Success. No error.))。但是它必须转到 catch 块,因为 try 块中的其他三行没有被执行。

如何可视化错误消息?如果我使用ISOException.throwIt(reason),我会收到智能卡的通信错误。请再试一次。多次。

这个线程中,它建议使用字节原因 = c.getReason()代码,但它不起作用,即使我将右侧转换为字节也是如此。

谢谢!

这是我的代码的相关部分。

0 投票
1 回答
254 浏览

ssh - 如何检查服务器是否在 SSH 中使用 ECDSA 指纹,否则会退出?

如何让我的期望脚本检查服务器是否正在使用 ECDSA 密钥,以及它是否继续使用该脚本,否则如果它类似于 RSA 立即退出?

0 投票
2 回答
6170 浏览

java - 如何使用海绵城堡为比特币曲线(secp256k1)创建 ECDSA 密钥对(256 位)?

目前,我正在使用这种方法创建 keyPair

KeyPairGenerator还有另一种方法,我可以在其中指定 keySize 但我不确定如何传递 keySpecs?

0 投票
1 回答
2214 浏览

java - 如何使用椭圆曲线私钥和 ECDSA 算法签署证书?

我可以使用带有 RSA 私钥和“SHA256withRSA”算法的充气城堡签署证书。我使用下面的链接作为参考来实现这一点。 使用 Bouncy Castle 签署 CSR

现在,我的 CA 带有用 ECDSA 签名的椭圆曲线密钥。因此,我想通过这些 CA 使用 EC 密钥和“SHA256withECDSA”算法签署证书。但是我被困在下面特定于 RSA 密钥的片段中,我想使用 EC 密钥。

请帮助我如何使用 ECDSA 和 EC 密钥实现证书签名

0 投票
2 回答
355 浏览

bitcoin - 使用 bitcoinjs 创建一个已知的 64 个字符的私钥/公钥

所以我正在尝试从我已经知道的 64 个字符创建一个私钥/公钥,使用下面的代码使用 bitcoinjs:

如果我尝试将“key”设置为我的 64 个字符而不是“Bitcoin.ECKey.makeRandom();” 它失败。是否有我忽略的方法或库允许我使用已知的 64 个字符来生成 wif 格式的私钥和公共地址?提前感谢任何可以提供帮助的人。

0 投票
2 回答
4016 浏览

c# - 如何使用使用 sha1ecdsa 的公钥验证数据是否符合签名?

对密码学知之甚少,我对看似简单的任务有很大的问题。

我有 .pem 证书、数据字节和该数据的签名。我想通过将数据与签名进行匹配来检查是否有人更改了数据。

我的尝试:

但这给了我一个错误

'不支持证书密钥算法' (System.NotSupportedException)。

查看加载的证书,它说签名算法是“sha1ecdsa”。

我只是想根据签名验证数据。我在这里想念什么?我想在没有任何外部解决方案的情况下做到这一点,因为这似乎是一项微不足道的任务。

更新:我正在尝试实现与以下 Java 代码相同的功能:

0 投票
1 回答
1051 浏览

c - 如何将 ECDSA SIG 签名转换为 C 中的字符数组

我是密码学(openssl 库)的初学者,我需要有关如何通过 C 套接字通信发送 ECDSA 签名的帮助。我的计划是:

  1. 建立套接字连接
  2. 将 ECDSA SIG 对象转换为字符串
  3. 以字符串形式发送签名
  4. 在目的地,将字符串转换回 SIG 对象并验证签名

这是代码。