標準ではありません。レビューに公開中。
XAES-512 は、2007 年に初めて公開された Protectstar Extended AES の発展形です。Rijndael から派生した設計で、512 ビットブロック、24 ラウンド、そして最新の AEAD エンベロープを備えています。独立したレビューを可能にするために公開されています。
レビュー用ドラフト — 本番利用が承認された AES 代替ではありません。
XAES-512 は FIPS 197 の AES 実装ではなく、AES-128/192/256 のドロップイン代替でもありません。バージョン 2.0 rev4.2 は、独立した暗号解析、実装レビュー、コミュニティからのフィードバックを目的とした公開レビュー用ドラフトとして公開されており、本番利用が承認されたアルゴリズムではありません。
設計を表す 4 つの数値。
XAES-512 はいくつかの主要な数値で要約できます。それぞれに明確な技術的意味があり、優位性を主張するものではありません。
アルゴリズムの違い。
FIPS 197 で定義される標準 AES は優れており、引き続き基準です。XAES-512 は Rijndael から派生した独立設計で、より大きなブロックを持ちます。置き換えではなく、レビューのために公開された提案です。
* 同梱の構造的拡散測定では、ShiftRows オフセット {0,1,4,5} は 4 ラウンド後に完全拡散に到達します。一方、単純なパターン {0,1,2,3} では 6 ラウンドが必要です。この測定では、標準 AES はより小さい 4×4 行列でわずか 2 ラウンド後に完全拡散に到達します。拡散に関する記述は diffusion_check.py で再現できます。また、core KATs は core cipher の正しい実装を追加で検証します。
各ステップでより大きなブロック。
各セルは 1 バイトです。より大きな行列はブロックごとにより多くのデータを処理し、各ラウンドで混合される内部状態を拡張します。
24 ラウンド。
XAES-512 は 4×16 状態行列上で 24 ラウンドを使用します。内部ラウンドは AddRoundKey、SubBytes、ShiftRows、MixColumns という Rijndael の原則に従います。正確なラウンド構造は仕様 PDF で定義されています。
3 つの特性を事実ベースで説明。
認証付き暗号化
XAES-512 は Encrypt-then-MAC の原則に基づく AEAD 構成です。機密性には CTR、完全性と真正性には HMAC-SHA-512 を使用します。改ざんされたメッセージは復号前に検出されます。
標準化された鍵導出
鍵は、メッセージごとのランダム salt を用いた PBKDF2-HMAC-SHA-512 によりパスワードから導出され、その後 HKDF-SHA-512 により鍵分離が行われます。プロファイル 0x02 は 220,000 回の PBKDF2 反復を使用し、パスワードは UTF-8 でエンコードされ NFC 正規化されます。
オープンで再現可能
秘匿によるセキュリティではありません。仕様、リファレンス実装、既知解テスト、ツールは Apache-2.0 バンドルとして公開されており、誰でも設計を再現しレビューできます。
仕様の概要。
構成、鍵導出、ラウンド、拡散。規範となる版はバンドル内の仕様 PDF です。
1 起源と位置づけ Rijndael ベース · FIPS 197 AES との区別 ▾
XAES-512 は、2007 年に初めて公開された Protectstar Extended AES を基礎としています。標準 AES で使用される 4×4 行列 (128 ビット) ではなく、4×16 状態行列 (512 ビット) を使用し、Rijndael の AddRoundKey、MixColumns、SubBytes S-box は変更せず保持します。一方で、ShiftRows オフセット、ラウンド数、鍵拡張は拡張されています。
現在、この名称は “Extended Algorithm, Enhanced Security.” を意味します。XAES-512 は FIPS 197 で定義される AES ではなく、その代替でもありません。
2 構成: 認証付き暗号化 (AEAD) CTR · HMAC-SHA-512 · Encrypt-then-MAC ▾
XAES-512 は、自由に選択できる複数の動作モードではなく、単一の認証付き構成を提供します。機密性は Counter mode (CTR) により提供され、完全性と真正性は Bellare–Namprempre に従う汎用合成としての Encrypt-then-MAC 方式で HMAC-SHA-512 により提供されます。認証タグは各復号の前に検証されます。
メッセージ形式は Wire Format v1 (プロファイル 0x02) として定義されています。関連データ (Associated Data) は認証に含まれます。
3 鍵導出 (KDF) PBKDF2-HMAC-SHA-512 · HKDF · メッセージごとの salt ▾
鍵は PBKDF2-HMAC-SHA-512 によりパスワードから導出されます。各メッセージにはランダム salt を使用し、220,000 回の反復を行います (プロファイル 0x02)。その後、HKDF-SHA-512 が暗号化用と認証用の鍵を分離します。パスワードは UTF-8 でエンコードされ Unicode NFC 正規化されるため、同一入力はプラットフォームをまたいで同じ鍵を生成します。
ヘッダーで送信される反復回数フィールドには上限があります (実装上の制限)。そのため、メッセージがタグ検証前に過剰な計算を強制することはできません。
4 総ラウンド数 24 ラウンドの導出 ▾
ラウンド数は、文書に記載された Rijndael 由来の導出に従います。ブロックサイズと鍵サイズから得られる語数のうち大きい方が決定的です。512 ビットブロックでは 16 語 → 22 ラウンドとなり、プロファイル 0x02 は拡張 ShiftRows 構造に関連してさらに 2 ラウンドを追加し、合計 24 ラウンド になります。
5 鍵拡張 拡張 KeyExpansion プロセス ▾
Rijndael 仕様に基づく拡張 KeyExpansion プロセス:
KeyExpansion(byte Key[4*Nk], word W[Nb*(Nr+1)])
{
for (i = 0; i < Nk; i++)
W[i] = (Key[4*i], Key[4*i+1], Key[4*i+2], Key[4*i+3]);
for (i = Nk; i < Nb*(Nr+1); i++) {
temp = W[i-1];
if (i % Nk == 0 || (i % Nk == 4 && Nk > 6))
temp = SubByte(RotByte(temp)) ^ Rcon[i / Nk];
else if ((i % Nk == 8 || i % Nk == 12) && Nk > 6)
temp = SubByte(temp);
W[i] = W[i-Nk] ^ temp;
}
} 6 ShiftRows と拡散 オフセット {0,1,4,5} · diffusion_check.py ▾
標準オフセット {0,1,2,3} では、512 ビット版は同梱の構造的拡散測定において 6 ラウンド後に初めて完全拡散に到達します。選択されたオフセット {0,1,4,5} は、この測定で 4 ラウンド後に到達します。
拡散に関する記述は、バンドル内の diffusion_check.py ツールで再現できます。core-kats.json ファイルには、core cipher 用の追加の既知解テストが含まれます。
参考文献。 FIPS 197 (AES) · FIPS 180-4 (SHA) · FIPS 198-1 / RFC 2104 (HMAC) · RFC 8018 (PBKDF2) · RFC 5869 (HKDF) · NIST SP 800-38A (動作モード) · Bellare–Namprempre 2000 (認証付き暗号化) · Daemen–Rijmen, “AES Proposal: Rijndael” · OWASP Password Storage Cheat Sheet。完全な参考文献は仕様 PDF に含まれています。
XAES-512 がまだ該当しないもの。
公開レビュー用ドラフトを誠実に位置づけるには、その制限を明確に示す必要があります。
- 実験的で、公開レビュー中です。 core cipher の完了した独立暗号解析はまだありません。この公開は、まさにそのレビューを可能にすることを目的としています。
- FIPS 197 AES ではありません。 XAES-512 は FIPS 197 で標準化されておらず、CAVP/FIPS 検証も受けておらず、AES-128/192/256 と相互運用できません。
- 情報提供用のリファレンス実装。 現在、Java のリファレンス実装が利用可能です。Rust を含む独立した第 2 実装が計画されています。
- サイドチャネル攻撃に対する強化はされていません。 Java リファレンス実装は追跡可能な参照アーティファクトであり、本番向けの constant-time 実装ではありません。
- 固定された形式。 Wire Format v1 / プロファイル 0x02 は固定されています。Argon2id などを用いる将来のプロファイルは別途計画されています。
- レビュー中の本番代替ではありません。 レビューが継続している間、本番システムには確立され標準化されたアルゴリズムが適切な選択です。
完全な公開レビューバンドル。
ZIP バンドルは、仕様、リファレンス実装、既知解テスト、ツール、ガバナンス文書を 1 つのパッケージにまとめた正式なアーティファクトです。PDF は追加の利便性のためのダウンロードです。
XAES-512 公開レビューバンドル
Protectstar-XAES-512-spec-v2.0-rev4.2-2026-06-03.pdf PDF リファレンス実装 (情報提供)
Protectstar-XAES-512-reference-implementation-v2.0-rev4.2-2026-06-03.pdf TXT Build Manifest & SHA-256
BUILD-MANIFEST-rev4.2.txt
技術文書は英語です。ダウンロード後、上記の値と照合して sha256sum でパッケージを検証してください。展開されたバンドル内では、SHA256SUMS が各個別ファイルを対象としています。2007 年の歴史的なバージョン 1.0 は、アーカイブ版として引き続き利用できます。


