Université Sultan Moulay
Slimane
Faculté polydisciplinaire
-Beni Mellal-
TD 2 : Chiffrement symétrique
Exercice 1
On considère le LFSR de polynôme de rétroaction X4 + X + 1 initialisé à (s3=1, s2=0, s1=0, s0=0) (clé).
1) Décrire complètement le flux sortant de ce LFSR.
Soit le message binaire suivant M=10011
10010100,
2) Chiffrez le message M en utilisant le LFSR précédant et comme germe la clé 1000.
3) Déchiffrez le cryptogramme C= 111100001010100, sachant qu’il a été chiffré par le cryptosystème
précédant et le germe 0100(clé).
Exercice 2
We conduct a known-plaintext attack on an LFSR-based stream cipher. We know that the plaintext sent
was:
M=1001 0010 0110 1101 1001 0010 0110
By tapping the channel we observe the following stream:C=1011 1100 0011 0001 0010 1011 0001
1) What is the degree m of the key stream generator?
2) What is the initialization vector?
3) Determine the feedback coefficients of the LFSR.
4) Draw a circuit diagram and verify the output sequence of the LFSR.
Exercice 3
Soit EA le chiffrement de Hill, (2 1 1 1 ), et M = BADFATED.
1) Trouver C = EA(M) en utilisant le mode d’opération
a. ECB,
b. CBC (avec IV = XY),
c. CFB (avec IV = XY),
d. OFB (avec IV = XY).
2) Rappeler les définitions des déchiffrements de ces modes d’opérations et vérifier les déchiffrements de
vos textes chiffrés.
Exercice 4
Ek: {0,1}2 → {0,1}2
(m1,m2) → S1((m1 ⊕k1,m2 ⊕k2))
où la fonction S1 est décrite ci-contre
1) Chiffrer le message M = [0,1,1,1,0,1] avec la clef K = [1,0], (avec IV=0,0)
a. en utilisant le mode ECB
b. en utilisant le mode OFB
2) Déchiffrer le message C = [0,1,1,1,0,1] dans le cas où il a été chiffré avec la clef K = [1,1] et
a. en utilisant le mode CBC,
b.en utilisant le mode CFB.
Exercice 5 (Schéma de Feistel).
Université Sultan Moulay
Slimane
Faculté polydisciplinaire
-Beni Mellal-
On considère un chiffrement de Feistel à deux rondes défini par
● La longueur des blocs est 8.
● La clef K = [k1,...,k8] est de longueur 8, les deux clefs de rondes sont K1 = [k1,...,k4] et K2= [k5,...,k8],
les ki étant les bits de la clef K.
● La fonction V = f(U,U’) est définie par l’expression des bits vi de V = [v1,...,v4] en fonction de ceux
de U = [u1,u2,u3,u4] et U’ = [u’1,u’2,u’3,u’4].
v1 = u1u’4 ⊕u2u’3 ⊕u4u’3,
v2 = u1u’2 ⊕u3u’1,
v3 = u1u’4 ⊕u1u’3,
v4 = u3u’3 ⊕u1u’1.
Soit la clef K = [1,0,1,1,0,0,1,0], et le message M = [0,1,0,0,0,1,1,1].
1. Calculer le chiffré de M à travers le schéma de Feistel précédent.
2. Déchiffrer le message C = [0,1,1,1,0,0,1,1] qui a été chiffré avec la même clef.
Exercice 6 (MiniDES).
Le cryptosystème MiniDES est décrit dans un document annexe. Calculer le chiffrement du message (en
hexadécimal)
M = A0E0
après une ronde ou deux rondes du miniDES et la clef (en hexadécimal)
K = 07E:
******************************
Annexe : MiniDES
L’algorithme MiniDES est un chiffrement par bloc suivant le schéma de Feistel. Il chiffre des messages de
16 bits en un autre bloc de 16 bits avec une clé de longueur 12 bits.