密码学相关概念

密码学:密码编码学和密码分析学的统称。

密码编码学:变换消息使其保密的科学和艺术。

密码分析学:在未知**的情况下从密文推演出明文或**的艺术

密码学中的五元组

明文(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密码

换位

换位就是重新排列消息中的字母,以便打破密文的结构特性。

典型处理方法:将明文写在一张格纸上,然后再按列的方式读出结果。

为了增加变换的复杂性,可以设定读出列的不同次序(**)

古典密码

相关文章: