第2章 密码学概论(1)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
基本概念
明文和密文之间的变换记为 C=E(P)及P=D(C) 及 其中, C 表示密文,E 为加密算法 P 表示明文,D 为解密算法 我们要求密码系统满足: P=D(E(P))
8
基本概念
需要使用密钥加密的加密算法,记为: C=E(K,P) 即密文消息同时依赖于初始明文和密钥的值。 实际上,E是一组加密算法,而密钥则用于选择 其中特定的一个算法 加密与解密的密钥相同(对称加密): P=D(K,E(K,P)) 加密与解密的密钥不同(公钥加密): P=D(KD,E(KE,P))
英语中字母出现的频率
37
密码分析学中的应用
单表替换不改变统计特性 由阿拉伯科学家在9世纪发现这个规律 计算密文中每个字母出现的频率 然后与已知的统计特性相比较 对于Caesar密码来说寻找最常出现的和最不 常出现的字母
最常出现: E,T,R,N,I,O,A,S 最不常出现: JK, X-Z
对于单表替换要确认每个字母的对应关系
5
基本概念
明文( Plaintext):消息的初始形式 密文( Ciphertext):加密后的形式 加密算法(Encryption Algorithm):对明文进行 加密操作时所采用的一组规则 解密算法(Decryption Algorithm):接收者对密 文解密所采用的一组规则 用某种方法伪装消息以隐藏它的内容的过程 称为加密。 把密文转变为明文的过程称为解密。 解密。
2.1 古典密码体制
替代 置换 转轮机
24
替代
明文的字母由其它字母或数字或符号代替 若该明文被视为一个比特序列,则替代涉及到用密 文比特模式代替明文比特模式 使用替代 替代技术的加密技术 替代 Caesar(恺撒)密码 Playfair密码 Vigenere(维吉尼尔)密码 Hill密码 转轮机
16
密码编码学
特征:
所使用的加密运算
代换(替换) / 置换
密钥数量
单密钥或私钥 /两个密钥或公钥
处理明文的方法
分组 / 流
17
密码编码学与密码分析学
密码编码学的主要目的是保持明文(或密钥,或 明文和密钥)的秘密以防止偷听者(也叫对手、攻击 者、截取者、入侵者、敌手或干脆称为敌人)知晓。 密码分析学是在不知道密钥的情况下恢复出明文 的科学。成功的密码分析能恢复出消息的明文或密钥。 密码分析也可以发现密码体制的弱点,最终得到上述 结果。
26
Caesar Cipher
定义替换如下:
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
给每个字母赋一个数 a b c d e f g h 0 1 2 3 4 5 6 7 n o p q r s t 13 14 15 16 17 18 19 则 Caesar 密码如下进行:
C = E(p) = (p + k) mod 26 p = D(C) = (C – k) mod 26
其中,K表示密钥,1≤K ≤ 25,需发送方和接收方事先 协商好。
28
恺撒密码的特点
单字母密码(简单替换技术) 简单,便于记忆 缺点:结构过于简单,密码分析员只使用很 少的信息就可预言加密的整个结构
加密算法是公开的,大家都知道,所以安全 性取决于密钥 有安全的通道发放密钥 15
明文处理方式
分组密码(block cipher) 将明文分成固定长度的组,用同一密钥和算 法对每一块加密,输出也是固定长度的密文。 流密码(stream cipher) 又称序列密码。序列密码每次加密一位或一 字节的明文。
改进:单表代换密码
不仅仅将字母移位,对字母进行无规则的重 对字母进行 新排列 因此密钥是 26 个字母长 明文: 明文 abcdefghijklmnopqrstuvwxyz 密文: 密文 DKVQFIBJWPESCXHTMYAUOLRGZN 明文文本: if we wish to replace letters 密文文本: WI RF RWAJ UH YFTSDVF SFUUFYA
9
密码编码系统分类
保密内容 密钥数量 明文处理的方式
10
保密内容
受限制的(restricted)算法:算法的保密性 基于保持算法的秘密 基于密钥(key-based)的算法:算法的保密 性基于对密钥的保密
11
密钥数量
对称密码算法( 对称密码算法(symmetric cipher) 加密密钥和解密密钥相同,或实质上等同,即从 一个易于推出另一个 又称秘密密钥算法或单密钥算法 非对称密码算法( 非对称密码算法(asymmetric cipher) 加密密钥和解密密钥不相同,从一个很难推出另 一个 又称公开密钥算法(public-key cipher) 公开密钥算法用一个密钥进行加密,而用另一个 进行解密 其中的加密密钥可以公开,又称公开密钥 (public key),简称公钥;解密密钥必须保密,又 12 称私人密钥(private key),简称私钥。
32
单表代换密码
任意替换:26!或者大于4×1026 种可
能的密钥,比DES的密钥空间要大 10个数量级,能够抵挡穷举攻击。 基于语言统计规律仍可破译
33
Brute Force Search穷举攻击
与密钥的长度正比 假设知道或者能够辨认是否明文
34
单表代换密码安全性
共有 26! = 4 x 10^26 密钥 • 有这么多密钥应该安全了吧! • !!!WRONG!!! • 问题是人类语言的统计特性
《日暮苍山兰舟小》 日暮苍山兰舟小》 日暮苍山兰舟小 本无落霞缀清泉 去年叶落缘分定 死水微漾人却亡
该诗利用一整段文本信息中单个字的组合来表达隐藏的信息。 该诗利用一整段文本信息中单个字的组合来表达隐藏的信息。 2
隐写术
关于信息隐藏,即不让计划的接收者之外的任何 人知道信息的传递事件(而不只是信息的内容)的一 门技巧与科学。 一般来说,隐写的信息看起来像一些其他的东 西,例如一张购物清单,一篇文章,一篇图画或者其 他“伪装”(cover)的消息。 隐写技术:针刺、不可见墨水、字符标记等 隐写技术:针刺、不可见墨水、 优点:可以应用于通信双方宁愿他们的秘密通信被 发现而不愿其中的重要内容丢失的情况 缺点:需要额外付出来隐藏相对较少的信息 3
第2章 密码学概论
古典密码体制 对称密码体制 公钥密码体制
1
隐写术
一种简单却很耗时的隐写术可由一段明显无伤大雅文 本的字词重新排列而成。例如, 本的字词重新排列而成。例如,在一整段文本中用每个 单词的第一个字母连起来就可以拼出隐藏的消息。 单词的第一个字母连起来就可以拼出隐藏的消息。 隐写术可以隐藏信息的存在
35
语言的冗余特性
人类语言是冗余的 例如 "th lrd s m shphrd shll nt wnt" 每个字母被使用的频率不相同
在英语中 e 是被用的最多的字母 接着是 T,R,N,I,O,A,S 其他的字母用的很少 。例如 Z,J,K,Q,X
有单个字母,两个字母和三个字母出现的频 率表 36
25
Caesar 密码
已知最早的代换加密算法,由 Julius Caesar 发明,首先用于军事中 一种简单的移位密码 移位密码,把字母表中的每个字 移位密码 母用该字母后面的第3个字母来代替,即 Ci=E(Pi)=Pi+3 例子:
meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB
i j k l m 8 9 10 11 12 u v w x y z 20 21 22 23 24 25
C = E(p) = (p + 3) mod 26 p = D(C) = (C – 3) mod 26
27
Caesar Cipher
为了改进Caesar密码系统,通过加进一个附加的秘密, 使得攻击者必须付出比接收方大得多的工作量才能解密。 通用的Caesar加密算法表示为:
对称密码
又名: 传统加密 / 单钥加密/私钥加密 发送方和接收方共享同一个密钥 几乎所有的经典加密算法都是这种类型 在70年代公钥密码体制被发明之前这是唯一 的密码类型
13
对称密码简化模型
14
对称密码要求
对称密码要安全使用有两个要求:
加密算法足够强 密钥仅为发送者和接收者知道 Y = EK(X) X = DK(Y)
6
基本概念
密钥(Key):加密和解密算法的操作通常都 是在一组密钥的控制下进行的,分别称为加 密密钥(Encryption Key) 和解密密钥 (Decryption Key) 明文:用P表示且P为字符序列, P=[P1,P2,…,Pn] 密文:用C表示且C为字符序列 C=[C1,C2,…,Cn]
基本概念
加密是迄今为止在网络和通信安全中最重要的安 全技术之一。分为两类: 对称加密 非对称加密(又称公钥加密) 网络通信的双方称为: 发送者 接收者 发送者发送消息给接收者的时候,希望所发送的 消息能安全到达接收者手里,并且确信窃听者不能 阅读发送的消息。
4
基本概念
密码学(Cryptology):是数学的一个分支,研究信息 系统安全保密的科学。 密码编码学(Cryptography):主要研究对信息进行编 码,实现对信息的保密。 密码分析学(Cryptoanalytics):主要研究加密消息的 破译或消息的伪造。
21
常用密码分析类型
(自适应 选择明文) 选择明文) 还有两类密码分析攻击方法:选择密钥攻击和软磨硬泡攻击 唯密文攻击是困难的攻击,因为密码分析者可利用的信息最少
22
更多定义
对密码设计者而言,被设计的加密算法一般要能经 受得住已知明文攻击。 无条件安全:无论提供的密文有多少,如果由一个 加密方案产生的密文中包含的信息不足以唯一地决 定对应的明文,那加密方案就是无条件安全的。 除了一次一密(One Time Pad)的方案外,没有无 条件安全的加密算法 对密码分析者而言,必须遵循的基本准则: 一、破译密码的成本不能超过被加密信息的价值 二、破译密码的时间不能超过被加密信息有用的生命 23 周期
18
密码分析
试图破译单条消息 试图识别加密的消息格式,以便借助直接的 解密算法破译后续的消息 试图找到加密算法中的普遍缺陷(无须截取 任何消息)
19
密码分析的条件与工具
已知加密算法 截取到明文、密文中已知或推测的数据项 数学或统计工具和技术 语言特性 计算机 技巧与运气
20
攻击传统密码方法
穷举攻击 试遍所有密钥直到有一个合法的密钥能够 把密文还原成为明文,就是穷举攻击。 密码分析学 对密码进行分析的尝试称为攻击。
可以使用最常出现的那些单个字母,双字母对和 38 三字母对。
解密例子
给定密文: UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOP DZSZUFPOMBZWPFUPZHMDJUDTMOHMQ 计算每个字母出现的相对频率 猜测 P & Z 对应 e & t 假设 ZW 是 th ,因此 ZWP 就是the 继续试验可以得到下面的明文: it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow
29
分析Caesar Cipher
仅有26种可能替换
A 映射到 A,B,…,Z
可以循环试验 使用 brute force search(穷举攻击或蛮力测 试) 仅仅需要能认识明文即可 例如. 解密 ciphertext "GCUA VQ DTGCM"ຫໍສະໝຸດ Baidu
30
用穷举攻击, 例:用穷举攻击,直接对所有 个可能的密钥进行尝试 用穷举攻击 直接对所有25个可能的密钥进行尝试 PHHW PH DIWHU WKH WRJD SDUWB 1 2 3 4 5 6 7 8 9 …… 25 qiix qi ejxiv xli xske tevxc oggv nffu meet ldds og nf me ld chvgt bgufs after zesdq vjg uif the sgd vqic uphb toga snfz rctva qbsuz party ozqsx
基本概念
明文和密文之间的变换记为 C=E(P)及P=D(C) 及 其中, C 表示密文,E 为加密算法 P 表示明文,D 为解密算法 我们要求密码系统满足: P=D(E(P))
8
基本概念
需要使用密钥加密的加密算法,记为: C=E(K,P) 即密文消息同时依赖于初始明文和密钥的值。 实际上,E是一组加密算法,而密钥则用于选择 其中特定的一个算法 加密与解密的密钥相同(对称加密): P=D(K,E(K,P)) 加密与解密的密钥不同(公钥加密): P=D(KD,E(KE,P))
英语中字母出现的频率
37
密码分析学中的应用
单表替换不改变统计特性 由阿拉伯科学家在9世纪发现这个规律 计算密文中每个字母出现的频率 然后与已知的统计特性相比较 对于Caesar密码来说寻找最常出现的和最不 常出现的字母
最常出现: E,T,R,N,I,O,A,S 最不常出现: JK, X-Z
对于单表替换要确认每个字母的对应关系
5
基本概念
明文( Plaintext):消息的初始形式 密文( Ciphertext):加密后的形式 加密算法(Encryption Algorithm):对明文进行 加密操作时所采用的一组规则 解密算法(Decryption Algorithm):接收者对密 文解密所采用的一组规则 用某种方法伪装消息以隐藏它的内容的过程 称为加密。 把密文转变为明文的过程称为解密。 解密。
2.1 古典密码体制
替代 置换 转轮机
24
替代
明文的字母由其它字母或数字或符号代替 若该明文被视为一个比特序列,则替代涉及到用密 文比特模式代替明文比特模式 使用替代 替代技术的加密技术 替代 Caesar(恺撒)密码 Playfair密码 Vigenere(维吉尼尔)密码 Hill密码 转轮机
16
密码编码学
特征:
所使用的加密运算
代换(替换) / 置换
密钥数量
单密钥或私钥 /两个密钥或公钥
处理明文的方法
分组 / 流
17
密码编码学与密码分析学
密码编码学的主要目的是保持明文(或密钥,或 明文和密钥)的秘密以防止偷听者(也叫对手、攻击 者、截取者、入侵者、敌手或干脆称为敌人)知晓。 密码分析学是在不知道密钥的情况下恢复出明文 的科学。成功的密码分析能恢复出消息的明文或密钥。 密码分析也可以发现密码体制的弱点,最终得到上述 结果。
26
Caesar Cipher
定义替换如下:
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
给每个字母赋一个数 a b c d e f g h 0 1 2 3 4 5 6 7 n o p q r s t 13 14 15 16 17 18 19 则 Caesar 密码如下进行:
C = E(p) = (p + k) mod 26 p = D(C) = (C – k) mod 26
其中,K表示密钥,1≤K ≤ 25,需发送方和接收方事先 协商好。
28
恺撒密码的特点
单字母密码(简单替换技术) 简单,便于记忆 缺点:结构过于简单,密码分析员只使用很 少的信息就可预言加密的整个结构
加密算法是公开的,大家都知道,所以安全 性取决于密钥 有安全的通道发放密钥 15
明文处理方式
分组密码(block cipher) 将明文分成固定长度的组,用同一密钥和算 法对每一块加密,输出也是固定长度的密文。 流密码(stream cipher) 又称序列密码。序列密码每次加密一位或一 字节的明文。
改进:单表代换密码
不仅仅将字母移位,对字母进行无规则的重 对字母进行 新排列 因此密钥是 26 个字母长 明文: 明文 abcdefghijklmnopqrstuvwxyz 密文: 密文 DKVQFIBJWPESCXHTMYAUOLRGZN 明文文本: if we wish to replace letters 密文文本: WI RF RWAJ UH YFTSDVF SFUUFYA
9
密码编码系统分类
保密内容 密钥数量 明文处理的方式
10
保密内容
受限制的(restricted)算法:算法的保密性 基于保持算法的秘密 基于密钥(key-based)的算法:算法的保密 性基于对密钥的保密
11
密钥数量
对称密码算法( 对称密码算法(symmetric cipher) 加密密钥和解密密钥相同,或实质上等同,即从 一个易于推出另一个 又称秘密密钥算法或单密钥算法 非对称密码算法( 非对称密码算法(asymmetric cipher) 加密密钥和解密密钥不相同,从一个很难推出另 一个 又称公开密钥算法(public-key cipher) 公开密钥算法用一个密钥进行加密,而用另一个 进行解密 其中的加密密钥可以公开,又称公开密钥 (public key),简称公钥;解密密钥必须保密,又 12 称私人密钥(private key),简称私钥。
32
单表代换密码
任意替换:26!或者大于4×1026 种可
能的密钥,比DES的密钥空间要大 10个数量级,能够抵挡穷举攻击。 基于语言统计规律仍可破译
33
Brute Force Search穷举攻击
与密钥的长度正比 假设知道或者能够辨认是否明文
34
单表代换密码安全性
共有 26! = 4 x 10^26 密钥 • 有这么多密钥应该安全了吧! • !!!WRONG!!! • 问题是人类语言的统计特性
《日暮苍山兰舟小》 日暮苍山兰舟小》 日暮苍山兰舟小 本无落霞缀清泉 去年叶落缘分定 死水微漾人却亡
该诗利用一整段文本信息中单个字的组合来表达隐藏的信息。 该诗利用一整段文本信息中单个字的组合来表达隐藏的信息。 2
隐写术
关于信息隐藏,即不让计划的接收者之外的任何 人知道信息的传递事件(而不只是信息的内容)的一 门技巧与科学。 一般来说,隐写的信息看起来像一些其他的东 西,例如一张购物清单,一篇文章,一篇图画或者其 他“伪装”(cover)的消息。 隐写技术:针刺、不可见墨水、字符标记等 隐写技术:针刺、不可见墨水、 优点:可以应用于通信双方宁愿他们的秘密通信被 发现而不愿其中的重要内容丢失的情况 缺点:需要额外付出来隐藏相对较少的信息 3
第2章 密码学概论
古典密码体制 对称密码体制 公钥密码体制
1
隐写术
一种简单却很耗时的隐写术可由一段明显无伤大雅文 本的字词重新排列而成。例如, 本的字词重新排列而成。例如,在一整段文本中用每个 单词的第一个字母连起来就可以拼出隐藏的消息。 单词的第一个字母连起来就可以拼出隐藏的消息。 隐写术可以隐藏信息的存在
35
语言的冗余特性
人类语言是冗余的 例如 "th lrd s m shphrd shll nt wnt" 每个字母被使用的频率不相同
在英语中 e 是被用的最多的字母 接着是 T,R,N,I,O,A,S 其他的字母用的很少 。例如 Z,J,K,Q,X
有单个字母,两个字母和三个字母出现的频 率表 36
25
Caesar 密码
已知最早的代换加密算法,由 Julius Caesar 发明,首先用于军事中 一种简单的移位密码 移位密码,把字母表中的每个字 移位密码 母用该字母后面的第3个字母来代替,即 Ci=E(Pi)=Pi+3 例子:
meet me after the toga party PHHW PH DIWHU WKH WRJD SDUWB
i j k l m 8 9 10 11 12 u v w x y z 20 21 22 23 24 25
C = E(p) = (p + 3) mod 26 p = D(C) = (C – 3) mod 26
27
Caesar Cipher
为了改进Caesar密码系统,通过加进一个附加的秘密, 使得攻击者必须付出比接收方大得多的工作量才能解密。 通用的Caesar加密算法表示为:
对称密码
又名: 传统加密 / 单钥加密/私钥加密 发送方和接收方共享同一个密钥 几乎所有的经典加密算法都是这种类型 在70年代公钥密码体制被发明之前这是唯一 的密码类型
13
对称密码简化模型
14
对称密码要求
对称密码要安全使用有两个要求:
加密算法足够强 密钥仅为发送者和接收者知道 Y = EK(X) X = DK(Y)
6
基本概念
密钥(Key):加密和解密算法的操作通常都 是在一组密钥的控制下进行的,分别称为加 密密钥(Encryption Key) 和解密密钥 (Decryption Key) 明文:用P表示且P为字符序列, P=[P1,P2,…,Pn] 密文:用C表示且C为字符序列 C=[C1,C2,…,Cn]
基本概念
加密是迄今为止在网络和通信安全中最重要的安 全技术之一。分为两类: 对称加密 非对称加密(又称公钥加密) 网络通信的双方称为: 发送者 接收者 发送者发送消息给接收者的时候,希望所发送的 消息能安全到达接收者手里,并且确信窃听者不能 阅读发送的消息。
4
基本概念
密码学(Cryptology):是数学的一个分支,研究信息 系统安全保密的科学。 密码编码学(Cryptography):主要研究对信息进行编 码,实现对信息的保密。 密码分析学(Cryptoanalytics):主要研究加密消息的 破译或消息的伪造。
21
常用密码分析类型
(自适应 选择明文) 选择明文) 还有两类密码分析攻击方法:选择密钥攻击和软磨硬泡攻击 唯密文攻击是困难的攻击,因为密码分析者可利用的信息最少
22
更多定义
对密码设计者而言,被设计的加密算法一般要能经 受得住已知明文攻击。 无条件安全:无论提供的密文有多少,如果由一个 加密方案产生的密文中包含的信息不足以唯一地决 定对应的明文,那加密方案就是无条件安全的。 除了一次一密(One Time Pad)的方案外,没有无 条件安全的加密算法 对密码分析者而言,必须遵循的基本准则: 一、破译密码的成本不能超过被加密信息的价值 二、破译密码的时间不能超过被加密信息有用的生命 23 周期
18
密码分析
试图破译单条消息 试图识别加密的消息格式,以便借助直接的 解密算法破译后续的消息 试图找到加密算法中的普遍缺陷(无须截取 任何消息)
19
密码分析的条件与工具
已知加密算法 截取到明文、密文中已知或推测的数据项 数学或统计工具和技术 语言特性 计算机 技巧与运气
20
攻击传统密码方法
穷举攻击 试遍所有密钥直到有一个合法的密钥能够 把密文还原成为明文,就是穷举攻击。 密码分析学 对密码进行分析的尝试称为攻击。
可以使用最常出现的那些单个字母,双字母对和 38 三字母对。
解密例子
给定密文: UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOP DZSZUFPOMBZWPFUPZHMDJUDTMOHMQ 计算每个字母出现的相对频率 猜测 P & Z 对应 e & t 假设 ZW 是 th ,因此 ZWP 就是the 继续试验可以得到下面的明文: it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow
29
分析Caesar Cipher
仅有26种可能替换
A 映射到 A,B,…,Z
可以循环试验 使用 brute force search(穷举攻击或蛮力测 试) 仅仅需要能认识明文即可 例如. 解密 ciphertext "GCUA VQ DTGCM"ຫໍສະໝຸດ Baidu
30
用穷举攻击, 例:用穷举攻击,直接对所有 个可能的密钥进行尝试 用穷举攻击 直接对所有25个可能的密钥进行尝试 PHHW PH DIWHU WKH WRJD SDUWB 1 2 3 4 5 6 7 8 9 …… 25 qiix qi ejxiv xli xske tevxc oggv nffu meet ldds og nf me ld chvgt bgufs after zesdq vjg uif the sgd vqic uphb toga snfz rctva qbsuz party ozqsx