《信息安全引论》课件Chapter 3_第1页
《信息安全引论》课件Chapter 3_第2页
《信息安全引论》课件Chapter 3_第3页
《信息安全引论》课件Chapter 3_第4页
《信息安全引论》课件Chapter 3_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、 公开密钥的诞生标志着现代密码学的诞生,它开拓出许多密码学新的研究领域比如签名、认证、密钥分配等。加密只是其应用之一。本章主要研究公钥加密方在保密与数字签名方面的应用。第3章 公开密钥与数字签名本章内容第1节 数学基础 第2节 公开密钥加密算法RSA 第3节 数字签名算法第4节 密钥分配算法第5节 混合加密算法第6节 密码学研究的若干前沿小结 本章讲述了公开密钥加密算法所用的数学基础与RSA公开密钥加密算法,DSA数字签名算法。所讲述的数学基础虽然在本章中只有RSA和DSA两处用到,但这些基础是现代密码学的基础,在有关的密码学研究中非常重要,处处都能见到,所以必须认证掌握。简单介绍了Diffi

2、e-Hellman密钥交换算法、用RSA实现密钥交换,最后介绍了混合密码系统。作业题1. 请你编一个因子分解的程序,程序要有计时功能。用这个程序对下列三个数进行因子分解,并记录分解三个数所用的时间。46631,7836601,1981835783。2. 选择n =3337, 加密密钥e =1019, 将陕西师范大学用RSA公钥加密算法加密。(提示:将“陕西师范大学”中的每个汉字都用区位码表示,并加密相应的区位码)3. 试证明DSA验证等式的正确性。1 数学基础(1) Module operation(2) Prime number(3) Great Common Divisor(4) Inve

3、rsing module operation数学基础(5) Fermats little theorem and Euclid Function(6) Factoring(7) Discrete Logarithm (8) Two Basic Assumptions BACK2. 公开密钥密码学2.1 公开密钥密码学的历史与分类2.2 RSA算法2.3 公开密钥算法进行通信2.4 公开密钥密码学的优势 BACKRSA公开密钥算法 RSA (Ron Rivest, Adi Shamir, Leonard Adleman) 公开密钥算法是公开密钥算法的概念提出以后出现的第一个公开密钥算法,它既能用

4、于加密也能用于数字签名。在已经提出的公开密钥算法中RSA算法是最容易理解和实现的。RSA算法的数学基础是因子分解假设。RSA算法 RSA算法的原理非常简单,非常易于理解。但计算起来却非常困难。通过三个精心选择的自然数e、d 和 n进行加密和解密。加密过程为:解密过程为:下面主要研究如何选择自然数e、d 和 n。 BACKBACKBACK模运算BACKPrime Number 素数是这样一种数:大于1;它的因子只有1和它本身。 2是唯一的偶素数,其他素数均为奇数;素数是无限的。2365347734339和2756839-1都是素数。 判断一个数是不是素数是困难的。BACK最大公因数(1) 两个数

5、的公因(约)数;(2) 两个数的最大公因数;(3) 两个数互素:除了1以外没有共同的因子。(4) 素数与它的倍数以外的任何数都是互素的。BACK求模逆元BACK费马小定理与欧拉函数BACKBACK因子分解 对一个数进行因子分解就是将这个数分解成若干素数的乘积。因子分解是一个非常古老的问题,这个问题到目前为止尚没有多项式时间算法。 目前的因子分解算法有:数域筛选法;二次筛选法;椭圆曲线法;连分式算法;试除法。BACK离散对数BACK两个基本假设BACK3. 数字签名算法 在文件上签名长期以来一直被用作身份的证明,或者同意文件的内容。签名有如下特征:(1)签名是可信的;(2)签名不可伪造;(3)签

6、名不可重用;(4)签名文件是不可改变的;(5)签名是不可抵赖的。主要的数字签名算法有RSA数字签名和DSA数字签名。用RSA进行数字签名(1) Alice用她的私人密钥对文件加密,从而对文件签名。(2) Alice将签名与文件发送给Bob。(3) Bob用Alice公钥解密,如果解密的结果与传过来的文件完全相同,就表示Alice确实对该文件进行过签名。DSA算法 DSA算法是美国Digital Signature StandardDSS 中所规定的算法,这个算法与相比有所不同:DSA只能用于签名,不能用于加密与密钥分配;DSA比RSA速度慢;DSA的密钥长度太短;DSA选择过程没有公开等。但是

7、最大的优势在于DSA没有专利。美国政府不想为数字签名算法支付专利费。关于DSA DSA是DSS选定的一个标准算法,选择这个算法的主要要求与考虑因素包括:确保以最低的成本实现最有效的安全性和保密性;软件与硬件实现应当比较容易;应该不受专利的约束;签名函数与验证函数的效率应当比较高,应该能够在智能卡应用中有效地实现签名操作。在这些应用中签名操作应在计算能力适中的智能卡环境中进行,而验证过程可以在计算能力较强的环境中实现。算法所用到的参数Alice对消息的签名过程 Bob对签名的验证过程Bob进行下面的计算来验证签名DSA的数学基础DSA的数学基础数字签名的研究热点盲签名群签名(团体签名)不可抵赖的

8、数字签名代理数字签名失败终止签名指定的确认人签名BACK密钥分配算法 前面我们在使用对称加密算法时,都假设Alice和Bob有一个共享的密钥,但我们回避了这样一个问题:如何使Alice和Bob共享一个密钥?这个问题不解决所有的对称密码算法都是空谈。这正是密钥分配要解决的问题。最初,密钥分配是通过面对面的协商来完成的、后来发展到由专人护送密钥。而这一切在以前都是可行的,在信息社会则远不能适应信息社会的需要。这就出现了密钥分配的研究课题。Diffie-Hellman密钥交换算法 Diffie-Hellman密钥交换算法是第一个专门为密钥分配而设计的密码算法,在信息安全领域有重要的影响。该算法的数学

9、基础就是离散对数假设。首先Alice和Bob通过公开信道协商一个的素数n和一个g. 其中g是模n的生成元。这两个整数不需要保密。 Diffie-Hellman密钥交换协议如下:Diffie-Hellman交换协议RSA算法实现的密钥交换 因为在公开密钥算法中,Alice的公钥是公开的,任何人都可以得到,所以当Bob需要和Alice协商密钥时可以采用下面的协议:(1) Bob从公钥数据库中找到Alice的公钥。(2) Bob用Alice公钥加密选择的密钥k。(3) Bob将经过加密的k发送给Alice。(4) Alice用她自己的私有密钥解密k。 这样Alice和Bob就得到一个共享的密钥k.B

10、ACK用公开密码学加密通信(1) Alice和Bob选用一个公开密码系统;(2) Bob将她的公开密钥传送给Alice;(3) Alice用Bob的公开密钥加密她的消息,然后发送给Bob;(4) Bob用他的私人密钥解密Alice的消息,然后阅读消息。 BACK公开密码学的优势与问题 优势:公开密钥算法很好地解决了密钥分配问题;公开密钥算法既可以用于加密也可以用于数字签名。 问题:公开密钥算法速度很低;公开密钥算法对选择明文攻击很敏感。 BACK密码学研究的若干前沿Zero-knowledge proofBit commitmentOblivious transferSecure multiparty computationBACK多方保密计算数字世界的解决方案数字世

温馨提示

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

评论

0/150

提交评论