N.S.I. WorkSpace Compétence,Notion,T-Th-C4,Terminale C4a – Sécurisation des communications | Chiffrement symétrique

C4a – Sécurisation des communications | Chiffrement symétrique

Objectifs d’apprentissage ou d’entraînement et pré-requis (acquis antérieurs mobilisés)

  • Notions de chiffrement symétrique, de clé partagée
  • Décrire le principe d’un chiffrement symétrique avec clef partagée
  • Opérateur booléen « Ou exclusif » (table de vérité)

Programmation en langage Python : compétences requises ( à acquérir, à mobiliser, à développer, à maîtriser)

Un exemple de chiffrement symétrique simple

Table de vérité de l’opérateur « xor »

Dans la console de langage Python, saisir les instructions suivantes :

In [1]: 0 ^ 0
In [2]: 0 ^ 1
In [3]: 1 ^ 0
In [4]: 1 ^ 1

A partir des résultats obtenus, compléter le tableau qui suit.

ABA xor B
00
01
10
11

Principe d’un chiffrement symétrique

Soit ‘M’ le message à chiffrer : il s’agit d’une chaîne de caractères.
Le chiffrement symétrique requiert une clé ‘K’ : celle-ci est également une chaîne de caractères.

Considérons que le premier caractère de ‘M’ soit ‘A’.

Chercher la valeur – en base 10 – du code Unicode de ‘A’, puis sa valeur en base 2 (binaire).

Considérons que le premier caractère de ‘K’ soit ‘e’.

Chercher la valeur – en base 10 – du code Unicode de ‘e’, puis sa valeur en base 2 (binaire).

Appliquer l’opérateur « xor » entre chacun des bits de même rang des représentations en base 2 de ‘A’ et de ‘e’ : indiquer la valeur obtenue, en base 2.
Puis convertir cette valeur en base 10.
Et enfin indiquer à quel caractère correspond cette valeur dans la table Unicode.

Appliquer l’opérateur « xor » entre chacun des bits de même rang des représentations en base 2 de ‘e’ et de ‘$’ : indiquer la valeur obtenue, en base 2.
Puis convertir cette valeur en base 10.
Et enfin indiquer à quel caractère correspond cette valeur dans la table Unicode.

Fonction de chiffrement

Écrire en langage Python, les instructions d’un fonction ‘chiffrement_symétrique( M, K)’ qui prend en argument une message ‘M’ et une clé ‘K’ et qui renvoie le message ‘M’ chiffré, en utilisant l’opérateur « xor » appliqué entre les codes Unicode des caractères de ‘M’ et ceux de ‘K’.

Des difficultés ? Coup de pouce !


Le chiffrement symétrique AES

Quelques aspects de l’histoire de l’informatique…

Rechercher l’origine et la signification des trois lettres « AES ».
Rechercher l’année à laquelle le principe du chiffrement AES a été défini et dans quelle circonstance.

Principe du chiffrement AES

Animation à télécharger (source) + explication (pdf)

Tester en ligne

Python : utilisation de la librairie PyCryptodome

DocumentationInstallationChiffrement/Déchiffrement

Complément : Éditeur hexadécimal en ligne


Article sous licence << Cliquez pour plus d’informations <<