N值:为两个质数q,p之乘积,比如q=7,p=11,则N=77
L值:为p-1、q-1的最小公倍数,7-1=6,11-1=10,6和10的最小公倍数是30,则L=30
E值:E和L互质且E小于L。13和30互质,则E=13
D值:D小于L,D和E的乘积对L取余为1,显然7*13=91,91mod30=1,则D=7
公钥对是(E,N),则为(13,77),私钥是(D,N),则为(7,77)
加解密,原文为a,密文为b:
b = a^E mod N, 原文的E次方对N取余得到密文
a = b^D mod N,密文的D次方对N取余得到原文
现在对数字9进行加解密:
b = 9^13 mode 77 = 2 541 865 828 329 mod 77 = 58
a = 58^7 mode 77 = 2 207 984 167 552 mod 77 = 9
在实际应用中要用到openssl工具来生成公私钥对,后面再总结一下。