四方密码是一种对称式加密法,由法国人Felix Delastelle(1840年–1902年)发明。

这种方法将字母两个一组,然后采用多字母替换密码

四方密码用4个5×5的矩阵来加密。每个矩阵都有25个字母(通常会取消Q或将I,J视作同一样,或改进为6×6的矩阵,加入10个数字)。

首先选择两个英文字作密匙,例如example和keyword。对于每一个密匙,将重复出现的字母去除,即example要转成exampl,然后将每个字母顺序放入矩阵,再将馀下的字母顺序放入矩阵,便得出加密矩阵。

将这两个加密矩阵放在右上角和左下角,馀下的两个角放a到z顺序的矩阵:

a b c d e   E X A M P
f g h i j   L B C D F
k l m n o   G H I J K
p r s t u   N O R S T
v w x y z   U V W Y Z
 
K E Y W O   a b c d e
R D A B C   f g h i j
F G H I J   k l m n o
L M N P S   p r s t u
T U V X Z   v w x y z

加密的步骤:

  • 两个字母一组地分开讯息:(例如hello world变成he ll ow or ld)
  • 找出第一个字母在左上角矩阵的位置


 a b c d e   E X A M P
 f g h i j   L B C D F
 k l m n o   G H I J K
 p r s t u   N O R S T
 v w x y z   U V W Y Z
 K E Y W O   a b c d e
 R D A B C   f g h i j
 F G H I J   k l m n o
 L M N P S   p r s t u
 T U V X Z   v w x y z


同样道理,找第二个字母在右下角矩阵的位置:

 a b c d e   E X A M P
 f g h i j   L B C D F
 k l m n o   G H I J K
 p r s t u   N O R S T
 v w x y z   U V W Y Z
 K E Y W O   a b c d e
 R D A B C   f g h i j
 F G H I J   k l m n o
 L M N P S   p r s t u
 T U V X Z   v w x y z
  • 找右上角矩阵中,和第一个字母同row(横),第二个字母同column(直)的字母:
 a b c d e   E X A M P
 f g h i j   L B C D F
 k l m n o   G H I J K
 p r s t u   N O R S T
 v w x y z   U V W Y Z
 K E Y W O   a b c d e
 R D A B C   f g h i j
 F G H I J   k l m n o
 L M N P S   p r s t u
 T U V X Z   v w x y z


  • 找左下角矩阵中,和第一个字母同column(直) ,第二个字母同row(横)的字母:
 a b c d e   E X A M P
 f g h i j   L B C D F
 k l m n o   G H I J K
 p r s t u   N O R S T
 v w x y z   U V W Y Z
 K E Y W O   a b c d e
 R D A B C   f g h i j
 F G H I J   k l m n o
 L M N P S   p r s t u
 T U V X Z   v w x y z

这两个字母就是加密过的讯息。

help me obiwan kenobi的加密结果:

he lp me ob iw an ke no bi
FY GM KY HO BX MF KK KI MD

二方密码

编辑

二方密码比四方密码用更少的矩阵。

得出加密矩阵的方法和四方密码一样。

例如用“example”和“keyword”作密匙,加密“lp”。首先找出第一个字母(L)在上方矩阵的位置,再找出第二个字母(P)在下方矩阵的位置:

E X A M P
L B C D F
G H I J K
N O R S T
U V W Y Z
 
K E Y W O
R D A B C
F G H I J
L M N P S
T U V X Z

在上方矩阵找第一个字母同行,第二个字母同列的字母;在下方矩阵找第一个字母同列,第二个字母同行的字母,那两个字母就是加密的结果:

E X A M P
L B C D F
G H I J K
N O R S T
U V W Y Z
 
K E Y W O
R D A B C
F G H I J
L M N P S
T U V X Z

help me的加密结果:

 he lp me
 HE DL XW

这种加密法的弱点是若两个字同列,便采用原来的字母,例如he便加密作HE。约有二成的内容都因此而暴露。

参见

编辑