2013-07-19 32 views
2

我已经开发了java卡applet.it使用RSA进行加密。所以我想知道有没有办法加快Java卡中的RSA加密/解密。其原因是,当我使用RSA 2048它需要一些额外的时间比RSA 512或1024如何加快Java卡加密/解密(RSA)

感谢 SSV

回答

5

RSA本质上是缓慢的,而当你使用更大的密钥长度变慢。然而,有事情可以做,以加快RSA操作:

  • 使用公共密钥与公共指数具有设置为1几位,例如Fermat的第四个数字,65537.请注意,有一些攻击可以在值为3的公开指数上执行。这只会加速公钥操作。
  • 使用RSAPrivateCrtKey,其中包含可用于使用中国剩余定理进行计算的参数。这只会加速私人密钥操作。

如果你已经在卡上生成了一个密钥对,那么很可能这两个选项已经被芯片解除了。在这种情况下,解决方案空间可能是空的。那么你可以做的唯一事情就是切换到椭圆曲线密码学(但是即使对于公钥操作来说可能会更慢)或使用对称算法的不同协议。