情况大致如下:
1.前端需要对传输内容进行加密 ,采用加密方式为RSA加密
2.从后端能获取的数据 有:
1:RSA 模数
2: 公钥指数
仅仅能获取到这两个
求问:
前端如何计算出 publicKey ?
publicKey可以改完后端计算完毕后传过来的,然后在前端进行加密操作,将加密后的信息传给后端。前端计算的话,你可以根据下面的公式算一下。
公钥计算公式为:
(1)选取两个安全大素数p和q(“大”指其长度要足够,目前推荐长度至少1024比特长);
(2)计算乘积n=p*q,(n)=(p-1)(q-1),其中(n)为n的欧拉函数;
(3)随机选取整数e(1<e<(n))作为公钥,要求满足gcd(e,(n))=1,即e与(n)互素;
(4)用Euclid扩展算法计算私钥d,以满足d*e≡1(mod(n)),即d≡ (mod(n)),则e和n是公钥,d是私钥;
注意,加解密算法中两个素数p和q不再需要,可销毁但绝不能泄露。