文章目录
密码学相关概念
密码学:密码编码学和密码分析学的统称。
密码编码学:变换消息使其保密的科学和艺术。
密码分析学:在未知**的情况下从密文推演出明文或**的艺术
密码学中的五元组
明文(plaintext, p):作为加密输入的原始信息(message, m),即消息的原始形式。大写的P表示明文集
密文(ciphertext, c):明文经加密变换后的结果,即消息被加密处理后的形式。大写的C表示密文集
**(key, k):是参与密码变换的参数。
加密算法(Encryption, E):是将明文变换为密文的变换函数,相应的变换过程称为加密,即编码的过程。
解密算法(Decryption, D):是将密文恢复为明文的变换函数,相应的变换过程称为解密
密码分析分类
密码分析的主要方式:唯密文攻击,已知明文攻击,选择明文攻击,选择密文攻击,选择文本攻击
密码系统
概念
-
用于加密与解密的系统;
-
是明文与加***作为加密变换的输入参数,经过一定的加密变换处理以后得到的输出密文,由它们所组成的这样一个系统。
• 密码学基础原则
密码学基于的基础原则是:如果很多聪明人都不能解决的问题,那么它可能不会很快得到解决。密码学中的许多方案都是在假设某一问题是困难的基础上构造的,在理论上并没有得到很严格的证明方案是安全的。
• 柯克霍夫原则
柯克霍夫在 1883 年提出的关于密码学的基本假设:对手知道加密和解密算法。也就是说,密码系统的安全性不能取决于不易改变的事物,而应取决于可随时改变的**。
如果一个密码算法的安全性取决于保密性,那么这个密码算法是十分不可靠的,密码算法被公开会导致所有依赖这个算法的系统崩溃。反而公开了加解密算法会使得算法在各种测试中变得更加健壮。
• 密码系统的安全条件
- 密码系统的安全性只寓于**,通常假定算法是公开的;
–这要求加密算法本身非常强壮。
• 破译算法分级
–全部破译(total break)
–全部推导(global deduction)
–实例推导(instance deduction)
–信息推导(information deduction)
• 衡量攻击方法的复杂性
–数据复杂性(data complexity)
–处理复杂性(processing complexity)
–存储需求(storage requirement)
• 评价密码体制安全性的三个途径
–计算安全性
计算所付出的各种成本比破译密码得到的收益要大得多。
–可证明安全性
经过严格的数学证明是安全的
–无条件安全性
无限算力也无法被**
• 一个密码系统实际安全的条件
–每一个加密函数和每一个解密函数都能有效地计算;
–破译者取得密文后将不能在有效的时间或成本范围内**出**或明文;
–一个密码系统是安全的必要条件:穷举**搜索将是不可行的。
• 密码系统的分类
安全模型
• 网络传输中的信息安全
–动态数据的安全
–网络通信安全模型
• 计算机系统中的信息安全
–静态数据的安全
–网络访问安全模型
古典密码
两种隐藏信息的方法:隐写术和密码编码学
隐写术
将消息隐藏在公开消息中并通过公开渠道来传送的方法。
例:藏头诗
优点
-
能够被某些人使用而不容易被发现他们间在进行秘密通信。
-
加密则很容易被发现谁与谁在进行秘密通信,这种发现本身可能具有某种意义或作用。
缺点
-
形式简单但构造费时,要求有大量的开销来隐藏相对较少的信息。
-
一旦该系统的构造方法被发现,就会变得完全没有价值。
-
隐写术一般无稳健性。
代替
• 代替就是明文中的字母由其他字母、数字或符号所取代的一种方法。
• 具体的代替方案称之为**。
代替密码体制
定义
例 Caesar 密码举例
设明文为:China,对应的数字为:2 7 8 13 0。
-
加密: C:对应着字母 F; h:对应着字母 K;
-
i:对应着字母 L; n:对应着字母 Q;
-
a:对应着字母 D。
所以明文“China”基于 Caesar 密码被加密为“FKLQD”。
-
解密: F:对应着 C; K:对应着 H;
-
L:对应着 I; Q:对应着 N;
-
D:对应着 A。
即“FKLQD”经 Caesar 密码解密恢复为“CHINA”(不区分大小写)。
Caesar 密码的特点
- 属于单字母简单替换密码
- 已知加密与解密算法: C=E§=(P+3)mod26、 P=D©=(C-3)mod26
- 明文语言集已知且易于识别
代替密码的实现方法分类
单表代替密码
-
使用**的单表代替加密
-
仿射加密
多表代替密码
-
Playfair 密码
-
Hill 密码
-
Vigenere 密码
使用**的单表代替加密
设**为:spectacular。
明文: ABCDEFGHIJKLMNOPQRSTUVWXYZ
对应的密文:spectaulrbdfghijkmnoqvwxyz
如果明文为“China”,则对应的密文为:elrhs
仿射加密
设**:k=(7, 3),7的-1次方(mod 26)=15
加密函数: y = f ( x ) = 7x + 3(mod 26)
解密函数: x = f −1 ( y ) = 15( y − 3)(mod 26)=15 y −19(mod 26)
设明文:China, 首先转换为数字:2,7,8,13,0
“China”经仿射加密变换成“RAHQD”。
单表代替密码的特点
**量很小,不能抵抗穷尽搜索攻击。
没有将明文字母出现的概率掩藏起来,很容易受到频率分析的攻击。
频率分析攻击
代表替换密码中,明文和密文是一一对应的关系
通过分析英语中常用单词和短语,句子的出现频率结合密文中单词的出现频率和位置进行推测
多表代替密码
playfair密码
vignere 密码
HILL密码
换位
换位就是重新排列消息中的字母,以便打破密文的结构特性。
典型处理方法:将明文写在一张格纸上,然后再按列的方式读出结果。
为了增加变换的复杂性,可以设定读出列的不同次序(**)