《保密安全与密码技术-2密码学》由会员分享,可在线阅读,更多相关《保密安全与密码技术-2密码学(107页珍藏版)》请在金锄头文库上搜索。
1、保密安全与密码技术,第二讲 密码学基础,密码学概论 古典密码学 现代密码学 对称密码学 非对称密码学 单向散列 数字签名 数字信封,密码学基础,通信模型 基本概念和术语 密码算法分类 密码发展历史 密码分析 密码技术的用途,密码学概论,通信模型,密码学 一门研究通信安全和保护信息资源的既古老而又年轻的科学和技术 密码编码学 对信息编码以隐蔽信息的一门学问 密码分析学 研究分析破译密码的学问 这二者既相互对立又相互促进,共同推动密码学的发展,基本概念,明文(plain text):需要秘密传送的消息,M。 密文(cipher text):明文经过密码变换后的消息,C。 加密(encrypt, e
2、ncryption):由明文到密文的变换。 解密(decrypt, decryption):从密文恢复出明文的过程。 破译:非法接收者试图从密文分析出明文的过程。 密钥(Key):加密和解密时使用的一组秘密信息,k。 加密算法(Encrypt Algorithm):对明文进行加密时采用的一组规则,E(M)。 解密算法(Decrypt Algorithm):对密文进行解密时采用的一组规则,D(C)。 C=E(M), M=D(C),D(E(M)= M,基本术语,定义: 密码体制是一个五元组(M,C,K,E,D)满足条件: M是可能明文的有限集(明文空间) ; C是可能密文的有限集(密文空间) ;
3、K是一切可能密钥构成的有限集(密钥空间) ; 任意 ,有一个加密算法 和相应的解密算法 ,使得 和 分别为加密解密函数,满足 。,基本概念和术语,注:1*.Alice要将明文在不安全信道上发给Bob, 设X=x1 x2 xn , 其中 , Alice用加密算法ek 作yi=ek(xi) 1 i n 结果的密文是 Y=y1y2.yn ,在信道上发送, Bob收到后解密:xi=dk(yi) 得到明文X=x1 x2 xn .。 2*.加密函数ek必须是单射函数,就是一对一的函数。 3*.若M=C,则ek为一个置换。 4*.好的密钥算法是唯密钥而保密的。 5*.若Alice和Bob在一次通信中使用相同
4、的密钥,那么这个加密体制为对称的,否则称为非对称的。,基本概念和术语,基本概念和术语,古典密码算法和现代密码算法 按照算法和密钥是否分开 对称密钥密码和非对称密钥密码 加密和解密是否使用相同的密钥 分组密码和序列密码 每次操作的数据单元是否分块,密码算法的分类,古典密码和现代密码,古典密码 代替密码(Substitution Cipher) 换位密码 (transposition Cipher) 代替密码与换位密码的组合 古典密码(受限密码)的缺陷 密码体制的安全性在于保持算法本身的保密性 受限算法的缺陷 不适合大规模生产 不适合较大的或者人员变动较大的组织 用户无法了解算法的安全性,现代密码
5、算法 把算法和密钥分开 密码算法可以公开,密钥保密 密码系统的安全性在于保持密钥的保密性,发送方,接收方,M,M,加密 E,解密 D,C = Ek (M),M= Ek (C),密码分析,密钥分配(秘密信道),k,k,古典密码和现代密码,对称密码算法和非对称密码算法,对称密钥密码算法,又称传统密码算法、秘密密钥密码算法 加密和解密使用相同的密钥 Ke =Kd 常用算法:DES, IDEA, Blowfish, RC2等 优点 加密速度快,便于硬件实现和大规模生产 缺点 密钥分配:必须通过保密的信道 密钥个数:n(n-1)/2 无法用来签名和抗抵赖(没有第三方公证时),对称密码和非对称密码,非对称
6、密码,又称公开密钥密码算法 加密和解密使用不同的密钥(Kp, Ks),把加密密钥公开,解密密钥保密: c= EKp(m) , m=DKs (c) 常用算法:RSA, DSA, 背包算法,ElGamal , 椭圆曲线等 优点: 密钥分配:不必保持信道的保密性 密钥个数:n 对 可以用来签名和抗抵赖 缺点 加密速度慢,不便于硬件实现和大规模生产,分组密码和序列密码,分组密码(Block Cipher) 一次加密或解密操作作用于一个数据块,比如64位 序列密码(Stream Cipher) 一次加密或解密操作作用于一位或者一个字节,早在4000多年以前,古埃及人就在墓志铭中使用过类似于象形文字那样奇
7、妙的符号 公元前约50年,凯撒密码一种简单的字符替换被认为是最早的正式算法,双轨式密码、网格式密码、字典编号密码 传统密码学、现代密码学、量子密码学,发展历史,密码分析,在未知密钥的前提下,从密文恢复出明文、或者推导出密钥 对密码进行分析的尝试称为攻击 攻击方法分类(根据已知信息量的多少) 唯密文攻击 已知明文攻击 选择明文攻击 自适应选择明文攻击 选择密文攻击 选择密钥攻击,密码算法的安全性 如果破译算法的代价大于加密数据本身的价值,或者在信息的生命期内无法破解,那么你的算法可能是安全的。 一个算法被称为是计算上安全的,如果一个算法用可得到的资源不能破解。 处理复杂性:计算量,CPU时间 数
8、据复杂性:所需输入数据量 存储复杂性:计算所需的存储空间,密码分析,密码技术的主要用途,数据保密数据加密/解密 数据加密(存储和传输) 认证技术 实体身份认证 数据源发认证 信息完整性保护 数据在传输过程中没有被插入、篡改、重发; 数字签名和抗抵赖(Non-repudiation ) 源发抗抵赖 交付抗抵赖,通信模型 基本概念和术语 密码算法分类 密码发展历史 密码分析 密码技术的用途,密码学概论,分组学习现代密码学的各种密码算法 内容: 对称密码学:IDEA、SDBI、AES、RC5、CAST-256 非对称:DSA、ECC、D-H 单向散列:SHA1、RIPE-MD 要求:PPT报告,代表
9、讲解,3-5分钟,第一次作业,古典密码学,古典密码学的起源 早期的密码:隐写术 代换密码术 置换密码术 古典密码学的优缺点,古典密码学的起源战争,古罗马:Caesar 密码,ABCDEFGHIGKLMNOPQRSTUVWXYZ,DEFGHIGKLMNOPQRSTUVWXYZABC,Caesar was a great soldier,密码本,密文,Fdhvdu zdv d juhdw vroglhu,明文,密文,CAESAR 密码 : c=( m+ 3) Mod 26,每一个加密函数ek和每一个解密函数dk都能有效地计算。 破译者取得密文后,将不能在有效的时间内破解出密钥k或明文x。 一个密码
10、体制是安全的必要条件穷举密钥搜索将是不可行的,即密钥空间将是非常大的。,古典密码学的起源战争,美国南北战争,输入方向,输出方向,明文: Can you understand 密文: codtaueanurnynsd,古典密码学的起源战争,转轮密码机ENIGMA,由Arthur Scherbius于1919年发明,4 轮ENIGMA在1944年装备德国海军.,古典密码学的起源战争,英国的TYPEX打字密码机,是德国3轮ENIGMA的改进型密码机。它在英国通信中使用广泛,且在破译密钥后帮助破解德国信号。,古典密码学的起源战争,一个简单的加密算法异或,一个简单的加密算法异或,已知明文、密文,怎样求得
11、密钥?,只知道密文,如何求得密文和密钥?,定义:将秘密信息隐藏在其余信息中 举例 隐型墨水 字符格式转换 图像隐藏 信息隐藏,古典密码学隐写术,字母对数字 A B C D E F G H I J K L M N O P 0 1 2 3 4 5 6 7 8 910 11 12 13 14 15 Q R S T U V W X Y Z 16 17 18 19 20 21 22 23 24 25 破解:8 11 14 21 4 24 14 20,代换密码,移位密码(Shift Cipher) ABCDEFGHI J KL MNO PQRS T U V WXYZ DEFGHI J KLMNOP QR
12、STUV WX Y Z ABC 破解:FDHVDUZDVDJUHDWVROGLHU 移位密码:令P=C=Z26 , 0K26,对于任意的x,y在Z26内,有: Ek(x)=(x+K)mod26, 以及 Dk(y)=(y-K) mod26。 称K是该加密方法的密钥。,代换密码,例:假设移位密码的密钥为K=11,明文为 We will meet at midnight. 首先将明文中的字母对应于其相应的整数,得到如下数字串: 22 4 22 8 11 11 12 4 4 19 0 19 12 8 3 13 8 6 7 19 然后将每一数都与11相加,再对其和取模26运算,可得: 15 7 19 2
13、2 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4 最后,再将其转换为相应的字母串,即得密文: HPHTWWXPPELEXTOYTRSE. 要对密文进行解密,只需执行相应的逆过程即可,Bob首先将密文转换为数字,再用每个数字减去11后取模26运算,最后将相应的数字再转换为字母可得明文。,移位密码,例 设有如下密文串JBCRCLQRWCRVNBJENBWRWN. 依次试验所有可能的解密密钥,可得如下不同字母串: iabqbkpqvbqumaidmavqvm hzapajopuaptlzhclzupul gyzozinotzoskygbkytotk fxynyh
14、mnsynrjxfajxsnsj ewxmxglmrxmqiweziwrmri dvwlwfklqwlphvdyhvqlqh cuvkvejkpvkogucxgupkpg btujudijoujnftbwftojof astitchintimesavesnine 至此,已得出有意义的明文,相应的密钥K=9。平均来看,使用上述方法计算明文只需试验26/213次即可。 上面的例子表明,一个密码体制安全的必要条件是能抵抗穷尽密钥搜索攻击,普通的做法是密钥空间必须足够大。但是,很大的密钥空间并不是保证密码体制安全的充分条件。,移位密码,a b cd ef g h i j k l mnopq r s t
15、 u vwxyz XNYAHPOGZQWBTSFLRCVMUEKJDI 请解密:MGZVYZLGHCMHJMYXS SFMNHAHYCDLMHA 代换密码的一个密钥刚好对应于26个英文字母的一种代换。所有可能的置换有26!种,这个数值超过4*1026次方,是一个很大的数。 因此,采用穷尽密钥搜索的攻击方法,即使使用计算机,也是计算上不可行的。但是,后面我们将看到,采用别的密码分析方法,代换密码可以很容易地被攻破。,代换密码,代换密码分析,元音字母用得较多,其中e、i较多;辅音中r、t使用较多 字母组合ere,er等 试分析下列密文: BMZALXLBYJBVALXZLRZBJHGKLJXSVZ
16、BZ B5 Z4 A2 L5 X3 J3 V2 BMZALXLBYJBVALXZLRZBJHGKLJXSVZBZ If there is cipher text I can decrypt it 密码表: ABCDEFG H IJKLMN OPQ RST UVWXYZ H IJ KLMN ABCDEFG UVWXYZ OPQRST,代换密码分析,对明文的所有字母都用一个固定的明文字母表到密文字母表的映射 单表代换密码 不能非常有效地抵抗密码攻击,因为语言的特征仍能从密文中提取出来 移位密码、替换密码、仿射密码 多表代换密码 以一系列(两个以上)代换表依次对明文消息的字母进行代换的加密方法 若待换序列是非周期的无限序列,则相应的密码称为非周期多表代换密码。这类密码,对每个明文字母都采用不同的代换表(或密钥)进行加密,称作一次一密密码(One-time pad cipher),这是一种理论上唯一不可破的密码 Vigenre、轮转机(Rotor machine)等,