下载此文档

实验三RSA算法和SHA1算法.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
实验三 RSA算法和SHA1哈希算法
古典密码算法曾经被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密。它的主要对象是文字信息,利用密码算法实现文字信息的加密和解密。古典密码学可以分为代替密码(也叫做移位密码)和置换密码(也叫做换位密码)两种,其中代替密码典型的有Caesar密码,数乘密码和仿射变换等,置换密码有单表置换和多表置换等。
实验目的
理解代替密码学加密过程
理解置换密码学加密过程
实验环境
Windows,交换网络结构,每组2人,VC++,密码工具
实验原理
非对称密钥加密也称为公开密钥加密,或者叫做公钥加密算法。使用公开密钥密码的每一个用户都分别拥有两个密钥:加密密钥和解密密钥,它们两者并不相同,并且由加密密钥得到解密密钥在计算机上是不可行的。每一个用户的加密密钥都是公开的。因此,加密密钥也称为公开密钥。所有用户的公开密钥都将记录在作用类似于电话号码薄的密钥本上,而它可以被所有用户访问,这样每一个用户都可以得到其他所有用户的公开密钥。同时,每一个用户的解密密钥将由用户保存并严格保密。因此,解密密钥也称为私有密钥。RSA加密算法利用了数论领域的一个事实,那就是虽然把两个大质数相乘生成一个合数是件十分容易的事情,但要把一个合数分解为两个质数的乘积却十分困难。合数分解问题目前仍然是数学领域尚未解决的一大难题,至今没有任何高效的分解方法。它无须收发双方同时参与加密过程,既可以用于保密也可以用于签名,因而非常适合于电子邮件系统的加密,互连网和信用卡安全系统。
RSA算法的加密和解密过程
在RSA算法中,每个实体有自己的公钥(e,n)及私钥(d,n),其中n = p*q,p,q是两个大素数,e*d = 1 mod ф(n),显然e应该满足gcd(e,ф(n))= 1。实体B加密消息m,将密文在公开信道上传送给实体A。实体A接到密文后对其解密。具体算法如下。
公钥的生成算法
RSA的公钥生成算法十分简单,可以分为四步:
选择两个素数,p和q;
计算n = p×q和z = (p-1)×(q-1);
选择一个与z互质的数d;
找出一个e,使得e×d = 1 mod z。
公开密钥是由(e,n)构成,私有密钥由(d,n)构成。
加密算法
实体B的操作如下:
得到实体A的真实公钥(e,n);
把消息表示成整数m,0<m≤n-1;
使用平方-乘积算法,计算C = Ek(m) = me mod n;
将密文C发送给实体A。
解密算法
实体A接收到密文C,使用自己的私钥d计算m = Dk(C)= Cd mod n,m∈Zn。
我们选择p = 3,q = 11,得到n = 33,z =(p-1)×(q-1)= 2×10 = 20。由于和20互质,故设d = 7。对于所选的d = 7,解方程7×e = 1 mod 20,可以得到e = 3。
在我们的例子中,由于所选的p和q太小,破译当然很容易,我们的例子只是用来说明此算法的原理。对于明文SUZANNE,RSA的加密和解密过程如表3-1所示。
表3-1 RSA加解密过程示例
加密
解密
明文(m)
me
密文(C)
密文(C)
Cd
明文(m)
符号

m3
m3(mod33)
m3(mod33)
C7

实验三RSA算法和SHA1算法 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1136365664
  • 文件大小95 KB
  • 时间2017-12-11