sécurité
•
•
•
•
Introduction : Notion de code
Définition, distance, effacements et erreurs
Code de Hamming
Codes détecteurs d erreur
– LFSR et polynômes.
Corps de Galois.
– Codes CRC
– Propriétés. Applications
• Codes correcteurs : Code linéaire, Reed Solomon
– Codes cycliques et Reed-Solomon
• Autres codes et applications
– Rafales d erreurs. Code CIRC.
55
Exemple: contrôle de parité dans TCP
7
Application
(HTTP,FTP, DNS)
4
Transport
(TCP, UDP)
3
TCP Packet Format
Network
(IP)
2
1
Data Link
(Ethernet, 802.11b)
Physical
• TCP Checksum :bits de contrôle, calculés par l’émetteur à partir de l’en-tête et des données, et vérifiés lors de la réception.
Exemple: Ethernet CRC-32
56
Linear Feedback Shift Registers (LFSRs)
• LFSR : circuit élémentaire à base de registres à décalage et quelques xor.
• Exemple 4-bit LFSR :
Q4
Q D
Q3
Q D
Q2
Q D
Q1
Q D
CLK
• Avantages:
– Hardware très simple => opération rapide
– Rapide (débit élevé) : en général, nombre faible de xors ( 2 !)
• Applications:
– chiffrement (pas seuls ! avec des NLFSRs, des Sbox etc )
– générateurs pseudo-aléatoires (non cryptographique), compteurs, arithmétique corps fini
– détection et correction d’erreurs
57
4-bit LFSR binaire
Q4
Q D
Q3
Q D
Q2
CLK
• Etat = valeur des registres [Q4,Q3,Q2,Q1]
• Etat à t+1 = “Left-shift circulaire” état à t suivi de xor avec bit le plus à gauche
• Exemple:
Q D
Q1
0 xor 0
0
xor
– Q4(t+1) = Q3(t)
Q3(t+1) = Q2(t)
Q2(t+1) = Q1(t) + Q4(t)
Q1(t+1) = Q4(t)
0
0
0
0
0 xor 0
0
0
0
0
0
0 xor • En général, avec n bascules, cycle sur 2n-1 valeurs Q2 Q1
Q4 Q3 différentes non nulles :
– Exemple: 15 valeurs (NB 0000 est absorbant)
– générateur pseudo-aléatoire avec une longue période.
1
0
1
0
1
0
1
1
0 xor 0
0
0
0
0
0
0
0
0
0
0 xor Q D
0
0
0
0
0
0