📜  将纯文本消息转换为密文

📅  最后修改于: 2022-05-13 01:57:02.314000             🧑  作者: Mango

将纯文本消息转换为密文

有两种主要方法可以修改纯文本以获得密文:替换技术和转置技术。

1.替换技术:
替换技术涉及用其他字母和符号替换字母。更直接的方式是替换明文的字符,并在其位置使用其他替代字符、数字和符号。

替代技术的类型:

  • 凯撒密码——
    在这种情况下,纯文本的所有字符都被具有相同模式的其他字符替换。例如,a 替换为 D,B 替换为 E。
  • 单字母密码 –
    凯撒密码的主要缺点是所有元素都用相同的技术替换,密码分析者很容易破解它。在单字母密码中,字符替换之间没有关系。因此,密码分析者更难破解它。比如a可以换成BZ,B可以换成A、CZ。
  • 谐音替换密码 –
    在这种技术中,一个纯文本字母表可以映射到多个密文字母表。这是具有最大安全性的最佳替代技术。例如,a 可以替换为 D 和 E。
  • Polygram 替换密码 –
    在这种情况下,不是替换一个字母,而是替换字母块。例如,
Polygram substitution
HELLO -------------------> YUQQW
HELL --------------------> TEUI 
  • 维吉尼密码——
    该技术使用多个字符键。每个密钥都加密一个字符。每个字符都替换为一个数字(A=0,B=1,…Z=25)。使用完所有密钥后,它们将被回收。对于加密,使用的公式:E=(M+K)mod 26
Plaintext:  ATTACKATDAWN
Key:        LEMONLEMONLE
Ciphertext: LXFOPVEFRNHR 

2.换位技巧:
在转置技术中,字符的身份保持不变,但它们的位置被改变以创建密文。

换位技术的类型:

(i) 围栏技术——它使用一个简单的算法:

  1. 将纯文本消息写为对角线序列。
  2. 将步骤 1 中写入的纯文本读取为行序列。
Plain text: come home
c       m        h        m
o       e        o        e
Cipher text : (READ ROW BY ROW) cmhmoeoe 

(ii) 简单的列转置技术——它使用一个简单的算法:

  1. 在预定义的列中逐行写入纯文本消息。
  2. 逐列阅读消息。它可以是任何顺序。
  3. 这样得到的消息是密文消息。
Plain text: come niki (suppose we have 4 columns )
C1    C2    C3    C4
c     o     m      e
n     i     k      i 

现在我们可以按任何列顺序阅读。让我们通过 3 -> 2 -> 4 ->1 来阅读它

Cipher text : mkoieicn 

(iii) Vernam Cipher——它使用一个简单的算法:

  1. 将每个纯文本字符视为递增序列中的数字(A=0,B=1,...Z=25)。
  2. 对键的每个字符执行相同的操作。
  3. 添加与纯文本字母和键对应的每个数字。
  4. 如果产生的总和大于 26,则从中减去 26。
  5. 将每个和的数字转换回字母表,它给出了我们的密文。
Plain text:  HOW ARE YOU
Key :  NCBTZQARX
 H   O   W   A   R   E   Y  O  U
 7  14  22   0  17   4   24 14 20  
+
 N   C   B   T   Z   Q   A  R  X 
 13  2   1   19  25  16  0  17 23
------------------------------------
 20   16  23  19  42  20  24 31  43

Subtract 26 if >26: 20   16  23  19  16  20  24  5  17
Cipher text :      U    Q   X   T    Q   U   Y  F   R
Cipher text : UQXTQUYFR 

每种技术的弱点

替换的情况下:

  1. 因为它是基于一个基于翻译表的字母替换另一个字母。一旦知道转换表,代码就会被破坏。
  2. 简短的单词、重复模式的单词以及常见的首尾字母都为猜测加密模式提供了线索。
  3. 加密算法必须是规则的,它才能成为算法并且密码学家能够记住它。不幸的是,规律性为密码分析者提供了打破替换的线索。

转置的情况下:

正如有特征字母频率一样,也有相邻字母对的特征模式,称为图表(2 个字母组)和三元组(3 个字母组)。字母组的出现频率可用于匹配已在密文中分离的明文字母。