コンテンツへスキップ
uencoder

Twofish ブロック暗号でデータを暗号化する

Twofish は 128 ビットの Feistel ネットワーク型ブロック暗号で、AES 競合のファイナリストです。最大 256 ビットの鍵に対応します。暗号化のワークフローと、AES の代わりに選ぶべき基準を学びましょう。

  1. 1

    Twofish は鍵依存の S ボックスを持つ Feistel 構造で、128 ビットブロックを処理します。AES の最終選定では選ばれませんでしたが、同等の強度を持つ安全な代替であり続けています。運用上の手順 — 鍵生成、IV の扱い、パディング — は AES と同一のため、同じブロックサイズと最大鍵長を共有する AES-256 でデモを行います。

  2. 2
    AES 暗号化ツール →

    平文を AES-256 で暗号化します (Twofish と同じ最大鍵長)。平文を貼り付け、256 ビット鍵を選んで暗号文を生成します。このワークフローは Twofish とまったく同じ流れです。

  3. 3
    AES 復号ツール →

    暗号文を復号して、往復の正しさを検証します。復元された平文が元と一致すれば、鍵と IV の扱いが正しいことの裏付けになります。

  4. 4

    Twofish を優先すべき場面: Feistel 構造が必要な場合 (セキュリティ境界の証明が容易)、Twofish がすでに利用可能なプラットフォームでの実装、アルゴリズム多様性の規制要件がある場合です。それ以外のすべてのケースでは、AES-256 がデフォルトの選択肢です。

よくある質問

Twofish は今でも安全ですか?
はい。Twofish は 20 年以上の暗号解析に耐え、完全実装への実用的な攻撃は存在しません。ほとんどの CPU では AES より遅いものの、同等のセキュリティ保証を提供します。
なぜ Twofish ではなく AES が選ばれたのですか?
AES (Rijndael) は、セキュリティ、性能、シンプルさの組み合わせによって選定されました。Twofish も安全とみなされましたが、鍵依存の S ボックスは実装をより複雑にし、リソースが限られたハードウェアでは遅くなる側面がありました。

このタスクを解決するワークフロー

関連ツール