Chiffrement – Bac S Pondichéry 2018 (spé)
Exercice 4 (5 points)
Candidats ayant suivi l'enseignement de spécialité
À toute lettre de l'alphabet on associe un nombre entier x compris entre 0 et 25 comme
indiqué dans le tableau ci-dessous :
Lettre | A | B | C | D | E | F | G | H | I | J | K | L | M |
x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
Lettre | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
x | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
Le « chiffre de RABIN » est un dispositif de cryptage asymétrique inventé en 1979 par
l'informaticien Michael Rabin.
Alice veut communiquer de manière sécurisée en utilisant ce cryptosystème. Elle choisit deux
nombres premiers distincts p et q. Ce couple de nombres est sa clé privée qu'elle garde
secrète.
Elle calcule ensuite n=p×q et elle choisit un nombre entier naturel B tel que 0⩽B⩽n−1.
Si Bob veut envoyer un message secret à Alice, il le code lettre par lettre.
Le codage d'une lettre représentée par le nombre entier x est le nombre y tel que :
y≡x(x+B)[n] avec 0⩽y⩽n.
Dans tout l'exercice on prend p=3,q=11 donc n=p×q=33 et B=13.
Partie A : Cryptage
Bob veut envoyer le mot « NO » à Alice.
Montrer que Bob code la lettre « N » avec le nombre 8.
Déterminer le nombre qui code la lettre « O ».
Partie B : Décryptage
Alice a reçu un message crypté qui commence par le nombre 3.
Pour décoder ce premier nombre, elle doit déterminer le nombre entier x tel que :
x(x+13)≡3[33] avec 0⩽x<26.
Montrer que x(x+13)≡3[33] équivaut à (x+23)2≡4[33].
Montrer que si (x+23)2≡4[33] alors le système d'équations
{(x+23)2(x+23)2≡≡4[3]4[11]
est vérifié.
Réciproquement, montrer que si
{(x+23)2(x+23)2≡≡4[3]4[11]
alors (x+23)2≡4[33].
En déduire que :
x(x+13)≡3[33]⇔{(x+23)2(x+23)2≡≡1[3]4[11]
Déterminer les nombres entiers naturels a tels que 0⩽a<3 et a2≡1[3].
Déterminer les nombres entiers naturels b tels que 0⩽b<11 et b2≡4[11].
En déduire que x(x+13)≡3[33] équivaut aux quatre systèmes suivants :
{xx≡≡2[3]8[11]
ou
{xx≡≡0[3]1[11]
ou
{xx≡≡2[3]1[11]
ou
{xx≡≡0[3]8[11]
On admet que chacun de ces systèmes admet une unique solution entière x telle que 0⩽x<33.
Déterminer, sans justification, chacune de ces solutions.
Compléter l'algorithme ci-dessous pour qu'il affiche les quatre solutions trouvées dans la
question précédente.
Alice peut-elle connaître la première lettre du message envoyé par Bob ?
Le « chiffre de RABIN » est-il utilisable pour décoder un message lettre par lettre ?
Autres exercices de ce sujet :