Application
"Codage par exponentiation par bloc". On donne le tableau suivant.
Mot clair |
un |
deux |
trois |
quatre |
cinq |
six |
sept |
huit |
neuf |
Code (bloc/2) |
03 |
04 |
05 |
06 |
7 |
08 |
09 |
01 |
02 |
Soit Cr le cryptage de M, posons Cr(M)=Me[P], où (e) est la clé de cryptage et (P) est impair.
Alors on veut que (e) et (P-1) soit premier entre eux PGCD(e,P-1)=1
Condition de cryptage
Il faut que (P-1) soit assez grand (pour décourager les pirates).
P-1 = 10
P = 11
(e, P-1) = 1 par exemple e=3
(.,10)=1
Codage
Cr(M) = M3[11]
Condition de décryptage
Decry(Cr(M))=Decry(M3)[10]=M[10]
Le décryptage étant aussi une exponentiation
Cr(M)d = (M3) = M[10]
M3d = M1[10]
3d = 1[10]
d est l'inverse de 3[10]
3d+10k=1
d est la clé de décodage
Relation entre clé de décodage et clé de décodage
Soit nb variables a1, a2, a3, ..., an de bloc de codes respectifs [M1], [M2], [M3], ..., [MN]
Choisissons P impair avec [MN]<P<[MN]sup[MN]sup.
La clé de codage est (e) avec e et (P-1) premier entre eux (E)
Clé de décodage:
Si (E) est vrai, d'après l'identité de Bézout, il existe A et B appartenant à Ae+B(P-1)=1
Ae=1-B(P-1)
Ae=1[P-1]
A est l'inverse de e modulo (P-1)
Soit à coder ai→Mi
Le codage Ci de Mi s'obtient par Ci=Mie[P].
Soit A l'inverse de e modulo P-1
CiA = (Mie)A[P] = MieA[P] = Mi[1-B(P-1)][P] = Mi1Mi-B(P-1)
Or d'après Fermat
Mi-B(B(P-1) = MiB'(P-1)[P] = [MiB'](P-1)[P] = 1[P]
donc CiA = Mi1[P] Nous avons ainsi décodé.
Exercice 1
ai |
un |
deux |
trois |
quatre |
cinq |
six |
sept |
huit |
neuf |
Mi |
03 |
04 |
05 |
06 |
07 |
08 |
09 |
00 |
01 |
Choissions p et e
09 < 11 < 09 09
p=11 connu
e est tel que (e, p-1) premier entre eux.
(17, 10) trouvons d A17+B
Algorithme de clé:
17 = 10(1)+7 ↔ 7=17-10
10=7(1)+3 ↔ 3=10-7
7=3(2)+1 ↔ 1=7-3(2)
1=7-3.2
1=(17-10)-[10-(17-10)]-2=17(1+2)+10(-5)
A17+B10=1
17(3)+10(-5)=1 ; d=3
Codons: "quatre sept deux"
codage de "quatre" 0617=08[11]
codage de "sept" 0917=04[11]
codage de "deux" 0417=05[11]
Décodage:
043=09[11]
053=04[11]
Exercice
ai |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
Mi |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
00 |
01 |
02 |
03 |
04 |
05 |
06 |
07 |
08 |
09 |
10 |
11 |
- Choisir P entre 2525 et 252525 avec e un nombre de Mersenne.
- Quelle est la clé de décodage?
- Décoder le mot "VERT"
Décoder 13 14