CoderTools

GOST暗号スイート

GOST 28147-89 / Magma ロシア対称暗号化、複数のモードと S-Box オプション対応

⚠️ 教育目的のみ

GOST 28147-89は暗号学的に時代遅れです。新規プロジェクトではAESを使用してください。このツールはテスト、学習、レガシーシステムメンテナンスのみです。

GOST 28147-89には正確に32バイト(256ビット)のキーが必要です
フォーマットオプション

GOST 28147-89とMagmaについて

GOST 28147-89はロシア暗号標準(GOST)で、ソビエト連邦が1989年に開発し、1994年に公開しました。30年以上にわたり、ロシア連邦政府、軍、銀行、ロシア、ベラルーシ、カザフスタン、その他のCIS国の政府機関で使用されている主要な暗号化標準です。

GOST 28147-89は64ビットブロック暗号であり、256ビット(32バイト)の固定鍵長で、32ラウンドの暗号化を使用します。このアルゴリズムは8つの4×8ビットのS-boxを使用します。現代の密码解析ではGOST 28147-89は弱体化していると考えられていますが、レガシーシステムの互換性とCIS諸国の規制要件のために引き続き使用されています。

Magma (GOST R 34.12-2015) について

MagmaはGOST R 34.12-2015標準で定義された64ビットブロック暗号で、GOST 28147-89の近代化された後継です。MagmaはGOST 28147-89のコアFeistel構造と32ラウンド暗号化を保持しますが、固定のTC26-Z S-Boxを使用し、ビッグエンディアンバイト処理順序を採用します。

RFC 8891はMagmaの技術仕様を正式に定義しています。GOST 28147-89との主な違い:ビッグエンディアンバイト順序(GOST 28147-89はリトルエンディアン)、固定S-Box(GOST 28147-89は複数のS-Boxをサポート)、π[0]→π[7]のS-Box適用順序。Magmaはロシアの現行軽量暗号化標準の1つです。

GOST 28147-89の歴史

GOST(ロシア国家標準)はソビエト時代の1989年に開発され、公式なロシア暗号化標準となりました。ソビエト連邦崩壊後も引き続き使用され、1994年に正式に公開されました。このアルゴリズムはDESと同様のFeistelネットワーク構造に基づいており、ロシアの暗号研究伝統を取り入れています。

アルゴリズム比較

アルゴリズム タイプ 鍵長 ブロックサイズ セキュリティ ラウンド
GOST 28147-89 ブロック暗号 256ビット(32バイト) 64ビット(8バイト) 中程度 32
Magma (GOST R 34.12-2015) ブロック暗号 256ビット(32バイト) 64ビット(8バイト) 中程度 32
AES ブロック暗号 128、192、256ビット 128ビット(16バイト) 優秀 10-14

主な機能

  • 64ビットブロックサイズ - 小さいデータブロックに適しています
  • 256ビット鍵長 - DESより大きい鍵空間
  • 32ラウンド - 強い拡散と混乱特性
  • 複数モード - ECB、CBC、CFB、OFB、CTRサポート

セキュリティに関する注意事項

  • ブロックサイズの制限 - 64ビットブロックは大規模ファイルのパターン情報を漏らす可能性があります。
  • 暗号解析攻撃 - GOSTは学術的な暗号解析の対象となり、現代の暗号と比べてセキュリティマージンが低下しています。
  • 推奨 - 新規プロジェクトではAESを使用してください。GOST 28147-89はレガシーシステムの互換性維持のみです。

ユースケース

  • 🇷🇺 レガシーロシアシステム - 既存のGOSTベースのインフラストラクチャとの互換性を維持
  • 📚 教育目的 - 古典的な暗号設計とロシア暗号標準を学習
  • 🔄 システム統合 - GOST準拠が必要な政府または銀行システムとのインターフェース
  • 📦 データ移行 - レガシーGOST暗号化アーカイブとシステムからのデータ復号

参考資料とドキュメント

関連ツール