传统加密技术:代替技术、置换技术

2. 传统加密技术

2.1 对称密码模型

  • 明文 Messege\X
  • 加密算法 Encrypt
  • 密钥 Key
  • 密文 Cyphertext\Y
  • 解密算法 Decrypt

\[c=E(k,m) \\ m=D(k,c)\\ D(k,E(k,m))=m\\ \]

2.1.1 密码编码学

密码编码学系统有以下3个独立的特征:

  1. 转换明文密文的运算类型

    代替和置换

  2. 所用的密钥数

  3. 处理明文的方法

2.1.2 密码分析学和穷举攻击

  • 密码分析学

    唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击、选择文本攻击

    • 无条件安全

      无论有多少可使用的密文,都不足以唯一地确定密文所对应的明文,则称该加密体制是无条件安全的。

    • 计算上安全的算法的标准

      ① 破译密码的代价超过密文信息的价值;

      ② 破译密码的时间超过密码的有效生命期。

  • 穷举攻击

2.2 代替技术

2.2.1 Caesar密码

  • 字母表移位
  • 密钥空间25
  • 明文易于识别

2.2.2 单表代替密码

  • 密文行是26个字母的任意替换
  • 密钥空间 26!
  • 明文可以被字频分析,词频破解

2.2.3 多字母代替算法 Playfair密码

  • 以一个密钥词(monarchy)以及剩余字母,填充矩阵格子,每两个字母加密一次,在相同的字母之间加一个填充字母。

    M O N A R
    C H Y B D
    E F G I/J K
    L P Q S T
    U V W X Z
  • 密钥空间26*26=676

  • 词频破解

2.2.4 多表代替密码 HIll密码

2.2.5 多表代替加密

  • Vigenere 密码

    • 密钥是一个密钥词的重复
    明文 H e l l o w o r l d
    密钥 a b c a b c a b c a
    密文 H f n l p y o s n d

    img

    • 即使有如此算力能够穷举出来也没办法根据明文信息判断哪一句是真正的明文,因为会有很多句都有具体的意义

    • 发现重复的密文序列,可以推算出密钥长度

  • Vernam 密码

    • 基于二进制数据而非字母,使用异或加密
    • 使用周期很大的循环密钥
    • 如果有足够的密文,使用已知明文序列,可以被破解

2.2.6 一次一密

  • 一次性密码本,明文长度和密钥一样长
  • 该方法完全安全
  • 密码太长,难以保护

2.3 置换技术

  • 加密方法

    1. 按对角线的顺序写出明文(栅栏技术)

      明文:meet me

      密文:

      m	e	m
      e	t	e
      
    2. 将消息一行一行地写成矩形块,把列的顺序打乱,列的次序就是密钥(置换密码)

      一次加密可以很容易单个字母词频攻击,可以多次加密,这样分析难度大得多

      密钥 2 1 3
      明文 M E E
      T M E
      密文 EM MT EE

2.4 转轮机

三轴转轮机

使用n个轮子密钥长度就是替换过n次的Vigenere密码

\[26^n \]

转轮机的可配置空间极大,每一次只需要调换极少数的位置,就相当于一张新的表,甚至还可以调整转轮机的转速

比如,右边转一圈,左边转两格

一轴转轮机相当于单表加密,三轴转轮机相当于3个不同的单表加密,并且周期为26,密钥空间26^3=17576,这是一个总的集合。
每一次的配置都相当于从这17576种可能中抽出不到百分之一的一小部分作为新的密码表,这就意味着除非加密的内容超过了17576的长度,否则每次加密都是新的一个子集。
因此,从某种意义上来说,转轮机实现了一次一密。

在二战期间,即使缴获了该转轮机,也无法一劳永逸地破密,因为只要稍微修改一下配置,加密的规则又会大不相同。

2.5 隐写术

应用于通信双方宁愿丢失,也不愿他们进行密码通信的事实被人发现

posted @ 2022-09-26 10:13  mykaneki  阅读(203)  评论(0编辑  收藏  举报