在RSA中我基本上有3个数字:d
,e
,n
公钥为(e, n)
,私钥为(d, n)
服务器将通过计算m
对代码c=m^d mod n
进行签名,客户端将通过计算m=c^e mod n
来解密签名。
在我的情况下,客户端的计算能力有限(它在浏览器中的Javascript中发生) - 我希望公钥操作尽可能高效。
所以我的问题是 - 有没有办法生成RSA密钥(d, e, n)
,这样系统的安全性仍然很高 - 但公钥操作性能是否良好?
是否有办法使公钥中的e
小(可能是64位),大数n
和d
(可能是1024位或2048位) )。
我随机生成了一些大键并测试了一些javascript RSA库的性能,性能非常糟糕。大小为1024位的密钥需要永远计算。
我使用的库取自here
也许我的问题是我正在使用的库有一个表现不佳的算法?
我需要公钥操作快速,我不想牺牲安全性。