Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 13-03-2018 00:05:24
- Moon
- Membre
- Inscription : 12-03-2018
- Messages : 4
Attaque par faute sur le DES
Bonjour,
Je travaille sur une attaque par faute contre le DES. La faute a eu lieu au niveau de R15, et comme je possède le chiffré juste et le chiffré faux j'arrive à élaborer un système d'équations pour trouver la clé K16. Maintenant je ne sais pas comment retrouver K. Est ce qu'il faut que je retrouve toutes les sous clés ou bien il y a une autre manière de trouver K?
Merci d'avance.
Hors ligne
#2 13-03-2018 20:17:42
- Rossignol
- Membre
- Inscription : 19-06-2015
- Messages : 290
Re : Attaque par faute sur le DES
Bonsoir,
Si vous connaissez K16, vous pouvez facilement en déduire 48 bits de la clé K.
Voir le "key schedule" du DES.
Au round 16 les deux moitiés de PC2 sont revenues à l'état initial (l'état juste avant le premier décalage qui donne K1). C'est dû au fait que la somme des décalages des 16 rounds est exactement 28. Il suffit alors d'inverser PC1 pour retrouver 48 des 56 bits actifs de K.
Pour trouver les 8 bits qui manquent, le plus simple est de faire une attaque par force brute.
La complexité étant de $2^8$, c'est à la portée d'un ordinateur bourrin.
@+
Hors ligne
#3 14-03-2018 23:08:49
- Moon
- Membre
- Inscription : 12-03-2018
- Messages : 4
Re : Attaque par faute sur le DES
Bonsoir,
Donc une fois que je trouve K16, je fais PC1-1(K16) pour trouver les 48 bits de K?
Pour trouver K16, je comptais ce système d'équations en le codant:
.P-1(L16⊕L*16)1-4=[ S1(E(R15)⊕K16)1-6⊕(S1(E(R*15)⊕K16)1-6;
.
.
.
.
.P-1(L16⊕L*16)29-32=[ S1(E(R15)⊕K16)43-48⊕(S1(E(R*15)⊕K16)43-48;
J'arrive à ce système parce que je possède le chiffré juste: C et le chiffré faux C*. Mais est ce qu'il serait possible de faire de faire une meilleur recherche de K16, si je dispose de plusieurs chiffrés faux en plus?.
Merci d'avance.
Hors ligne
#4 16-03-2018 17:00:58
- Rossignol
- Membre
- Inscription : 19-06-2015
- Messages : 290
Re : Attaque par faute sur le DES
Bonjour,
Pour déterminer les 48 bits de $K$ il faut calculer $PC_1^{-1}(PC_2^{-1}(K_{16}))$.
J'ai fait un scan d'une page du livre de Knudsen et Robshaw The Block Cipher Companion.
Le tableau donne les indices des bits de la clé $K$ pour chacune des 16 sous-clés $K_n$.
J'ai écrit un bout de code Python pour vérifier ces tables.
Voilà les indices de la sous-clé $K_{16}$ :
11, 43, 34, 33, 52, 1, 2, 9, 44, 5, 26, 49,
30, 5, 47, 62, 45, 12, 55, 38, 13, 61, 31, 37,
6, 29, 46, 4, 23, 28, 53, 22, 21, 7, 63, 39
Le bit 1 de $K_{16}$ est le bit 18 de $K$,
le bit 2 de $K_{16}$ est le bit 59 de $K$, ...etc.
Les 8 bits indéterminés de $K$ sont ceux d'indices 14, 15, 19, 20, 51, 54, 58, 60.
Concernant votre deuxième question, je ne peux rien dire.
Je n'ai jamais fait d'attaque par faute.
Il faut sortir la gégène, la lampe à souder,...etc pour torturer une malheureuse puce électronique et lui faire cracher le morceau.
Des images insoutenables circulent sur le net !
Je n'ai pas une âme de tortionnaire :-))
@+
Hors ligne
#6 30-03-2018 14:12:49
- Monsieur L. GOUBIN
- Invité
Re : Attaque par faute sur le DES
Bonjour,
je vous rappelle que les recherches sont personnelles et que c'est a rendre avant le 03/04 a minuit.
Bon courage.
Cordialement,
Votre professeur.
Pages : 1