1 / 16

第二章 经典密码学

第二章 经典密码学. 加密通信的模型. Oscar. x. y. x. 加密机. Alice. Bob. 解密机. k. 安全信道. 密钥源. 密码学的目的 : Alice 和 Bob 两个人在不安全的信道上进行通信,而破译者 Oscar 不能理解他们通信的内容。. 定义 : (密码体制) 它是一个五元组( P,C,K,E,D ) 满足条件: (1) P 是可能明文的有限集;(明文空间) (2) C 是可能密文的有限集;(密文空间) (3) K 是一切可能密钥构成的有限集;(密钥空间)

jesus
Télécharger la présentation

第二章 经典密码学

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章 经典密码学 • 加密通信的模型 Oscar x y x 加密机 Alice Bob 解密机 k 安全信道 密钥源

  2. 密码学的目的:Alice和Bob两个人在不安全的信道上进行通信,而破译者Oscar不能理解他们通信的内容。密码学的目的:Alice和Bob两个人在不安全的信道上进行通信,而破译者Oscar不能理解他们通信的内容。 • 定义: (密码体制)它是一个五元组(P,C,K,E,D)满足条件: (1)P是可能明文的有限集;(明文空间) (2)C是可能密文的有限集;(密文空间) (3)K是一切可能密钥构成的有限集;(密钥空间) *(4)任意 ,有一个加密算法 和相应的解密算法 ,使得 和 分别为加密解密函 数,满足 。 注:1*.Alice要将明文X在不安全信道上发给Bob,设X=x1 x2…xn , 其中 , Alice用加密算法ek作yi=ek(xi) 1≤ i≤ n 结果的密文是 Y=y1y2….yn ,在信道上发送, Bob收到后解密:xi=dk(yi) 得到明文X=x1 x2…xn .。

  3. 2*.加密函数ek必须是单射函数,就是一对一的函数。 3*.若P=C,则ek为一个置换。 4*.好的密钥算法是唯密钥而保密的。 5*.若Alice和Bob在一次通信中使用相同的密钥,那么这个加密体制为对称的,否则称为非对称的。

  4. 1.移位密码体制 • 设P=C=K=Z/(26),对 ,定义 同时dk(y)=y-k (mod 26) 注1*:26个英文字母与模26剩余类集合{0,….,25}建立一一对应: 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 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2*.当k=3时,为Caesar密码: 若明文:meet me after the toga party 密文:PHHW PH DIWHO WKH WRJD SDUWB 实际算法为: 有 同时有,d3(y)=y-3 (mod 26)

  5. 3*.一个密码体制要是实际可用必须满足的特性 • 每一个加密函数ek和每一个解密函数dk都能有效地计算。 • 破译者取得密文后,将不能在有效的时间内破解出密钥k或明文x。 • 一个密码体制是安全的必要条件穷举密钥搜索将是不可行的,即密钥空间将是非常大的。

  6. 2.替换密码体制 • 设P=C=Z/(26),K是由26个符号0,1,..,25的所有可能置换组成。任意 ,定义 d π(y)=-1(y)=x, π-1是π的逆置换。 注: 1*. 置换π的表示: 2*密钥空间K很大,|K|=26! ≈ 4×1026,破译者穷举搜索是不行的,然而,可由统计的方式破译它。 3*移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间

  7. 3.仿射密码体制 • 替换密码的另一个特例就是仿射密码。 加密函数取形式为 要求唯一解的充要条件是gcd( a,26)=1 该体制描述为: 设P=C=Z/(26) 对 定义 ek(x)=ax+b (mod 26)和dk(y)=a-1(y-b)(mod 26)

  8. 例子,设k=(7,3),注意到7-1(mod 26)=15,加密函数是ek(x)=7x+3,相应的解密函数是dk(y)=15(y-3)=15y-19 , 易见 dk(ek(x)=dk(7x+3)=15(7x+3)-19 =x+45-19 =x (mod 26) 若加密明文:hot ,首先转换字母h,o,t成为数字7,14,19, 然后加密: 解密:

  9. 4.维吉尼亚密码 (Vigenere) • 设m为一固定的正整数,定义P=C=K=(Z/(26))m,对一个密钥K=( k1,k2,…,km),定义 ek(x1,x2,…,xm)=(x1+k1,x2+k2,…,xm+km)=y dk(y1,y2,…,ym)= (x1-k1,x2-k2,…,xm-km) =x 这里的所有的运算都是在(mod 26)中进行的。 注:维吉尼亚密码是多表替换体制,分析起来更困难。密钥空间大,如当m=5时,密钥空间所含密钥的数量是>1.1×107

  10. 5.Hill密码体制 • 设m为某个固定的正整数,P=C=(Z/(26))m, K={Z/(26)上的m×m可逆矩阵} 对每一个 ,定义ek(x)=xK (mod 26) 和 dk(y)=yK-1 (mod 26) 注:明文与密文都是 m元的向量(x1, x2 …, xm );(y1, y2,…,ym),Z/(26)为同余类环。在这个环上的可逆矩阵Amxm,是指行列式detAmxm的值∈ Z*/(26),它为Z/(26)中全体可逆元的集合。Z*/(26)= {a ∈Z/(26)|(a,26)=1}, Z*/(26)={1,3,5,7,9,11,15,17,19,21,23,25} 例子:当 m=2时,明文元素x=(x1,x2),密文元素y=(y1,y2) (y1,y2)=(x1,x2) K

  11. 事实上yi为x1,x2的线性组合,y1=11x1+3x2;y2=8x1+7x2,一般,将取m×m的矩阵K作为我们的密钥:有事实上yi为x1,x2的线性组合,y1=11x1+3x2;y2=8x1+7x2,一般,将取m×m的矩阵K作为我们的密钥:有 y=(y1, y2,…, ym,)=(x1, x2,…,xm) 换言之,y=xK;且有x=yK-1 若K= ,可得K-1 = 若对明文july加密,它分成2个元素(j,u),(l,y),分别对应于(9,20),(11,24),有

  12. (9,20) =(99+60,72+140)=(3,4) 且 (11,24 ) =(121+72,88+168) =(11,22) 于是对 july加密的结果为DELW。 为了解密,Bob计算 且 因此,得到了正确的明文“july”

  13. 6.置换密码体制 • 设m为固定的正整数,P=C=(Z/(26))m, K是由{1,2,..,m}的所有置换构成,对一个密钥π∈K,定义 e π(x1, x2,.., xm)=(xπ(1),,..,xπ(m)) 和 d π(y1, y2,.., ym)=(yπ(1),,..,yπ(m)) 这里π-1为π的逆置换。 注:这里的加密与解密仅仅用了置换,无代数运算。 例子: 设m=6, 取密钥 而

  14. 若给定的明文是:cryptography 首先找分成6个字母长的 明文组:crypto|graphy 求得的密文是:YTCOPRAHGYPR 注:事实上,置换密码是Hill密码的特例。给定一个集合{1,2,..,m}的置换矩阵 (置换矩阵是每一行和每一列刚好在一个“1”,而其余元素为“0”的矩阵。)

  15. 对上面例子决定的置换π 对应:

  16. 密码分析 • 假设破译者Oscar是在已知密码体制的前提下来破译Bob使用的密钥。这个假设称为Kerckhoff原则。最常见的破解类型如下: 1.唯密文攻击:Oscar具有密文串y. 2.已知明文攻击: Oscar具有明文串x和相应的密文y. 3.选择明文攻击:Oscar可获得对加密机的暂时访问,因此他能选择明文串x并构造出相应的密文串y。 4.选择密文攻击:Oscar可暂时接近密码机,可选择密文串y,并构造出相应的明文x. 5.这一切的目的在于破译出密钥

More Related