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

cryptography - Ed25519 有哪些实现?

新的 SQRL 身份验证方案依赖于 Daniel Bernstein 开发的 Curve Ed25519加密。然而,为了开始实施这个方案,首先需要一个成熟的 Curve Ed25519 实施。

有谁知道任何成熟的实现?对于 Java、.NET 或任何其他流行平台?

0 投票
2 回答
3439 浏览

regex - 验证 Base64 编码的 256 位数字签名密钥

我已经看过很多关于如何检查 Base64 的 RegEx 答案,但我找不到专门用于表示 256 位数字的答案。

我是 Base64、字节转换和 RegEx 的新手。 这个答案似乎是检查 Base64 的最佳答案,但我无法从细节中判断它是否可以专门应用于 256 位数字的表示。

我需要确保这些字符串的有效性,因为我将它们用作 Ed25519 密钥的编码,并且我的en/decoder似乎接受非 ASCII 字符。

我真的不明白这是否可以专门应用于 256 位数字的表示。

RegEx 如何验证 Base64 编码的 256 位数字?

0 投票
1 回答
991 浏览

java - Base64 编码的 512 位数字签名的最终字符范围是多少?

我通过各种堆栈问答发现 Base64 编码的 256 位数字将有一个=用于填充,并且仅以AEIMQUYcgkosw048.

我相当有信心,==由于位商,Base64 编码的 512 位数字将有两个 s 的填充。

对于 Base64 编码的 512 位数字,最后一个字符的范围是多少?位商的模数相同,这是否意味着 256 位编码和 512 位编码的最终字符范围相同?

这是为了节省空间和对可读的 Ed25519 签名进行正则表达式。


具体来说,我正在将 Java 转换byte[64]Stringswith org.apache.commons.codec.binary.Base64encodeBase64

0 投票
1 回答
965 浏览

hash - 如何使用 ed25519-donna 进行哈希处理

对于提出一些编程问题,我深表歉意,但我想确保我以加密方式正确使用了这个库。

除了散列签名数据之外,我已经设法实现了 ed25519-donna 。

据我所知,这是散列数据的函数:

但我无法弄清楚 *hash 是什么。我相当确定*in并且inlen是要散列的数据及其长度。

它是 SHA512 特有的吗?

如何使用 ed25519-donna 进行哈希计算?


程序挂起

我已经使用ed25519-donna-master/ed25519.oOpenSSL flags 进行了编译-lssl -lcrypto。密钥生成、签名和验证功能按预期工作。

它运行没有错误,但应用程序挂在这些线上,并且核心没有以 100% 运行,所以我认为它不忙处理:

如何修改此代码以使其ed25519_hash正常工作?无论是hashand inareunsigned char*还是uint8_t*s,它的工作方式都是一样的。

对于uint8_t*,我使用了以下代码:

0 投票
1 回答
1859 浏览

java - Java 和 Javascript Ed25519 实现之间的互操作性

ed25519 -javajs-nacl都实现了 ed25519 加密签名方法。但是,我从 ed25519-java 获得了一个公钥和一个签名消息(使用公钥对应的私钥签名),并尝试使用 js-nacl 中的公钥验证签名消息。这给出了一个null值,即无法使用公钥打开签名消息。

我的问题是,是否可以登录 Java 并验证 Javascript 中的签名?如果是,或者如果不是,为什么?

Java 代码:

checkvalid 调用返回 true。

输出签名:oFMU_mC_zzZcJP2C-uTqsyUHoyLUSnwirJbhcdkSTnj2nI_p-VgKAqN5bFMPKsKYiWvyiUgHWu3s4OyB9WbKDg

输出公钥:O2onvM62pC1io6jQKm8Nc2UyFXcd4kOmOsBIoYtZ2ik

javascript代码:

x为空,但"www.example.com"如果可以使用公钥打开签名,则应作为输出。

不确定它是否会影响工作,但 Java 的字节数组是有符号的,而 js-nacl 使用 Javascript 的Uint8Array无符号字节数组。

0 投票
2 回答
658 浏览

algorithm - 压缩签名

假设我有一个一方创建的 64 字节签名(来自 ed25519)。该方必须进一步压缩签名,使其以 2048 为基数为 4-8 位。然后,第二方必须能够从数据中重新创建签名。

以下是十进制签名的示例: 5670805304946899675614751184947294808143702505785021095830828785725573127924144977212837580418240432902375737987653828318622222068237988634991262293689098

如何将此签名压缩到以 2048 为基数的 4 位左右?这可能使用数独压缩吗?

0 投票
1 回答
421 浏览

hyperlink - 如何在JDK8中链接和加载静态库(Ed25519)

Ed25519 ( http://ed25519.cr.yp.to/ )的最优化实现包含 C 和汇编代码。由于我的程序是用 JAVA 实现的,我想为 Ed25519 生成一个共享库 (.so) 但失败了。这很可能是因为 Ed25519 汇编代码不支持 -fPIC(如果我错了,请指出)。JDK 8 似乎可以支持静态链接(Linking static library with JNI),但我在网上找不到示例。我试图生成一个静态库(.a)并简单地将其加载为 JNI 的共享库,但显然 JAVA 不能接受它。那么在实践中,如何将静态库链接并加载到我的 JAVA 程序中呢?

0 投票
1 回答
1226 浏览

ssh - ED25519 公钥的 WinSCP

我试图用我的 ED25519 公钥连接服务器,但 WinSCP 似乎不支持它,所以问题是,如何将密钥转换为 WinSCP 支持的密钥?

0 投票
1 回答
340 浏览

putty - Putty 0.67 的 ED25519 登录失败

我不确定 Putty 0.67 是否支持 ED25519,在我的情况下,密钥在命令行模式(DOS 或 BASH)下成功工作,但它不适用于 Putty。

断开连接:没有可用的受支持的身份验证方法(服务器发送:publickey)

0 投票
2 回答
11122 浏览

ssh - 将 Ed25519 转换为 RSA 指纹(或如何找到 SSH 指纹)

BizTalk 将内部 SFTP 测试的指纹视为 ssh-rsa 2048 33:88:f0:ff:63:78:a9:2b:3f:09:cb:05:81:db:59:86

WinSCP 显示: ssh-ed25519 256 ff:2e:5e:33:7a:15:de:69:18:cf:82:ae:f0:4e:7b:d2 (当我点击“会话”,然后“服务器/协议信息")

是否可以将一种转换为另一种?ssh-rsa是否可以从 WinSCP、PuTTY 或其他工具获取指纹?