GOST暗号スイート
GOST 28147-89 / Magma ロシア対称暗号化、複数のモードと S-Box オプション対応
⚠️ 教育目的のみ
GOST 28147-89は暗号学的に時代遅れです。新規プロジェクトではAESを使用してください。このツールはテスト、学習、レガシーシステムメンテナンスのみです。
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暗号化アーカイブとシステムからのデータ復号