Toolonit
  1. 首頁
  2. 加密
  3. 加密 / 解密
  4. Twofish

Twofish 加密與解密

以曾入圍 AES 決選的 Twofish 加密與解密文字。

加密方式

解密時還需要它。輸入的任何內容都不會離開這個頁面。

PBKDF2 迭代次數

OpenSSL 的預設值是 10,000。任何次數都可以:次數越多,密碼越難猜;解密時需要相同的次數。

模式

OpenSSL 最常用的選擇。需要 IV;會填充成完整區塊。

金鑰長度
輸出格式
用 OpenSSL 執行相同操作

OpenSSL 沒有 Twofish 加密法。

Twofish 出自 Bruce Schneier 的團隊,是 AES 競賽的五個決選演算法之一,也是 Blowfish 的後繼者:它以 128、192 或 256 位元的金鑰加密 16 位元組的區塊,目前沒有已知的實際攻擊方式。加密軟體常把它當作 AES 以外的選項,本頁則讓你用它加密與解密文字:預設為 Twofish-256(也可選 128 或 192),支援 CBC、ECB、CTR、CFB 或 OFB 模式。你可以使用密碼——金鑰與 IV 由 PBKDF2-HMAC-SHA256 搭配隨機鹽值推導,採用 openssl enc -pbkdf2 的 Salted__ 格式——或以十六進位輸入自己的金鑰與 IV。全部在瀏覽器中執行,你的文字與金鑰都不會離開你的裝置;免費、免註冊。

如何用 Twofish 加密文字

  1. 選擇「加密」或「解密」。輸入要加密的文字,或貼上要解密的 Base64 或十六進位文字——格式會自動偵測。
  2. 輸入密碼(「產生」可建立高強度密碼),或切換到「金鑰與 IV(hex)」,輸入或產生金鑰與 32 位數的 IV(ECB 沒有 IV)。
  3. 選擇金鑰長度(預設 256 位元)與模式(預設 CBC)。解密時,請使用與加密時相同的設定。
  4. 複製或下載結果,或按「交換」把結果移到輸入欄並切換方向。

功能

  • 使用 128、192 或 256 位元金鑰的 Twofish,預設 256
  • CBC、ECB、CTR、CFB 與 OFB 模式;PKCS#7 填充或不填充
  • 以 PBKDF2-HMAC-SHA256 推導金鑰的密碼模式,並使用 openssl enc -pbkdf2 的 Salted__ 標頭
  • PBKDF2 迭代次數可設為 1 到 1,000 萬次,預設 10,000 次
  • 金鑰與 IV 模式可與其他 Twofish 軟體交換資料:十六進位金鑰與 32 位數 IV,可自行輸入或產生
  • Base64 或十六進位輸入與輸出;結果可複製、下載或交換

隱私安全嗎?

是的。Twofish 在瀏覽器內以 WebAssembly 執行,所以你的文字、密碼與金鑰絕不會上傳或儲存——連瀏覽器的儲存空間也不會。

常見問題

Twofish 比 AES 更安全嗎?

兩者都沒有已知的弱點:完整的 Twofish 與 AES 都沒有實際可行的攻擊方式,也都使用 16 位元組區塊與最長 256 位元的金鑰。AES 贏得了競賽,因此有硬體支援,幾乎到處都能使用;當你交換資料的程式或對象使用 Twofish 時,再選擇 Twofish。

OpenSSL 可以解密 Twofish 嗎?

不行——OpenSSL 沒有內建 Twofish,所以沒有任何 openssl 指令能讀取這個輸出。請使用金鑰與 IV 模式,並把相同的金鑰、IV 與模式提供給具備 Twofish 的函式庫,例如 Bouncy Castle、Botan 或 libgcrypt;CBC 與 ECB 請使用 PKCS#7 填充。

Twofish 需要什麼樣的金鑰與 IV?

16、24 或 32 位元組的金鑰——Twofish-128、192 或 256 分別為 32、48 或 64 位十六進位數——以及 16 位元組、也就是 32 位十六進位數的 IV;ECB 則不需要 IV。貼上金鑰後,金鑰長度會依其長度自動設定。在密碼模式中,兩者都由密碼與鹽值推導,鹽值就放在輸出的 Salted__ 之後。

Twofish 還是 Blowfish?

選 Twofish。它是同一位設計者推出的 Blowfish 後繼者:16 位元組的區塊避開了 Blowfish 8 位元組區塊的 Sweet32 弱點,金鑰也可長達 256 位元。Blowfish 只在讀取以它製作的資料時才使用。

相關工具