Pas un standard.Ouvert à la revue.
XAES-512 est l’évolution de Protectstar Extended AES, publié pour la première fois en 2007 — une conception dérivée de Rijndael avec un bloc de 512 bits, 24 tours et une enveloppe AEAD moderne. Publié afin de pouvoir être examiné de manière indépendante.
Une ébauche de revue — pas un remplaçant d’AES approuvé pour un usage en production.
XAES-512 n’est pas une implémentation AES conforme à FIPS 197 et n’est pas un remplacement direct d’AES-128/192/256. La version 2.0 rev4.2 est publiée comme ébauche ouverte à la revue — pour la cryptanalyse indépendante, la revue d’implémentation et les retours de la communauté, et non comme algorithme approuvé pour un usage en production.
Quatre nombres qui décrivent la conception.
XAES-512 peut se résumer à quelques indicateurs clés — chacun ayant une signification technique claire, sans aucune revendication de supériorité.
En quoi les algorithmes diffèrent.
L’AES standard tel que défini dans FIPS 197 est excellent et reste la référence. XAES-512 est une conception indépendante, dérivée de Rijndael, avec un bloc plus grand — non pas un remplaçant, mais une proposition publiée ouvertement pour revue.
* Dans la mesure de diffusion structurelle incluse, les décalages ShiftRows {0,1,4,5} atteignent une diffusion complète après 4 tours ; le schéma naïf {0,1,2,3} nécessite 6 tours. Dans cette mesure, l’AES standard atteint une diffusion complète dès 2 tours dans sa matrice 4×4 plus petite. L’énoncé sur la diffusion peut être reproduit avec diffusion_check.py ; les core KATs vérifient en outre la mise en œuvre correcte du core cipher.
Un bloc plus grand à chaque étape.
Chaque cellule correspond à un octet. La matrice plus grande traite davantage de données par bloc — et étend l’état interne mélangé par chaque tour.
24 tours.
XAES-512 utilise 24 tours sur une matrice d’état 4×16. Les tours internes suivent le principe Rijndael composé d’AddRoundKey, SubBytes, ShiftRows et MixColumns ; la structure exacte des tours est définie dans le PDF de spécification.
Trois propriétés décrites factuellement.
Chiffrement authentifié
XAES-512 est une construction AEAD basée sur le principe Encrypt-then-MAC : CTR pour la confidentialité, HMAC-SHA-512 pour l’intégrité et l’authenticité. Les messages altérés sont détectés avant le déchiffrement.
Dérivation de clés standardisée
Les clés sont dérivées des mots de passe au moyen de PBKDF2-HMAC-SHA-512 avec un sel aléatoire par message, puis de HKDF-SHA-512 pour la séparation des clés. Le profil 0x02 utilise 220 000 itérations PBKDF2 ; les mots de passe sont encodés en UTF-8 et normalisés NFC.
Ouvert et reproductible
Aucune sécurité par l’obscurité. La spécification, l’implémentation de référence, les tests à réponse connue et les outils sont publiés sous forme de bundle Apache-2.0 — afin que chacun puisse reproduire et examiner la conception.
La spécification en un coup d’œil.
Construction, dérivation de clés, tours et diffusion. La version normative est le PDF de spécification inclus dans le bundle.
1 Origine et classification Base Rijndael · distinction avec AES selon FIPS 197 ▾
XAES-512 s’appuie sur Protectstar Extended AES, publié pour la première fois en 2007. Il utilise une matrice d’état 4×16 (512 bits) au lieu de la matrice 4×4 (128 bits) utilisée par l’AES standard, et conserve inchangés AddRoundKey, MixColumns et la S-box SubBytes de Rijndael ; les décalages ShiftRows, le nombre de tours et l’expansion de clé sont étendus.
Aujourd’hui, le nom signifie “Extended Algorithm, Enhanced Security.” XAES-512 n’est pas AES tel que défini par FIPS 197 et ne le remplace pas.
2 Construction : chiffrement authentifié (AEAD) CTR · HMAC-SHA-512 · Encrypt-then-MAC ▾
XAES-512 fournit une construction authentifiée unique — et non plusieurs modes d’opération librement sélectionnables. La confidentialité est assurée par le mode Counter (CTR) ; l’intégrité et l’authenticité sont assurées par HMAC-SHA-512 selon le schéma Encrypt-then-MAC (composition générique selon Bellare–Namprempre). Le tag d’authentification est vérifié avant chaque déchiffrement.
Le format du message est défini comme Wire Format v1 (profil 0x02). Les données associées (Associated Data) sont incluses dans l’authentification.
3 Dérivation de clés (KDF) PBKDF2-HMAC-SHA-512 · HKDF · sel par message ▾
Une clé est dérivée du mot de passe avec PBKDF2-HMAC-SHA-512 — avec un sel aléatoire pour chaque message et 220 000 itérations (profil 0x02). HKDF-SHA-512 sépare ensuite les clés de chiffrement et d’authentification. Les mots de passe sont encodés en UTF-8 et normalisés Unicode NFC afin que des entrées identiques produisent la même clé sur toutes les plateformes.
Le champ d’itérations transmis dans l’en-tête est plafonné (limite d’implémentation), de sorte qu’un message ne puisse pas imposer un calcul excessif avant la vérification du tag.
4 Nombre total de tours Dérivation des 24 tours ▾
Le nombre de tours suit la dérivation issue de Rijndael décrite dans le document : le plus grand nombre de mots entre taille de bloc et taille de clé est déterminant. Pour un bloc de 512 bits, cela correspond à 16 mots → 22 tours ; le profil 0x02 ajoute deux tours supplémentaires en lien avec la structure ShiftRows étendue, soit 24 tours au total.
5 Expansion de clé Processus KeyExpansion étendu ▾
Processus KeyExpansion étendu basé sur la spécification Rijndael :
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 et diffusion Décalages {0,1,4,5} · diffusion_check.py ▾
Avec les décalages standard {0,1,2,3}, la variante 512 bits n’atteint la diffusion complète dans la mesure de diffusion structurelle incluse qu’après 6 tours. Les décalages sélectionnés {0,1,4,5} l’atteignent dans cette mesure après 4 tours.
L’énoncé sur la diffusion peut être reproduit au moyen de l’outil diffusion_check.py inclus dans le bundle. Le fichier core-kats.json contient des tests à réponse connue supplémentaires pour le core cipher.
Références. FIPS 197 (AES) · FIPS 180-4 (SHA) · FIPS 198-1 / RFC 2104 (HMAC) · RFC 8018 (PBKDF2) · RFC 5869 (HKDF) · NIST SP 800-38A (modes d’opération) · Bellare–Namprempre 2000 (chiffrement authentifié) · Daemen–Rijmen, “AES Proposal: Rijndael” · OWASP Password Storage Cheat Sheet. Le PDF de spécification contient les références complètes.
Ce que XAES-512 n’est pas — du moins pas encore.
Une classification honnête d’une ébauche de revue publique implique d’en énoncer clairement les limites.
- Expérimental et en revue publique. Une cryptanalyse indépendante complète du core cipher est encore en attente. La publication vise précisément à permettre cette revue.
- Pas AES selon FIPS 197. XAES-512 n’est pas standardisé dans FIPS 197, n’a pas été validé CAVP/FIPS et n’est pas interopérable avec AES-128/192/256.
- Implémentation de référence informative. Une implémentation de référence en Java est actuellement disponible ; une seconde implémentation indépendante, notamment en Rust, est prévue.
- Non renforcé contre les attaques par canal auxiliaire. L’implémentation de référence en Java est un artefact de référence traçable, et non une implémentation constant-time destinée à la production.
- Format figé. Wire Format v1 / profil 0x02 est fixe ; de futurs profils, par exemple avec Argon2id, sont planifiés séparément.
- Pas un remplacement de production pendant la revue. Les algorithmes établis et standardisés restent le bon choix pour les systèmes de production tant que la revue est en cours.
Le bundle complet de revue publique.
Le bundle ZIP est l’artefact faisant autorité : spécification, implémentation de référence, tests à réponse connue, outils et documents de gouvernance dans un seul paquet. Les PDF sont des téléchargements pratiques supplémentaires.
Bundle XAES-512 de revue publique
Protectstar-XAES-512-spec-v2.0-rev4.2-2026-06-03.pdf PDF Implémentation de référence (informative)
Protectstar-XAES-512-reference-implementation-v2.0-rev4.2-2026-06-03.pdf TXT Build Manifest & SHA-256
BUILD-MANIFEST-rev4.2.txt
Les documents techniques sont en anglais. Après le téléchargement, vérifiez le paquet avec sha256sum en le comparant à la valeur affichée ci-dessus ; dans le bundle extrait, SHA256SUMS couvre chaque fichier individuel. La version historique 1.0 de 2007 reste disponible comme version archivée.


