Javascript 有没有办法用小公钥创建RSA密钥?

Javascript 有没有办法用小公钥创建RSA密钥?,javascript,performance,cryptography,rsa,public-key-encryption,Javascript,Performance,Cryptography,Rsa,Public Key Encryption,在RSA中,我基本上有3个数字:d,e,n 公钥是(e,n),私钥是(d,n) 服务器将通过计算c=m^d mod n对数字m进行签名,客户端将通过计算m=c^e mod n对签名进行解密 在我的情况下,客户端的计算能力是有限的(这是在浏览器中的Javascript中发生的),我希望使公钥操作尽可能高效 所以我的问题是-有没有办法生成RSA密钥(d,e,n),这样系统的安全性仍然很高-但是公钥操作性能很好 有没有办法使公钥中的数字e变小(可能是64位),使数字n和d变大(可能是1024位或204

在RSA中,我基本上有3个数字:
d
e
n

公钥是
(e,n)
,私钥是
(d,n)

服务器将通过计算
c=m^d mod n
对数字
m
进行签名,客户端将通过计算
m=c^e mod n
对签名进行解密

在我的情况下,客户端的计算能力是有限的(这是在浏览器中的Javascript中发生的),我希望使公钥操作尽可能高效

所以我的问题是-有没有办法生成RSA密钥
(d,e,n)
,这样系统的安全性仍然很高-但是公钥操作性能很好

有没有办法使公钥中的数字
e
变小(可能是64位),使数字
n
d
变大(可能是1024位或2048位)

我随机生成了一些大密钥,并测试了一些javascript RSA库的性能,但性能非常差。1024位大小的密钥需要永远计算

我使用的图书馆是从

也许我的问题是我使用的库的算法性能很差


我需要快速的公钥操作,我不想牺牲安全性。

fast encryption=弱加密。通常,解密时间与加密时间成正比。是的,加密指数可能很小。大多数应用程序只是将e设置为65537。我不明白,当你假设e是一个特定的数字时,你如何选择d和n?没关系,我发现这个网站可以给我一个随机键,其中65537是@codefactor的e值:这一点都不难。1) 选择e,在本例中e=65537。2) 求两个大素数p和q,使得gcd(e,p-1)=gcd(e,q-1)=1。3) 使用扩展的欧几里德算法查找d。对于e=65537,步骤2将很快成功,而对于e=3,步骤2成功的速度稍慢一些(但足够快!)。