密码学中的 Vernam 密码
Vernam Cipher是一种加密字母文本的方法。它是将纯文本转换为密文的转置技术之一。在这种机制中,我们为纯文本的每个字符分配一个数字,例如 (a = 0, b = 1, c = 2, ... z = 25)。
取钥匙方法:
在 Vernam 密码算法中,我们使用一个密钥来加密明文,其长度应该等于明文的长度。
加密演算法:
- 按字母顺序为纯文本的每个字符和键分配一个数字。
- 添加数字(对应的纯文本字符数和关键字符数)。
- 如果添加的数字大于 26,则从 26 中减去该数字,如果不是,则保留它。
例子:
Plain-Text: RAMSWARUPK
Key: RANCHOBABA
现在根据我们的加密算法,我们为明文和密钥的每个字符分配一个数字。
PT: R A M S W A R U P K
NO: 17 0 12 18 22 0 17 20 15 10
KEY: R A N C H O B A B A
NO: 17 0 13 2 7 14 1 0 1 0
现在将Plain-Text和Key的个数相加,在做加减运算(如果需要)之后,我们将得到对应的Cipher-Text字符个数。
CT-NO: 34 0 25 20 29 14 18 20 16 10
在这种情况下,有两个数字大于 26,因此我们必须从中减去 26,在应用减法运算后,新的密文字符数如下:
CT-NO: 8 0 25 20 3 14 18 20 16 10
新密文是在从数字中得到对应的字符之后。
CIPHER-TEXT: I A Z U D O S U Q K
笔记:
对于解密应用加密的正好相反的过程。