网络信息安全RSA密码数字签名技术_第1页
网络信息安全RSA密码数字签名技术_第2页
网络信息安全RSA密码数字签名技术_第3页
网络信息安全RSA密码数字签名技术_第4页
网络信息安全RSA密码数字签名技术_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息科学与工程学院网络信息安全论文课程网络信息安全课题:RSA数字签名姓名:学号:专业:年级:指导教师:年月日-年月日引言自20世纪40年代计算机在美国诞生以来,计算机应用已逐渐在社会的各个领域中普及。20世纪80年代中期,随着计算机网络技术的成熟,计算机网络应用迅速普及。伴随着我国国名经济信息化进程的推进和信息技术的普及,我国各行各业对计算机网络的依赖程度越来越高,这种高度依赖使社会变得十分“脆弱”,一旦计算机网络受到攻击,不能正常工作,就会使整个社会陷入危机。所以信息与信息安全管理,已经成为社会公共安全工作的重要组成部分。信息安全的基础就是密码理论,信息安全的基密性、完整性和抗否性都依赖于密码算法。密码学主要研究两个方面:密码编码学和密码分析学。密码编码学主要研究对信息进行交换,以保护信息在信道的传递过程中不被他人窃取、解密和利用的方法,而密码分析学则与密码编码学相反,它主要研究如何分析和破译密码。两者之间既相互对立又相互促进。密码体制的分类有很多,其中一种是根据加密算法和解密算法所使用的密钥是否相同,可以将密码体制分为对称密钥密码体制(单钥密码体制)和非对称密钥密码体制(公钥密码体制),这两种密码体制各有自己的长处和短处,因此现在采用了两种的混合体。公钥密码体制的特点是:接收方B产生一对密钥(PK和SK);PK公开,SK保密;从PK推出SK是很困难的;A、B双方通信时,A通过任何途径取得B的公钥,用B的公钥加密信息,加密后的信息可通过任何不安全信道发送。B收到密文信息后,用自己私钥解密恢复出明文。公钥密码体制已成为确保信息的安全性的关键技术。RSA公钥密码体制到目前为止还是一种被认可为安全的体制。RSA公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也十分流行。随着越来越多的商业应用和标准化工作,RSA已经成为最具代表性的公钥加密技术。VISA、MasterCard、IBM、Microsoft等公司协力制定的安全电子交易标准(SecureElectronicTransactions,SET)就采用了标准RSA算法,这使得RSA在我们的生活中几乎无处不在。网上交易加密连接、网上银行身份验证、各种信用卡使用的数字证书、智能移动和存储卡的验证功能芯片等,大多数使用RSA技术。一.公钥密码体制公钥密码算法的最大特点是采用两个相关密钥将加密和解密能力分开,其中一个密钥是公开的,即公开密钥,用于加密;另一个为用户专用,因而是保密的,称为秘密密钥,用于解密。因此公钥密码体制又被称为双密钥密码体制。算法有以下的重要性:已知密码算法和加密密钥,求解密密钥在计算上是不可行的。公钥密钥算法应满足以下要求:(1)接受方B产生密钥对(公开密钥PKB,和秘密钥SKB)在计算上是容易的。(2)发送方A用接受方的公开密钥对消息m进行加密以产生密文c,获取c在计算上是容易的。(3)接受方B用自己的秘密密钥对c解密,在计算上也是容易的。(4)攻击者由B的公开钥PKB求秘密钥SKB在计算上是不可行的。(5)攻击者由密文c和B公开的密钥PKB恢复明文m在计算上是不可行的。(6)加密解密的次序可以更换。二.数字签名的基本原理政治,军事,外交等领域的文件,命令和条约,商业中的契约,以及个人之间的书信等,传统上都采用手写或印章,以便在法律上能认证、核准和生效。随着计算机通信的发展,人们希望通过电子设备实现快速、远距离的交易,数字签名便应运而生,并开始用于商业通信系统,如电子邮递、电子转帐和办公自动化等系统中。数字签名也是一种认证机制,它是公钥密码学发展过程中的一个重要组成部分,是公钥密码算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的信息进行处理,完成对数据的合法“签名”,数据接收方则利用发送方的公钥来验证收到的消息上的“数字签名”,以确认签名的合法性。类似手写签名,数字签名也应该满足一下要求:收方能够确认或证实发方的签名,但不能伪造。发方发出签名的消息送收方之后,就不能再否认他所签发的消息。收方对已收到的签名消息不能否认,即收到认证。第三者可以确认收发双方之间的消息传送,但不能伪造者以过程。1.数字签名与手写签名的区别数字签名与手写签名的区别在于:手写签名是模拟的,且因人而异;数字签名是0和1的数字串,因消息而异。数字签民与消息认证的区别在于:消息认证使收方能验证消息发送者及所发的消息内容是否被篡改过。当收发者之间没有利害冲突时,这对于防止第三者的破坏来说是足够了。但当收者和发者之间有利害冲突时,单纯用消息认证技术就无法解决他们之间的纠纷,此时需要借助数字签名技术。为了实现签名的目的,发方需向收方提供足够的非保密信息,以便使其能验证消息的签名,但又不泄露用于生产签名的机密信息,以防止他人伪造签名。因此,签名者和证实者可公用的信息不能太多。任何一种产生签名的算法或函数都应当提供这两种信息,而且从公开的信息很难推测出用于产生签名的机密信息。另外,任何一种数字签名的实现都有赖于精心设计的通信协议。2.数字签名的分类数字签名有两种:一种是对整个消息的签名,一种是对压缩消息的签名,它们都是附加被签名信息之后或某一种特定位置上的一段签名图样。若按明、密纹的对应关系划分,每一种又可以分为两个子类:一类是数字性确定签名,其明文与密文一一对应,它对特定消息的签名不变化(使用签名者的密钥签名),如RSA、ElGamal等签名;另类是随机化的或概率式数字签名,它对同一消息的签名是随机变化的,取决于签名算法中随机参数和取值。一个签名体制一般包含有两个组成部分,即签名算法和验证算法。对M消息的签名可以简写为Sig(M)=s(有时为了说明密钥K在签名中的作用,也可以将签名写为Sig(M,k),而对s的证实简记为Ver(s)={真,伪}={1,0}。签名算法或签名密钥是秘密的,只有签名人掌握。证实算法应当公开,以便于他们进行验证。一个签名体制可以由量(M,S,K,V)表示,其中M为明文空间,S是签名的集合,K是密钥空间,V是证实函数的值域,由真,伪构成。对于每一k∈K,有一签名算法,易于计算s=Sig(k,m)∈S。利用公开的证实算法:Ver(s,m)∈{真,伪}可以验证签名的真伪。它们对每一m∈M,真签名Sig(k,m)∈S为M到S的映射.易于验证S是否为M的签名.Ver(s,m)=真,当Sig(s,m)满足验证方程.Ver(s,m)=伪,当Sig(s,m)不满足验证方程.三.RSA密码算法1.RSA(Rivest-Shamir-Adelman)加密体制是一种公开的密码体制。RSA公匙密码体制是又R.L.Rivest,A.Shamir和L.Adelman于1978年提出的。由于RSA算法很完善,即可用于数据加密,又可用于数字签名,安全性良好,易于实现和理解,所以已经成为一种应用极广的公匙密码算法,它是基于数论的非对称(公开钥)密码体制。目前,RSA在许多场合有广泛的应用。2.RSA运用的数论基础:2.1产生素数(1)反素数n必不能被2-(实际上一个数最大公约数小于或等于)之间所有素数的整数。(2)除2以外所有素数为奇数,有素数的定义来决定算法2.2求最大公约数设b,c为整数b>0,c>0,b>c,c的最大公约数记作gcd(b,c)可以利用欧几里得算法:每次余数为除数除以上一次的除数直到余数为0为止,则上次的余数为最大公约数,可以现设b为上次的除数,c为余数,按欧几里得算法求出gcd(b,c)。2.3互素互素:如果gcd(a,b)=1,则成a与b互素。例如21与50。同余:如果a(modn)=b(modn),则策划能够两整数a和b模n同余。也就是n能整除(a-b),即n|(a-b).同余的性质:n|(a-b),→a≡bmodn(amodn)=(bmodn),→a≡bmodna≡bmodn,→b≡amodna≡bmodn,b≡cmodn,→a≡cmodn这里要解释一下,≡是数论中表示同余的符号。公式中,≡符号的左边必须和符号右边同余,也就是两边模运算结果相同。2.4加法逆、乘法逆加法逆:对于加法+,若x+y≡0modn,则y为x的模n加法逆元,也称y为-x。当x,y∈Z(Z表示模n完全剩余系),有唯一的加法逆元。乘法逆元:对于乘法×,若xy≡1modn,则y为x的模n乘法逆元,也称y为x的倒数,记为1/x,或者x^-1。对于乘法,不一定有逆元。设a∈Z,gcd(a,n)=1,则a在Z中有乘法逆元。2.5欧拉函数设n为一个正整数,小于n且与n互素的正整数的个数为n的欧拉函数,记为∮(n)。定理:若n是两个互素的整数p和q的乘积,则∮(n)=∮(p)∮(q)。若p和q为不同的素数,则∮(n)=∮(p)∮(q)=(p-1)(q-1)。欧拉定理:若a和n互素,则a^∮(n)≡1modn,所以a的逆元为a^(∮(n)-1)。3.RSA公钥密码方案建立一个RSA密码体制的过程如下:(1)用户选择一对不同的大素数p和q,将p和q保密。(2)令n=pq,用户公布n。∮(n)=(p-1)(q-1),此外∮(n)是欧拉函数,保密。(3)选取正整数d,使其满足gcd(d,∮(n))=1,将d保密。(4)最后根据公式:ed≡1(mod∮(n)),计算e并公开。公开密钥:k1=(n,e)私有密钥:k2=(p,q,d)RSA是一种发分组密码系统,加密时首先将明文表示成从0到n-1之间的整数。如果明文太长,可将其变成为n进制的形式,即令M=M0+M1n+M2n^1+……+Msn^s然后分别加密(M0,M1,……,Ms)。加密算法:C=E(M)≡M^e(modn)解密算法:D(C)=C^d(modn)3.实例描述通过一个简单的例子来理解RSA的工作原理。为了便于计算。在以下实例中只选取小数值的素数p,q,以及e,假设用户A需要将明文“key”通过RSA加密后传递给用户B,过程如下:3.1设计公私密钥(e,n)和(d,n)

令p=3,q=11,得出n=p×q=3×11=33;f(n)=(p-1)(q-1)=2×10=20;取e=3,(3与20互质)则e×d≡1modf(n),即3×d≡1mod20。

d怎样取值呢?可以用试算的办法来寻找。试算结果见下表:

通过试算我们找到,当d=7时,e×d≡1modf(n)同余等式成立。因此,可令d=7。从而我们可以设计出一对公私密钥,加密密钥(公钥)为:KU=(e,n)=(3,33),解密密钥(私钥)为:KR=(d,n)=(7,33)。3.2英文数字化将明文信息数字化,并将每块两个数字分组。假定明文英文字母编码表为按字母顺序排列数值,即:

则得到分组后的key的明文信息为:11,05,25。

3.3明文加密

用户加密密钥(3,33)将数字化明文分组信息加密成密文。由C≡M^e(modn)得C1≡M1^e(modn)=11^3(mod33)=11C2≡M2^e(modn)=05^3(mod33)=26C3≡M3^e(modn)=25^3(mod33)=16

因此,得到相应的密文信息为:11,26,16。

3.4密文解密

用户B收到密文,若将其解密,只需要计算M≡C^d(modn),即:

M1≡C1^d(modn)=11^7(mod33)=11M2≡C2^d(modn)=26^7(mod33)=05M3≡C3^d(modn)=16^7(mod33)=25

用户B得到明文信息为:11,05,25。根据上面的编码表将其转换为英文,我们又得到了恢复后的原文“key”。四.基于RSA算法的数字签名技术1.RSA密码体制的签名实现图:其中SKA表示A自己的密钥。PKA为A自己公开的密钥。A用自己的密钥SKA对姚发送的信息m加密,得到加密文c,将c发往B,B用A公用的密钥PKA对c解密。因为从m到c是经过A的秘密钥SKA加密,只有A才能做到。因此c可作为A对m的数字签名。另一方面,任何人只要得不到A的秘密钥SKA,就不能篡改m,所以以上过程获得了对消息来源和消息完整性的认证。以上认证过程中,由于信息是有发送者自己的密钥加密的,所以不能被别人篡改,但是却会导致信息被窃听。所以我们使用双重加密、解密。首先发送者对信息使用密钥加密,用于提供数字签名,然后又使用接受端产生的公开密钥加密,解密的时候是逆过程,先用接受方自己的密钥解密,然后用发送放的公开密钥解密。2.RSA签名安全参数:令n=pq,p和q是大素数,选e并计算出d,使得ed=1mod(p-1)(q-1),公开n和e,将p、q和d保密,则所有的RSA参数为k=(n,p,q,e,d)。数字签名:对消息M∈Z定义S=Sig(M)=M^dmodn为对M的签名。签名验证:对给定的M、S可按下式验证:设M’=S^emodn,如果M'=M,则签名为真;否则,不接受签名。显然,由于只有签名者知道d,由RSA体制可知,其他人不能伪造签名,但容易证实所给(M,S)对是不是消息M和相应的签名所构成的合法对。RSA体制的安全性依靠于n=pq分解的复杂性。3.基于RSA密钥算法的数字签名实例举例发送端输入明文m=2,令p=3,q=11,求其签名以及验证过程。n=pq=11*3=33;Z={0,1,……,32}∮(n)=(p-1)(q-1)=(11-1)(3-1)=20;取e=3,gcd(d,∮(n))=gcd(3,20)=1;e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论