问题标签 [eddsa]

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 投票
1 回答
550 浏览

java - 如何使用 EdDSA/Ed448 签名算法重新生成私钥?

这是我生成密钥对的方式:

但是,当我再次尝试重新生成密钥时,出现异常:

异常堆栈跟踪:

这是我从OpenJDK 存储库复制的一些实用程序:

0 投票
1 回答
1668 浏览

java - 如何使用 Java 从私钥派生 ed25519 (eddsa) 公钥

我正在研究https://github.com/str4d/ed25519-java库以及 BouncyCastle 等其他一些库,但到目前为止我无法从私钥生成公钥。我对生成密钥对不感兴趣,因为我已经有一个私钥并且只对生成相应的公钥感兴趣。

0 投票
1 回答
118 浏览

bouncycastle - 如何确定 publicKey 是原始位还是已编码,并且私钥始终是 pkcs8 编码的?

最近我正在阅读 bouncycastle(java) 的代码,我注意到在使用 EdDSA 时,我们使用org.bouncycastle.asn1.x509.SubjectPublicKeyInfo#getPublicKeyData的是在org.bouncycastle.jcajce.provider.asymmetric.edec.BCEdDSAPublicKey#populateFromPubKeyInfo. 但是在使用 RSA 时,我们使用的是org.bouncycastle.asn1.x509.SubjectPublicKeyInfo#parsePublicKeyin org.bouncycastle.jcajce.provider.asymmetric.rsa.BCRSAPublicKey#populateFromPublicKeyInfo

parsePublicKeyisfor when the public key is an encoded object - if the bitstring can't be decoded this routine throws an IOException.getPublicKeyData's的注释是for when the public key is raw bits.

我很困惑,我们如何决定使用哪种方法?这是写在EdDSA规范还是其他地方?我四处搜寻,一无所获。

编辑:

以下是我收集的信息,如果我错了,请纠正我。

EdRsa publicKey 和 RSA publicKey 都是 ASN.1 编码的,使用org.bouncycastle.asn1.x509.SubjectPublicKeyInfo#getPublicKeyData只是因为 EdRsa publicKey 只包含一个组件(一个简单的字节数组),而 rsa key 包含两个组件(模块和 publicExp)。

几乎所有的私钥都是 pkcs#8 编码的,毕竟它被命名为“私钥信息语法标准”。但是 rsa privateKey 也可以在 pkc#8 之前的 pkcs#1 中编码,并且可以将这两种格式转换回来并强制执行。

0 投票
0 回答
83 浏览

c++ - 在 C++ 中使用 EdDSA/Ed25519 算法创建 JWT

我想创建一个 JWT usnig EdDSA 算法。密钥对由不同的模块生成。我需要从文件中读取私钥并使用它对 JWT 进行签名。

该声明将包含一个自定义条目以及 iat 和 jti。

我可以使用 Cryptography 包在 python 中编写它,但由于我是 C++ 新手,因此需要一些帮助。

0 投票
0 回答
13 浏览

eddsa - 充气城堡 - 如何从 EdDSA 重建公钥

我有爱德华曲线关键参数 - x、d 和曲线。如何使用充气城堡重建公钥/私钥?

0 投票
0 回答
14 浏览

c# - 使用 Bouncy Castle .NET 解密 RC8032 PGP

我正在尝试使用 Bouncy Castle .NET 解密给定的 PGP 消息。我有一个消息字符串、一个私钥流和一个密码字符串。上网看了一下,貌似首先要做的就是key如下:

但我得到了例外:

System.IO.IOException:“遇到未知的 PGP 公钥算法”

我使用这个有用的工具https://cirw.in/gpg-decoder/来了解有关我的密钥的更多信息,它看起来像秘密密钥包和签名包,具有未知算法 0x16。我发现一个来源说它指的是 RFC8032,但我不太确定。

我无法共享我的密钥,但我在网上找到了一个共享一次性密钥的人,该密钥看起来与此处的格式相同

Bouncy Castle 根本不支持这个算法吗?有没有办法在.NET 中使用这种类型的密钥解密消息?

谢谢!

0 投票
0 回答
56 浏览

spring-boot - 如何在 Spring Boot 中验证 jwt 令牌?

我想在我的 Spring Boot 应用程序中实现 JWT 验证。我们用于签署令牌的算法是 Ed25519\EDDSA 。

我没有找到正确的依赖项/库来使用 ED25519 算法实现 Jwt 验证程序。

有人可以建议 Maven 依赖项来验证 JWT 令牌吗?

0 投票
0 回答
44 浏览

python - 使用 python PyJWT 接收“TypeError: sign() missing 1 required positional argument: 'algorithm'”

所以我使用命令: ssh-keygen -m PKCS8 -t dsa生成以下(示例)密钥:

我正在尝试使用以下代码段使用此密钥对数据进行签名:

但我收到此错误:

我不确定我生成的密钥是否不正确或者我可能做错了什么。