




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
网络课程设计 第一篇:网络课程设计南华大学网络安题目:RSA加解密算法姓名学号:导师:全非对称加密算法的实现非对称密码系统即公钥密码系统,主流分为基于大整数分解难度,基于离散一、设计内容、算法原理对数计算难度和椭圆曲线公钥密码三类。本次实验主要介绍RSA、ELG加密。二、RSA1).RSA公钥密码算法原理和过程:Alice要求Bob将信息m用RSA方法加密传送回来,Alice找到大素数p,q,令n=pq,取a>1满足(a,(n))1,再找d使得da1(mod(n)),然后Alice将n、a作为加密密钥(公钥)发送给Bob,这里p,q,d,(n)都是私钥,要求保密,用作解密。Bob将原文m这里大素数要求足够大,通常要求是大于100位的十进制数。有资料表明,几十位的素数构造的RSA公钥密码系统是不安全的。因为位数较多,加密效率就不dd并将密文m(modn),aadadEA传送给Alice。得到原文DA(EA)EA(m)mm(n)k1m(modn)够高,因此,通常用来加密对称密码的密钥,例如,加密序列密码的密钥。Maple简介:Maple是一个具有强大符号运算能力、图形处理能力的交互式计算机代数系统,它可以进行各种科学计算和数学推理,它的高精度数值计算能力对于处理大数的计算和素性判定有其独特的功能。它适合于所有需要科学计算的人.。RSA算法可以实现数字签名。B向A进行签名,则1、B不能否认进行了签名2、A不能篡改B的签名设A(如网站)的公钥为EA,私钥为DAB(签名者)的公钥为EB,私钥为DB,B的原文m,B用DB作用m,得到DB(m),再用A提供的EA作用,得到EA(DB(m))C,B将C和EB发给A,A收到后,先用DA作用于C再用EB作用EB(DA(C))B不能否认进行了签名,因为AEB(DA(EA(DB(m))。)这时,m用B提供的EB算出;A不能篡改B的签名,因为B可以用A提供的EA和DB算出,而A不知道DB,改动后算不出上面等式。2)、RSA公钥密码算法程序流程1、A的准备工作(1)产生两个u到v位的随机数,如果是偶数,则加1,然后判别是否是素数,如果是,赋值给p,q(2)令n=pq,t=(p-1)(q-1);(3)找1amin{p1,q1}满足(a,t)1,找一个不能整除t的素数,依次试除。(4)解ax1(modt)相当于求解tyax1,将t,a辗转相除,得到n利用P01,P1q1,PkqkPk1Pk2,x(1)Pn,再除以q1,q2,,qn,给d(5)将公钥n,a发送给B2、B的加密过程t,再赋值(1)原文m长度设为56位,远小于n,保证了(m,n)=1,加密得到密文sm(modn),分am为十进制数字和字符串两种情况(2)将密文s传送给A。3、A的解密过程A收到s后,计算先分别求解dms(modn)dd得到原文m。直接计算速度太慢,且溢出,b1s(modp,)b2s(modq),然后利用孙子定理解同余式组xb1(modp),xb2(modq),它的解xM1M1'b1M2M2'b2(modn)就是原文。2反复利用d[d]r来计算m(modp)可以大大加快运行速度。d3)、基于RSA算法的数字签名程序流程B向阿A进行数字签名。只需A和B都拥有密钥生成、加密和解密程序。A运行密钥生成程序,将公钥EA={n,a}发给B,将私钥DA密。B运行密钥生成程序,将公钥EB={n1,a1}发给A,将私钥DB保密。B计算签名mA收到后,先计算DA(C)(C)d(DB)(ma1d1{p,q,d,(n)}保{p1,q1,d1,(n1)}再计算C(DB)(modn)并m(modn1),d1a((DB))DBadadDB(n)k1再计算DB(modn),)ma1a1d1m(n1k)得到签名m(modn1)1m。三、ELG四、设计过程、设计的特点和结果、心得1)、密钥生成选出一个大素数p选出d作为群G中的一个成员,使得1dp2选出e1作为群G中的一个本原根e2e1dmodpC2Pe2r)modp//C1和C2是密文Public_key(e1,e2,p)//公开宣布Private_keyd//保密2)、解密PC2(C1d)1]modp//P是明文3)、证明C2(C1d)1]modp=Pe2r)(e1dr)1modp=P五、实现环境WindowsxpMaple13+mapletoolbox+matlab混合编程六、编写的源程序代码1、RSA_SystemRSA_SYSTEM.mfunctionvarargout=RSA_SYSTEM(varargin)gui_Singlet

论文****酱吖
实名认证
内容提供者


最近下载