问题标签 [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.
cryptography - Ed25519 有哪些实现?
新的 SQRL 身份验证方案依赖于 Daniel Bernstein 开发的 Curve Ed25519加密。然而,为了开始实施这个方案,首先需要一个成熟的 Curve Ed25519 实施。
有谁知道任何成熟的实现?对于 Java、.NET 或任何其他流行平台?
regex - 验证 Base64 编码的 256 位数字签名密钥
我已经看过很多关于如何检查 Base64 的 RegEx 答案,但我找不到专门用于表示 256 位数字的答案。
我是 Base64、字节转换和 RegEx 的新手。 这个答案似乎是检查 Base64 的最佳答案,但我无法从细节中判断它是否可以专门应用于 256 位数字的表示。
我需要确保这些字符串的有效性,因为我将它们用作 Ed25519 密钥的编码,并且我的en/decoder似乎接受非 ASCII 字符。
我真的不明白这是否可以专门应用于 256 位数字的表示。
RegEx 如何验证 Base64 编码的 256 位数字?
java - Base64 编码的 512 位数字签名的最终字符范围是多少?
我通过各种堆栈问答发现 Base64 编码的 256 位数字将有一个=
用于填充,并且仅以AEIMQUYcgkosw048
.
我相当有信心,==
由于位商,Base64 编码的 512 位数字将有两个 s 的填充。
对于 Base64 编码的 512 位数字,最后一个字符的范围是多少?位商的模数相同,这是否意味着 256 位编码和 512 位编码的最终字符范围相同?
这是为了节省空间和对可读的 Ed25519 签名进行正则表达式。
具体来说,我正在将 Java 转换byte[64]
为Strings
with org.apache.commons.codec.binary.Base64
。encodeBase64
hash - 如何使用 ed25519-donna 进行哈希处理
对于提出一些编程问题,我深表歉意,但我想确保我以加密方式正确使用了这个库。
除了散列签名数据之外,我已经设法实现了 ed25519-donna 。
据我所知,这是散列数据的函数:
但我无法弄清楚 *hash 是什么。我相当确定*in
并且inlen
是要散列的数据及其长度。
它是 SHA512 特有的吗?
如何使用 ed25519-donna 进行哈希计算?
程序挂起
我已经使用ed25519-donna-master/ed25519.o
OpenSSL flags 进行了编译-lssl -lcrypto
。密钥生成、签名和验证功能按预期工作。
它运行没有错误,但应用程序挂在这些线上,并且核心没有以 100% 运行,所以我认为它不忙处理:
如何修改此代码以使其ed25519_hash
正常工作?无论是hash
and in
areunsigned char*
还是uint8_t*
s,它的工作方式都是一样的。
对于uint8_t*
,我使用了以下代码:
java - Java 和 Javascript Ed25519 实现之间的互操作性
ed25519 -java和js-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
无符号字节数组。
algorithm - 压缩签名
假设我有一个一方创建的 64 字节签名(来自 ed25519)。该方必须进一步压缩签名,使其以 2048 为基数为 4-8 位。然后,第二方必须能够从数据中重新创建签名。
以下是十进制签名的示例:
5670805304946899675614751184947294808143702505785021095830828785725573127924144977212837580418240432902375737987653828318622222068237988634991262293689098
如何将此签名压缩到以 2048 为基数的 4 位左右?这可能使用数独压缩吗?
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 程序中呢?
ssh - ED25519 公钥的 WinSCP
我试图用我的 ED25519 公钥连接服务器,但 WinSCP 似乎不支持它,所以问题是,如何将密钥转换为 WinSCP 支持的密钥?
putty - Putty 0.67 的 ED25519 登录失败
我不确定 Putty 0.67 是否支持 ED25519,在我的情况下,密钥在命令行模式(DOS 或 BASH)下成功工作,但它不适用于 Putty。
断开连接:没有可用的受支持的身份验证方法(服务器发送:publickey)
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 或其他工具获取指纹?