《工学密码学技术古典密码学课件.ppt》由会员分享,可在线阅读,更多相关《工学密码学技术古典密码学课件.ppt(31页珍藏版)》请在三一办公上搜索。
1、福尔摩斯探案集之跳舞的小人,TG,“天王盖地虎,宝塔镇河妖”大家一定在电影里看过对暗号的场面。其实,这种暗号是一种最朴素的密码。只不过这种密码过于简单,经不起密码学家的分析,非常容易破译。将密码当成一种科学来研究,就产生了密码学。,第二章 密码学技术,1、密码学概述2、古典密码学3、分组密码学4、公钥密码学,本章重点及难点,本章主要问题集中在现代密码学部分,对称密钥学中的DES加密算法及IDEA加密算法,公钥密码学中的RSA加密算法和ELGamal算法为本章的重点及难点,需要大家好好理解。,密码学基本概念,明文:需要秘密传送的消息。密文:明文经过密码变换后的消息。加密:由明文到密文的变换。解密
2、:从密文恢复出明文的过程。破译:非法接收者试图从密文分析出明文的过程。加密算法:对明文进行加密时采用的一组规则。解密算法:对密文进行解密时采用的一组规则。密钥:加密和解密时使用的一组秘密信息。,明文Plaintext 密文Cipher text加密Encryption 解密Decryption密钥key,加解密过程示意图,加/解密原理描述,假设明文字母用P或者M表示,密文字母用C表示,密钥用K表示,加密变换用E表示,解密变换用D表示,则有:1.加密原理 文字描述:C=Ek(p)2.解密原理 文字描述:p=Dk(C),密码学的发展历史,发展史早在4000多年以前,古埃及人就在墓志铭中使用过类似于
3、象形文字那样奇妙的符号;公元前约50年,凯撒密码一种简单的字符替换被认为是最早的正式算法;双轨式密码、网格式密码、字典编号密码;传统密码学、现代密码学、量子密码学。1949年之前 古典加密学 密码学作为一种技艺,是一门艺术,而不是一种科学 19491975年 shannon的“communication theory of secrecy system”密码学成为科学 主要技术:单密钥的对称密钥加密算法1976年以后 Diffie,Hellman发表“new directions in cryptography”密码学的新方向公钥密码学应用领域军事、外交、情报 商业、个人通信,example-
4、i,(象形文字的修改)Modified Hieroglyphics,c.1900 B.C.密码学的第一个例子是对标准书写符号的修改 例如:古埃及法老坟墓上的文字 思想:代替(substitution),example-ii,Spartan Scytale,c.500 B.C.斯巴达人用于加解密的一种军事设备 发送者把一条羊皮螺旋形地缠在一个圆柱形棒上思想:置换(permutation),example-iii,Polybius Checkerboard,205123 B.C.明文:POLYBIUS密文:3534315412244543,Example-iv,Caesar Cipher,c.50
5、 B.C.A B C D E F G X Y Z D E F G H I J A B C 明文:Caesar cipher is a shift substitution 密文:FDHVDU FLSKHU LV D VKLIW VXEVWLWXWLRQ,Example-V,Nomenclator 代码本 c.1400字母、符号、单词、短语 代码代码 字母、符号、单词、短语应用:World War II,2.1 古典密码,代换密码单表代换密码移位密码替换密码仿射密码多表代换密码Vigenre(维吉尼亚)密码置换密码,代换密码,令表示明文字母表,内有q个“字母”或“字符”,可以将抽象地表示为一个整
6、数集在加密时通常将明文消息划分成长为L的消息单元,称为明文组,以m表示,如 m也称作L报文,它可以看作是定义在 上的随机变量L1为单字母报(1gram),L2为双字母报(digrams),L3为三字母报(trigrams)。这时明文空间为。,代换密码(续),令表示q个“字母”或“字符”的密文字母表,抽象地可用整数集 表示密文单元或组为c是定义在 上的随机变量。密文空间 一般地,明文和密文由同一字母表构成,即,代换密码(续),代换密码可以看作是从 到 的映射。时,称作单字母代换,也称作流密码(Stream cipher)。时,称作多码代换,亦称分组密码(Block cipher)。一般地,选择相
7、同明文和密文字母表。此时,若,则代换映射是一一映射,密码无数据扩展。若,则有数据扩展,可将加密函数设计成一对多的映射,即明文组可以找到多于一个密文组来代换,这称之为多名(或同音)代换密码(Homophonic substitution cipher)。若,则明文数据被压缩,此时代换映射不可能构成可逆映射,从而密文有时也就无法完全恢复出原明文消息,因此保密通信中必须要求。但 的映射可以用在认证系统中。,代换密码(续),在,时,若对所有明文字母,都用一种固定的代换进行加密,则称这种密码为单表代换(Monoalphabetic substitute)。若用一个以上的代换表进行加密,这就称作多表代换(
8、Polyalphabetic substitute)。这是古典密码中的两种重要体制。还有一个常见的是多字母代换密码。,单表代换密码,单表代换密码是对明文的所有字母都用一个固定的明文字母表到密文字母表的映射,即。令明文,则相应地密文为 几类常见的单表代换密码移位密码替换密码仿射密码 单表代换密码不能非常有效地抵抗密码攻击,因为语言的特征仍能从密文中提取出来,移位密码,由于英文字符有26个字母,可以建立英文字母和模26的剩余之间的对应关系:,移位密码(续),对于英文文本,则明文、密文空间都可定义为(很容易推广到n个字母的情况)。容易看出移位满足我们密码系统的定义,即。,设 定义,且。,凯撒密码,历
9、史上最著名的移位密码就是凯撒密码。凯撒密码(Caesar cipher)(1)原理(明密对照表)明文: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 密文: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(2)算法描述(数学描述)假设明文字母用P表示,密文字母用C表示,密钥用K表示,加密变换用E表示,解密变换用D表示,并设a=0,b=1,c=2,d=3,x=23,y=24,z=25,则有:C=Ek(p)=(p+3)mod(26)p=Dk(C)=(C-3)mod(26)-C不够减时可向前
10、借位,在计算机中,a=97,b=98,c=99,d=100,x=120,y=121,z=122,则:明密对照表如下:明文:97,98,99,100,120,121,122 密文:100,101,102,103,97,98,99 加/解密算法描述如下:C=Ek(p)=(p-97)+3mod(26)+97 p=Dk(C)=(C-97)-3mod(26)+97-若(C-97-3)0时,C可借位(1)求明文字母a的密文字母的过程如下:C=(a-97)+3mod(26)+97=3+97=100(d)(2)求明文字母z的密文字母的过程如下:C=(z-97)+3mod(26)+97=28mod(26)+97
11、=2+97=99(c)(3)求密文字母C的明文字母的过程如下:p=(99-97)-3mod(26)+97=(2-3)+26mod(26)+97=25+97=122(z)(4)求密文字母A的明文字母的过程如下:p=(97-97)-3mod(26)+97=(0-3)+26mod(26)+97=23+97=120(x),替换密码,定义,设,密钥空间K由所有可能的26个符号0,1,.,25的置换组成。对每一个置换,定义 则,其中 的逆置换。,置换 的表示为:替换密码的密钥是由26个字母的置换组成。这些置换的数目是26!,超过,是一个非常大的数。这样即使对现代计算机来说,穷举密钥搜索也是不可行的。显然,
12、替换密码的密钥(26个元素的随机置换)太复杂而不容易记忆,因此实际中密钥句子常被使用。密钥句子中的字母被依次填入密文字母表(重复的字母只用一次),未用的字母按自然顺序排列。,仿射密码,加密函数为:当a1时,为移位密码;当b=0时,为乘法密码;仿射函数是双射 当且仅当gcd(a,26)=1时同余方程 对每个y有唯一的解,仿射密码系统,设,且 对 定义 且 因为满足,gcd(a,26)=1的 只有12种候选,对参数没有要求。所以仿射密码有 种可能的密钥。,单表加密的破解,对于单表替代密码,加法密码和乘法密码的密钥量比较小,可利用穷举密钥的方法进行破译。穷举不是攻击密码的惟一方法,密码分析者便可利用
13、语言的统计特性进行分析。如果明文语言的这种统计特性在明文中有所反映,密码分析者便可通过分析明文和密文的统计规律而破译密码。,表 26个英文字母出现频率统计表,通过对26个英文字母出现频率的分析,可以有以下结果:(1)e出现的频率最大,约为0.13;(2)t,a,o,i,n,s,h,r出现的频率约在0.060.1之间;(3)d,l出现的频率在0.04附近;(4)c,u,m,w,f,g,y,p,b出现的频率约在0.015 0.029之间;(5)v,k,j,x,q,z出现的频率小于0.01。在密码分析中,除了考虑单字母统计特性外,掌握双字母、三字母的统计特性以及字母之间的连缀关系等信息也是很有用的。
14、,出现频率最高的30个双字母组合依次是:th heineranreedonesstenattonthandoueangas ortiisetitartesehiof 出现频率最高的20个三字母组合依次是:theing and her ere enttha nth was eth for dth hat she ionint his sth ers ver 特别的,the出现的频率几乎是ing的3倍,这在密码分析中很有用。此外,统计资料还表明:英文单词以e,s,d,t字母结尾的超过一半。英文单词以t,a,s,w为起始字母的约占一半。以上这些统计数据是通过非专业性文献中的字母进行统计得到的。对于密码分析者来说,这些都是十分有用的信息。除此之外,密码分析者对明文相关知识的掌握对破译密码也是十分重要的。,课后习题,1、使用移位加密算法,设k=7时,对He is a spy.进行加密。2、使用仿射加密算法,设a=5,b=11时,对He is a spy.进行加密。,