RSA算法及其加解密原理
1.什么是RSA加密:
类型:非对称加密,通俗说就是加解密的密钥不同 原理:两个大素数相乘容易,但想要对其乘积进行因式分解却极其困难 公钥:加密明文使用的叫公钥。因为对大素数因式分解很困难,因此可以将乘积公开作为加密密钥,即KU=(e,n) 私钥:解密明文使用的叫私钥,即KR=(d,n) ![在这里插入图片描述](https://img-blog.csdnimg.cn/bc1fa27d21c142669a47b3e3929b5ccc.png)
2.一些字母表示:
(1) n=p*q:拆分大数n为两个大素数p和q (2) φ(n)=(p-1)(q-1):欧拉函数。 (3) e:随机选择一个的整数(可负),条件是1凑回-3:(-1*26+23)=-3 step3>即求(-1*26+23) mod 26:根据运算法则得原式=(0+23 mod 26) mod 26 step4>原式=23
4.公私钥生成:
(1)随机找两个质数P和Q,P与Q越大,越安全。(例如:61和53)
(2)计算p和q的乘积n。(n=61×53=3233,n的长度就是密钥长度。3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。)
(3)计算 n 的欧拉函数φ(n)。(根据公式φ(n)=(p-1)(q-1)算出φ(3233)等于60×52,即3120)
(4)随机选择一个整数e,条件是1 |