Twofish ブロック暗号でデータを暗号化する
Twofish は 128 ビットの Feistel ネットワーク型ブロック暗号で、AES 競合のファイナリストです。最大 256 ビットの鍵に対応します。暗号化のワークフローと、AES の代わりに選ぶべき基準を学びましょう。
- 1
Twofish は鍵依存の S ボックスを持つ Feistel 構造で、128 ビットブロックを処理します。AES の最終選定では選ばれませんでしたが、同等の強度を持つ安全な代替であり続けています。運用上の手順 — 鍵生成、IV の扱い、パディング — は AES と同一のため、同じブロックサイズと最大鍵長を共有する AES-256 でデモを行います。
- 2 AES 暗号化ツール →
平文を AES-256 で暗号化します (Twofish と同じ最大鍵長)。平文を貼り付け、256 ビット鍵を選んで暗号文を生成します。このワークフローは Twofish とまったく同じ流れです。
- 3 AES 復号ツール →
暗号文を復号して、往復の正しさを検証します。復元された平文が元と一致すれば、鍵と IV の扱いが正しいことの裏付けになります。
- 4
Twofish を優先すべき場面: Feistel 構造が必要な場合 (セキュリティ境界の証明が容易)、Twofish がすでに利用可能なプラットフォームでの実装、アルゴリズム多様性の規制要件がある場合です。それ以外のすべてのケースでは、AES-256 がデフォルトの選択肢です。
よくある質問
- Twofish は今でも安全ですか?
- はい。Twofish は 20 年以上の暗号解析に耐え、完全実装への実用的な攻撃は存在しません。ほとんどの CPU では AES より遅いものの、同等のセキュリティ保証を提供します。
- なぜ Twofish ではなく AES が選ばれたのですか?
- AES (Rijndael) は、セキュリティ、性能、シンプルさの組み合わせによって選定されました。Twofish も安全とみなされましたが、鍵依存の S ボックスは実装をより複雑にし、リソースが限られたハードウェアでは遅くなる側面がありました。
このタスクを解決するワークフロー
関連ツール
AES 暗号化ツール
Encrypt text or binary data with AES (CBC/GCM/ECB) using Web Crypto API。無料、プライベート、100%クライアントサイド。 ツール
AES 復号ツール
Decrypt AES-encrypted data (CBC/GCM/ECB) using Web Crypto API。無料、プライベート、100%クライアントサイド。 ツール
Blowfish 暗号化ツール
Encrypt text with Blowfish block cipher using crypto-js。無料、プライベート、100%クライアントサイド。 ツール