1、第二章 密码学基础,保密学的基本概念 密码体制分类 古典密码与初等密码分析 信息论与密码学 计算复杂性与密码学,密码学的演变历史(1),1918, William Friedmans The Index of Coincidence and its Applications in CryptographyEdward Hebern, Rotor Machine for 50 Years. 1949, Claude Shannons The Communication Theory of Secrecy System, 成为理论基础 1949-1967,Cryptographic Literat
2、ure was barren 1971, IBM: Luciffer Cipher, 128位密钥作分组加密 by team led by Horst Feistel used 64-bit data blocks with 128-bit key 1975, Diffie-Hellman, A New Direction in Cryptography, 首次提出适应网络保密通信的公开密钥思想,揭开现代密码学研究的序幕,具有划时代的意义 1976-1977,美国国家标准局正式公布实施DES,Data Encryption Standard,密码学的演变历史(2),19771978,Rives
3、t, Shamir, Adelman 第一次提出公开密钥密码系统的实现方法RSA 1981,成立International Association for Cryptology Research 1985,ElGamal 提出概率密码系统 ElGamal方法 19901992,Lai Xuejia and James: IDEA, The International Data Encryption Algorithm 2000, AES, Advanced Encryption Standard,Cryptology(保密学),源自希腊语(Greek)Krypts: hidden; logos
4、: word, 是密码学和密码处理过程的研究。 Cryptography: The Science and Study of Secret Writing,密码编码学 Cryptanalysis: The Science and Study of Secret Breaking,密码破译学 Cipher: A secret method of writing 加密方法 Encipher (encipherment), encryption: 将明文转换成密文的过程 Decipher (decipherment), decryption: 将密文还原成明文的过程 Plaintext (clear
5、text): 原始的可读数据,明文 Ciphertext (Cryptogram): 加密后的不可解读之文件,密文 Key: 密钥,对加密与解密过程进行控制的参数 E(m): Encryption Transformation 加密变换 D(c): Decryption Transformation 解密变换,密码学基本术语 Terminologies,保密学的基本概念,密码分析(Cryptanalysis):截收者试图通过分析从截获的密文推断出原来的明文或密钥。 被动攻击(Passive attack):对一个保密系统采取截获密文进行分析的攻击。 主动攻击(Active attack):非法
6、入侵者(Tamper)、攻击者(Attcker)或黑客(Hacker)主动向系统窜扰,采用删除、增添、重放、伪造等窜改手段向系统注入假消息,达到利已害人的目的。,保密系统模型,保密系统应当满足的要求,系统即使达不到理论上是不可破的,即prm=m=0,也应当为实际上不可破的。就是说,从截获的密文或某些已知明文密文对,要决定密钥或任意明文在计算上是不可行的。 系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥。这是著名的Kerckhoff原则。,保密系统应当满足的要求,加密和解密算法适用于所有密钥空间中的元素 系统便于实现和使用,认证与认证系统,认证系统(Authentication sys
7、tem)防止消息被窜改、删除、重放和伪造的一种有效方法,使发送的消息具有被验证的能力,使接收者或第三者能够识别和确认消息的真伪。实现这类功能的密码系统称作认证系统 保密性保密性是使截获者在不知密钥条件下不能解读密文的内容。,认证与认证系统,认证性使任何不知密钥的人不能构造一个密报,使意定的接收者解密成一个可理解的消息(合法的消息),安全认证系统应满足下述条件,意定的接收者能够检验和证实消息的合法性和真实性。 消息的发送者对所发送的消息不能抵赖。 除了合法消息发送者外,其它人不能伪造合法的消息。而且在已知合法密文c和相应消息m下,要确定加密密钥或系统地伪造合法密文在计算上是不可行的。 必要时可由
8、第三者作出仲裁。,密码体制分类,密码体制有两大类:单钥体制对称体制(One-key systemSymmetric key system):加密密钥和解密密钥相同。 双钥体制公钥体制(Two key systemPublic key systemAsymmetric Cryptosystem):加密密钥和解密密钥不同。,单钥密码体制,单钥密码体制,单钥体制的缺点,需要安全信道传送密钥 多用户密钥管理问题,双钥加密体制,A:公开钥(Public key) 秘密钥(Private keySecret key) B: 公开钥(Public key)秘密钥(Private key),双钥加密体制,容易
9、困难,双钥加密体制,User B,User A,双钥认证体制,User A,User B,双钥认证体制,User B,User A,双钥保密和认证体制,双钥保密和认证体制,正确,错误,古典密码,代换密码 单字母代换密码 单表代换密码 多表代换密码 多字母代换密码,代换密码,明文字母表 明文 明文空间 密文字母表 密文空间 加密变换单字母代换 多字母代换,单表代换,单表代换 对所有的明文字母,都用一个固定的代换进行加密多表代换 用一个以上的代换表进行加密,单表代换,1移位代换密码凯撒密码 字母代换表 Plain: abcdefghijklmnopqrstuvwxyz Cipher: DEFGHI
10、JKLMNOPQRSTUVWXYZABCa=0,b=1,c=3,z=25,同余,1整除 若 记 。性质 则, 。则 。 2 互素 记 , ,则 。 3 欧拉数 , ,p,q是不同的素数 4 同余 若 ,记 5 带余除法,单表代换,2 乘数密码时加密变换是一个一一变换。如 。 3仿射密码 4多项式代换密码 5密钥短语密码 k=HAPPY NEW YEARabcdefghijklmnopqrstuvwxyzHAPYNEWYRBCDFGIJKLMOQSTUVXZ单表代换 替换表是26个字母的一一变换,共有 。,欧几里得算法,设 如何求其乘法逆元?欧氏算法可求 。,扩展欧几里得算法,扩展欧几里得算法,
11、多表代换密码,代换序列 明文字母序列 非周期多表代换密码 一次一密钥密码 周期多表代换密码,移位密码字母代换表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 1 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 A 2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B 3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 4 E F G H I J K L M N O P Q R S
12、 T U V W X Y Z A B C D 5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E 6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F 7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G 8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H 9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I 10 K L
13、M N O P Q R S T U V W X Y Z A B C D E F G H I J 11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K 12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L 13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M 14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N 15 P Q R S T U V W X Y Z A B C D
14、 E F G H I J K L M N O 16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P 17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R 19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T 21
15、 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V 23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W 24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X 25 Z 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 26 A B C D E F G H I J K L
16、M N O P Q R S T U V W X Y Z,多表代换密码,1维吉尼亚密码d个移位代换表密钥字例 ,m=polyalphbetic, 密钥字k=RADIO,d=5m=polyalphbetic cipherK=RADIORADIORADI ORADIOc=GOOGOCPKTPNTLK QZPKMF 2 博福特密码 3 滚动密钥密码 一次一密钥体制 4 弗纳姆密码 字母编成5bit二元数 m=m1m2mi k=k1k2ki,多表代换密码,3 转轮密码(Rotor Cipher)用一组转轮或接线编码轮所组成的机器,用以实现长周期的多表代换密码。如:Enigma和Hagelin。二战中,日
17、军的红密和紫密。,多字母代换密码,1 Hill密码取明文的n个字母作为一个分组,将其视为一个n位矢量,用一个n阶可逆(在 上)矩阵K乘这个矢量得到密文。若 则是一一变换加密 解密 多字母仿射密码,多字母代换密码,2 置换密码(permutation换位密码) 如:,shesel | lsseas | hellsb ythese | ashore,plain,She sells seashells by the seashore.,cipher EESLSH | SALSES | LSHBLE | HSYEET | HRAEOS,初等密码分析,1概述密码分析学破译或攻击(BreakAttack)
18、 密码的方法穷举破译法、强力法(Exhaustive Attack MethodBute-force Method)确定性分析法 统计分析法 利用明文的统计规律进行破译,初等密码分析,惟密文攻击 已知明文攻击 选择明文攻击 选择密文攻击 攻击能力依次增强 双钥体制下,类似于选择明文攻击,初等密码分析,语言的统计特性英文字母的频度 极高频度 e 12 次高频字母 t,a,o,I,s,h,r 6 9 中频字母 d,I 4低频字母 c,u,m,w,f,g,y,p,b 1.5 2.3 次低频字母 v,k,j,x,q,z 1 高频两字母组TH, HE, IN, ER, AN, RE, ED, ON, E
19、S, ST,EN, AT, TO, NT, HA, ND, OU, EA, NG, AS,OR, TI, IS, ET, IT, AR, TE, SE, HI, OF. 高频三字母组THE, ING, AND, HER, ERE, ENT, THA, NTH, WAS, ETH, FOR, DTH. 单表代换下,字母频度的分布不变,只是代号变了。,初等密码分析,Kasiski法基本原理 一、背景 公元16世纪晚期,法国外交官维吉尼亚(Vigenere)提出著名的维吉尼亚方阵密表和维吉尼亚密码(Vigenerecypher),这是一种多表加密的替代密码。Vigenere密码的出现,使得先前对单表
20、置换用的简单频率分析方法失效。 公元1863年,普鲁士少校卡西斯基(Kasiski)提出了Kasiski法,此方法从密钥的长度着手破解Vigenere密码。,初等密码分析,二、基本思想 通常,用Vigenere密码加密,明文中的相同字母在密文中不会对应相同的字母。但是,如果两个相同字母序列间距正好是密钥长度的倍数时,产生相同的密文序列。 Kasiski法在解密Vigenere密码时,将密文中相同字母组找出来,并对其间隔的距离进行研究,找出它们的最大公因子,则该因子是密钥长度的概率是较大的。,初等密码分析,1、在密文中标出重复的三个或多个字符结构; 2、对每一个字符结构,记下结构的起始位置; 3
21、、计算相邻的起始点的距离; 4、对每个距离求出所有因数; 5、若使用多字母替换密码,则密钥的长度为步骤4种出现的某一因数。,初等密码分析,五、应用举例 明文:we are discovered save yourself 密钥:deceptive 加密算法:Vigenere算法 密文:ZICVTWQNGRZGVTWAVZHCQYGLMGJ 测试过程: 1、在密文中标出重复的字符结构VTW; 2、两个字符结构的起始位置分别为4和13; 3、两个起始点的距离是9; 4、9的因数有3和9; 5、根据步骤4出现的因数,确定密钥的可能长度是3位或9位。,初等密码分析,单表代换密码分析 强力搜索,频度分析
22、。单表代换下相同的明文被加密为相同的密文。 维吉尼亚密码分析Kasiski测试 若两个相同的明文段(长度至少是3)被加密成相同的密文段,明文位置间距是 ,那么 , 是密钥字的长度。 如果得到几个这样的距离 ,那么 能整除他们的最大公因子。,初等密码分析,重合指数 是A,B,.,Z在 中出现的频数。表示在 中任取两个字符,他们相同的概率。是 A,B,Z的在英文中出现的概率。若 是通过任何单表密码获得,各个概率将被置换,但上式右边量不变。例如:如移位密码fk /n=p0,f1+k /n=p1, f25 +k/n=p25 . 而对于一个完全的随机串,粗糙度假设使用维吉尼亚密码加密的密文串为 。将 分
23、割为 个长度相等的子串,分别为 ,以列的形式写出密文 .若 为密钥字的长度,每一个 的值大约为0.065,初等密码分析,初等密码分析,假设已经确定了 。以下确定 。 表示 的长度,记26个字母在 中出现的概率分布 (f0,f1,f25表示A,B,Z在 中出现的个数)如果 是对明文的一个子集移位 ki 得到,那么 将接近于 定义: 设 ,如果 应该有,信息论与密码学,Shannon 1949 保密系统的通信理论 通信系统的数学模型保密系统的数学模型信源字母表 消息序列 消息空间明文空间 记为 有 个元素。,信源,加密器,信道,解密器,接收者,分析者,m,c,c,m,k,信息论与密码学,无记忆源
24、密钥源 字母表无记忆均匀,各密钥符号独立等概。密钥序列密钥空间 密文 通常密文字母集与明文字母集相同, 。 密文空间 统计特性由密钥与明文统计特性决定。 信息量和熵 离散信源,信息论与密码学,熵与平均互信息,H(Y/X)为噪声熵散布度Divergence,H(X/Y)为疑义度含糊度Equivocation,完善保密性 明文熵惟密文破译 分析者的任务是从截获的密文中提取明文的信息:或从密文中提取有关密钥的信息:合法接收者 在已知密钥和密文条件下: 破译者 越大,窃听者能从密文中提取的有关明文和密钥的信息就越少。 定理 对任意保密系统 。 证明:,信息论与密码学,信息论与密码学,此定理说明系统密钥
25、量越小,密文中所含有的有关明文的信息量越大 完善保密系统无条件保密系统 定理 完善保密系统存在的必要条件是 一次一密密码是完善保密的 作业:1.设英文字母A,B,C,DZ分别编码为0,1,2,325。已知单表仿射加密变换为 ,其中 表示明文, 表示密文。试对明文SECURITY加密。2. 在 上求以下矩阵的逆矩阵。(a). (b).,复习,扩展 欧几里德算法置换密码 置换 逆置换 单表代换密码分析 频度分析 维吉尼亚密码分析 Kasiski测试 相同密文段的距离 这些距离的最大公因子是加密的周期(移位表的个数) 每隔d个取为一组 每组是一个移位密码 重合指数,复习,完善保密性明文熵完善保密系统
26、无条件保密系统 完善保密系统存在的必要条件是,信息论与密码学,多余度 明文序列 L长明文序列的熵为, 。定义信源输出字母的统计关联越强,离开均匀分布越远, 越小, 越大。 平均每字母多余度例 英文字母序列的多余度由于明文存在有多余度,实现完善保密所需的密钥量的上限可以降 低。在二元情况下,若 就可实现完善保密。若 , 可先进行数据压缩,再加密。理想压缩编码可使密钥长度减至 加密前的数据压缩是强化保密系统的重要措施。,信息论与密码学,一个汉字的熵为9.65比特 汉字的极限熵平均为4.0462比特 在非扩展无记忆信源中,码字的平均长度不能小于信源的熵。由于汉字的熵为9.65比特,大于8比特,因此,
27、汉字不能使用单字节(8比特)编码,而要使用双字节(16比特)编码。现代汉语冗余度的上限为75,下限为55,平均值为 65 英语冗余度的上限为80,下限为67,平均值为75。,信息论与密码学,理论保密性 惟密文破译分析者必须处理的密文量的下限。给定 长密文序列集 条件下密钥的不确定性,即从密钥含糊度 研究。 由条件熵的性质知这说明,随着截获密文的增加,得到有关明文或密钥的信息量就增加,而保留的不确定性就会越来越小。若 ,就可唯一地确定密钥K,而实现破译。 惟一解距离 惟一解距离与明文多余度 设 是二元序列集。二元密文序列前 bit实际上完全随机,因而有,信息论与密码学,式中:密码系统中,明文与密
28、钥统计独立。时因此由惟一解距离定义可得,信息论与密码学,由上式,若 ,即当明文经过最佳数据压缩编码后, 。虽然系统不一定满足完善保密条件 ,但不管截获的密文量有多大,密钥的含糊度仍为 。多余度的存在使得任何密码体制在有限密钥下( 为有限),其惟一解距离都将是有限的,因而在理论上是可破的。提高安全性的途径:a 增大 ;b 减小 。理论保密性:当截获的密报大于唯一解距离时,理论上可破译。实际保密性:a 自然语言的统计特性;b 计算能力。 例题 单表代换 , , ,例题 周期为d的移位密码(维吉尼亚密码) ,例题 周期为d的置换(换位)密码 ,,乘积密码系统,Shannon 1949 设 是两个自同
29、态密码系统,他们有相同的明文和密文空间。加密: 解密:,乘积密码系统,交换律幂等密码 移位、代换、仿射、Hill、Vigenere和置换密码都是幂等密码。幂等体制采用 不增加安全性。,计算复杂性与密码学,惟一解距离 理论上确定密钥所需要的最小的密文量。 密码破译取决于计算时间(时间复杂性)和硬件资源(空间复杂性) 问题的规模 输入二元数据的的位数用n表示。 算法复杂性 时间复杂度f(n),主要取决于f(n)随n增长的速度。如密钥的长度为128bit,则密钥强力搜索的次数为 。,计算复杂性与密码学,算法复杂度分类,计算复杂性与密码学,例 指数 的计算复杂度。共需r次平方和至多r次乘法运算。复杂度
30、上界 素性测试 Miller-Rabin测试O(logn) 扩展欧几里德算法O(loga)(logb),作业,1证明 对一个密码系统(M,C,K,E,D)有H(K|C) = H(K) + H(M) H(C). 2破译以下Hill2体制的密文 WABGNLCQECJESSHHUYIQPMWTALDYJRRMHYIDCOUPYHETJSJVAKCDUCETHHWWALXHLQVMYGTVXIZIUCOCAMPKALCQLPKSSROOVKJFYOXEALHHYGBZALGWPMURHHANMRKAWULPHHSSETJSJVAKCDUCEBIXRKWFCQPMBZDOCDUCAZURHHSNEHU
31、QKAEMFYGFIXFICDRKSMPMHHOMTUXATZYPQKDJURUQFMRB 3 破译Vigenere密码 pwlfxkysfgacoeoggpyxgelgrezekbhmnlciysrudzekriqyjmtqijmejlvwbsnfkpnbrutxitglcnyhlivvbxuofkbsrvmmnhvkpppykfctjtgiedzpmyvwxrsfwiiiewdjpioeprrgvidgkxreigilejiwredutgodownocrpppykfctzvpwidzpcffkbsfgypwaciwebvdmasluhxikexgoepdylulirorwsenfdlcrtbeleikpnhrutxueniptyxdrexszcnrudzerxhrhvgisujoxfekpdmniyxytzhcxhvpmpsktathrlirffkilewsvqtgepmnkobrlvmiirkriqethchffbxfejxrsnudlcfzkhxaxkmlffkilekrmpdgepmnkobrlvmiirkriqethchffbxfewhjvtykrbsfhcqouovlcziwirdkgfiexhtrfnyaeghacaczlybvmxgczzlcrjmwetvwtjopfxplzyrqowvxthvbejpytqitj,