1、12024-3-192024-3-191112024-3-192024-3-1911主要内容:传统隐写术 替换密码技术 换位密码技术 古典密码体制的安全性分析第二章第二章 古典密码算法古典密码算法22024-3-192024-3-192222024-3-192024-3-19222024-3-19232024-3-192024-3-193332024-3-192024-3-19332024-3-193诗情画意传“密语”水洗尘埃道未甞,甘于名利两相忘。心怀六洞丹霞客,口诵三清紫府章。十里采莲歌达旦,一轮明月桂飘香。日高公子还相觅,见得山中好酒浆。42024-3-192024-3-19444202
2、4-3-192024-3-19442024-3-194牛郎织女会佳期下弹琴又赋诗寺静惟闻钟鼓響停始觉星斗移多少黄冠归道观幾而作尽忘机几时得到桃源洞彼仙人下象棋l牛郎织女会佳期,月下弹琴又赋诗。寺静惟闻钟鼓響,音停始觉星斗移。多少黄冠归道观,见幾而作尽忘机。几时得到桃源洞,同彼仙人下象棋。诗情画意传“密语”52024-3-192024-3-195552024-3-192024-3-19552024-3-195王先生:来信收悉,你的盛情真是难以报答。我已在昨天抵达广州。秋雨连绵,每天需备伞一把方能上街,苦矣。大约本月中旬我才能返回,届时再见。王先生:来信收悉,你的盛情真是难以报答。我已在昨天抵达广
3、州。秋雨连绵,每天需备伞一把方能上街,苦矣。大约本月中旬我才能返回,届时再见。62024-3-192024-3-196662024-3-192024-3-19662024-3-196隐写术(信息隐藏)的另外一些例子隐写术(信息隐藏)的另外一些例子 悠扬琴声奏响“进军号角”显微镜里传递情报 魔术般的密写术 网络与数字幽灵 量子技术隐形传递信息72024-3-192024-3-197772024-3-192024-3-19772024-3-197隐写术的优点 能够被某些人使用而不容易被发现他们间在进行秘密通信 加密则很容易被发现谁与谁在进行秘密通信,这种发现本身可能具有某种意义或作用 82024-
4、3-192024-3-198882024-3-192024-3-19882024-3-198隐写术的缺点 形式简单但构造费时,要求有大量的开销来隐藏相对较少的信息 一旦该系统的构造方法被发现,就会变得完全没有价值 隐写术一般无稳健性92024-3-192024-3-1999520 我爱你。8371658 别生气,原谅我!77543 猜猜我是谁?7867998 吃饱了,去走走吧!古典密码技术根据其基本原理大体上可以分为两类:替换密码技术和古典密码技术根据其基本原理大体上可以分为两类:替换密码技术和换位密码技术。换位密码技术。比如,比如,替换密码:替换密码:比如,比如,移位密码:移位密码:赏马花归
5、去如已时暮飞酒力微醒连环诗酒力微醒时已暮,醒时已暮赏花归。酒力微醒时已暮,醒时已暮赏花归。赏花归去马如飞,去马如飞酒力微赏花归去马如飞,去马如飞酒力微赏花归去马如飞,去马如飞酒力微。赏花归去马如飞,去马如飞酒力微。酒力微醒时已暮,醒时已暮赏花归酒力微醒时已暮,醒时已暮赏花归102024-3-192024-3-191010相思(秦少游)静思伊久阻归期,久阻归期忆别离。忆别离时闻漏转,时闻漏转静思伊。112024-3-192024-3-191111112024-3-192024-3-1911112024-3-1911 替换密码技术是基于符号替换的密码技术,这种密码技术是以符号替换密码技术是基于符号
6、替换的密码技术,这种密码技术是以符号的置换来达到掩盖明文信息。这类密码技术有:的置换来达到掩盖明文信息。这类密码技术有:()等。)等。代替密码就是明文中每一个字符被替换成密文中的另外一个字符。代替密码就是明文中每一个字符被替换成密文中的另外一个字符。古典密码技术根据其基本原理大体上可以分为两类:替换密码技术和古典密码技术根据其基本原理大体上可以分为两类:替换密码技术和换位密码技术。换位密码技术。122024-3-192024-3-191212122024-3-192024-3-1912122024-3-1912 (1)单字符单表替换密码技术:)单字符单表替换密码技术:单字符单表替换密码技术是对
7、明文中的所有单字符单表替换密码技术是对明文中的所有字符都使用一个固定的映射。字符都使用一个固定的映射。乘法密码技术乘法密码技术 设设A=a0,a1,an-1为明文字母表,为明文字母表,B=b0,b1,bn-1为密文字母表,为密文字母表,单字符单表替换密码技术使用了单字符单表替换密码技术使用了A到到B的映射关系:的映射关系:f:AB,f(ai)=bj(一般情况一般情况下,为保证加密的可逆性,下,为保证加密的可逆性,f是一一映射)将明文中的每一个字母替换为密文字是一一映射)将明文中的每一个字母替换为密文字母表中的一个字母。母表中的一个字母。单字符单表替换密码技术的密钥就是映射单字符单表替换密码技术
8、的密钥就是映射f或密文字母表(一般情况下明文或密文字母表(一般情况下明文字母表与密文字母表是相同的,这时的密钥就是映射字母表与密文字母表是相同的,这时的密钥就是映射f)。)。132024-3-192024-3-1913132024-3-1913乘法密码技术的加密变换:乘法密码技术的加密变换:Ek(ai)=aj,j=ik(mod n),),gcd(k,n)=1乘法密码技术的解密变换:乘法密码技术的解密变换:Dk(aj)=ai,i=jk-1(mod n)乘法密码技术的密钥是乘法密码技术的密钥是k。若若n是素数,则有是素数,则有n-2个密钥(个密钥(k=1时加密变换是恒等变换,应该予以抛弃);时加密
9、变换是恒等变换,应该予以抛弃);若若n不是素数,则有不是素数,则有(n)-1个密钥(其中个密钥(其中(n)为欧拉函数的值)。为欧拉函数的值)。142024-3-192024-3-1914142024-3-1914 移位替换密码技术:是最简单的一种替换密码。移位替换密码技术:是最简单的一种替换密码。-移位密码的数学基础:移位密码的数学基础:假设假设a和和b都是整数,都是整数,m是一个固定的正整数。若是一个固定的正整数。若m整除整除a-b,即,即m a-b时,时,称整数称整数a,b关于模关于模m同余同余,记作,记作 a b(mod m)若若m不能整除不能整除a-b,则称则称a,b关于模关于模m不同
10、余。正整数不同余。正整数m称为模数。称为模数。明显地:明显地:29 5(mod 8)101 3(mod 7)-101 4(mod 7)121,4关于模关于模2不同余不同余 易知易知:a b(mod m)a(mod m)b(mod m)152024-3-192024-3-1915152024-3-1915-模的模的同余性质同余性质:(1)自反性自反性:a a(mod m)(2)对称性对称性:若:若a b(mod m),则则b a(mod m)(3)传递性传递性:若:若 a b(mod m),b c(mod m),则则 a c(mod m)(4)(a+b)(mod m)a(mod m)+b(mod
11、 m)(5)(ab)(mod m)a(mod m)b(mod m)(6)若若a b(mod m),c d(mod m),则则 l,k Z(整数集合整数集合),有有la kc lb kd(mod m),且,且ac bd(mod m)(7)设设f(x)与与g(x)分别是两个整系数多项式:分别是两个整系数多项式:f(x)=an xn+an-1xn-1+a,g(x)=bn xn+bn-1xn-1+b 则则()若若a b(mod m),那么,那么f(a)f(b)(mod m)()若若a b(mod m),且,且ak bk(mod m),k=0,n,则则f(a)g(b)(mod m)162024-3-19
12、2024-3-1916162024-3-1916 移位密码实质上是正整数移位密码实质上是正整数m上模运算上模运算,特别用,特别用Zm=0,1,m-1表示模表示模m的剩余的剩余类,定义类,定义Zm上的加法和乘法,它完全类似于普通的实数域上的数的加法和乘法,上的加法和乘法,它完全类似于普通的实数域上的数的加法和乘法,不同的仅是运算结果是取模以后的余数。不同的仅是运算结果是取模以后的余数。-定义(定义(移位密码算法移位密码算法):设设P=C=K=Z26,对,对0 k 25,即即k K,x,y Z26,定义定义 加密函数:加密函数:Ek(x)=(x+k)(mod 26)解密函数:解密函数:Dk(y)=
13、(y-k)(mod 26)172024-3-192024-3-1917172024-3-1917加密变换为:加密变换为:Ek(ai)=aj,j=(i+k)()(mod n),),0 k n解密变换为:解密变换为:Dk(aj)=ai,i=(j-k)()(mod n)=(j+(n-k)()(mod n)由于由于i=(j-k)()(mod n)=(i+k-k)()(mod n)=i(mod n),),所以解密与加所以解密与加密是可逆的。从解密变换中可以看出:密是可逆的。从解密变换中可以看出:Dk=En-k。182024-3-192024-3-1918182024-3-1918 移位替换密码技术的密钥
14、是移位替换密码技术的密钥是k,k唯一地确定了明文空间到密文空间的映射,唯一地确定了明文空间到密文空间的映射,故移位替换密码技术的密钥空间的元素个数为故移位替换密码技术的密钥空间的元素个数为n-1。用密钥穷搜索方法很容易破译。用密钥穷搜索方法很容易破译。密钥字密码技术:它利用一个密钥字来构造替换作为密钥。密钥字密码技术:它利用一个密钥字来构造替换作为密钥。仿射密码技术:是加法密码技术和乘法密码技术的结合体。仿射密码技术:是加法密码技术和乘法密码技术的结合体。192024-3-192024-3-1919192024-3-1919 。当。当b=0时,仿射密码技术退化为乘法密码技术,当时,仿射密码技术
15、退化为乘法密码技术,当k=1时,仿射密码退化为移位替换密码技术。时,仿射密码退化为移位替换密码技术。202024-3-192024-3-1920202024-3-1920 (2 2)单字符多表替换密码技术:)单字符多表替换密码技术:单字符多表替换密码技术在安全性方面比单字符单字符多表替换密码技术在安全性方面比单字符单表替换密码技术高单表替换密码技术高。单字符多表替换密码技术是用一系列(两个以上)替换表依次对明文的字母进单字符多表替换密码技术是用一系列(两个以上)替换表依次对明文的字母进行替换的加密方法。行替换的加密方法。假设明文字母表为假设明文字母表为Zq,替换表序列为替换表序列为L=L1L2
16、,明文字母序列为明文字母序列为m=m1m2,则相应的密文序列为则相应的密文序列为c=L(m)=L1(m1)L2(m2)。如果替换序列是非周期的无限序列,则相应的密码技术为如果替换序列是非周期的无限序列,则相应的密码技术为,它对每个明文都采用了不同的替换表进行加密,也称为,它对每个明文都采用了不同的替换表进行加密,也称为,它是一种理论上不可破译的密码技术。它是一种理论上不可破译的密码技术。因为单字符单表替换密码技术中明文的字母与密文中的字母是一一对应的,因为单字符单表替换密码技术中明文的字母与密文中的字母是一一对应的,明明文中的字母统计特性在明文中没有得到改变文中的字母统计特性在明文中没有得到改
17、变,因此单字符单表替换密码技术很容易,因此单字符单表替换密码技术很容易破译。破译。而在实际应用中采用的都是周期多表替换密码技术,只使用了有限的替换表,而在实际应用中采用的都是周期多表替换密码技术,只使用了有限的替换表,替换表被重复使用以完成对明文的加密。替换表被重复使用以完成对明文的加密。例如周期为例如周期为d,则替换表序列为:则替换表序列为:L=L1L2LdL1L2Ld。当当d=1时,单字符多表替换密码技术退化为单字符单表替换密码技术。时,单字符多表替换密码技术退化为单字符单表替换密码技术。212024-3-192024-3-1921212024-3-1921单字符多表替换密码技术有很多,典
18、型的有:单字符多表替换密码技术有很多,典型的有:Vigenere(费杰尔或维吉尼亚)密码技术费杰尔或维吉尼亚)密码技术 定义:定义:设设n是一个正整数。设是一个正整数。设M=C=K=(Z26)n,(Z26n=Z26 Z26 Z26表示表示Z26的的n次次直积直积)。对于对于 k=(k1,k2,kn)K,定义:,定义:加密函数:加密函数:Ek(m1,m2,mn)=(m1+k1,mn+kn)(mod 26)解密函数:解密函数:Dk(y1,y2,yn)=(y1-k1,yn-kn)(mod 26)Vigenere密码技术本质上是一种多表简单加法密码技术密码技术本质上是一种多表简单加法密码技术Vigen
19、ere密码技术循环地使密码技术循环地使用每一个替换表完成明文字母到密文字母的转换。用每一个替换表完成明文字母到密文字母的转换。维吉尼亚密码一次加密维吉尼亚密码一次加密d个明文字母个明文字母(注:每个注:每个m1,m2,mn是长度为d的字母串)。Vigenere密码技术本质上是一种多表简单加法密码技术本质上是一种多表简单加法密码技术,是密码技术,是1858年由法国密码学家年由法国密码学家Blaise de Vigenere发明的。它使用一个词组作为密钥,词组发明的。它使用一个词组作为密钥,词组中的每一个字母都作为移位替换密码的密钥并确定中的每一个字母都作为移位替换密码的密钥并确定一个替换表。一个
20、替换表。Vigenere密码技术循环地使用每一个密码技术循环地使用每一个替换表完成明文字母到密文字母的转换。替换表完成明文字母到密文字母的转换。222024-3-192024-3-1922222024-3-1922dd 设密钥设密钥K=kK=k1 1 k k2 2 k kn n(k1=k2=kn 是长度为是长度为d的字母串的字母串),明文与密文字母表中),明文与密文字母表中均包含了均包含了n n个长度为个长度为d的字母串。又设明文的字母串。又设明文m=mm=m1 1mm2 2,密文为密文为c=cc=c1 1c c2 2,则则c ci i=m=mi i+k+ki i(mod 26mod 26。当
21、密钥的长度比明文短时,密钥可以周期性地重复使用,直至完成明文中的每当密钥的长度比明文短时,密钥可以周期性地重复使用,直至完成明文中的每个字母的加密。个字母的加密。232024-3-192024-3-1923232024-3-1923 Vernam(弗纳姆)密码技术弗纳姆)密码技术 其加密方法是,将明文和密钥分别表示成二进制序列,再其加密方法是,将明文和密钥分别表示成二进制序列,再把它们按位进行模二加法。设明文把它们按位进行模二加法。设明文m=mm=m1 1mm2 2,密钥密钥k=kk=k1 1k k2 2,其中其中mmi i,k ki iGF(2)GF(2),i i1 1,则密文则密文c=cc
22、=c1 1c c2 2,其中其中c ci i=m=mi i k ki i 。这里这里 为模二加法。为模二加法。Hill(希尔)密码技术希尔)密码技术 它实际上是仿射密码技术的特例。它实际上是仿射密码技术的特例。其基本加密思想是将其基本加密思想是将明文分组明文分组(如(如n n个明文字母)通过线性变换将它们转换为个明文字母)通过线性变换将它们转换为n n个密文字母个密文字母的加密算的加密算法。解密时只需做一次逆变换即可。密钥就是变换矩阵。法。解密时只需做一次逆变换即可。密钥就是变换矩阵。1917年美国电话电报公司的年美国电话电报公司的Gilbert Vernam为电报通信设计了一种十分方便的密为
23、电报通信设计了一种十分方便的密码技术。后来称之为码技术。后来称之为Vernam密码技术,它是密码技术,它是一种代数密码技术:其加密方法是,将明文一种代数密码技术:其加密方法是,将明文和密钥分别表示成二进制序列,再把它们按和密钥分别表示成二进制序列,再把它们按位进行模位进行模2加法。加法。Hill密码技术是于密码技术是于1929年由年由Lester S.Hill发明的,发明的,它实际上就是利用了大家熟知的线性变换方法,它实际上就是利用了大家熟知的线性变换方法,在在Z26上进行加法和乘法运算,是仿射密码技术的上进行加法和乘法运算,是仿射密码技术的特例。其基本加密思想是将特例。其基本加密思想是将n个
24、明文字母通过线个明文字母通过线性变换将它们转换为性变换将它们转换为n个密文字母的加密算法。个密文字母的加密算法。解密时只需做一次逆变换即可。密钥就是变换矩解密时只需做一次逆变换即可。密钥就是变换矩阵。阵。242024-3-192024-3-1924242024-3-1924252024-3-192024-3-1925252024-3-1925 Hill密码技术可以较好地抗击统计分析攻击,密码技术可以较好地抗击统计分析攻击,但在面对已知明文的攻击就很容但在面对已知明文的攻击就很容易被破译,特别是在已知密钥矩阵行数的情况下易被破译,特别是在已知密钥矩阵行数的情况下。因此,。因此,Hill密码技术并
25、不安全。密码技术并不安全。playfair密码技术密码技术 -构造矩阵:构造矩阵:playfair密码基于一个密码基于一个55的字母矩阵,该矩阵使用密钥来构造,的字母矩阵,该矩阵使用密钥来构造,其构造方法是:从左至右、从上到下一次填入密钥中的字母(去除重复发字母),其构造方法是:从左至右、从上到下一次填入密钥中的字母(去除重复发字母),然后再以字母表的顺序一次填入其他字母然后再以字母表的顺序一次填入其他字母。其中字母其中字母i和和j算作一个字母(即算作一个字母(即j字母被当作字母被当作i处理)。处理)。playfair密码是单字符多表替换密码的经典算法,1854年由Charles Wheats
26、tone提出的。该算法是将明文中的双字母组合成一个单元对待,并将这些单元转换为密文双字母组合。-明文分组:明文分组:将明文字符串按两个字母一组进行分组,若两个相邻的字母相同,将明文字符串按两个字母一组进行分组,若两个相邻的字母相同,则要在它们之间插入一个字符则要在它们之间插入一个字符(事先约定插入的字符,如(事先约定插入的字符,如q););如果明文字母数如果明文字母数为奇数,则同样要在明文末尾添加某个事先约定的字母作为填充为奇数,则同样要在明文末尾添加某个事先约定的字母作为填充。262024-3-192024-3-1926262024-3-1926 -加密方法:加密方法:当m1和m2在同一行时
27、,则对应的密文字母c1和c2分别是仅靠m1和m2右端的字母。其中第一列被视为在最后一列的右方(解密时反向)。当m1和m2在同一列时,则对应的密文字母c1和c2分别是仅靠m1和m2下方的字母。其中第一行被视为在最后一行的右方(解密时反向)。当m1和m2不在同一行,也不在同一列时(即处于对角线上),则对应的密文字母c1和c2是由m1和m2确定的矩形的其他两角的字母。并且m1和c1、m2和c2同行(解密时的处理方法相同)。P26 例2-7和例2-8272024-3-192024-3-1927272024-3-1927 换位密码技术本质上就是一种置换密码技术,但它置换的不是字符,而是换位密码技术本质上
28、就是一种置换密码技术,但它置换的不是字符,而是书写的位置。换位密码技术的数学表达式可以表示成:设明文为:书写的位置。换位密码技术的数学表达式可以表示成:设明文为:m=m=mm1 1mm2 2,则密文则密文c=cc=c1 1c c2 2,c ci i =,i=1i=1,2 2,n n。其中置换表为:其中置换表为:)(1iLm3.换位密码技术换位密码技术(1)列换位-列换位的原理:列换位的原理:首先将明文按照密钥个数排列,然后再按照密钥在字首先将明文按照密钥个数排列,然后再按照密钥在字母表中的顺序变换列的顺序,最后按照列的顺序写出的就是密文母表中的顺序变换列的顺序,最后按照列的顺序写出的就是密文。
29、282024-3-192024-3-192828282024-3-192024-3-1928282024-3-1928例子:明文:cryptography is an applied science 密钥:encry 密文:yripdn cohnii rgyaee paspsc tpalce 292024-3-192024-3-1929292024-3-1929(2)周期换位-周期换位的原理:周期换位的原理:将明文按照密钥分组个数分组,并按照密钥在字母表中的将明文按照密钥分组个数分组,并按照密钥在字母表中的顺序变换组内字母的顺序,得到的就是密文。顺序变换组内字母的顺序,得到的就是密文。例例2-
30、10:明文为can you understand?密钥为fork,求密文。根据密钥根据密钥fork中各字母在中各字母在26个英文字母中的顺序可以确定为个英文字母中的顺序可以确定为1342。将明文按照密。将明文按照密钥的顺序可以得到密文(如下表所示)。钥的顺序可以得到密文(如下表所示)。即密文为:即密文为:anyc nuuo drse antd。如果明文不是密钥长度的整数倍(无论是列换位,还是周期换位),需要事先约如果明文不是密钥长度的整数倍(无论是列换位,还是周期换位),需要事先约定用其他字母代替。定用其他字母代替。另外,换位密码技术安全性不高。因为这种换位密码技术的明文与密文具有相同的字母频
31、率,无法抵御统计分析。302024-3-192024-3-1930302024-3-1930 为了保护信息的保密性,抗击密码分析,保密系统应当满足下述要求:为了保护信息的保密性,抗击密码分析,保密系统应当满足下述要求:系统即使达不到理论上是不可破的,也应当为实际上不可破的。系统即使达不到理论上是不可破的,也应当为实际上不可破的。就是说,就是说,从截获的密文或某些已知的明文密文对,要决定密钥或任意明文在计算上是不从截获的密文或某些已知的明文密文对,要决定密钥或任意明文在计算上是不可行的。可行的。系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥。系统的保密性不依赖于对加密体制或算法的保密,
32、而依赖于密钥。这是著这是著名的名的Kerckhoff原则。原则。加密和解密算法适用于所有密钥空间中的元素。加密和解密算法适用于所有密钥空间中的元素。系统便于实现和使用。系统便于实现和使用。312024-3-192024-3-193131312024-3-192024-3-1931312024-3-1931 频率分析 考虑最可能的字母及单词 重复结构分析 持久性、组织性、创造性和运气 明文已知且易于识别322024-3-192024-3-193232惟密文攻击在攻击者可以截获(足够)明密文的条件下,易于恢复用户的密钥;当攻击者只能窃听到密文时,若明文是有意义的(一段话等具有可读性)字符时,利用穷
33、举搜索,可以通过密文解密出对应明文,继而恢复密钥。(穷举搜索的复杂度取决于密钥空间的大小,古典密码体制的密钥空间通常比较小。)当攻击者只能窃听到密文时,是否有其它更有效攻击方法?若明文是无意义的随机字符时,攻击者是否可以获得明文或密钥的相关信息?332024-3-192024-3-193333332024-3-192024-3-1933332024-3-1933惟密文攻击 由于任何自然语言都有自己的统计规律,对于古典密码来说,密文中还保留由于任何自然语言都有自己的统计规律,对于古典密码来说,密文中还保留了明文的统计特征,因此可以使用统计方法(了明文的统计特征,因此可以使用统计方法(频率分析频率
34、分析)进行攻击。)进行攻击。英文中的统计(英文中的统计(频率频率)是有规律的:)是有规律的:每个单字母中每个单字母中E出现频率最高出现频率最高,其次是,其次是T、A、O、I、N、S H、R等,等,V、K、J、X、Q、Z最低。最低。双字母频率最高的有双字母频率最高的有TH、HE,它们出现的频率小于,它们出现的频率小于IN、ER等。等。还有还有THE,ING等其他规律等其他规律。342024-3-192024-3-1934342024-3-1934常见的三字母组合:常见的三字母组合:THE、ING、AND、HER、ERE、ENT、THA、NTH、WAS、ETH、FOR、DTH等。等。常见的双字母组
35、合:常见的双字母组合:THTH、HEHE、ININ、ERER、RERE、ANAN、ONON、ENEN、ATAT;352024-3-192024-3-1935352024-3-1935362024-3-192024-3-193636362024-3-192024-3-1936362024-3-1936频率分析攻击的一般方法:第一步:对密文中出现的各个字母进行出现的频率统计 第二步:根据密文中出现的各个字母的频率,和英语字母标准 频率进行对比分析,做出假设,推论加密所用的公式 第三步:证实上述假设或继续作其他假设372024-3-192024-3-1937372024-3-1937移位密码安全性分
36、析移位密码安全性分析 382024-3-192024-3-1938382024-3-1938392024-3-192024-3-1939392024-3-1939402024-3-192024-3-194040已知明文攻击已知明文攻击 使用仿射密码算法进行加密时,若密文为:使用仿射密码算法进行加密时,若密文为:wbg,对应的明文为:,对应的明文为:nev,找,找出加密时所用的密钥?出加密时所用的密钥?首先字母对应数字 w-22 b-1 g-6 n-13 e-4 v-21k*13+b(mod 26)22k*4+b (mod 26)1解题思路:c=k*m+b mod 26,其中(k,b组成密钥),
37、根据密文和明文对,可以得到以下方程:n-w,e-b解方程组:9*k 21(mod 26)(一元一次同余方程)先求解 gcd(9,26)=19*x 1 mod 26 x=3,因此可以得到 9*3 1 mod 26,现在需要9*3*21 1*21mod 26 k 3*21 mod 26k=11,44+b 1(mod 26)求解 b=9412024-3-192024-3-194141412024-3-192024-3-194141密码破译(分析)分类1、唯密文攻击 破译者已知:加密算法、待破译的密文 目标:密钥,已经获得的密文对应的明文2、已知明文攻击 破译者已知:加密算法、一定数量的密文和对应的明
38、文 目标:密钥,任意密文对应的明文3、选择明文攻击 破译者已知:加密算法、由任意选定的明文可得到对应的密文 目标:密钥,任意密文对应的明文4、选择密文攻击 破译者已知:加密算法、选定的密文和对应的明文5、选择文本攻击 破译者已知:加密算法、选定的明文和对应的密文、选定的密文和对应的明文422024-3-192024-3-194242422024-3-192024-3-194242密码破译(分析)唯密文攻击是难度最大的 上述攻击的强度是递增的 一个密码体制是安全的,通常是指在前三种攻击下的安全性破译算法分级 全部破译:找到密钥 全部推导:找到密码算法 实例推导:找到明文 信息推导:获得一些有关明
39、文或密钥的消息432024-3-192024-3-194343432024-3-192024-3-194343衡量攻击方法的复杂性 数据复杂性(以凯撒密码为例解释)处理复杂性(时间)存储需求(空间)442024-3-192024-3-194444442024-3-192024-3-194444一个密码系统实际安全的条件 1、每一个加密函数和每一个解密函数 都能有效地计算 2、破译者取得密文后将不能在有效的时间或成本范围内破解出密钥或明文 3、一个密码系统是安全的必要条件:穷举密钥搜索将是不可行的452024-3-192024-3-194545452024-3-192024-3-194545穷举
40、攻击方法(暴力破解)要想能抵抗穷举攻击,一个密码算法的可能密钥总数不能太少!一个密码算法的可能密钥的总数称为该密码算法的密钥变化量.目前,密钥变化量少于264的密码算法是不安全的!密钥变化量为2128的密码算法是安全的!为什么?462024-3-192024-3-194646462024-3-192024-3-194646穷举攻击方法 假设密钥变化量为2128101280.3011038.5 考查该密码算法的抗穷举攻击能力。假想为计算机速度为10亿次/每秒 10亿109 1年3652436003.15107秒 1年可以穷举的密钥量为:3.15107 109 3.151016个密钥 2128个密钥需要1038.5/3.1510161022年才能穷举完。(一万亿亿年)472024-3-192024-3-194747472024-3-192024-3-194747密码算法设计柯克霍夫假设一个密码系统的安全强度如果依赖于攻击者不知道算法的内部机理,则注定会失败。解说:密码算法的安全性,依赖于对密钥的保密反例:如果知道算法的人泄露了算法,安全:三分技术,七分管理482024-3-192024-3-194848482024-3-192024-3-194848作业1第第1次课后作业次课后作业