RSA-演变过程、原理、特点(加解密及签名)及公钥私钥的生成 (2)

 

2.2 模反元素

两个正整数a和n互质,那么一定能找到整数b,使得ab -1 被n来整除,也就是ab ≡ 1 (mod n)

这时侯,b被叫做a的模反元素

RSA-演变过程、原理、特点(加解密及签名)及公钥私钥的生成

 

RSA加密过程:

取两个质数p1,p2

确定了n值,n = p1 * p2, n值一般会很大程度为1024个二进制位;

确定φ(n),这样φ(n)=(p1-1) * (p2-1);

确定e值,1<e<φ(n),e为整数而且与φ(n)互质;

确定d值,e*d%φ(n)=1;

加密 c = m^e%n;

解密 m=c^d%n

实际的验证:

p1 = 3, p2 = 7;

n = p1 * p2 = 3 * 7 = 21;

φ(n)=(p1-1) * (p2-1)=2*6=12;

1 < e < 12, e = 5 (12 与 e互质则取值{1,5,7,11}, φ(12) = 4)

e * d % φ(n) = 5 * d % 12 = 1,则d =17

设置明文 m = 3, 则 c = m ^ e % n = 3 ^ 5 % 21 = 12

解密密文 m = c ^ d % n = 12 ^ 17 % 21 = 3

下面是数据传输过程图解:

RSA-演变过程、原理、特点(加解密及签名)及公钥私钥的生成

 

三、OpenSSL

openSSL是苹果系统内置的开源加密库,这样我们就可以通过终端来获取私钥公钥,进行数据加密.

主要命令:

  1. 生成RSA私钥

openssl genrsa -out private.pem 1024

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzzfyg.html