GOST 28147-89

Un article de Wikipédia, l'encyclopédie libre.

GOST
[[Image:|none|240px]]
Résumé
Concepteur(s) National Soviet Bureau of Standard
Première publication 1990
Dérivé de Inconnu
Chiffrement(s) basé(s) sur cet algorithme Inconnu
Caractéristiques
Taille(s) du bloc 64 bits
Longueur(s) de la clé 256 à 768 bits
Structure réseau de Feistel
Nombre de tours 32
Meilleure cryptanalyse
Pieprzyk, Zheng et al (1994), Bruce Schneier et al. (1996), Saarinen

GOST est un algorithme de chiffrement par bloc inventé en Union soviétique et publié comme standard en 1990 (GOST 28147-89). Le nom de GOST provient de GOsudarstvennyi STandard qui signifie « standard gouvernemental ». GOST est un standard plus large qui couvre également les signatures numériques et les fonctions de hachage.

GOST fut en quelque sorte l'équivalent soviétique du standard américain DES. Les deux algorithmes sont relativement similaires avec l'utilisation d'un réseau de Feistel.

Sommaire

[modifier] Fonctionnement

GOST utilise un bloc de 64 bits et une clé de 256 bits. Ses S-Boxes (boîtes de substitution) peuvent être secrètes et contiennent environ 512 bits protégés ce qui permet d'avoir une clé effective de 768 bits. Le réseau de Feistel possède 32 tours, chaque stage est simple :

  • addition d'une sous-clé de 32 bits (modulo 232)
  • passage du résultat dans une série de substitutions via les S-Boxes
  • rotation du résultat vers la gauche de 11 bits

Après rotation, on obtient la sortie de la fonction présente à chaque tour. Le key schedule est également simple :

  • diviser la clé de 256 bits en 8 sous-clés de 32 bits
  • utiliser quatre fois chaque clé dans l'algorithme

Les S-Boxes acceptent des entrées de 4 bits et produisent une sortie de 4 bits. La substitution à chaque tour comprend huit boîtes de 4x4 éléments. Ces substitutions dépendent de l'implémentation et de la sécurité désirée (S-Boxes secrètes ou non). Les valeurs des S-Boxes n'étaient pas fournies dans les spécifications ce qui laissa supposer que le gouvernement avait volontairement distribué des valeurs vulnérables. Bruce Schneier rapporta qu'un constructeur de circuits intégrés dédiés à GOST avait généré les S-Boxes lui-même à l'aide d'un générateur de nombres pseudo-aléatoires.

[modifier] Cryptanalyse

Par rapport à DES, la structure de chaque tour dans GOST est très simple. Cependant, les concepteurs de GOST ont tenté de compenser cette simplicité en intégrant 32 tours dans l'algorithme et la possibilité d'avoir des S-Boxes secrètes.

L'effet avalanche est plus lent à apparaître dans GOST que dans DES. Le standard soviétique utilise une rotation en lieu et place d'une permutation. Cela est encore une fois compensé par l'augmentation du nombres de tours.

Il y a eu relativement peu de cryptanalyse de GOST par rapport à DES mais malgré sa simplicité, il est relativement robuste. Le grand nombre de tours et les boîtes secrètes rendent la cryptanalyse différentielle ou linéaire plus difficiles. Même si l'effet avalanche est plus lent à se déclencher, il s'avère être efficace au terme des 32 tours.

En 1996, Bruce Schneier, Niels Ferguson et David Wagner ont cryptanalysé le key schedule de GOST. Même si leur attaque n'est pas praticable, elle a montré que l'utilisation d'un générateur aléatoire pour remplir les boîtes de substitution n'était pas une bonne idée.

Pour plus d'informations, il est aussi conseillé de lire Further Comments on Soviet Encryption Algorithm de Zhang, Pieprzyk et al.

[modifier] Références

[modifier] Liens externes


Algorithmes de chiffrement par bloc
Algorithmes : 3-Way | AES | Akelarre | Blowfish | C2 | Camellia | CAST-128 | CAST-256 | CMEA | CS-Cipher | DEAL | DES | DES-X | Double DES | E2 | FEAL | FOX | FROG | G-DES | GOST | ICE | IDEA | KASUMI | KHAZAD | Khufu et Khafre | LOKI89/91 | LOKI97 | Lucifer | MacGuffin | Madryga | MAGENTA | MARS | MISTY1 | MMB | NewDES | RC2 | RC5 | RC6 | REDOC | Red Pike | S-1 | SAFER | SC2000 | SEED | Serpent | SHACAL | SHARK | Skipjack | Square | TEA | Triple DES | Twofish | XTEA
Architecture : Réseau de Feistel | Key schedule | Chiffrement par produit | S-box | Réseau de substitution permutation   Attaques : Cryptanalyse | Attaque par force brute | Linéaire / Différentielle   | Modulo n | XSL   Standardisation: Concours AES | CRYPTREC | NESSIE   Divers : Effet avalanche | Taille de bloc | Vecteur d'initialisation | Taille de clé | Mode d'opération | Lemme Piling-Up | Clé faible