问题标签 [ed25519]

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 回答
1607 浏览

c++ - OpenSSL 生成 ED25519 密钥对 C++

我想创建一个 x509 证书并使用 eddsa(ed25519) 私钥对其进行自签名!

所以我从文档中尝试了以下示例: https ://www.openssl.org/docs/man1.1.1/man7/Ed25519.html

https://www.openssl.org/docs/man1.1.1/man3/EVP_PKEY_check.html

EVP_PKEY_check()给出返回值 0(“密钥对错误”)!

EVP_PKEY_public_check()是相同的结果。

我认为这就是为什么我得到X509_sign()一个返回值 0(失败):

使用生成的 RSA 密钥一切正常。

此示例也适用,但不适用于我的参数(请参见上面的代码):

使用 OpenSSL 1.1 生成 EC 密钥时仅使用 1 个 EVP_PKEY

我正在使用 OpenSSL v1.1.1i

我希望这个问题不会太愚蠢..

此致

0 投票
0 回答
65 浏览

c++ - CryptoPP::ed25519::Verifier 显示与 libsignal 不同的结果

我正在尝试使用 CryptoPP 实现curve25519 验证。我首先尝试了libsignal图书馆,女巫显示了正确的结果。然后我用 CryptoPP 尝试了相同的数据,但显示错误的结果。

这是libsignal用于验证签名的代码:

结果为 1,表示正确。请注意libsignal要求pub_key以字节 0x05(key-type)开头,CryptoPP此处不适用。

使用的代码CryptoPP

它显示0,代码有什么问题?

0 投票
1 回答
764 浏览

random - 没有为 `OsRng` 实现 `rand_core::CryptoRng` 特性

我一直在尝试实现以下文档中给出的示例:https ://docs.rs/ed25519-dalek/1.0.1/ed25519_dalek/

我的代码很简单:

但是当我尝试运行时,我收到一条错误消息,指出该CryptoRng特征未在OsRng

然而,CryptoRng只是一个标记特征,我看到它确实有一个空的 impl for OsRng...

那么这里的问题可能是什么?

0 投票
3 回答
692 浏览

java - JDK 15 中的 Ed25519,从字节数组中解析公钥并验证

由于 Ed25519 出现的时间不长(在 JDK 中),因此关于如何使用它的资源很少。

虽然他们的示例非常简洁和有用,但我很难理解我在密钥解析方面做错了什么。

他们的公钥是从 iDevice 发送的数据包中读取的。

(假设它是一个字节数组)

通过搜索并尽力了解密钥的编码方式,我偶然发现了这条消息。

这意味着,如果我想得到yisXOdd我必须做一些工作。 (如果我理解正确)

下面是它的代码,但验证仍然失败。

我认为,我通过反转数组以将其恢复为 Big Endian 以供 BigInteger 使用,从而正确地做到了这一点。

我的问题是:

  1. 这是从字节数组中解析公钥的正确方法吗
  2. 如果是,那么它未能通过验证过程的可能原因是什么?

数据(操作前)(全部为十六进制):

以及操纵后的公钥:

非常感谢您,非常感谢您的每一点帮助。当 Ed25519 实施不会那么新鲜时,这将有助于更多的人在以后偶然发现这个问题。

0 投票
0 回答
262 浏览

python-3.x - ed25519共享密协议的python实现

让我们考虑以下示例。使用 Python 库 tinyec 我可以编写以下代码:

通过这种方式,Alice 和 Bob 能够通过 Internet 导出共享秘密。现在,我需要知道是否可以对 ed25519 曲线做同样的事情,因为我找不到任何类型的库。

因此,我有兴趣找到一种安全地进行此类操作的方法。我该怎么办?此特定操作的最佳实践是什么?

谢谢

0 投票
1 回答
742 浏览

node.js - 有没有一种简单的方法可以将 NodeJS KeyObject 转换为 Buffer?

我正在使用 NodeJS 生成 Ed25519 密钥对。我需要将公钥转换为自定义字符编码。但是,似乎没有办法将KeyObjects 返回的 s 转换crypto.generateKeyPair()为缓冲区。

标准库是否提供了一种直接将密钥生成为缓冲区而不是KeyObjects 的方法?

0 投票
0 回答
872 浏览

java - Java 中 Ed25519 密钥对的 PEM 文件格式

我正在尝试在 Java 15 中编写和读取包含 aPublicKeyPrivateKeyEd25519 的 PEM 文件。

但是,尚不清楚 PEM 格式是否支持这一点,或者究竟如何使用标准 Java 库 (JCA) 来实现这一点。大多数示例似乎都使用 RSA。

这样做的正确方法是什么?还是有更好的方法?

0 投票
1 回答
853 浏览

mariadb - 如何以通过 ed25519 识别的用户身份使用 MYSQL Workbench 连接到 MariaDB (10.5.8)?

我可以将 MYSQL Workbench 设置为使用 SSL 连接作为通过mysql_native_password标识的用户连接到 MariaDB ,但是如果我将标识设置为ed25519它将失败。是否存在任何插件或解决方案?我应该为 MariaDB 使用另一个免费的数据库管理软件吗?

0 投票
1 回答
707 浏览

python - 使用没有 ssh-keygen -p 的 python 库解密 Ed25519 私钥

我有私钥,例如生成 RSA 密钥对:

我可以替换呼叫:

使用 python 加密模块:

但是当我使用参数 -t ed25519 生成密钥时,出现错误:

我使用 python paramiko 模块加载 Ed25519 私钥,但我无法序列化私有字节:

0 投票
1 回答
220 浏览

erlang - 带有 ED25519 证书文件的 Erlang TLS

我正在使用裸 Erlangssl:listen/2函数创建服务器代码。我想使用 ED25519 算法使用 TLS 证书,但服务器在握手时崩溃。通过挖掘 Erlang 代码,似乎 TLS 不支持此算法(它在此功能上崩溃:https ://github.com/erlang/otp/blob/master/lib/public_key/src/pubkey_cert_records.erl# L109 )。

这是正确的还是我做错了什么?有没有办法启用对它的支持?一些解决方法?

作为参考,这是我生成证书的方式:

这是我得到的崩溃数据:

而且我的代码与 RSA 证书完美配合。

谢谢你的帮助