四方密碼加密與解密

明文
密文
12345
1ABCDE
2FGHIJ
3KLMNO
4PRSTU
5VWXYZ
12345
1EXAMP
2LBCDF
3GHIJK
4NOQRS
5TUVWY
12345
1KEYWO
2RDABC
3FGHIJ
4LMNPQ
5STUVX
12345
1ABCDE
2FGHIJ
3KLMNO
4PRSTU
5VWXYZ

什麼是四方密碼?

四方密碼(Four-square cipher)是一種對稱式加密法,與兩方密碼類似,四方密碼使用了四個字母方陣,但與兩方密碼不同的是,它需要兩個祕鑰和兩個字母表,形成四個獨立的方陣。這種結構使得四方密碼比兩方密碼更加複雜和安全。

在四方密碼中,首先生成四個方陣:

明文中的每一對字母會分別被替換為這四個方陣中的字母,增加了加密的難度和安全性。

四方密碼如何加密?

四方密碼的加密過程如下:

  1. 準備明文:去除明文中不在字母表中的字元,如空格和標點符號等等。
  2. 設置兩個祕鑰和兩個字母表:祕鑰的長度與複雜性將決定加密的效果。
  3. 生成四個字母方陣: 根據字母表和祕鑰,分別生成的四個字母方陣。
  4. 將明文分為字母對:按照兩兩一組,將明文分成字母對,如果字母數為奇數,可在最後一個字母后面填充一個字元,如“X”。
  5. 替換字母:對每一對字母,分別在左上和右下方陣中(第一和第四方陣)查找它們的位置。接著,在右上和左下方陣中(第二和第三方陣)找出兩個字母,使其與原字母對組成一個矩形,取矩形對角線上的字母替換原先字母對。
  6. 生成密文:將所有字母對按此規則逐一替換,最終生成密文。

示例

假設要用下面4個資訊來加密“HELLO”

1. 生成四個字母方陣

字母表 1
ABCDE
FGHIK
LMNOP
QRSTU
VWXYZ
祕鑰 1
FOURA
BCDEG
HIJKL
MNPQS
TVWXY
KEYWO
RDSAB
CFGHI
JLMNP
QTUVX
祕鑰 2
ABCDE
FGHIJ
KLMNO
PQRST
UVWXY
字母表 2

2. 將明文分為字母對

“HELLO”會分為“HE”, “LL”, “OX”。

3. 替換字母

因此,HELLO 的加密結果為:GYICKV

四方密碼如何解密?

解密過程與加密過程相似,關鍵在於替換字母時,要先在右上和左下方陣中(第二和第三方陣)找出密文字母對,然後,在左上和右下方陣中(第一和第四方陣)查找對應的明文字母,逐一替換完成解密。

例如,根據加密提供的字母表和祕鑰要解密“GYICKV”資訊。

首先,根據字母表和祕鑰生成4個字母方陣,同加密時一致。

接著,將密文“GYICKV”拆成字母對:“GY”,“IC”,“KV”。

最後,替換字母,根據密文字母對在右上和左下方陣中(第二和第三方陣)找出位置;然後,在左上和右下方陣中(第一和第四方陣)查找對應的明文字母,使它們形成一個矩形。

所以,GYICKV 的解密結果為:HELLOX

分享頁面