Symmetric Ciphers Corrections

Cryptography, Symmetric Key Encryption · lab

Voir tous les documents en sécurité informatique

Lebanese International University (LIU) en Mauritanie corrigé TD3 symmetric ciphers

Correction Exercice 1: ECB

1) ci=E(mi) 2) bourrage avec un seul 0 pour avoir des blocs de taille n=4. m = 1011 0001 0100 1010 m1 = 1011 ; m2= 0001 ; m3 = 0100 ; m4 = 1010

3) Les blocks sont chiffrés separemment. On obtient c1=E(m1)=0111 ; c2=E(m2)=0010 ; c3=E(m3)= 1000 ; c4=E(m4)=0101

4) D’où le ciphertext final est : C= 0111001010000101

5) D(0111 0010 1000 0101) = 1011 0001 0100 1010.

6) Oui la redondance sera propagé ds le ciphertext : E(1010 1010 1010 1010) = 0101 0101 0101 0101

7) l’ordre des blocs dans ECB n’affecte pas le chiffrement/déhiffrement des blocs

8) ECB n’est pas securisé. Il est adéquat seulement pour le chiffrment des messages tres courts comme les IV ou les clés dans d’autres modes.

Correction Exercice 2 : CBC

1) Cryptage : C0= IV ; cj=E(cj-1 ⊕ mj) pour 1 ≤ jt

Décryptage : C0= IV ; mj= cj-1 ⊕ D(cj) pour 1 ≤ jt

2) c0=1010 ; c1=E(c0 ⊕ m1)=E(0001) = 0010 c2=E(c1 ⊕ m2)=E(0011) = 0110 c3=E(c2 ⊕ m3)=E(0010) = 0100 c4=E(c3 ⊕ m4)=E(1110) = 1101

3) ciphertext final est : c=0010 0110 0100 1101

Publicité

4) Decryptage : m1=c0 ⊕ D(c1) =1010 ⊕ D(0010)= 1010 ⊕ 0001 = 1011 m2=c1 ⊕ D(c2) =0010 ⊕ D(0110)= 0010 ⊕ 0011 = 0001 m3=c2 ⊕ D(c3) =0110 ⊕ D(0100)= 0110 ⊕ 0010 = 0100 m4=c3 ⊕ D(c4) =0100 ⊕ D(1101)= 0100 ⊕ 1110 = 1010

5) m = 1011 0001 0100 1010

6) La redoandance ne sera pas propagée :

 - 1

Lebanese International University (LIU) en Mauritanie corrigé TD3 symmetric ciphers

E(1011 1011 1011 1011) = 0010 0011 0001 0101

7) si l’odre de blocs de ciphertext change ou les blocs de ciphertext sont remplacés par d’autres, alors le decryptage devient impossible. Ceci est un avantage de CBC par rapport ECB

8) securité amelioré parceque plus de confusion !

9) la propagation d’erreur : mj estcalculé par cj et cj-1. pour cela si cj a été reçu erroné, alors les plaintext mj et mj+1 peuvent être erronés. Mais les blocs mj+2 et mj+3, … ne seront pas influsencés, ils seront corrects.

10) CBC peut être approprié pour le chiffrement de long messages.

Correction Exercice 3: CFB

1) Pour 1 ≤ j ≤ u, alice fait le suivant

  • Oj=E(Ij) ;

  • Extraire tj qui est les r premiers bits de Oj ;

Publicité

  • cj=mj ⊕ tj

  • Ij+1 = (2 Ij + cj ) mod 2 . donc Ij+1 est généré en supprimant les premiers r bits de Ij et en ajoutant cj.

  • Le ciphertext sera donc c= c1c2c3…cu

  • Le decryptage est similaire :

    Pour 1 ≤ j ≤ u, bob fait le suivant

    • Oj=E(Ij) ;

    • Extraire tj qui est les r premiers bits de Oj ;

    • mj = cj ⊕ tj

    • Ij+1 = (2 Ij + cj ) mod 2 . donc Ij+1 est généré en supprimant les premiers r bits de Ij et en ajoutant cj.

    • Le plaintext sera donc m = m1m2m3…mu

    2) m1= 101 ; m2=100 ; m3= 010 ; m4= 100 ; m5=101

     - 2
    

    Publicité

    Lebanese International University (LIU) en Mauritanie corrigé TD3 symmetric ciphers

    3) il ya propagation d’erreur aussi dans CFB puisque la partie erroné du ciphertext se trouve dans Ij. Il faut noter aussi que CFB ne peut être fonctionnel dans les cryptosystèmes à clé publique comme RSA puisque le recepteur utilise la clé publique aussi dans l’operation E comme l’emetteur.

    1) Alice et Bob peuvent calculer tj+1 dès qu’ils connaissent le bloc cj. Pour cela le bloc t1 peut être calculé par Alice et Bob simultannément. Alice genere le ciphertext c1 = m1

    ⊕ t1 et l’envoye à Bob. Le calcul de c1 sera rapide puisque il est fait par un simple XOR. Alors Alice et Bob peuvent simultannément calculer le bloc t2, etc. CFB est donc approprié pour les longs messages mais il est plus rapide que CBC.

    Correction Exercice 4: OFB

    1) Pour 1 ≤ j ≤ u, Alice fait le suivant

    • Oj=E(Ij) ;

    • Extraire tj qui est les r premiers bits de Oj ;

    • cj=mj ⊕ tj

    • Ij+1 = Oj.

    • Le ciphertext sera donc c= c1c2c3…cu

    Le decryptage est le meme, seulement la troisieme etape est remplacé par mj=cj ⊕ tj

    2) Si un bit du ciphertext est reçu erroné alors le plaintext sera erroné exactement dans la meme position. Donc il n ya pas de propagation d’erreur.

    Publicité

    3) le bloc tj depend seulement du vecteur dinitialisation I1 et de la clé k. il peut donc être calculé par Alice et bob simultanément. Ceci est plus rapide que CFB. Mais le probleme est que le chiffrement d’un bloc de plaintext dans OFB ne depend pas des blocs precedents mais seulement par sa position (ordre). Pour cela la manipulation du ciphertext par un intrus est beaucoup plus facile en OFB qu’en CFB.

    m1= 101 ; m2=100 ; m3= 010 ; m4= 100 ; m5=101

    changer. Sinon, la meme sequence tj est regenerée et à partir de deux ciphertexts cj=mj

    ⊕ tj et c’j=m’j ⊕ tj, l’intrus peut constater que cj ⊕ c’j =mj ⊕ m’j. Et donc il peut determiner m’j s’il connaît mj.

     - 3
    

    Lebanese International University (LIU) en Mauritanie corrigé TD3 symmetric ciphers

    Solution Exercice 5 :

    1) BeIN peut chiffrer son brodcast par sa clé privée moyennant son alg asymétrique pour authentifier son trafic : E(Broadcast, Kpr) 2) Kpu : la clé publique de BeIN est distribué aux abonnées pour que ces derniers puissent être sur de l’identité de BeIN. D(E(Broadcast, Kpr), Kpu)=Brodcast 3) BeIN peut chiffrer son broadcast par sa clé secrete moyennant son alg symétrique : E(broadcast, Ks). Les aboonées déciffrent le broadcast par la meme clé : D(E(Broadcast, Ks), Ks)=Brodcast 4) Ce protocole est incorrrect par ce que tout le monde connnait la clé publique de BeIN qui est Kpu et donc peut dechiffrer le msg transmit : D(E(Ks, Kpr), Kpu) = Ks et donc meme les non-abonnées peut recevoir correctement le broadcast de BeIN. Comme alternative, elle peut chiffrer la nouvelle clé Ks par l’ancienne clé avant que la nouvelle soit opérationelle. 5) Un adversaire essaye en moyenne 2 /2 = 2 clés avant de trouver la bonne clé. Et si l’adversaire admet une puissance de calcul de 2 [20] par seconde, donc en 2 ans ( =2 [26] seconde ), il peut essayer 2 [20 ] - 2 [26 ] = 2 [46] clés pour que la clé soit sécurisé pendant 2 ans, il faut que la taille de brute force attack soit supérieur à ce pouvoir d’essai : 2 - 2 [46 ] donc N > 47 donc la taille minimale de N est Nmin = 48

    Solution Exercice 6: Recherche exhaustive de clefs symétriques

    Sachant que (( DES-Cracker )) met en moyenne 4,5 jours (soit 388 800 secondes) pour retrouver une clef DES de 56 bits, le cassage d’une clef de 40 bits nécessite en moyenne

    alors qu’une clef de 112 bits nécessiterait

    et une clef de 256 bits

    Ces deux derniers nombres représentent des durées respectives de 68290 fois et 1,5 × 10 [48] fois l’âge de l’univers (estimé à 13 milliards d’années). Il est intéressant de remarquer qu’il faut en moyenne 4,5 jours de calcul pour retrouver une clef DES de 56 bits avec DES-Cracker, ce qui signifie qu’il faut dans le pire des cas 9 jours de calcul à cette machine pour retrouver une clef DES de 56 bits, c’est-à-dire pour tester les 2 [56] clefs possibles.

     - 4