三分密码加密与解密

明文
密文
123
1ABC
2DEF
3GHI
123
1JKL
2MNO
3PQR
123
1STU
2VWX
3YZ_

什么是三分密码?

三分密码(Trifid Cipher)是一种基于位置替换的密码算法,它是由法国密码学家Felix Delastelle于1901年提出的。与传统的替换密码不同,三分密码在加密过程中不仅依赖于字母的顺序,还采用了三个维度来分配字母的位置。它通过将字母表分为三组,并将明文字母转换为三维坐标(层、行、列)来加密文本。在加密过程中,三分密码将明文中的字母位置映射到三维坐标系,之后按照一定的规则将坐标重新排列,生成密文。由于三维坐标组合的复杂性,三分密码提供了比传统替换密码更高的安全性。

三分密码如何加密?

加密过程包括以下步骤:

  1. 准备明文:去除明文中的空格、标点符号等非字母字符。
  2. 确定三分密码字母表:三分密码使用一个标准的字母表,将字母按层、行、列的方式分配到一个三维坐标系。
  3. 将明文字母转换为三维坐标:每个字母的位置由其所在的层、行和列来表示。
  4. 将三维坐标整理到表格中:将每个字母的三维坐标按层、行、列,垂直写到表格中,即表格有三行:第一行表示字母所在的层,第二行表示字母所在的行,第三行表示字母所在的列。
  5. 按组大小分组:将整理好的表格,根据组大小按列进行分组。
  6. 每组横向重新组合坐标:将每组的坐标从上到下横向组合,每三个一组,重新得到新的坐标。
  7. 生成密文:根据重新排列后的坐标,在三维坐标系中找到对应的字母替换成密文。

示例

假设明文为 “HELLO WORLD”,字母表为26个英文字母和一个字符:“ABCDEFGHIJKLMNOPQRSTUVWXYZ_”,组大小为4。

1. 根据字母表生成三维坐标系

123
1ABC
2DEF
3GHI
123
1JKL
2MNO
3PQR
123
1STU
2VWX
3YZ_

2. 将字母转换为三维坐标

3. 将三维坐标整理到表格中

明文HELLOWORLD
层号1122232221
行号3211222312
列号2233323331

4. 按组大小分组

HELL
1122
3211
2233
OWOR
2322
2223
3233
LD
21
12
31

5. 每组横向重新组合坐标

6. 将坐标转为密文字母

因此,“HELLO WORLD”的加密结果为:“BQBRQNRRJP

三分密码如何解密?

解密过程是加密的反向操作,前 3 个步骤一致,第 4 步开始就不相同,具体差异如下:

示例

假设要对密文“BQBRQNRRJP”进行解密,组大小为4,字母表与加密时一致。

1. 获得密文字符的三维坐标

2. 将三维坐标按组大小横向整理到表格中

1122
3211
2233
2322
2223
3233
21
12
31

3. 按列重新组合坐标

4. 解密成明文

因此,“BQBRQNRRJP”的解密结果为:“HELLOWORLD”。

分享页面