維吉尼亞密碼視覺化

🕵️ Vigenère Cipher Visualization

📊 加密過程分步演示

步驟: 0 / 0
點選"下一步"開始分步演示

📖 維吉尼亞方陣

Encrypt and decrypt with the Vigenère cipher and see the key stream step by step, in your browser.

📚 演算法原理

什麼是維吉尼亞密碼?

維吉尼亞密碼(Vigenère cipher)是一種多表替換密碼,由法國密碼學家布萊斯·德·維吉尼亞於16世紀完善。它使用一個關鍵詞作為金鑰,對明文的每個字母使用不同的凱撒密碼進行加密。

加密公式

Ci = (Pi + Ki) mod 26

其中 C 是密文,P 是明文,K 是金鑰(迴圈重複)。

解密公式

Pi = (Ci - Ki + 26) mod 26

工作原理

1. 選擇金鑰:例如金鑰為 "LEMON"
2. 重複金鑰:將金鑰重複直到與明文長度相同
3. 逐字元加密:每個明文字母與對應金鑰字母在維吉尼亞方陣中查詢交叉點
4. 得到密文:所有交叉點字母連線起來就是密文

歷史意義

維吉尼亞密碼曾被認為是"不可破譯的"(法語:le chiffre indéchiffrable),直到19世紀被弗里德里希·卡西斯基和查爾斯·巴貝奇分別破解。它是古典密碼學的巔峰之作。

安全弱點

• 金鑰重複使用導致週期性
• 卡西斯基試驗和重合指數法可確定金鑰長度
• 確定金鑰長度後,每一列都是一個凱撒密碼,可通過頻率分析破解

📋 歷史記錄

📚 深度解析:維吉尼亞密碼

💡 常見使用場景

  • 用關鍵詞迴圈位移的多表代替密碼,比凱撒更難破。
  • 講清多表替換的原理:視覺化展示關鍵詞如何迴圈位移,理解它為何能抵抗簡單的頻率分析。
加密 "ATTACK" key=KEY
A+K=A、T+E=X、T+C=V … → 輸出 `AXVCZ`;金鑰 KEY 迴圈使用。

❓ 常見問題(FAQ)

維吉尼亞如何被破?
用卡西斯基試驗或重合指數找金鑰長度後逐位頻分析。
關鍵詞越長越安全嗎?
在同一關鍵詞下是的——重複週期越長,每個位置可用位移越多,頻率分析越難奏效。但關鍵詞必須隨機且不與明文等長:若關鍵詞長度等於明文且完全隨機、只用一次,那就是真正不可破的一次性密碼本;若關鍵詞是有意義的詞,無論多長都能被 Kasiski 或 Friedman 方法攻破。
⚠️ 使用說明與注意事項
📖關於「維吉尼亞密碼視覺化」 ▼

📝工具簡介

維吉尼亞密碼視覺化。專為開發者打造的線上工具,純前端執行,程式碼不離開瀏覽器。