《{管理信息化信息技术}讲义03信息安全技术第三讲密码学概论》由会员分享,可在线阅读,更多相关《{管理信息化信息技术}讲义03信息安全技术第三讲密码学概论(34页珍藏版)》请在金锄头文库上搜索。
1、信 息 安 全 技 术,万 涛 华东交通大学信息工程学院 E-mail: Tel:13807097997 QQ:471387802,第3讲 密码学概论,3.1 密码学的基本概念 3.2 代替密码 3.3 换位密码 3.4 一次一密方案 3.5 密码分析,加密通信的模型:,3.1 密码学的基本概念,2020/7/30,3,离散数学,密码体制定义: 它是一个五元组(P, C, K, E, D)满足条件: (1)P是可能明文的有限集;(明文空间) (2)C是可能密文的有限集;(密文空间) (3)K是一切可能密钥构成的有限集;(密钥空间) (4)任意 ,有一个加密算法 和相应的解密 算法 ,使 和 分
2、别为加密、 解密函数,且满足 。,3.1 密码学的基本概念,2020/7/30,4,离散数学,注:1、Alice要将明文在不安全信道上发给Bob, 设X=x1 x2 xn ,其中 ,Alice用加密算法ek作 yi=ek(xi) (1 in),结果的密文是 Y=y1y2.yn 在信道上发送,Bob收到后解密:xi = dk( yi ) 得到明文X=x1 x2 xn 。 2、加密函数ek必须是单射函数,就是一对一的函数。 3、若P=C,则ek为一个置换。 4、好的密钥算法是唯密钥而保密的。 5、若Alice和Bob在一次通信中使用相同的密钥,则这个 加密体制为对称的,否则称为非对称的。,3.1
3、密码学的基本概念,2020/7/30,5,离散数学,消息被称为明文,用某种方法伪装消息以隐藏它的内容的 过程称为加密(Encryption),被加密的消息称为密文,而把 密文转变为明文的过程称为解密(Decryption)。 使消息保密的技术和科学叫做密码编码学(Cryptography), 从事此行的叫密码编码者(Cryptographer),密码分析者是 从事密码分析的专业人员,密码分析学(Cryptanalysis) 就是破译密文的科学和技术,即揭穿伪装。 密码学(Cryptology)作为数学的一个分支,包括密码编码 学和密码分析学两部分,密码编码技术和密码分析技术是相互 依存、相互支
4、持、密不可分的两个方面。,3.1 密码学的基本概念,2020/7/30,6,离散数学,密码学除了提供机密性外,还有以下作用: 1、鉴别:消息的接收者能够确认消息的来源,入侵者不可能 伪装成他人。 2、完整性:消息的接收者能够验证在传送过程中消息没有被 修改,入侵者不可能用假消息代替合法消息。 3、抗抵赖:发送者事后不可能虚假地否认他发送的消息。 密码算法(Algorithm)也叫密码(Cipher),是用于 加密和解密的数学函数。通常情况下,有两个相关的函数, 一个用作加密,另一个用作解密。 密钥用K表示。K可以是很多数值里的任意值。密钥 K的 可能值的范围叫做密钥空间。加密和解密运算都用它。
5、,3.1 密码学的基本概念,2020/7/30,7,离散数学,密码体制在原理上分两类:单钥体制和双钥(公钥)体制。 单钥密码体制中,收发双方使用同一密钥,系统的保密性 主要取决于密钥的安全性。系统的密钥管理、传输和分配是一 个重要且十分复杂的问题。单钥密码算法按照对明文的处理方 式分为:分组密码算法和序列密码算法。体制的缺点:密钥数 目大,密钥分配困难,无法实现不可否认服务。 公钥密码体制中,加密密钥Ke是公开的,解密密钥Kd 必须保密。公钥体制的密钥产生、分配和管理相对简单,尤 适用于计算机网络系统中。公钥体制的特点:实现信息公开 加密,实现不可否认服务。体制的缺点:加解密运算复杂其 速度较
6、慢。,3.1 密码学的基本概念,2020/7/30,8,离散数学,代替密码也称替换密码,是使用替换法进行加密所产生的 密码。替换密码就是明文中每一个字符被替换成密文中的另外 一个字符,替换后的各字母保持原来位置。接收者对密文进行 逆替换就恢复出明文来。 在替换密码加密体制中,使用了密钥字母表。它可以由 明文字母表构成,也可以由多个字母表构成。 在传统密码学中,有四种类型的代替密码: 1、单表(简单)替换密码:就是明文的一个字符用相应的 一个密文字符替代。加密过程中是从明文字母表到密文字母表 的一一映射。例:恺撒(Caesar)密码。,3.2 代替密码,2020/7/30,9,离散数学,2、同音
7、(多名码)替换密码:它与简单替代密码系统相似, 唯一的不同是单个字符明文可以映射成密文的几个字符之一, 同音替代的密文并不唯一。 3、多字母组替换密码:字符块被成组加密,例如“ABA”可能 对应“RTQ”,ABB可能对应“SLL”等。例:Playfair密码。 4、多表替换密码:由多个单字母密码构成,每个密钥加密 对应位置的明文。 例:维吉尼亚密码。,3.2 代替密码,2020/7/30,10,离散数学,一、单表替换密码 1、恺撒(Caesar)密码 凯撒密码,又叫循环移位密码。它的加密方法就是把明文 中所有字母都用它右边的第k个字母替代,并认为Z后边 又是A。这种映射关系表示为如下函数: F
8、(a)=(a+k) mod 26 其中:a表示明文字母;k为密钥。,3.2 代替密码,2020/7/30,11,离散数学,设k3,则有 明文: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 对于明文Pcomputer systems 有密文Cfrpsxwhu vbvwhpv 显然,由密文C恢复明文非常容易,只要知道密钥K,就可 构造一张映射表。其加密和解密均可根据此映射表进行。 凯撤密码的优点是密钥简单易记。但它的密文与明文的对应
9、关系过于简单,故安全性很差。,3.2 代替密码,2020/7/30,12,离散数学,2、密钥短语密码 选择一组有助于记忆的英文字符串作为密钥,从中筛选无 重复的字符按原顺序记下字符串,写在明文字母表下,然后将 未出现在字符串的字母按顺序依次写在密钥短语后。 如选择密钥短语network security 则有明文: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 密文:n e t w o r k s c u i y a b d f g h j l m p q v x z 若明文为data access 则密文为wnln nttojj,3.2
10、 代替密码,2020/7/30,13,离散数学,二、多表替换密码 多表替换密码是一种用多组替换表依次对明文消息的字母 进行替换的加密方法。 维吉尼亚(Vigenere)密码是一种常用的多表替换密码。 这种替换法是循环的使用有限个字母来实现替换的一种方法。 这种加密的加密表是以字母表移位为基础把26个英文字母 进行循环移位,排列在一起,形成2626的方阵。该方阵 被称为维吉尼亚表。采用的算法为 f (pi) = (pi + ki ) mod 26 优点:能抵抗简单的字母频率分析攻击。,3.2 代替密码,2020/7/30,14,离散数学,Vigenere密码表 ABCDEFGHIJKLMNOPQ
11、RSTUVWXYZ A ABCDEFGHIJKLMNOPQRSTUVWXYZ B BCDEFGHIJKLMNOPQRSTUVWXYZA C CDEFGHIJKLMNOPQRSTUVWXYZAB O OPQRSTUVWXYZABCDEFGHIJKLMN Y YZABCDEFGHIJKLMNOPQRSTUVWX Z ZABCDEFGHIJKLMNOPQRSTUVWXY,3.2 代替密码,2020/7/30,15,离散数学,加密过程: 以明文字母选择列,以密钥字母选择行,两者的交点就是 加密生成的密文。 解密过程: 以密钥字母选择行,从中找到密文字母,密文字母所在列 的列名即为明文字母。 例:以yo
12、ur为密钥,加密明文how are you 明文P = h o w a r e y o u 密钥K= y o u r y o u r y 密文C= f c q r p s s f s,3.2 代替密码,2020/7/30,16,离散数学,三、多表替换密码 多字母替换密码每次加密一组(两个以上)字母串。 Playfair密码为此类密码,密钥由25个英文字母(j与i相同) 组成的5阶方阵。密钥方阵P导出取决于给定密钥,重复不写, 余下按字母顺序填充。 明文划分如下:将明文字母串按两个字母一组进行分组, 每组中的两个字母不同。每一对明文字母 m1和m2,对应的 密文为c1和c2。,3.2 代替密码,
13、2020/7/30,17,离散数学,每一对明文字母 m1和m2,按下面的规则进行加密。 (1)若m1和m2在P的同一行,则密文c1和c2分别是m1和m2 右边的字母。第一列看作最后一列的右边。 (2)若m1和m2在P的同一列,则密文c1和c2分别是m1和m2 下边的字母。第一行看作最后一行的下边。 (3)若m1和m2在P的不同行、不同列,则密文c1和c2是 m1和m2确定的长方形的另两个顶点的字母。其中c1与m1 同行, c2与m2同行。 (4)若m1m2,则在m1和m2之间加一个无效字母(如x)。 (5)若明文字母为奇数个,则在末尾加一个无效字母。,3.2 代替密码,2020/7/30,18
14、,离散数学,例:以firewall security为密钥, 加密明文how are you。 由密钥导出密钥矩阵为 明文分组处理ho wa re yo ux 密文kh fu ew gk cz,3.2 代替密码,2020/7/30,19,离散数学,换位密码是采用换位法进行加密的。它把明文中的字母 重新排列,本身不变,但位置变了,换位密码是靠重新安排 字母的次序,而不是隐藏他们。 常见的换位密码主要有倒置法、列换位法、矩阵换位法。,3.3 换位密码,2020/7/30,20,离散数学,倒置法 (1)完全倒置法 把明文中的字母按顺序倒过来写,然后以固定长度的字母组 发送或记录。 明文:comput
15、er systems 密文:smet sysr etup moc (2)分组倒置法 把明文中的字母按固定长度分组后,每组字母串倒过来写。 明文:computer systems 分组: comp uter syst ems 密文:pmoc retu tsys sme,3.3 换位密码,2020/7/30,21,离散数学,换位法 (1)列换位法 (2)矩阵换位法,3.3 换位密码,2020/7/30,22,离散数学,换位法 (1)列换位法 将明文字符分割成为若干个(例如5个)一行的分组,并按 一组后面跟着另一组的形式排好,形式如下: c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 最后,不全的组可以用不常使用的字符或a,b,c填满。 密文是取各列来产生的:c1c6c2c7c3c8.c4c9. c5c10.,3.3 换位密码,2020/7/30,23,离散数学,例:明文:WHAT YOU CAN LEARN FROM THIS BOOK 取密钥为5, 进行排列: W H A T Y O U C A N L E A R N F R O M T H I S B O O K X X X 则密文为:WOLFHOHUERIKACAOSXTARMBXYNNTOX,3.3 换位密码,2020/7/30,24,离散数学