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

- 準備明文、密鑰和字母表:
- 明文是需要加密的文字,例如:HELLO。
- 密鑰是用於加密的關鍵字,例如:KEY。
- 字母表:用於定義支持的字母範圍,如:ABCDEFGHIJKLMNOPQRSTUVWXYZ。
- 擴展密鑰:為了與明文長度匹配,將密鑰重複或截斷;例如,對於明文HELLO,密鑰KEY擴展為KEYKE。
- 加密過程:
- 使用維吉尼亞密碼表(字母表的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。
維吉尼亞密碼如何解密?

解密是加密的逆過程,需要使用相同的密鑰來還原明文,以下是具體步驟:
- 準備密文、密鑰和字母表:
- 密文是加密後的文字,例如:RIJVS。
- 密鑰與加密時相同,例如:KEY。
- 字母表:用於定義支持的字母範圍,如:ABCDEFGHIJKLMNOPQRSTUVWXYZ。
- 擴展密鑰:將密鑰擴展或截斷至與密文相同長度,例如,密鑰擴展為KEYKE。
- 解密過程:
- 在維吉尼亞密碼表中找到密文字母對應的明文字母。
- 密鑰字母決定表中的行;在該行找到密文字母,並確定其所在列;列頭對應的字母即為明文字母。例如,解密R時:密鑰字母K定位第11行,在第11行中找到密文R,R所在列的列頭為明文字母H。
- 依此類推:
- I - E → E
- J - Y → L
- V - K → L
- S - E → O
- 所以,密文 RIJVS 解密為 HELLO。
維吉尼亞密碼的優缺點
優點
- 抗頻率分析攻擊:由於使用多個字母表輪流加密,難以通過統計分析破解。
- 簡單易用:只需一個密鑰即可完成加密與解密。
- 適應多語言:支持不同的語言字母表。
缺點
- 密鑰管理:密鑰需要保密且傳遞安全,否則加密內容容易被破解。
- 頻率分析弱點:對於短密鑰,攻擊者可以通過重複模式發現密鑰。
針對這些缺點的衍生出其它加密方式:
- 自動密鑰維吉尼亞密碼:通過將明文的前幾個字符作為密鑰的一部分,動態生成密鑰以避免重複模式。
- 博福特密碼:對維吉尼亞密碼的改進,使用不同的移位規則進行加密。
- 普萊費爾密碼:使用二維字母矩陣進行加密,進一步增強複雜性。
如何使用維吉尼亞密碼加密與解密工具?
- 輸入內容:如果需要加密,請在“明文”框中輸入需要加密的內容;如果需要解密,請在“密文”框中輸入需要解密的內容。
- 自定義密鑰:用戶可以輸入任意長度的密鑰,密鑰的字母順序直接決定了加密和解密的移位規則。
- 自定義字母表:支持不同語言的字母表(如英文、法文、德文等);除默認字母外,可手動輸入自定義字母表,適配特殊場景需求。
- 未知字符保留選項:可選擇是否保留密文中無法識別的字符(如標點符號、空格等)。
- 查看結果:工具會實時更新加密或解密的結果,並顯示在對應的框中。