RSA算法原理简述与应用

算法原理:

根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥

算法描述:

1、选择两个质数:p=3,q=11

2、质数相乘:N=p*q=3*11=33

3、欧拉函数:T=(p-1)*(q-1)=(3-1)*(11-1)=20

4、选择公钥(E,N):E需满足gcd(E,T)=1且1<E<T

E的可选范围有3,5,7,9、11,13、17、19,此处任选,选择3,公钥为(3,33)

5、计算私钥(D,N):D需满足(D*E)%T=1,即D=(KT+1)/E,K∈N,任取D=7,私钥为(7,33)

设明文为m,密文为c,明文转密文 :m^{E}%N=c, 密文转明文:c^{D}%N=m

只根据T和E(不是p和q)要计算出D是不可能的。

因此,任何人都可对明文进行加密,但只有授权用户(知道D)才可对密文解密

简单应用:

明文‘草’,转化为字母c,a,o,分别取值字母表位置3,1,15,即明文

加密,带入明文转密文公式:3^{7}%33=9; 1^{7}%33=1; 15^{7}%33=27;得密文9,1,27

解密,带入密文转明文公式:9^{3}%33=3; 1^{3}%33=1; 27^{3}%33=15;得明文3,1,15

再转字母,c,a,o,最后的明文‘草’。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值