现代密码学第5章 公钥密码
现代密码学_清华大学_杨波着+习题答案
一、古典密码(1,2,4)解:设解密变换为m=D(c)≡a*c+b (mod 26)由题目可知密文ed 解密后为if,即有:D(e)=i :8≡4a+b (mod 26) D(d)=f :5≡3a+b (mod 26) 由上述两式,可求得a=3,b=22。
因此,解密变换为m=D(c)≡3c+22 (mod 26)密文用数字表示为:c=[4 3 18 6 8 2 10 23 7 20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7] 则明文为m=3*c+22 (mod 26)=[8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17]= ifyoucanreadthisthankateahcer4. 设多表代换密码C i≡ AM i + B (mod 26) 中,A是2×2 矩阵,B是0 矩阵,又知明文“dont”被加密为“elni”,求矩阵A。
解:dont = (3,14,13,19) => elni = (4,11,13,8)二、流密码 (1,3,4)1. 3 级 线 性 反 馈 移 位 寄 存 器 在 c 3=1 时 可 有 4 种 线 性 反 馈 函 数 , 设 其 初 始 状 态 为 (a 1,a 2,a 3)=(1,0,1),求各线性反馈函数的输出序列及周期。
解:设反馈函数为 f(a 1,a 2,a 3) = a 1⊕c 2a 2⊕c 1a 3当 c1=0,c2=0 时,f(a 1,a 2,a 3) = a 1,输出序列为 101101…,周期为 3。
当 c1=0,c2=1 时,f(a 1,a 2,a 3) = a 1⊕a 2,输出序列如下 10111001011100…,周期为 7。
当 c1=1,c2=0 时,f(a 1,a 2,a 3) = a 1⊕a 3,输出序列为 10100111010011…,周期为 7。
杨波, 《现代密码学(第2版)》04-2
⑥ 加、解密次序可换,即 EPKB[DSKB(m)]=DSKB[EPKB(m)]
其中最后一条虽然非常有用,但不是对所有的算法 都作要求。
单向函数是两个集合X、Y之间的一个映射,使 得Y中每一元素y都有惟一的一个原像x∈X,且由x 易于计算它的像y,由y计算它的原像x是不可行的。
这里所说的易于计算是指函数值能在其输入长 度的多项式时间内求出,即如果输入长n比特,则求 函数值的计算时间是na的某个倍数,其中a是一固定 的常数。这时称求函数值的算法属于多项式类P,否 则就是不可行的。 例如,函数的输入是n比特,如果求函数值所用 的时间是2n的某个倍数,则认为求函数值是不可行 的。
以上认证过程中,由于消息是由用户自己的秘密钥 加密的,所以消息不能被他人篡改,但却能被他人 窃听。这是因为任何人都能用用户的公开钥对消息 解密。为了同时提供认证功能和保密性,可使用双 重加、解密。如图4.3所示。
图4.3 公钥密码体制的认证、保密框图
发方首先用自己的秘密钥SKA对消息m加密,用于 提供数字签字。再用收方的公开钥PKB第2次加密, 表示为 c=EPKB[ESKA[m]] 解密过程为
由gcd(m, q)=1及Euler定理得mφ(q)≡1 mod q,所以 mkφ(q)≡1 mod q [mkφ(q)]φ(p)≡1 mod q mkφ(n)≡1 mod q 因此存在一整数r,使得mkφ(n) = 1+rq,两边同乘以 m=tp得 mkφ(n)+1 = m + rtpq = m + rtn
现代密码学 清华大学 杨波著 部分习题答案
( 声 明:非 标 准 答 案,仅 供 参 考 )一、古典密码(1,2,4)字母 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 数字0 1 2 3 4 5 6 7 8 9 10 111213141516171819 20 21 22 2324251. 设仿射变换的加密是E11,23(m)≡11m+23 (mod 26),对明文“THE NATIONAL SECURITYAGENCY”加密,并使用解密变换D11,23(c)≡11-1(c-23) (mod 26) 验证你的加密结果。
解:明文用数字表示:M=[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24] 密文 C= E11,23(M)≡11*M+23 (mod 26)=[24 22 15 10 23 24 7 21 10 23 14 13 15 19 9 2 7 24 1 23 11 15 10 19 1]=YWPKXYHVKXONPTJCHYBXLPKTB∵ 11*19 ≡1 mod 26 (说明:求模逆可采用第4章的“4.1.6 欧几里得算法”,或者直接穷举1~25)∴解密变换为D(c)≡19*(c-23)≡19c+5 (mod 26)对密文C进行解密:M’=D(C)≡19C+5 (mod 26)=[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24]= THE NATIONAL SECURITY AGENCY2. 设由仿射变换对一个明文加密得到的密文为 edsgickxhuklzveqzvkxwkzukvcuh,又已知明文的前两个字符是“if”。
对该密文解密。
解:设解密变换为 m=D(c)≡a*c+b (mod 26)由题目可知密文 ed 解密后为 if,即有:D(e)=i :8≡4a+b (mod 26) D(d)=f :5≡3a+b (mod 26)由上述两式,可求得 a=3,b=22。
现代密码学知识点整理:
第一章 基本概念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,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。
现代密码学(第四章)
2015-4-17
三、背包公钥密码
背包公钥密码早已经被攻破,然而背包 公钥密码的设计思想是公认的人类设 计思想精华,其设计和攻击已成为公 钥密码攻防的一个样板。
2015-4-17
26
三、背包公钥密码
背包公钥密码的密钥生成 取n个具有超递增性的物品重量: a1,a2,a3,…,an。 取正整数M,U,满足 M>a1+a2+a3+…+an; M>U; Ua1>M; M与U互素,因此可以用辗转相除法计算出U关于 (modM)的逆元U-1。
2015-4-17 2
一、公钥密码的基本概念
一个函数f:AB,若它满足: 1o 对所有xA,易于计算f(x)。
2o 对“几乎所有xA”,由f(x)求x“极为困难”,以至于 实际上不可能做到。 则称f为一单向(One-way)函数。 定义中的“极为困难”是对现有的计算资源和算法而言。 陷门单向函数(Trapdoor one-way function),是这样的单向函 数:
O(exp( (ln p)(lnln p) ))
2015-4-17 6
单向函数举例
这个计算量称为亚指数计算量。这是什么概念呢? 我们知道p的长度是log2p。看以下的不等式。 当log2p≈1024时,亚指数计算量不小于2100数量级。 至少在在当前的计算水平之下是不能实现的。
exp( (ln p)(lnln p) ) exp( (ln p)(ln p) ) p 2log2 p ; exp( (ln p)(lnln p) ) exp( (ln ln p)(lnln p) ) ln p ~ log2 p.
2015-4-17 16
二、公钥密码RSA
杨波,_《现代密码学(第2版)》第五章 5.4-5.5节
5.4.1 随机数的使用
很多密码算法都需使用随机数,例如: 很多密码算法都需使用随机数,例如: • 相互认证。在密钥分配中需使用一次性随机数来 相互认证。 防止重放攻击。 防止重放攻击。 • 会话密钥的产生。 会话密钥的产生。 • 公钥密码算法中密钥的产生,用随机数作为公钥 公钥密码算法中密钥的产生, 密码算法中的密钥, 密码算法中的密钥,或以随机数来产生公钥密码算 法中的密钥。 法中的密钥。 在随机数的上述应用中, 在随机数的上述应用中,都要求随机数序列满 随机性和不可预测性。 足随机性和不可预测性。
一种方法是将高质量的随机数作为随机数库编 一种方法是将高质量的随机数作为随机数库编 辑成书,供用户使用。 辑成书,供用户使用。然而与网络安全对随机数巨 大的需求相比,这种方式提供的随机数数目非常有 大的需求相比,这种方式提供的随机数数目非常有 再者, 限。再者,虽然这时的随机数的确可被证明具有随 机性,但由于敌手也能得到这个随机数源, 机性,但由于敌手也能得到这个随机数源,而难以 保证随机数的不可预测性。 保证随机数的不可预测性。 网络安全中所需的随机数都借助于安全的密码 网络安全中所需的随机数都借助于安全的密码 算法来产生。但由于算法是确定性的, 算法来产生。但由于算法是确定性的,因此产生的 数列不是随机的。然而如果算法设计得好, 数列不是随机的。然而如果算法设计得好,产生的 数列就能通过各种随机性检验,这种数就是伪随机 数列就能通过各种随机性检验,这种数就是伪随机 数。
如果取a=7,其他值不变,则产生的数列为 5, 25, ,其他值不变,则产生的数列为{1, 如果取 29, 17, 21, 9, 13, 1,…},周期增加到 。 ,周期增加到8。 周期尽可能大, 应尽可能大 应尽可能大。 为使随机数数列的周期尽可能大 为使随机数数列的周期尽可能大,m应尽可能大。 普遍原则是选 接近等于计算机能表示的最大整数 接近等于计算机能表示的最大整数, 普遍原则是选m接近等于计算机能表示的最大整数, 如接近或等于2 如接近或等于231。
现代密码学知识点整理
第一章 基本概念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)26个英文字母出现的频率如下:频率 约为0.120.06到0.09之间 约为0.04 约0.015到0.028之间 小于0.01 字母et,a,o,i.n,s,h,rd,lc,u,m,w,f,g ,y,p,bv,k,j,x,q,z【注:出现频率最高的双字母:th ;出现频率最高的三字母:the 】 (二)多表古典密码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,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。
05现代密码学之公钥密码技术
乘法构成一个交换群,称为模N乘群。
引 理 设 p 和 q 是 两 个 不 同 的 素 数 , N=pq , 则 ∀m∈ZN以及任意的非负整数k,有 mkΦ(N)+1=m mod N
证明 若p不整除m,由欧拉定理mp-1=1 mod p,有 mkΦ(N)+1=m mod p
第5部分 公钥密码技术
1976 年 W.Diffie 和 M.E.Hellman 发 表 了 杰 出 的 论 文 《密码学的新方向》,奠定了公开密钥密码体制的 基础。
区别于传统的单密钥密码体制(或称对称密钥密码体 制),公开密钥密码体制是所谓的双密钥密码体制, 加密密钥可以公开。即任何人都可以用这个公开的 密钥进行加密,而相应的脱密密钥是秘密的,任何 第三者想利用已知的公开密钥求脱密密钥是计算上 困难的。
∀m∈M,有D(E(m))=m;
(2)实现E和D的有效性 存在(低次)多项式时间算法实现加、脱密;
(3)安全性 从已知的加密变换,求得脱密变换D或与等效的D’, 使得∀m∈M’⊂M,有D’(E(m))=m在计算上是不可行 的。其中M’是M的一个足够大的子集;
(4)可行性 任何用户要构造一对加、脱密密钥是容易的,比如 说能使用某种概率多项式时间算法来实现;
5.U计算X’x modp=gxx’ modp,
V计算X’y modp=gyx’ modp,
E计算X’x modp=gxx’modp,
X’y modp=gyx’ modp。
于是,U和E共享gxx’ modp=ku, V和E共享gyx’ modp=kv,
5.1 RSA公钥密码体制
(完整版)北邮版《现代密码学》习题答案
《现代密码学习题》答案第一章1、1949年,( A )发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。
A、ShannonB、DiffieC、HellmanD、Shamir2、一个密码系统至少由明文、密文、加密算法、解密算法和密钥5部分组成,而其安全性是由( D)决定的。
A、加密算法B、解密算法C、加解密算法D、密钥3、计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译它的所需要的代价超出了破译者的破译能力(如时间、空间、资金等资源),那么该密码系统的安全性是( B )。
A无条件安全B计算安全C可证明安全D实际安全4、根据密码分析者所掌握的分析资料的不通,密码分析一般可分为4类:唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击,其中破译难度最大的是( D )。
A、唯密文攻击B、已知明文攻击C、选择明文攻击D、选择密文攻击5、1976年,和在密码学的新方向一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。
6、密码学的发展过程中,两个质的飞跃分别指 1949年香农发表的保密系统的通信理论和公钥密码思想。
7、密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。
8、一个保密系统一般是明文、密文、密钥、加密算法、解密算法 5部分组成的。
9、密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。
10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。
第二章1、字母频率分析法对(B )算法最有效。
A、置换密码B、单表代换密码C、多表代换密码D、序列密码2、(D)算法抵抗频率分析攻击能力最强,而对已知明文攻击最弱。
A仿射密码B维吉利亚密码C轮转密码D希尔密码3、重合指数法对(C)算法的破解最有效。
A置换密码B单表代换密码C多表代换密码D序列密码4、维吉利亚密码是古典密码体制比较有代表性的一种密码,其密码体制采用的是(C )。
现代密码学(第五章)
一、杂凑函数
(单向性的准确解释:或许已经知道了许多对 (x*, y*),满足y*=H(x*);或许一个新的y确实存在 一个x满足y=H(x);然而实际找到这样的x却很困 难,在计算上行不通。 无碰撞性的准确解释:或许已经知道了许多对 (x*, y*),满足y*=H(x*);或许确实存在(x1,x2)满 足: x1≠x2,H(x1)= H(x2),实际找到这样的(x1,x2) 却很困难,在计算上行不通。 )
201682728在上述方案中密文变成了消息m解密方程变成了签名方程sdm明文变成了签名值s加密方程变成了验证方程mes任何人只要拥有alice的公钥z都可以对签名消息ms进行验证
第五章:数字签名
一、杂凑函数 二、数字签名的基本概念 三、几种常用的数字签名 四、特殊用途的数字签名
2019/4/1
1
一、杂凑函数
2019/4/1
14
一、杂凑函数
Alice (1):y1=H(x1,r1) Bob
(2):y2=H(x2,r2) (5): (6): 验证 验证 是否 是否 (3):(x1,r1) y2= y1= H(x2,r2) H(x1,r1) (4):(x2,r2)
2019/4/1 15
一、杂凑函数
方案分析: Alice发送y1给Bob,Bob发送y2给Alice ,这叫做 承诺。 Alice发送(x1, r1)给Bob,Bob发送(x2, r2)给Alice , 这叫做践诺。 当承诺值确定以后,无法改变践诺值。 当对方发送来了承诺值以后,己方无法计算出对 方的践诺值,因而无法“随机应变地”确定自 己的践诺值,以重合或避开对方的践诺值。 综上所述,杂凑函数阻止了双方作弊。
2019/4/1 6
现代密码学第5章
7/6/2019
38
噪声源技术 (了解)
对数列中以后的数是不可预测的 对于真随机数,满足独立性,所以不可
预测 伪随机数列需要特别注意满足不可预测
性
7/6/2019
36
随机数源
真随机数源-物理噪声产生器
离子辐射脉冲检测器 气体放电管 漏电容
数的随机性和精度不够 这些设备很难联入网络
7/6/2019
37
随机数源
7/6/2019
11
单钥体制的密钥控制技术-密 钥标签z
用于DES的密钥控制,8个校验位作为密钥标签
1比特表示这个密钥是会话密钥还是主密钥 1比特表示这个密钥能否用于加密 1比特表示这个密钥能否用于解密 其余比特保留
长度有限,限制了灵活性和功能 标签以密文传送,只有解密后才能使用,限制
加密的KS UID A
80bit
32bit 16bit
用KF加密
LEAF
7/6/2019
30
通信和法律实施存取过程
7/6/2019
31
密钥托管密码体制的组成成分
用户安全成分(USC) 密钥托管成分(KEC) 数据恢复成分(DRC)
7/6/2019
32
随机数的产生
Generation of Random Numbers
本地KDC为本地用户分配密钥。 不同区域内的KDC通过全局KDC沟通。
现代密码学(第四章)公钥密码
2019/11/6
9
单向函数举例
背包问题的特例:超递增背包问题。将物品重量从小 到大排列:a1,a2,a3,…,aN。称该背包问题为超递增背 包问题,如果:
a1<a2; a1+a2<a3; a1+a2+a3<a4; … a1+a2+a3+…+aN-1<aN。
(超递增背包问题是容易解决的。)
2019/11/6
则称f为一单向(One-way)函数。 定义中的“极为困难”是对现有的计算资源和算法而言。
陷门单向函数(Trapdoor one-way function),是这样的单向函 数:
在不知陷门信息下,由f(x)求x“极为困难”, ; 当知道陷门信息后,由f(x)求x是易于实现的。
2019/11/6
量。” 则该结合称为一个格。 关于格有以下的性质和概念。 如果格中存在这样的几个向量,满足①它们(实数)线性无
关;②格中的任何其它向量都能唯一地表示为这几个向量的 整数线性组合。则这几个向量构成的向量组称为基。 基中的向量的个数称为格的维数。 格的维数总是不超过N。
2019/11/6
13
第四章:公钥密码
一、公钥密码的基本概念 二、公钥密码RSA 三、背包公钥密码 四、公钥密码Rabin 五、 ElGamal公钥密码 六、公钥密码NTRU 七、椭圆曲线公钥密码ECC 八、 McEliece公钥密码
2019/1钥密码体制(公钥密码体制) 于1976年由W. Diffie和M. Hellman[1976]提出,同时R. Merkle[1978]也独立提出了这一体制。可 用于保密通信,也可用于数字签字。
O(exp( (ln p)(lnln p)))
现代密码学简答题及计算题
第七章 简答题及计算题⑴公钥密码体制与对称密码体制相比有哪些优点和不足?答:对称密码一般要求: 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,求加解密过程。
(完整版)现代密码学简答题及计算题
第七章 简答题及计算题⑴公钥密码体制与对称密码体制相比有哪些优点和不足?答:对称密码一般要求: 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,求加解密过程。
现代密码学第5章
1.PKA||IDA
2.PKE||IDA
A
攻击者E
B
4. EPKA [KS ]
3. EPKE [KS ]
3/26/2020
21
用公钥加密分配单钥密码体制 的密钥
具有保密性和认证性的密钥分配
1.
EPKB [N1 || IDA ]
2. EPKA [N1 || N2 ]
A
B
3. EPKB [N2 ]
4. EPKB [ESK A [KS ]]
-CA的私钥 时戳T保证证书的新鲜性,防止重放旧证书。
3/26/2020
19
证书的产生过程
产生密钥
公开钥
秘密钥 用户的计算机
姓名 证书
3/26/2020
CA的公开钥
CA的秘密钥 签字 CA的计算机
20
用公钥加密分配单钥密码体制 的密钥
简单分配
1.PKA||IDA
A
B
2. EPKA [KS ]
易受到主动攻击
用户B
3/26/2020
23
密钥托管
Key Escrow
3/26/2020
24
密钥托管
也称托管加密,其目的在于保证个人没 有绝对的银丝和绝对不可跟踪的匿名性。
实现手段是把已加密的数据和数据恢复 密钥联系起来。
由数据恢复密钥可以得到解密密钥,由 所信任的委托人持有。
提供了一个备用的解密途径,不仅对政 府有用,也对用户自己有用。
3/26/2020
39
噪声源技术 (了解)
噪声源输出的随机数序列按照产生的方法可以分为: 伪随机序列:用数学方法和少量的种子密钥产生的周 期很长的随机序列。
伪随机序列一般都有良好的能经受理论检验的随机统计特性,但 是当序列的长度超过了唯一解距离时,就成了一个可预测 的序列。
现代密码学PPT课件
1.3 密码学基本概念
1.3.1 保密通信系统
通信双方采用保密通信系统可以隐蔽和保护需要发 送的消息,使未授权者不能提取信息。发送方将要 发送的消息称为明文,明文被变换成看似无意义的 随机消息,称为密文,这种变换过程称为加密;其 逆过程,即由密文恢复出原明文的过程称为解密。 对明文进行加密操作的人员称为加密员或密码员。 密码员对明文进行加密时所采用的一组规则称为加 密算法。
② 系统的保密性不依赖于对加密体制或算法的保密, 而依赖于密钥。这是著名的Kerckhoff原则。
③ 加密和解密算法适用于所有密钥空间中的元素。
④ 系统便于实现和使用。
1.3.2 密码体制分类
密码体制从原理上可分为两大类,即单钥体制和双 钥体制。
1.1.3 安全业务
安全业务指安全防护措施,有以下5种。 1. 保密业务
保护数据以防被动攻击。保护方式可根据保护范围 的大小分为若干级,其中最高级保护可在一定时间 范围内保护两个用户之间传输的所有数据,低级保 护包括对单个消息的保护或对一个消息中某个特定 域的保护。保密业务还包括对业务流实施的保密, 防止敌手进行业务流分析以获得通信的信源、信宿、 次数、消息长度和其他信息。
20世纪90年代,因特网爆炸性的发展把人类带进了 一个新的生存空间。因特网具有高度分布、边界模 糊、层次欠清、动态演化,而用户又在其中扮演主 角的特点,如何处理好这一复杂而又巨大的系统的 安全,成为信息安全的主要问题。由于因特网的全 球性、开放性、无缝连通性、共享性、动态性发展, 使得任何人都可以自由地接入,其中有善者,也有 恶者。恶者会采用各种攻击手段进行破坏活动。信 息安全面临的攻击可能会来自独立的犯罪者、有组 织的犯罪集团和国家情报机构。对信息的攻击具有 以下新特点: 无边界性、突发性、蔓延性和隐蔽性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
韩山师范学院计算机学院
5. 3. 3 Legendre 符号
定理5.12 设p > 2 是一个素数。如果m1 ≡ m2 (mod p),则
定理5.13 设p > 2 是一个素数, q > 2 也是一个素数, p ≠ q
16/35
韩山师范学院计算机学院
5. 3. 4 Jacobi 符号
定义5.7 设n > 2 是一个奇整数, n 的素分解为 其中 整数a, 是素数, 对任意
素数的分布极不均匀,素数越大,分布越稀疏。
13/35
韩山师范学院计算机学院
5. 3. 2 模奇素数的平方剩余
定义5.5 设p > 2 是一个素数, a 是一个整数, gcd(a, p) = 1. 如果同余方程X² ≡ a (mod p)有解 则称a 是模p 的平方剩余(quadratic residue); 否则, 称a 是 模p 的平方非剩余(quadratic non-residue). 定理5.10 (Euler 准则) 设p > 2 是一个素数, x 是一个整数, gcd(x; p) = 1, 则 1) x 是模p 的平方剩余当且仅当
(负元素) 对任意P ∈ E, 存在Q ∈ E, 满足P + Q = Q + P = O (交换律) 对任意P ∈ E 和Q ∈ E, P + Q = Q + P
32/35
韩山师范学院计算机学院
5. 5. 5 有限域上的椭圆曲线
定义5.10 设p > 3 是一个素数. 有限域 上的椭圆曲线 是由一个称为无穷远点的特殊点O 和满足
韩山师范学院计算机学院
5. 5. 2 实数域上椭圆曲线的图像
定理5.18 (代数基本定理) 设
为实数域上的一个一元n 次多项式, n 为整数, 并且n ≥1, 则 f(x) 在复数域上有且仅有n 个根。 定理5.19 (一元多项式根与系数的关系) 设 为实数域上的一个一元n 次多项式, n 为整数, 并且n ≥ 1。 设 为f(x) 的n 个根, 则对于
2/35
韩山师范学院计算机学院
5. 2 RSA公钥密码
中国剩余定理 Euler 函数 Euler 定理和Fermat 小定理 RSA 公钥密码体制 RSA 的安全性讨论 模n 求逆的算法 模n 的大数幂乘的快速算法. 因子分解
3/35
韩山师范学院计算机学院
5. 2. 1 中国剩余定理
定义5.3 设a、 b、m 都是整数. 如果m|(a - b),则称a 和b 模m 同余,记为a ≡ b (modm),m 称为这个同余式的模。
31/35
韩山师范学院计算机学院
5.5.4 实数域上椭圆曲线点加法运算的性质
(封闭性) 对任意P ∈ E和 Q ∈ E, P + Q ∈ E
(结合律) 对任意P ∈ E, Q ∈ E以及R ∈ E, (P + Q) + R = P + (Q + R) (单位元) 对任意P ∈ E, P + O = O + P = P
称为
Jacobi符号
17/35
韩山师范学院计算机学院
5. 3. 4 Jacobi 符号
定理5.14 设n > 2 是一个奇整数。 1) 如果 2) 3) 4) 如果m > 2 是奇整数, 则 则
18/35
韩山师范学院计算机学院
5. 3. 4 Jacobi 符号
定理5.14 设n > 2 是一个奇整数。 1) 如果 则
韩山师范学院计算机学院
第5章 公钥密码
主要内容
公钥密码的理论基础 RSA 公钥密码 大素数的生成 EIGamal 公钥密码 椭圆曲线上的Menezes-Vanstone 公钥密码 1/35
韩山师范学院计算机学院
5. 1 公钥密码的理论基础
在公钥密码中, 加密密钥和解密密钥是不一样的。 加密 密钥简称公钥(publickey), 解密密钥简称私钥(private key)。加密密钥可以公开, 解密密钥当然必须保密。
秘密随机选取一个整数k,1 k p − 2,
明文为
23/35
韩山师范学院计算机学院
5. 4. 2 EIGamal 公钥密码体制的安全性
定义5.9 设p 是一个素数, 已知α和β, 求满足
是一个本原元,
的唯一整数n, 0 ≤ n ≤ p − 2,称为有限域上的离散对数问题. 常将n 记为
24/35
韩山师范学院计算机学院
定理5.16 设p > 2 是一个素数. 对任意整数b > 0, 如果gcd(b,p) = 1, 则p一定可以通过以b 为基的Miller-Rabin测试。
定理5.17 如果n > 2 是一个奇合数, 则至多有 < n, 使得n 通过以b 为基的Miller-Rabin测试. 个b, 0 < b
21/35
为不同的素数
定理5.4 设n 是一个正整数, 则
5/35
韩山师范学院计算机学院
5. 2. 3 Euler定理和Fermat小定理
定理5.5 (Euler 定理) 设x 和n 都是正整数. 如果gcd(x; n) = 1, 则
推论5.1 (Fermat 小定理) 设x 和p 都是正整数. 如果p 是素数并且gcd(x; p) = 1, 则
韩山师范学院计算机学院
5. 5. 2 实数域上椭圆曲线的图像
方程 根的情况是
Δ> 0 Δ= 0
Δ< 0
有一个实根和一对共轭复根 有三个实根,分别为 有三个不同的实根
实数域上的椭圆曲线方程 关于x 轴是对称的。 如果判别式Δ ≠ 0,则称其为非奇异椭圆曲线;否则称其为奇异 椭圆曲线。
点击查看图例
28/35
定理5.1 (中国剩余定理) 设 是整数, 则同余方程组
是两两互素的正整数. 设
模
有唯一解
4/35
韩山师范学院计算机学院
5. 2. 2
定义5.4 设n 是一个正整数
Euler 函数
为小于n 并且与n
称为Euler函数. Euler函数是定义在正整数集合上的函数. 显然, 互素的非负整数的个数. 定理5.2 如果 定理5.3 如果 为正整数, 则 和 互素, 则 其中,
韩山师范学院计算机学院
26/35
韩山师范学院计算机学院
5. 5. 1 椭圆曲线的定义
设F 是一个域. 域F 上的椭圆曲线是指由Weierstrass (魏尔施特拉斯)方程:
确定的所有点(x, y) ∈ F × F以及一个特殊的无穷远点O所构成 的集合, 其中
域的特征是交换代数中的基本概念。 一个域就是满足加、减、乘、除 四则运算 的集合。 比如有理数域, 有理函数域, 代数数域、伽罗华域等等。 任何域必定包含元素0和1. 和我们所熟悉的有理数域不同, 有些域中,若干个1 相加有可能等于零。 假设p是最小的正整数, 使得p个1相加等于0, 那么p就称为域 的特征。 特别的, 如果任何多个1相加都不会是0, 那么特征p就定义为0. 可以证明, 如果域的特征p>0, 则p一定是素数。特征大于零的域有很多, 比如 模p的剩余类域(也就是p的剩余系):{0,1,2,...,p-1} 27/35
定义5.1 设f 是一个函数. 如果对任意给定的x, 计算y 使得y = f(x) 是容易的, 但对任意给定的y, 计算x 使得f(x) = y 是难解的, 即求f 的逆函数是难解的, 则称f 是一个单向函数(one-way function)。
定义5.2 设f 是一个函数, t 是与f 有关的一个参数. 对任意给定的x, 计算y 使得y = f(x) 是容易的. 如果当不知参数t 时, 计算f 的逆函数 是难解的, 但当知道参数t 时, 计算f 的逆函数是容易的, 则称f 是一 个陷门单向函数(trapdoorone-way function), 参数t 称为陷门.
8/35
韩山师范学院计算机学院
5. 2. 6 模n求逆的算法
设n 和u 都是正整数, u < n。u 模n 的逆就是满足
的整数v,0 < v < n。 定理5.7 设n 是一个正整数, 对于 存在 使得 的充分必要条件是 gcd(u; n) = 1。
9/35
韩山师范学院计算机学院
5. 2. 7 模n的大数幂乘的快速算法
2) x 是模p 的平方非剩余当且仅当
14/35
韩山师范学院计算机学院
5. 3. 3 Legendre 符号
定义5.6 设p > 2 是一个素数. 对任意整数a, 若a ≡ 0 (modp) 若a是模p的平方剩余 若a是模p的非平方剩余 定理5.11 设p > 2 是一个素数, 则对任意整数a,
15/35
29/35
韩山师范学院计算机学院
5. 5. 3 实数域上椭圆曲线点的加法运算
设a 和b 为实数 为实数域上的非奇异椭圆曲线, 其中O 为无穷远点。 在椭圆曲线E 上定义加法运算如下:对任意 定义
30/35
韩山师范学院计算机学院
5. 5. 3 实数域上椭圆曲线点的加法运算
其中
另外, 对任意
定义P + O = O + P = P
定理5.6 (Fermat 小定理) 设x 和p 都是正整数. 如果p 是素数, 则
6/35
韩山师范学院计算机学院
5. 2. 4 RSA 公钥密码体制
RSA 公钥密码体制描述如下: 选取两个大素数p 和q,p 和q 保密 计算 , 公开, 保密
随机选取正整数1 < e <
计算d,满足 加密变换:对明文 解密变换:对密文
20/35
韩山师范学院计算机学院
5.3.6