GOST暗号スイート
GOST 28147-89 / Magma ロシア対称暗号化、複数のモードと S-Box オプション対応
⚠️ 教育目的のみ
GOST 28147-89は暗号学的に時代遅れです。新規プロジェクトではAESを使用してください。このツールはテスト、学習、レガシーシステムメンテナンスのみです。
GOST 28147-89とMagmaについて
GOST 28147-89は1989年に“ソ連国家規格28147-89”として公布された対称暗号規格。32ラウンド改造Feistelネットワークが256ビット鍵で64ビットブロックを処理。各ラウンドで剰余加算(mod 2³²、XORでなく)で鍵注入、8個の4ビットSボックスで代替、11ビット左回転を実施。加算による鍵注入が同期代のほぼ全西側Feistel暗号と異なる特徴。
GOST 28147-89の元のSボックスは国家機密として公開されず、異なる省庁・産業セクターが異なるSボックスを使用し互換性問題を生じた。CryptoPro社がRFC 4357(2006)で4つの相互運用Sボックスセット(A〜D)を標準化。2011年Courtoisが2²²⁵の反射攻撃を発表(2²⁵⁶の総当たりに対して)、実用性は議論中。64ビットブロックのSweet32リスクは同様(32GB CBC同一鍵での誕生日攻撃)。
Magma (GOST R 34.12-2015) について
MagmaはGOST R 34.12-2015(ロシア国家標準/RFC 8891 2020年)で標準化されたGOST 28147-89変体の通称。64ビットブロック・256ビット鍵・32ラウンドFeistelは同じだが、公開固定Sボックス“id-tc26-gost-28147-param-Z”を採用。公開Sボックスにより隠しパラメータ問題を解消。
Magmaは既存GOST 28147-89システムとの互換性維持と同時にSボックス秘密の問題を解決するために設計。新規ロシア情報セキュリティアプリにはGOST R 34.12-2015がGrasshopper(Kuznyechik、128ビット)も定義。Magma(64ビット)はGOST 28147-89と同じSweet32リスクを持つ。
GOST 28147-89の歴史
GOST 28147-89はKGB第8総局が1970〜80年代に開発、1989年に正式公布。1994年まで機密指定後に民間規格として公開。機密解除版でもSボックスパラメータは非公開のまま、各産業セクターに秘密保持協定で配布。RFC 4357(2006)のCryptoPro SボックスとRFC 8891(2020)のMagma採用は機密から公開パラメータへの移行の段階的進展。GOST R 34.12-2015準拠要件下でロシア政府・銀行・法的アプリに依然として求められる。
アルゴリズム比較
| アルゴリズム | タイプ | 鍵長 | ブロックサイズ | セキュリティ | ラウンド |
|---|---|---|---|---|---|
| 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サポート
セキュリティに関する注意事項
- 2011年Courtoisが反射攻撃を発表:2³²選択平文で2²²⁵相当まで削減(2²⁵⁶総当たり比)。実用的可能性は議論中。現在GOST 28147-89はロシア新規連邦アプリで非推奨、Grasshopperへの移行が進む。
- Sweet32(CVE-2016-2183, 2016年):Triple-DES・Blowfishと同じ64ビットブロック誕生日界問題。CBC同一鍵32GBで統計的利用可能な衝突。CFB・CTRも同制限。
- 新規ロシアGOST系暗号:Grasshopper(Kuznyechik、128ビット、10ラウンド)を使用。GOST 28147-89・Magmaは政府アーカイブ復号・レガシー金融システム互換に適切。
ユースケース
- ロシア政府・銀行レガシーデータ:RF連邦情報セキュリティ枠組みで法的必須。アーカイブ監査・移行・解読にGOST互換ツールが必要
- GOST TLS互換:ロシア銀行・政府TLS(GOSTスイート)のMagma-CBC / GOST 28147-89-CBCセッション解読・プロトコル分析
- ウクライナDSTUアプリ:DSTU 4145-2002変体(DSTUパラメータ)がウクライナ政府文書・証明書で使用
- GOST暗号学研究:機密Sボックス歴史・多様性・Courtois攻撃がソ連後暗号標準化研究の重要素材