现代密码学-第4章公钥密码体制
- 格式:ppt
- 大小:882.50 KB
- 文档页数:48
公钥密码体制的研究与发展的基本理解Abstract:⽂中对于公钥密码体制的研究与发展进⾏了介绍,其中着重介绍了⼏个⽐较常⽤的公钥密码体制RSA,EIGamal Keywords: 公钥密码体制,RSA,离散对数问题1. 引⾔公钥密码体制⼜称公开密钥密码体系,公钥密码体制是现代密码学的最重要的发明和进展,在1976年,Whitfield Diffie和Martin Hellman发表了“New directions in cryptography”这篇划时代的⽂章奠定了公钥密码系统的基础。
在公钥密码体制之中,加密密匙和解密密匙是不⼀样的,⽆法通过加密密匙的反推得到解密密匙,所以加密密匙是可以公开的,并且不会危及密码体制的安全性。
因为对称密钥密码体制有⼀个缺点是必须要在Alice和Bob之间⾸先在传输密⽂之前使⽤⼀个安全信道交换密钥。
实际上,这是很难达到的,⽽公钥密码体制改善了这⼀点,Alice可以利⽤公钥加密规则发出⼀条加密的消息给Bob,Bob是唯⼀能够运⽤解密规则对其解密的⼈,例如保险箱的传递,只有接收的⼈知道密码并且能够打开。
【1】要在⾃从公钥密码的概念被提出以来,相继提出了许多公钥密码⽅案,如RSA、ElGamal、基于离散对数问题的公钥密码体制等[2]。
2. 预备知识公钥密码的理论基础,在公钥密码中,加密密钥和解密密钥是不⼀样的,加密密钥为公钥,解密密钥为私钥。
⼀个问题是难解的,直观上讲,就是不存在⼀个计算该问题的有效算法,也可称之为按照⽬前的计算能⼒,⽆法在⼀个相对的短时间内完成,即解决这个问题所付出的成本远远超过了解决之后得到的结果,计算应⼀个难解的问题所需要的时间⼀般是以输⼊数据长度的指数函数形式递增,所以随着输⼊数据的增多,复杂度会急剧的增⼤,对于⼀个问题,如果存在⼀个求其解的有效算法,则称其为有效问题,否则为⽆效问题。
在公钥密码机制之中,进⾏破译已经加密后的密码应该是⼀个难解问题。
第一章 基本概念1. 密钥体制组成部分:明文空间,密文空间,密钥空间,加密算法,解密算法 2、一个好密钥体制至少应满足的两个条件:(1)已知明文和加密密钥计算密文容易;在已知密文和解密密钥计算明文容易; (2)在不知解密密钥的情况下,不可能由密文c 推知明文 3、密码分析者攻击密码体制的主要方法: (1)穷举攻击 (解决方法:增大密钥量)(2)统计分析攻击(解决方法:使明文的统计特性与密文的统计特性不一样) (3)解密变换攻击(解决方法:选用足够复杂的加密算法) 4、四种常见攻击(1)唯密文攻击:仅知道一些密文(2)已知明文攻击:知道一些密文和相应的明文(3)选择明文攻击:密码分析者可以选择一些明文并得到相应的密文 (4)选择密文攻击:密码分析者可以选择一些密文,并得到相应的明文【注:①以上攻击都建立在已知算法的基础之上;②以上攻击器攻击强度依次增加;③密码体制的安全性取决于选用的密钥的安全性】第二章 古典密码(一)单表古典密码1、定义:明文字母对应的密文字母在密文中保持不变2、基本加密运算设q 是一个正整数,}1),gcd(|{};1,...,2,1,0{*=∈=-=q k Z k Z q Z q q q(1)加法密码 ①加密算法:κκ∈∈===k X m Z Z Y X q q ;,;对任意,密文为:q k m m E c k m od )()(+== ②密钥量:q (2)乘法密码 ①加密算法:κκ∈∈===k X m Z Z Y X q q ;,;*对任意,密文为:q km m E c k m od )(== ②解密算法:q c k c D m k mod )(1-==③密钥量:)(q ϕ (3)仿射密码 ①加密算法:κκ∈=∈∈∈===),(;},,|),{(;21*2121k k k X m Z k Z k k k Z Y X q q q 对任意;密文q m k k m E c k m od )()(21+==②解密算法:q k c k c D m k mod )()(112-==-③密钥量:)(q q ϕ (4)置换密码 ①加密算法:κσκ∈=∈==k X m Z Z Y X q q ;,;对任意上的全体置换的集合为,密文)()(m m E c k σ==②密钥量:!q③仿射密码是置换密码的特例 3.几种典型的单表古典密码体制 (1)Caeser 体制:密钥k=3 (2)标准字头密码体制: 4.单表古典密码的统计分析(二)多表古典密码1.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同2.基本加密运算 (1)简单加法密码 ①加密算法:κκ∈=∈====),...,(,),...,(,,11n n n nq n q n n k k k X m m m Z Z Y X 对任意设,密文:),...,()(11n n k k m k m m E c ++==②密钥量:nq (2)简单乘法密码 ①密钥量:n q )(ϕ 1.简单仿射密码①密钥量:n n q q )(ϕ2.简单置换密码 ①密钥量:nq )!( (3)换位密码 ①密钥量:!n(4)广义置换密码①密钥量:)!(nq(5)广义仿射密码 ①密钥量:n n r q3.几种典型的多表古典密码体制 (1)Playfair 体制: ①密钥为一个5X5的矩阵②加密步骤:a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。
课程名称:现代密码学课程编码:学分:2适用学科:理工科硕士研究生现代密码学Modern Cryptography教学大纲一、课程性质《现代密码学》是应用数学硕士研究生的一门专业方向选修课程。
随着计算机和通信网络的应用,信息的安全性受到人们的普遍重视,现代的信息安全除了涉及国家安全外,也涉及个人权益、企业生存和金融防范等。
密码学是信息安全的重要领域,它的理论和技术随着计算机技术的发展也得到了迅速发展和广泛应用。
本课程主要就是学习密码学的基本内容。
二、课程教学目的通过学习密码学理论,信息与计算科学和应用数学专业的学生应能正确理解其基本概念和理论,掌握常用的密码算法。
本课程将培养学生基础理论与应用结合的能力,并为后续课程的学习和本课程的进一步运用打下良好的基础。
三、教学基本内容与要求第一章引言1、了解密码学的发展概况2、熟练掌握密码学的基本概念第二章古典密码1、熟练掌握古典密码中的基本加密运算2、理解几种典型的古典密码体制3、了解古典密码的统计分析第三章香农理论1、熟练掌握密码体制的数学模型2、掌握熵及其性质3、了解伪密钥和唯一解距离4、了解密码体制的完善保密性5、理解乘积密码体制第四章分组密码1、熟练掌握分组密码的基本原理2、理解数据加密标准DES3、了解多重DES及DES的工作模式4、理解高级加密标准AES第五章公钥密码1、熟练掌握公钥密码的理论基础2、掌握RSA公钥密码3、掌握大素数的生成方法4、了解椭圆曲线上的Menezes- Vanstone公钥密码第六章序列密码与移位寄存器1、熟练掌握序列密码的基本原理2、理解移位寄存器与移位寄存器序列3、掌握移位寄存器的表示方法4、了解线性移位寄存器序列的周期性、序列空间和极小多项式5、知道m-序列的伪随机性几点说明本课程教学时数为48学时,根据不同章节难易程度安排上机练习。
课程内容要求的高低用不同词汇加以区分:对于概念、理论,从高到低以“理解”、“了解”、“知道”三级区分;对于运算、方法,以“熟练掌握”、“掌握”、“会”或“能”三级区分。
设置密码答案【篇一:现代密码学试卷(含答案)】信息安全专业2004级“密码学”课程考试题(卷面八题,共100分,在总成绩中占70分)一、单表代替密码(10分)①使加法密码算法称为对合运算的密钥k称为对合密钥,以英文为例求出其对合密钥,并以明文m=wewi②一般而言,对于加法密码,设明文字母表和密文字母表含有n个字母,n为≥1的正整数,求出其对合密钥二、回答问题(10分)①在公钥密码的密钥管理中,公开的加密钥ke和保密的解密钥kd 的秘密性、真实性和完整性都需要确保吗?说明为什么?②简述公钥证书的作用?三、密码比较,说明两者的特点和优缺点。
(10分)对des和aes进行比较,说明两者的特点和优缺点。
(10分)五、设g(x)=x4+x2+1,g(x)为gf(2)上的多项式,以其为连接多项式组成线性移位寄存器。
画出逻辑框图。
设法遍历其所有状态,并写出其状态变迁及相应的输出序列。
(15分)六、考虑rsa密码体制:(15分)1. 取e=3有何优缺点?取d=3安全吗?为什么?2. 设n=35,已截获发给某用户的密文c=10,并查到该用户的公钥e=5,求出明文m。
七、令素数p=29,椭圆曲线为y2=x3+4x+20 mod 29,求出其所有解点,并构成解点群,其解点群是循环群吗?为什么?。
(15分)八、在下述站点认证协议中函数f起什么作用?去掉f行不行?为什么?(15分)设a,b是两个站点,a是发方,b是收方。
它们共享会话密钥ks ,f是公开的简单函数。
a认证b是否是他的意定通信站点的协议如下:1. a产生一个随机数rn,并用ks对其进行加密:c=e(rn,ks),并发c给b。
同时a对rn进行f变换,得到f(rn)。
2. b收到c后,解密得到rn=d(c,ks)。
b也对rn进行f变换,得到f(rn),并将其加密成c’=e(f(rn),ks),然后发c’给a 。
3. a对收到的c’解密得到f(rn),并将其与自己在第①步得到的f (rn)比较。
第七章 简答题及计算题⑴公钥密码体制与对称密码体制相比有哪些优点和不足?答:对称密码一般要求: 1、加密解密用相同的密钥 2、收发双方必须共享密钥安全性要求: 1、密钥必须保密 2、没有密钥,解密不可行 3、知道算法和若干密文不足以确定密钥 公钥密码一般要求:1、加密解密算法相同,但使用不同的密钥2、发送方拥有加密或解密密钥,而接收方拥有另一个密钥 安全性要求: 1、两个密钥之一必须保密 2、无解密密钥,解密不可行3、知道算法和其中一个密钥以及若干密文不能确定另一个密钥⑵RSA 算法中n =11413,e =7467,密文是5859,利用分解11413=101×113,求明文。
解:10111311413n p q =⨯=⨯=()(1)(1)(1001)(1131)11088n p q ϕ=--=--=显然,公钥e=7467,满足1<e <()n ϕ,且满足gcd(,())1e n ϕ=,通过公式1mod11088d e ⨯≡求出1mod ()3d e n ϕ-≡=,由解密算法mod d m c n ≡得3mod 5859mod114131415d m c n ≡==⑶在RSA 算法中,对素数p 和q 的选取的规定一些限制,例如:①p 和q 的长度相差不能太大,相差比较大; ②P-1和q-1都应有大的素因子;请说明原因。
答:对于p ,q 参数的选取是为了起到防范的作用,防止密码体制被攻击①p ,q 长度不能相差太大是为了避免椭圆曲线因子分解法。
②因为需要p ,q 为强素数,所以需要大的素因子 ⑸在ElGamal 密码系统中,Alice 发送密文(7,6),请确定明文m 。
⑺11Z 上的椭圆曲线E :236y x x =++,且m=3。
①请确定该椭圆曲线上所有的点;②生成元G=(2,7),私钥(5,2)2B B n P ==,明文消息编码到(9,1)m P =上,加密是选取随机数k=3,求加解密过程。