RSA入门

参考链接:http://blog.csdn.net/sunmenggmail/article/details/11994013

步骤:

1.取两个大素数p和q

素数:即质数,指的是一个大于1且具有如下性质的的自然数:该自然数除了1和其本身外,不能被其他任何自然数整除

例:p=3,q=11

2.求r=(p-1)*(q-1)

例:r=(p-1)*(q-1)=2*10=20

3.选择一个小于r且与r互素的数e,求出e关于模r的模逆元素d

模逆元素的概念:http://zh.wikipedia.org/wiki/%E6%A8%A1%E5%8F%8D%E5%85%83%E7%B4%A0

e关于模r的模逆元素d,满足公式e * d = 1 ( mod r )

注:e * d = 1 ( mod r )的意思就是说(e*d)%r = 1

例:取e=3,这里r=20,则推出d=7

此时公钥为(N,e),私钥为(N,d),其中N=p*q=33


加密过程:n为要加密的消息,c为加密后的消息

通过公式:n的e次方 = c (mod N) => c的值

例:n=24,e=3,N=33,则有c=24*24*24%33=30

解密过程:c为加密了的消息,n为要解密的消息

通过公式:c的d次方 = n (mod N) => n的值

例:c=30,d=7,N=33,则有n=pow(30,7)%33=24

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值