Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java/Kotlin中生成ed25519密钥_Java_Kotlin_Cryptography_Ecdsa_Ed25519 - Fatal编程技术网

在Java/Kotlin中生成ed25519密钥

在Java/Kotlin中生成ed25519密钥,java,kotlin,cryptography,ecdsa,ed25519,Java,Kotlin,Cryptography,Ecdsa,Ed25519,我希望在java/kotlin中生成ed25519密钥。密钥对应该是确定的,因为如果可以提供生成过程中使用的一些种子信息,它们可以再次生成相同的密钥对 我知道用助记符可以做到这一点。请告诉我如何处理这个问题。我正在寻找一个知名的库,它可以帮助我在java中实现这一点。您应该使用libnaid,这里是文档的一个链接 libnaid是最积极维护的实现,因此,如果您使用的是ed25519或curve25519椭圆曲线密码,您应该使用libnaid Java/Kotlin中有大量绑定 它真的很容易使用而

我希望在java/kotlin中生成ed25519密钥。密钥对应该是确定的,因为如果可以提供生成过程中使用的一些种子信息,它们可以再次生成相同的密钥对


我知道用助记符可以做到这一点。请告诉我如何处理这个问题。我正在寻找一个知名的库,它可以帮助我在java中实现这一点。

您应该使用
libnaid
,这里是文档的一个链接

libnaid
是最积极维护的实现,因此,如果您使用的是
ed25519
curve25519
椭圆曲线密码,您应该使用
libnaid

Java
/
Kotlin
中有大量绑定

它真的很容易使用而且安全,例如,它在恒定时间内执行标量乘法

为了回答您关于确定性的问题,libnaude提供了一种从种子生成确定性密钥的机制。注意,你需要确保你的种子有足够的熵来保证安全

您应该调用
int-crypto\u-sign\u-seed\u密钥对(unsigned char*pk、unsigned char*sk、const unsigned char*seed)从种子到ed25519密钥对

是一个在Java中为该函数提供绑定的库:

    /**
     * Deterministically generate a public and secret key.
     * Store the seed somewhere if you want to generate these
     * keys again.
     * @param publicKey Public key will be populated here of size {@link #PUBLICKEYBYTES}.
     * @param secretKey Secret key will be populated here of size {@link #SECRETKEYBYTES}.
     * @param seed A random seed of size {@link #SEEDBYTES}.
     * @return True if generated successfully.
     */
    boolean cryptoKxSeedKeypair(byte[] publicKey, byte[] secretKey, byte[] seed);

拜托,好朋友,图书馆的推荐是离题的。请投票结束而不是回答问题。注:我不一定同意这项政策。我理解他们为什么会这样,但我的经验是,他们的好处大于坏处。@JamesReinstateMonicaPolk-我理解,道歉:+1