四方密碼

維基百科,自由的百科全書

四方密碼是一種對稱式加密法,由法國人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。約有二成的內容都因此而暴露。

參見[編輯]