p=17,q=31,e=7,M=2使用RSA算法进行加密和解密。 加密运算 c=me(mod n)
解密运算 m=cd(mod n) (1) 选择素数:p=17,q=31。
(2) 计算n=pq=17*31=527。
(3) 计算Q(n)=(p-1)(q-1)=16*30=480
(4) 选择e: gcd(e,480)=1; 选择e=7。 这个素数是取7吗?
(5) 确定d: de=1 mod 480 且 d <480, 可选择d= ?
(6) 公钥KU=(e,n)
(7) 私钥KR=(d,n) 请帮我看看前3步算的对不对?
第4和5步我不明白,请帮我讲讲怎么取?
6和7步套用公式,如果前面的数都出来我就知道是多少了。 谢谢
解密运算 m=cd(mod n) (1) 选择素数:p=17,q=31。
(2) 计算n=pq=17*31=527。
(3) 计算Q(n)=(p-1)(q-1)=16*30=480
(4) 选择e: gcd(e,480)=1; 选择e=7。 这个素数是取7吗?
(5) 确定d: de=1 mod 480 且 d <480, 可选择d= ?
(6) 公钥KU=(e,n)
(7) 私钥KR=(d,n) 请帮我看看前3步算的对不对?
第4和5步我不明白,请帮我讲讲怎么取?
6和7步套用公式,如果前面的数都出来我就知道是多少了。 谢谢
解决方案 »
- 设计一个基于GPS的时钟系统,并且给局域网内的所有计算机授时
- ftp客户端程序,如何返回上级目录?
- 服务端向客户端发了很多的UDP包,客户端没有recv(),使发送的UDP包总数据量超出客户端socket内部缓存大小,是否先到达客户端的包会被丢弃掉?
- 我用vc建的win32 application工程,新添了一个基类为CDialog的类后,就不能编译了,出现这样的错误,我添加#include <afxwin.h>后还是出现
- 如何在IE浏览器的工具栏上创建一个自已的按纽???
- 关于CString的赋值是内存访问错误,高手请进
- 求助:socket编程里IP地址格式的问题?
- 大家都来说说使用VC的诸多不便吧!
- VC连接错误
- COM问题.谢谢!
- 设置字体大小
- AppendMenu 创建菜单 重合了 为什么?急急
这个论坛专门做这个的,他们会乐意回答你的问题
http://bbs.pediy.com/
找两素数p和q
取n=p*q
取t=(p-1)*(q-1)
取任何一个数e,要求满足e<t并且e与t互素(就是最大公因数为1)
取d*e%t==1这样最终得到三个数: n d e设消息为数M (M <n)
设c=(M**d)%n就得到了加密后的消息c
设m=(c**e)%n则 m == M,从而完成对c的解密。
注:**表示次方,上面两式中的d和e可以互换。在对称加密中:
n d两个数构成公钥,可以告诉别人;
n e两个数构成私钥,e自己保留,不让任何人知道。
给别人发送的信息使用e加密,只要别人能用d解开就证明信息是由你发送的,构成了签名机制。
别人给你发送信息时使用d加密,这样只有拥有e的你能够对其解密。rsa的安全性在于对于一个大数n,没有有效的方法能够将其分解
从而在已知n d的情况下无法获得e;同样在已知n e的情况下无法
求得d。<二>实践接下来我们来一个实践,看看实际的操作:
找两个素数:
p=47
q=59
这样
n=p*q=2773
t=(p-1)*(q-1)=2668
取e=63,满足e<t并且e和t互素
用perl简单穷举可以获得满主 e*d%t ==1的数d:
C:\Temp>perl -e "foreach $i (1..9999){ print($i),last if $i*63%2668==1 }"
847
即d=847最终我们获得关键的
n=2773
d=847
e=63取消息M=244我们看看加密:c=M**d%n = 244**847%2773
用perl的大数计算来算一下:
C:\Temp>perl -Mbigint -e "print 244**847%2773"
465
即用d对M加密后获得加密信息c=465解密:我们可以用e来对加密后的c进行解密,还原M:
m=c**e%n=465**63%2773 :
C:\Temp>perl -Mbigint -e "print 465**63%2773"
244
即用e对c解密后获得m=244 , 该值和原始信息M相等。
p=17,q=31,e=7,M=2使用RSA算法进行加密和解密。
1、选择素数:p=17,q=31。
2、计算n=pq=17*31=527。
3、计算Q(n)=(p-1)(q-1)=16*30=480
4、选择e: gcd(e,480)=1; 选择e=13。
5、确定d: de=1 mod 480 且 d<480, 可选择d=37
6、公钥KU={13,527}
7、私钥KR={37,527}
加密:C=2^13 mod 527 = 287
解密:M=287^37 mod 527 = 2