RSA算法
来源:互联网 发布:已为关闭蜂窝移动数据 编辑:程序博客网 时间:2024/05/16 11:01
著名的公钥密码体制是RSA算法。RSA算法是一种分组密码,利用数论来构造算法,它是迄今为止理论上最为成熟完善的一种公钥密码体制,该体制已经得到广泛的应用,它的安全性基于“大数分解和素数检测”这一已知的著名数学理论难题基础,而体制的构造则基于数学上的Euler定理。
密钥对的产生过程如下。
(1)选择两个大素数p和q。
(2)计算n=p×q。
(3)随机选择加密密钥e,要求e和(p-1)×(q-1)互质。
(4)利用Euclid算法计算解密密钥d,满足e×d=1mod((p-1)×(q-1))。
其中n和d也要互质。两个素数p和q不再需要,应该丢弃,不要让任何人知道。
加密算法:
若用整数X表示明文,用整数Y表示密文,X,Y均小于N,则加密、解密算法如下所示。
加密: Y=Xe mod N
解密: X=Yd mod N
例: 设p=7,q=17。
①计算n。 n=p×q=7×17=119
② 计算φ(n)。φ(n)=(p-1)×(q-1)=96。
③ 选择e。从[0, 95]中选择一个与96互素的数5。
④ 计算d。 5d =1 (mod 96 ) , d=77 //意思是: d*5 mod 96 = 1;
⑤ 得出 公开密钥(即加密密钥)PK ={5, 119}
秘密密钥(即解密密钥)SK = {77,119}
公开密钥(即加密密钥)PK = {5, 119}
秘密密钥(即解密密钥)SK = {77,119}
例:加密:X=19
加密过程:Y = X^e mod n 即Y= 195 mod 119=66
解密:Y=66
解密过程: X = Y^d mod n 即X= 6677 mod 119=19
- RSA算法
- RSA算法
- RSA 算法
- RSA 算法
- RSA算法
- RSA算法
- RSA算法
- RSA算法
- RSA算法
- RSA算法
- RSA算法
- RSA算法
- RSA算法
- RSA算法
- RSA 算法
- RSA算法
- RSA算法
- RSA算法
- 复数计算器
- FWNX- about the abs function -
- DP17 最少回文切割次数 Palindrome Partitioning @geeksforgeeks
- friendlyARM 2410/2440开发板 usb download 驱动无法安装问题
- DP18 分割区间问题 Partition problem @geeksforgeeks
- RSA算法
- ListView学习笔记(通过Toast显示ListView里面的内容)
- 2012谷歌校园招聘笔试
- Swap Nodes in Pairs
- C#中委托的理解和使用
- ZSC新生赛解题报告
- 一个PHP验证码类与实例
- PHP实现数字验证码的例子
- PHP图片上传代码一例