Rabbit 流加密

🔐 Rabbit Stream Cipher

📐 工作原理與說明
Rabbit 流加密:用金鑰流與明文逐位元組異或。
  • 引數:128 位金鑰,可配 64 位初始化向量(IV)。
  • 結構:內部維護 8 個狀態字與計數器,通過非線性迭代生成金鑰流。
  • 加解密:密文 = 明文 ⊕ 金鑰流;因異或自反,解密執行同樣操作。
  • 安全:同一 (key, IV) 組合絕不可重複使用,否則金鑰流可被恢復導致明文洩露。
Rabbit 是一種高效能流加密演算法,由Martin Boesgaard等人設計,是eSTREAM專案Profile 1(軟體)獲勝演算法之一。
使用128位金鑰,64位IV(可選),速度極快,適合高效能資料加密場景。無專利限制。

📚 深度解析:Rabbit 流加密

💡 常見使用場景

  • eSTREAM 推薦的高速流密碼,適合資源受限環境。
  • 在嵌入式或高吞吐場景評估流密碼:與 AES-CTR 等方案做效能與安全性對照,再決定是否採用。
說明
Rabbit 以 128 位金鑰 + 64 位 IV 驅動內部狀態,生成金鑰流異或明文。

❓ 常見問題(FAQ)

Rabbit 與 RC4 比?
Rabbit 設計更現代、無 RC4 的初期偏置問題。
流密碼有什麼使用禁忌?
最關鍵的是「同一金鑰流絕對不能重用」:流密碼把明文與金鑰流逐位異或,若兩組明文用了相同的金鑰流(相同金鑰 + IV/nonce),把它們異或就能消去金鑰、直接得到兩明文的異或。因此每次加密必須使用不重複的 nonce;且流密碼本身不提供完整性保護,需配合 MAC 或使用 AEAD。
⚠️ 使用說明與注意事項
📖關於「Rabbit 流加密」 ▼

📝工具簡介

Encrypt and decrypt with the Rabbit stream cipher in your browser — a fast legacy cipher for education.