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