在 Android 中为 diffie-hellman 生成密钥需要很长时间

问题描述

目前我正在尝试为 Android 中的应用程序实现 diffie-hellman 密钥交换。但是,我遇到了一个问题。我读到 diffie-hellman 的推荐密钥大小是 2048,但是当我尝试在 android 模拟器中使用 java.security.KeyPairGenerator 生成密钥时,该过程永远不会完成。我等了 15 分钟,我在日志中唯一能看到的是“生成安全素数。这可能需要很长时间。”信息。我等了15分钟,然后放弃了。随后我尝试生成长度为 1024 的密钥,并在 7 到 39 秒的范围内完成,这仍然很长但更合理。我做错了什么吗?

这是我的代码

val keyPair = KeyPairGenerator.getInstance("dh")
keyPair.initialize(2048)

val generatedPair = serverKeyPair.generateKeyPair()
val privateKey = generatedPair.private
val publicKey = generatedPair.public

System.err.println("pu: ${publicKey.encoded}")
System.err.println("pr: ${privateKey.encoded}")

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)