Université de Carthage
Institut National des Sciences Appliquées et de Technologie
Module : Cryptographie Février 2025
Enseignant : M. Bassem BEN SALAH Filière : RT4 - Option : Sécurité
TD 1 : Opérations sur 𝔽𝟐𝟓𝟔 ou GF(28 )1
1. On considère les octets 𝑎 = 0𝑥57 et 𝑏 = 0𝑥83 (en notation hexadécimale, ou
encore notés a = [57] et b = [83] si il n’y a pas d’ambigüité) vus comme des
éléments de 𝔽𝟐𝟓𝟔 . [a et b sont des octets !]
a. Calculer 𝑎 + 𝑏
b. Calculer 𝑎 × 𝑏
2. On utilise cette fois une notation polynomiale. Soit le polynôme 𝑎(𝑋) ∈ 𝔽𝟐𝟓𝟔 .
a. Donner un algorithme permettant de calculer l’élément de
𝔽𝟐𝟓𝟔 correspondant à 𝑋. 𝑎(𝑋).
b. En déduire un algorithme calculant l’élément de 𝔽𝟐𝟓𝟔 𝑋 𝑖 × 𝑎(𝑋).
3. Soit 𝑤(𝑋) un générateur de 𝔽𝟐𝟓𝟔 . Dans ce cas, tout élément non nul de 𝔽𝟐𝟓𝟔 se
représente de manière unique par 𝑤(𝑋)𝑖 𝑚𝑜𝑑 𝑔(𝑋), 0 ≤ 𝑖 < 255.
4. En déduire un moyen efficace d’effectuer la multiplication de deux éléments dans
𝔽𝟐𝟓𝟔 .
Remarque : Pour AES, 𝑤(𝑋) = 𝑋 + 1 = 0𝑥03.
1
Galois Finite Fields
INSAT 2024/2025 Page 1/3
TD2 : Cryptographie
AES : Advanced Encryption Standard
Principe mathématique
Rijndael est le chiffrement à clef secrète qui a été retenu par le NIST comme le nouveau standard
américain de chiffrement (AES : Advanced Encryption Standard). Ce système a été choisi après
une compétition organisée par le NIST. Des cinq finalistes (Rijndael, Serpent, Twofish, RC6,
Mars), c’est Rijndael qui s’est avéré le plus résistant et est donc devenu le nouveau standard
américain, remplaçant le DES. C’est un code par blocs encodant 128 bits avec des clefs de 128, 192
ou 256 bits. Il est important de noter que Rijndael était parmi les propositions les plus rapides.
Toutes les opérations d’AES sont des opérations sur des octets considérés comme des éléments du
corps fini à 2^8 éléments, 𝔽256 . On rappelle que pour 𝑝 premier, 𝔽𝑝𝑚 est isomorphe à 𝔽𝑝 [𝑋]/𝑔(𝑋),
où 𝑔(𝑋) est un polynôme irréductible sur 𝔽𝑝 [𝑋] de degré 𝑚.
Pour AES, 𝑝 = 2 et 𝑚 = 8 et le polynôme irréductible est :
𝑔(𝑋) = 𝑋 8 + 𝑋 4 + 𝑋 3 + 𝑋 + 1
qui est bien un polynôme irréductible sur 𝔽2 [𝑋].
Ainsi, l’octet 𝑏7 𝑏6 𝑏5 𝑏4 𝑏3 𝑏2 𝑏1 𝑏0 sera vu comme le polynôme :
𝑏7 𝑋 7 + 𝑏6 𝑋 6 + 𝑏5 𝑋 5 + 𝑏4 𝑋 4 + 𝑏3 𝑋 3 + 𝑏2 𝑋 2 + 𝑏1 𝑋 + 𝑏0 .
Par extension, le polynôme 𝑔(𝑋) s’écrira 0x11B, qui est l’octet correspondant en notation
hexadécimale.
Addition de polynômes :
L’addition de deux polynômes est l’addition terme à terme des coefficients dans 𝔽2 .
Cela correspond à l'opération OU exclusif (XOR) sur les octets.
Multiplication de polynômes :
La multiplication est une multiplication de polynômes modulo 𝑔(𝑋), ce qui assure que
le résultat reste dans 𝔽256 .
Ainsi, AES repose sur ces opérations algébriques pour effectuer le chiffrement et le déchiffrement
des données de manière efficace et sécurisée.
INSAT 2024/2025 Page 2/3
TD2 : Cryptographie
Différence entre un polynôme irréductible et un polynôme générateur dans
𝐺𝐹(28 )
📌 1. Polynôme irréductible
Un polynôme irréductible dans un corps fini est un polynôme qui ne peut pas être factorisé en
produits de polynômes de degré inférieur dans ce corps. C'est l'équivalent des nombres premiers
dans ℤ.
1. Exemple dans 𝐺𝐹(28 ) :
Le polynôme utilisé en AES est :
2. 𝑃(𝑥) = 𝑥 8 + 𝑥 4 + 𝑥 3 + 𝑥 + 1
Ce polynôme est irréductible, ce qui signifie qu'il ne peut pas être décomposé en facteurs de degré
inférieur dans 𝐺𝐹(2).
3. Application dans AES :
• Ce polynôme définit la structure du champ 𝐺𝐹(28 ).
• Il est utilisé pour réduire les résultats des multiplications modulo 𝑃(𝑥).
• Cela permet d’assurer que toutes les opérations restent dans 𝐺𝐹(28 ), garantissant des
propriétés algébriques utiles pour la cryptographie.
📌 2. Polynôme générateur
Un polynôme générateur est un polynôme qui engendre tous les éléments non nuls d'un corps fini
lorsqu’il est utilisé comme base exponentielle. Il est souvent utilisé pour définir les éléments du
corps sous forme exponentielle.
4. Exemple dans 𝐺𝐹(28 ) :
Le polynôme générateur couramment utilisé dans AES est :
5. 𝑔(𝑥) = 𝑥
Cet élément génère tous les autres éléments de 𝐺𝐹(28 ) sous la forme :
6. 𝛼 0 , 𝛼1 , 𝛼 2 , … , 𝛼 254
où 𝛼 est une racine primitive (un élément qui génère tous les éléments non nuls du champ par
exponentiation).
7. Application dans AES :
• Le polynôme générateur est utilisé pour pré-calculer les tables logarithmiques qui
facilitent les multiplications.
• Dans AES, l'élément 𝛼 = 𝑥 est utilisé pour construire la S-Box, car la substitution non
linéaire est basée sur l'inversion dans 𝐺𝐹(28 ).
INSAT 2024/2025 Page 3/3