Suite de chiffrement GOST
GOST 28147-89 / Magma chiffrement symétrique russe avec modes multiples et options S-Box
⚠️ Usage Éducatif Uniquement
GOST 28147-89 est cryptographiquement obsolète. Pour les nouveaux projets, utilisez AES. Cet outil est pour les tests, l'apprentissage et la maintenance des systèmes hérités uniquement.
À propos de GOST 28147-89 et Magma
GOST 28147-89 est un standard de chiffrement symétrique soviétique publié en 1989. Son réseau Feistel modifié de 32 tours traite des blocs 64 bits avec une clé 256 bits. Chaque tour injecte la clé par addition modulaire (mod 2³², pas XOR), applique 8 S-boxes de 4 bits et tourne le résultat de 11 positions à gauche.
Les S-boxes d’origine étaient classifiées — différents ministères soviétiques utilisaient des paramètres différents, créant des problèmes d’interopérabilité. CryptoPro a standardisé 4 jeux (A-D) dans RFC 4357 (2006). En 2011, Courtois a publié une attaque par réflexion réduisant la sécurité à ~2²²⁵. Sweet32 (CVE-2016-2183) s’applique au même titre qu’à Triple-DES : après ~32 Go en CBC, rotation de clé obligatoire.
À propos de Magma (GOST R 34.12-2015)
Magma est le nom informel de GOST R 34.12-2015 (RFC 8891, 2020) : même structure 64 bits / 32 tours que GOST 28147-89 mais avec la S-box publiée “id-tc26-gost-28147-param-Z”.
Magma assure la compatibilité rétrospective avec GOST 28147-89 tout en résolvant la confidentialité des S-boxes. Pour les nouvelles applications, GOST R 34.12-2015 définit aussi Grasshopper (128 bits). Magma reste soumis au Sweet32.
Historique de GOST 28147-89
Développé par le 8ème Directorat du KGB dans les années 1970-80, publié en 1989, déclassifié en 1994. Les paramètres S-box sont restés confidentiels dans la version déclassifiée. CryptoPro (RFC 4357, 2006) puis Magma (RFC 8891, 2020) ont progressivement ouvert ces paramètres.
Comparaison d'algorithmes
| Algorithme | Type | Longueur de clé | Taille de bloc | Sécurité | Tours |
|---|---|---|---|---|---|
| GOST 28147-89 | Chiffre par bloc | 256 bits (32 octets) | 64 bits (8 octets) | Modéré | 32 |
| Magma (GOST R 34.12-2015) | Chiffre par bloc | 256 bits (32 octets) | 64 bits (8 octets) | Modéré | 32 |
| AES | Chiffre par bloc | 128, 192, 256 bits | 128 bits (16 octets) | Excellent | 10-14 |
Caractéristiques principales
- Taille de bloc 64 bits - Convient aux petits blocs de données
- Longueur de clé 256 bits - Espace de clés plus grand que DES
- 32 tours - Propriétés de diffusion et de confusion fortes
- Modes multiples - Support ECB, CBC, CFB, OFB, CTR
Considérations de sécurité
- Attaque par réflexion Courtois (2011): 2³² plaintexts choisis réduisent à ~2²²⁵ op. Exploitabilité pratique disputée. GOST 28147-89 déprécié pour nouvelles apps russes en faveur de Grasshopper.
- Sweet32 (CVE-2016-2183): bloc 64 bits → mêmes risques birthday que Triple-DES. ~32 Go CBC même clé → collisions exploitables.
- Nouvelles apps: Grasshopper (Kuznyechik, 128 bits). GOST/Magma pour archives héritées et compatibilité.
Cas d'utilisation
- Archives gouvernementales et bancaires russes: décryptage d’archives GOST obligatoire dans le cadre RF
- Compatibilité GOST TLS: décryptage sessions TLS russes avec suites GOST
- Applications DSTU ukrainiennes: paramètre S-box DSTU 4145-2002 pour documents gouvernementaux ukrainiens
- Recherche cryptographique GOST: historique S-box classifié et attaque Courtois pour études standardisation post-soviétique
Références et documentation
Outils Connexes
Cryptage/Décryptage AES
Crypter et décrypter du texte en toute sécurité à l'aide de l'algorithme AES
Chiffrement/Déchiffrement Twofish
Finaliste AES, chiffrement symétrique à blocs de 128 bits et clés de 128/192/256 bits, conçu par Bruce Schneier
Chiffrement/Déchiffrement Blowfish
Chiffrement par blocs symétrique rapide conçu par Bruce Schneier, avec longueur de clé variable (32-448 bits)