ActionScript中RSA密钥对的生成

ActionScript中RSA密钥对的生成,actionscript,rsa,Actionscript,Rsa,我正在尝试在ActionScript中生成RSA-2048密钥对。我使用的是flame加密库 它需要超过60秒,因此超过了最大脚本执行时间并停止。 所以我使用Crossbridge将C数学库(libtommath)编译成SWC,并调用其素数生成函数。但仍然需要40多秒 如何解决此问题?RSA密钥生成是一个难题。这可能是你遇到的最苛刻的算法。它需要大量的随机数据,而且初始测试也很慢。此外,RSA密钥对生成时间相当不确定;它可能会找到一个素数fast,也可能不会。脚本语言不能很好地执行这些低级功能,

我正在尝试在ActionScript中生成RSA-2048密钥对。我使用的是flame加密库

它需要超过60秒,因此超过了最大脚本执行时间并停止。 所以我使用Crossbridge将C数学库(libtommath)编译成SWC,并调用其素数生成函数。但仍然需要40多秒

如何解决此问题?

RSA密钥生成是一个难题。这可能是你遇到的最苛刻的算法。它需要大量的随机数据,而且初始测试也很慢。此外,RSA密钥对生成时间相当不确定;它可能会找到一个素数fast,也可能不会。脚本语言不能很好地执行这些低级功能,这一点也没有帮助

你可以做两件事:

  • 突破到OpenSSL,OpenSSL是最快的库之一
  • 在安全环境中创建密钥对,并将其安全复制到ActionScript环境中

  • 最后一个选项似乎很奇怪,因为您可能希望用户生成密钥对。但是问问自己这个问题:如何信任ActionScript生成的公钥?

    这需要在Flash Player中运行,还是AIR也是一个选项?如果AIR是一个选项,那么您可能可以使用在后台运行的进程来生成密钥。对于Flash Player,您可以尝试使用actionscript工作线程,看看这是否有帮助。或者,看看是否可以使用服务器端语言(例如)在ActionScriptlibtommath中生成密钥并读取结果,因为它非常快,所以如果您使用所有优化编译它,就不要指望在这方面有多大改进。