网络信息安全RSA密码数字签名技术

上传人:豆浆 文档编号:20511330 上传时间:2017-11-22 格式:DOC 页数:10 大小:173.50KB
返回 下载 相关 举报
网络信息安全RSA密码数字签名技术_第1页
第1页 / 共10页
网络信息安全RSA密码数字签名技术_第2页
第2页 / 共10页
网络信息安全RSA密码数字签名技术_第3页
第3页 / 共10页
网络信息安全RSA密码数字签名技术_第4页
第4页 / 共10页
网络信息安全RSA密码数字签名技术_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《网络信息安全RSA密码数字签名技术》由会员分享,可在线阅读,更多相关《网络信息安全RSA密码数字签名技术(10页珍藏版)》请在金锄头文库上搜索。

1、信息科学与工程学院网络信息安全论文课 程 网络信息安全 课 题: RSA 数字签名 姓 名: 学 号: 专 业: 年 级: 指导教师: 年 月 日- 年 月 日引言自 20 世纪 40 年代计算机在美国诞生以来,计算机应用已逐渐在社会的各个领域中普及。20 世纪 80 年代中期,随着计算机网络技术的成熟,计算机网络应用迅速普及。伴随着我国国名经济信息化进程的推进和信息技术的普及,我国各行各业对计算机网络的依赖程度越来越高,这种高度依赖使社会变得十分“脆弱” ,一旦计算机网络受到攻击,不能正常工作,就会使整个社会陷入危机。所以信息与信息安全管理,已经成为社会公共安全工作的重要组成部分。信息安全的

2、基础就是密码理论,信息安全的基密性、完整性和抗否性都依赖于密码算法。密码学主要研究两个方面:密码编码学和密码分析学。密码编码学主要研究对信息进行交换,以保护信息在信道的传递过程中不被他人窃取、解密和利用的方法,而密码分析学则与密码编码学相反,它主要研究如何分析和破译密码。两者之间既相互对立又相互促进。密码体制的分类有很多,其中一种是根据加密算法和解密算法所使用的密钥是否相同,可以将密码体制分为对称密钥密码体制(单钥密码体制)和非对称密钥密码体制(公钥密码体制) ,这两种密码体制各有自己的长处和短处,因此现在采用了两种的混合体。 公钥密码体制的特点是:接收方 B 产生一对密钥(PK 和) ;公开

3、,保密;从推出是很困难的;、双方通信时,通过任何途径取得的公钥,用的公钥加密信息,加密后的信息可通过任何不安全信道发送。收到密文信息后,用自己私钥解密恢复出明文。公钥密码体制已成为确保信息的安全性的关键技术。RSA 公钥密码体制到目前为止还是一种被认可为安全的体制。RSA 公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也十分流行。随着越来越多的商业应用和标准化工作,RSA 已经成为最具代表性的公钥加密技术。VISA、 MasterCard、IBM 、Microsoft 等公司协力制定的安全电子交易标准(Secure Electronic Transactions

4、,SET)就采用了标准 RSA 算法,这使得 RSA在我们的生活中几乎无处不在。网上交易加密连接、网上银行身份验证、各种信用卡使用的数字证书、智能移动电话和存储卡的验证功能芯片等,大多数使用 RSA 技术。一公钥密码体制公钥密码算法的最大特点是采用两个相关密钥将加密和解密能力分开,其中一个密钥是公开的,即公开密钥,用于加密;另一个为用户专用,因而是保密的,称为秘密密钥,用于解密。因此公钥密码体制又被称为双密钥密码体制。算法有以下的重要性:已知密码算法和加密密钥,求解密密钥在计算上是不可行的。公钥密钥算法应满足以下要求:(1)接受方 B 产生密钥对(公开密钥 PKB,和秘密钥 SKB)在计算上是

5、容易的。(2)发送方 A 用接受方的公开密钥对消息 m 进行加密以产生密文 c,获取 c在计算上是容易的。(3)接受方 B 用自己的秘密密钥对 c 解密,在计算上也是容易的。(4)攻击者由 B 的公开钥 PKB 求秘密钥 SKB 在计算上是不可行的。(5)攻击者由密文 c 和 B 公开的密钥 PKB 恢复明文 m 在计算上是不可行的。(6)加密解密的次序可以更换。二.数字签名的基本原理政治,军事,外交等领域的文件,命令和条约,商业中的契约,以及个人之间的书信等,传统上都采用手写或印章,以便在法律上能认证、核准和生效。随着计算机通信的发展,人们希望通过电子设备实现快速、远距离的交易,数字签名便应

6、运而生,并开始用于商业通信系统,如电子邮递、电子转帐和办公自动化等系统中。 数字签名也是一种认证机制,它是公钥密码学发展过程中的一个重要组成部分,是公钥密码算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的信息进行处理,完成对数据的合法“签名” ,数据接收方则利用发送方的公钥来验证收到的消息上的“数字签名” ,以确认签名的合法性。类似手写签名,数字签名也应该满足一下要求: (1) 收方能够确认或证实发方的签名,但不能伪造。(2) 发方发出签名的消息送收方之后,就不能再否认他所签发的消息。(3) 收方对已收到的签名消息不能否认,即收到认证。(4)

7、第三者可以确认收发双方之间的消息传送,但不能伪造者以过程。1. 数字签名与手写签名的区别数字签名与手写签名的区别在于:手写签名是模拟的 ,且因人而异; 数字签名是 0 和 1 的数字串,因消息而异。数字签民与消息认证的区别在于:消息认证使收方能验证消息发送者及所发的消息内容是否被篡改过。当收发者之间没有利害冲突时,这对于防止第三者的破坏来说是足够了。但当收者和发者之间有利害冲突时,单纯用消息认证技术就无法解决他们之间的纠纷,此时需要借助数字签名技术。为了实现签名的目的,发方需向收方提供足够的非保密信息,以便使其能验证消息的签名,但又不泄露用于生产签名的机密信息,以防止他人伪造签名。因此,签名者

8、和证实者可公用的信息不能太多。任何一种产生签名的算法或函数都应当提供这两种信息,而且从公开的信息很难推测出用于产生签名的机密信息。另外,任何一种数字签名的实现都有赖于精心设计的通信协议。2.数字签名的分类数字签名有两种:一种是对整个消息的签名,一种是对压缩消息的签名,它们都是附加被签名信息之后或某一种特定位置上的一段签名图样。若按明、密纹的对应关系划分,每一种又可以分为两个子类:一类是数字性确定签名,其明文与密文一一对应,它对特定消息的签名不变化(使用签名者的密钥签名) ,如 RSA、ElGamal 等签名;另类是随机化的或概率式数字签名,它对同一消息的签名是随机变化的,取决于签名算法中随机参

9、数和取值。一个签名体制一般包含有两个组成部分,即签名算法和验证算法。对 M 消息的签名可以简写为 Sig( M)= s(有时为了说明密钥 K 在签名中的作用,也可以将签名写为 Sig(M, k) ,而对 s 的证实简记为 Ver(s)= 真,伪=1 ,0 。签名算法或签名密钥是秘密的,只有签名人掌握。证实算法应当公开,以便于他们进行验证。一个签名体制可以由量(M,S,K,V)表示,其中 M 为明文空间,S 是签名的集合,K 是密钥空间,V 是证实函数的值域,由真,伪构成。对于每一 kK,有一签名算法,易于计算 s=Sig(k,m)S 。利用公开的证实算法:Ver(s ,m )真,伪可以验证签名

10、的真伪。它们对每一 mM,真签名 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 算法很完善,即可用于数据加密,又可用于数字签名,安全性良好,易于实现和理解,所以已经成为一种应用极广的公匙密码算法,它是基于数论的非对称(公开

11、钥 )密码体制。目前,RSA 在许多场合有广泛的应用。2.RSA 运用的数论基础:2.1 产生素数(1)反素数 n 必不能被 2- (实际上一个数最大公约数小于或等于 )之间所有素数的整数。(2)除 2 以外所有素数为奇数,有素数的定义来决定算法2.2 求最大公约数设 b,c 为整数 b0,c0,bc,c 的最大公约数记作 gcd(b,c)可以利用欧几里得算法:每次余数为除数除以上一次的除数直到余数为 0 为止,则上次的余数为最大公约数,可以现设 b 为上次的除数,c 为余数,按欧几里得算法求出gcd(b,c) 。2.3 互素互素:如果 gcd(a,b)=1,则成 a 与 b 互素。例如 21

12、 与 50。同余:如果 a(mod n)=b (mod n),则策划能够两整数 a 和 b 模 n 同余。也就是 n 能整除(a-b) ,即 n|(a-b).同余的性质:n |(a-b),ab mod n(a mod n)= (b mod n),ab mod na b mod n, ba mod nab mod n,bc mod n,a c mod n这里要解释一下,是数论中表示同余的符号。公式中, 符号的左边必须和符号右边同余,也就是两边模运算结果相同。2.4 加法逆、乘法逆加法逆:对于加法+,若 x+y 0 mod n ,则 y 为 x 的模 n 加法逆元,也称y 为-x。当 x,yZ(Z

13、 表示模 n 完全剩余系) ,有唯一的加法逆元。乘法逆元:对于乘法,若 xy1 mod n,则 y 为 x 的模 n 乘法逆元,也称y 为 x 的倒数,记为 1/x,或者 x-1。对于乘法,不一定有逆元。设 aZ,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)1 mod n,所以

14、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)最后根据公式:ed1(mod(n) ) ,计算 e 并公开。 公开密钥:k1=(n,e)私有密钥:k2=(p,q,d)RSA 是一种发分组密码系统,加密时首先将明文表示成从 0 到 n-1 之间的整数。如果明文太长,可将其变成为 n 进制的形式,即令M=M0+M1n

15、+M2n1+Msns然后分别加密(M0,M1,Ms) 。(5) 加密算法:C=E(M)Me(mod n)解密算法:D(C)=Cd(mod n)3实例描述通过一个简单的例子来理解 RSA 的工作原理。为了便于计算。在以下实例中只选取小数值的素数 p,q,以及 e,假设用户 A 需要将明文“key”通过 RSA 加密后传递给用户 B,过程如下:3.1 设计公私密钥(e,n)和(d,n)令 p=3,q=11,得出 n=pq=311=33;f(n)=(p-1)(q-1)=210=20;取e=3, (3 与 20 互质)则 ed1 mod f(n),即 3d1 mod 20。d 怎样取值呢?可以用试算的办法来寻找。试算结果见下表:通过试算我们找到,当 d=7 时,ed1 mod f(n)同余等式成立。因此,可令d=7。从而我们可以设计出一对公私密钥,加密密钥(公钥)为:KU =(e,n)=(3,33),解密密钥(私钥)为:KR =(d,n)=(7,33)。3.2 英文数字化将明文信息数字化,并将每块两个数字分组。假定明文英文字母编码表为按字母顺序排列数值,即:则得到分组后的 key 的明文信息为

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号