Générateurs pseudo-aléatoires dérivés d'un algorithme par blocs
Il est toujours possible de réaliser un générateur pseudo-aléatoire au moyen d'un algorithme de chiffrement par bloc utilisé dans un mode opératoire particulier. La suite chiffrante est alors produite par blocs dont la taille correspond à la taille de bloc de l'algorithme par bloc sous-jacent.
Ainsi, les modes Output FeedBack (OFB) et Compteur (CTR) sont des modes opératoires bien connus et standardisés depuis de nombreuses années qui permettent de produire une suite pseudo-aléatoire à partir d'une clef secrète et d'une valeur initiale. Le mode OFB a été initialement défini dans la norme FIPS 81 [5]; le mode CTR a été ajouté aux modes opératoires usuels dans la publication spéciale du NIST, NIST SP 800-38A [8]. Leurs spécifications sont notamment reprises dans la norme récente ISO/IEC 10116 [7].Mode OFB. Dans le mode OFB, l'algorithme par bloc paramétré par la clef secrète K est appliqué à la valeur initiale (IV), assimilée au texte clair. Le chiffré correspondant fournit le premier bloc de suite chiffrante. Chacun des blocs de suite pseudo-aléatoire suivant est ensuite égal à l'image par l'algorithme par bloc du chiffré précédent (cf. Figure 1).


Mode OFB modifié. Le mode OFB modifié, destiné à la construction de générateurs pseudo-aléatoires pour le chiffrement à flot, a été introduit dans la norme américaine ANSI X9.17 en 1985 [4]. A la différence du mode OFB classique, à l'entrée de chaque appel de l'algorithme par bloc, la sortie de l'appel précédent est additionnée par ou exclusif au chiffré de la valeur initiale (cf. Figure 3). Grâce à cette construction, l'attaquant ne peut plus contrôler librement la valeur initiale, ce qui réduit les possibilités d'attaques à IV choisies.

Mode CTR modifié. Le mode compteur modifié a été introduit par le projet 3GPP (3rd Generation PartnerShip Project) dans la spécification technique TS 35.206 définissant l'authentification et la distribution de clef dans la norme UMTS (algorithme Milenage) [2]. A la différence du mode CTR classique, l'entrée du ième appel à l'algorithme par bloc correspond à la valeur du compteur ci additionnée par ou exclusif au mot obtenu en appliquant une rotation de ri positions au chiffré de la valeur initiale (cf. Figure 4). Des résultats théoriques, dûs à Henri Gilbert, sur le caractère pseudo-aléatoire de la suite produite par ce mode opératoire sont disponibles dans [6] et dans le rapport d'évaluation de Milenage [3].

Contexte d'utilisation. Les générateurs pseudo-aléatoires obtenus au moyen de ces différents modes opératoires présentent les mêmes caractéristiques que les algorithmes par bloc en termes de débit de chiffrement, d'implémentation... En logiciel, ils atteignent usuellement un débit de l'ordre d'une vingtaine de cycles processeur par octet. Une réalisation matérielle nécessite de l'ordre de 20 000 portes logiques. Ils offrent une bonne solution dans les applications qui n'imposent pas des contraintes plus sévères sur la vitesse ou l'implémentation.
Références
[1] 3rd Generation PartnerShip Project. << 3GPP TS 35.201 - Specification of the 3GPP Confidentiality and Integrity algorithms - Document 1: f8 and f9 specification >>, 2001. http://www.3gpp.org/ftp/Specs/html-info/35201.htm.- [2] 3rd Generation PartnerShip Project. << 3GPP TS 35.206 - Specification of the MILENAGE algorithm set: An example algorithm Set for the 3GPP Authentication and Key Generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 2: Algorithm specification >>, 2001. http://www.3gpp.org/ftp/Specs/html-info/35206.htm.
- [3] 3rd Generation PartnerShip Project. << 3GPP TS 35.909 - Specification of the MILENAGE algorithm set: An example algorithm Set for the 3GPP Authentication and Key Generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 5: Summary and results of design and evaluation >>, 2004.
- http://www.3gpp.org/ftp/Specs/html-info/35909.htm.
- [4] ANSI X9.17. << American National Standard for Financial Institution Key management (Wholesale) >>.
- [5] FIPS 81. << DES Modes of Operation >>. Federal Information Processing Standards Publication 81, 1980. U.S. Department of Commerce/National Bureau of Standards.
- [6] H. Gilbert. << The security of Öne-Block-to-Many" Modes of Operation >>. Fast Software Encryption - FSE 2003, 2887 Lecture Notes in Computer Science, 376-395. Springer-Verlag, 2003.
- [7] ISO/IEC 10116. << Information technology - Security techniques - Modes of operation for an n-bit block cipher >>. International Organization for Standardization, 1997.
- [8] NIST SP 800-38A. << Recommendation for Block Cipher Modes of Operation >>. NIST Special Publication 800-38A, 2001. National Institute of Standards and Technology.
Informations sur la fiche
- Titre :
- Générateurs pseudo-aléatoires dérivés d'un algorithme par blocs
- Profil(s) :
- Ingénieur informatique, Enseignant-Chercheur, Etudiant
- Thème :
- Générateur pseudo-aléatoire
- Finalité :
- Pédagogique
- Difficulté :
- niveau 2
- Mise à jour :
- 30/01/2006
