1 / 4
文档名称:

实验二RSA公钥密码体制.doc

格式:doc   大小:101KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验二RSA公钥密码体制.doc

上传人:小博士 2019/1/6 文件大小:101 KB

下载得到文件列表

实验二RSA公钥密码体制.doc

文档介绍

文档介绍::..实胗工,完公翎密鹆加、解密技术一,实狯fl的通过编写RSA算法(小素数)程序,并运行此程序对实验数据进行加密和解密操作,使学生进一步掌握RSA公钥密码体制。工、实臉要求(1)用VC++写出加密、解密程序代码。(要求完成加密和解密,明文仅限为英文字母、数字、空格和标点符号):(2)运行自己编写的程序,输入素数p=7,q=13:明文为最多两位整数学号:如2,23等,得出和应的密文,并对其解密,验证解密后得到的明文是否与输入的学号相Mo三、相襄知识1976年,。在公钥密码体制中,加密密钥和解密密钥是不一样的,加密密钥可以公幵传播而不危及密码体制的安全性。公钥密码体制主要有三种:RSA公钥密码体制、EIGamal公钥密码体制、Menezes-Vanstone公钥密码体制。本次实验内容是关于RSA公钥密码体制。RSA公钥密码体制的安全性是基于大整数的素分解问题的难解性。其有自身的优缺点,优点是加密密钥可以公幵传播,缺点是运算速度较慢。算法描述:(本次试验只要求对小素数实现RSA算法))找出两个相异的素数P和Q,$N=PXQ,\1=(P-1)(Q—1)。2)找出与M互素的整数E,且1〈E〈M利用欧氏算法计算出整数D,使DXE=1MODMo欧氏算法:①nl-M,n2-E,bl-0,b2-l;②k=[nl/n2],r*-nl-k*n2;③如果1^0,则nl^-n2,n2<-r,t<-b2,b2—bl-k*b2,bl—t;转第②步;④如果n2#l,则E模M不存在逆元;⑤如果n2=l,则E模M的逆元为b2modM为什么有:,只要E,M互素且1〈E<M,则存在整数a,b使得:b*E+a氺M=1于是: b*EmodM=1令bl(0)=0,b2(0)=1,则:nl(0)=al(0)nl(0)+bl(0)n2(0)n2(0)=a2(0)nl(0)+b2(0)n2(0)假设时成立,则有nl(j)=al(j)nl(O)+bl(j)n2(0)n2(j)=a2(j)nl(0)+b2(j)n2(0)当i=j+l时有:nl(j+l)=n2(j)=a2(j)nl(0)+b2(j)n2(0)n2(j+l)=nl(j)-q(j)n2(j):al(j)nl(0)+bl(j)n2(0)-q(j){a2(j)nl(0)+b2(j)n2(0)}=(al(j)-q(j)a2(j))nl(0)+(bl(j)-q(j)b2(j))n2(0)这样循环下去,直到q(i)=0,n2(i)=l则b2(i)满足:b2(i)氺E+a本M=1令:b2=b2(i)modM,则b2*EmodM=1故:b2是E关于模M的逆元3)丢弃P和Q,公开E,D和N。E和N即加密密钥,D和N即解密密钥。,进行c=a"EMODN运算。c就是密文数据的一个字符块,将所有密文块合并起來,就得到丫密文数据C。-字符块c属于密文C,进行a=c<DMODN运算。a就是明文数据的一块,将所有明文块合并起来,就得到了明文数据A。\Progra>Files\BicrosoftVisualStudi