維吉尼亞密碼加密與解密

明文
密文

什麼是維吉尼亞密碼?

維吉尼亞密碼(Vigenère Cipher)是一種基於字母表移位的多表密碼,加密時通過一個密鑰(key)決定每個字元的移位規則。與簡單的凱撒密碼不同,維吉尼亞密碼的核心優勢是其抗頻率分析的能力,因為它使用多個字母表輪流加密,從而提高了密碼的複雜性。

維吉尼亞密碼如何加密?

Vigenère Cipher
  1. 準備明文、密鑰和字母表:
    • 明文是需要加密的文字,例如:HELLO。
    • 密鑰是用於加密的關鍵字,例如:KEY。
    • 字母表:用於定義支持的字母範圍,如:ABCDEFGHIJKLMNOPQRSTUVWXYZ。
  2. 擴展密鑰:為了與明文長度匹配,將密鑰重複或截斷;例如,對於明文HELLO,密鑰KEY擴展為KEYKE。
  3. 加密過程:
    • 使用維吉尼亞密碼表(字母表的26行,分別以字母A-Z開頭)找到加密字母。
    • 明文字母和密鑰字母分別決定表中的列與行;例如,加密H時:明文字母H定位第8列,密鑰字母K定位第11行,第8列與第11行的交叉處為加密後的字母R。
    • 依此類推:
    • E + E → I
    • L + Y → J
    • L + K → V
    • O + E → S
    • 所以,明文 HELLO 加密為 RIJVS

維吉尼亞密碼如何解密?

Vigenère Cipher

解密是加密的逆過程,需要使用相同的密鑰來還原明文,以下是具體步驟:

  1. 準備密文、密鑰和字母表:
    • 密文是加密後的文字,例如:RIJVS。
    • 密鑰與加密時相同,例如:KEY。
    • 字母表:用於定義支持的字母範圍,如:ABCDEFGHIJKLMNOPQRSTUVWXYZ。
  2. 擴展密鑰:將密鑰擴展或截斷至與密文相同長度,例如,密鑰擴展為KEYKE。
  3. 解密過程:
    • 在維吉尼亞密碼表中找到密文字母對應的明文字母。
    • 密鑰字母決定表中的行;在該行找到密文字母,並確定其所在列;列頭對應的字母即為明文字母。例如,解密R時:密鑰字母K定位第11行,在第11行中找到密文R,R所在列的列頭為明文字母H。
    • 依此類推:
    • I - E → E
    • J - Y → L
    • V - K → L
    • S - E → O
    • 所以,密文 RIJVS 解密為 HELLO

維吉尼亞密碼的優缺點

優點

缺點

針對這些缺點的衍生出其它加密方式:

如何使用維吉尼亞密碼加密與解密工具?

  1. 輸入內容:如果需要加密,請在“明文”框中輸入需要加密的內容;如果需要解密,請在“密文”框中輸入需要解密的內容。
  2. 自定義密鑰:用戶可以輸入任意長度的密鑰,密鑰的字母順序直接決定了加密和解密的移位規則。
  3. 自定義字母表:支持不同語言的字母表(如英文、法文、德文等);除默認字母外,可手動輸入自定義字母表,適配特殊場景需求。
  4. 未知字符保留選項:可選擇是否保留密文中無法識別的字符(如標點符號、空格等)。
  5. 查看結果:工具會實時更新加密或解密的結果,並顯示在對應的框中。

分享頁面