Académique Documents
Professionnel Documents
Culture Documents
Techniques de Codage
Techniques de Codage
et modulations
TCM
Kamel Belloulata
Introduction
Source Modulations Source Codage Codage Modulations
analogique échantillonnées numérique de source de canal numériques
Chiffrage
Échantillonnage
Quantification
Codage Théorie de l’information
Modulations
analogiques
Canal de transmission
Aujourd'hui
GSM codage de source & canal
TV Num codage de source & canal
Réseaux codage de canal
@business cryptage
• Paradigme de Shannon = modèle sys. com.
Source = je parle
Canal = l ’air ambiant
Perturbations = bruit sonore
Destinataire = tu écoutes
S ou rce : siège d'évènem ents aléatoires qui constituent
le m essage ém is E n tro p ie
C an al : transm et et dégrade le m essage C ap acité
1 1
h( x, y ) = f ( 1 )= f(1 )= f( )+ f ( ) = h( x) + h( y )
p ( x, y ) p ( x ). p ( y ) p( x) p( y)
h ( x ) = log( 1 ) = − log( p ( x ))
p( x)
h ( x , y ) = log( 1 )
p ( x, y )
h ( x y ) = log( 1 )
p( x y)
Règle de Bayes : p ( x , y ) = p ( x y ). p ( y ) = p ( y x ). p ( x ) = p ( y , x )
h( x, y ) = h( x y ) + h( y ) = h( y x ) + h( x ) = h( y , x )
h( x y ) = h( x) si x et y indépendants
• Entropie
Hyp : source discrète finie stationnaire sans mémoire
Emission = variable aléatoire X
p i = p ( X = xi ) pour i = 1,2, ..., n
n
∑p
i =1
i =1
n n
H ( X ) = E ( h ( X )) = ∑ pi . log(1 pi ) = − ∑ p i . log( p i )
i =1 i =1
• Ex : Source binaire
Positive : H ( X ) = H ( p1 , p 2 ,..., p n ) ≥ 0
1 1 1
Bornée : H ( X ) ≤ H ( , ,..., ) = log( n )
n n n
• Redondance
R = H max ( X ) − H ( X )
• Entropie & Débit d ’information
Le débit d'information d'une source est donné par le produit
de l'entropie de la source (valeur moyenne de l'info /symbole)
par le nombre moyen de symboles par seconde soit :
H (X )
DX = (bits .s −1 ) avec τ durée moyenne d' un symbole
τ
• Source Qaire
aire
Source Q : source S dont l'alphabet possède Q éléments
ième
k extension : source Sk dont l'alphabet Qkaire est obtenu
en groupant par bloc de k celui de la source S
Les canaux discrets
Canal : milieu de transmission de l'information situé entre la source
et la destination. Le canal opère une transformation entre l'espace
des symboles à l'entrée et celui de la sortie.
• Probabilités marginales
m
p ( xi ) = ∑ p ( xi , y j )
n
H ( X ) = −∑ p ( xi ). log( p ( xi ))
j =1 i =1
n m
p ( y j ) = ∑ p ( xi , y j ) H (Y ) = −∑ p ( y j ). log( p ( y j ))
i =1 j =1
• Entropie réunie ou conjointe
n m
H ( X , Y ) = −∑∑ p ( xi , y j ). log( p ( xi , y j ))
i =1 j =1
• Transinformation :
quantité d ’information moyenne qui traverse le canal
n m p ( xi , y j )
I ( X ; Y ) = ∑∑ p ( xi , y j ). log( )
i =1 j =1 p ( xi ). p ( y j )
I ( X ; Y ) = H ( X ) + H (Y ) − H ( X , Y )
I ( X ; Y ) = H ( X ) − H ( X / Y ) = H (Y ) − H (Y / X )
I ( X ;Y )
ηc =
C
Ex canal binaire
A.2 Codage de source
• Généralités
• Théorème du codage de source
• Codage de Shannon-Fano
• Codage binaire de Huffman
• Codage Arithmétique
• Codage par longueur de plage
• Codage de type dictionnaire
Généralités
Adapter la source au canal l'alphabet
le débit
• Code et Mot-code
[S]=[s1,s2, …, sN] [X]=[x1,x2, …, xD]
[C]=[c1,c2, …, cN]
• Exemple
Symbole Code A Code B Code C Code D
S1 00 0 0 0
S2 01 10 01 10
S3 10 110 011 110
S4 11 1110 0111 111
Code à longueur variable / fixe
l = lmin = H ( S )
log D
N
∑ =1
D − li
i =1
Cond. Néces. pour les codes opt. abs.
Théorème du codage de source
• Algorithme
Extraction des probabilités
Création de l'arbre
Création de la table d'Huffman
Codage
On transmet la table + les codes en binaire
Lecture de la table d'Huffman
Création de l'arbre de décodage
Lecture séquentielle et décodage
Rq : code d'échappement
= Huffman + fixe
Codage arithmétique
Huffman 1 symbole = 1 mot-code
Arithmétique 1 flot de symboles = nbre en virgule flottante
Codeur Decodeur
m=0 ; M=1 ; N = nombre codé ;
Tant que !(fin de fichier) Faire
{ {
i = symbole suivant; trouver i / N ∈[ai ; bi[ ;
soit [ai ; bi] associé à i ; sortir i ;
s = M-m ; s = bi - a i ;
M = m + s.bi ; N = (N - ai) / s ;
m = m + s.ai ; }
} Tant qu'il reste un symbole à lire
Renvoyer m, le compacté du fichier
• Exemple
Codeurs statistiques
- Dépendants de la qualité de la statistique
- Statistique connue par le décodeur
Codage par longueur de plage (Run length coding)
Coder le nombre de symboles identiques
000001111100000000000000000 5w5b17w
000000000001111100000000000 11w5b11w
ABCCCCCCABCABC A B !6C A B C A B C
• JPEG
Huffman sur les plages de 0 précédant les coeff. DCT
• Table d'Huffman FAX III
Codage de type dictionnaire (1977)
Coder une extension de la source de longueur variable
Supprime la redondance
Sensibilité au bruit
Codage de canal
A.3 Codage de canal
• Généralités
• Théorème du codage de canal
• Codes linéaires
• Codes cycliques
• Codes convolutifs
Généralités
Codes linéaires
• Codes groupes
Parité, Code de Hamming
• Codes cycliques
CRC/FCS, code BCH, Golay
Codes convolutifs
Algorithme de Viterbi
Nombre de bits erronés
• Taux d'erreur Te =
Nombre de bits transmis
011001001001100100101001010 011001101100101101000010
Te = 3 = 0.125
24
• Probabilité d'erreur
Pn bits corrects = (1 − p ) n
k
R=
n
• Mot-erreur : ε
ε = [ε1 ε 2 ...... ε n ] vi = vi′ + ε ⇔ vi′ = vi + ε
• Code systématique
Les symboles d ’information et de contrôle sont séparés.
• Distance de Hamming
V
W = ensemble des N = 2 mots
n
Théorème de Hamming
Ex Hamming(S4)
• Principe de détection et correction
Deux opérateurs : Η D
v = [a 1 a 2 ... a n ]
h11 h12 ... h1n
h h 22 h 2 n
Soit H(m,n) la matrice de contrôle, [H] = 21
... ...
h m1 h m2 ... h mn
z1
Soit z le syndrome (ou correcteur), z = H.v′ T = :
z m
v = i.G
: :
G = Ik : A k,m H = A t k ,m : Im
: :
• Exemple k=2, m=1, n=3
1 0 1
0 1 1
[G 1 ] = [H] = [1 1 1] [G 2 ] =
0 1 1
1 0 1
0 1 1 0 1 1
[0 0]× = [0 0 0]
[0 0]× = [0 0 0]
1 0 1 1 0 1
[0 1]×
0 1 1
[0 1]×
0 1 1 = [0 1 1]
= [1 0 1]
1 0 1 1 0 1
[1 0]×
0 1 1
[1 0]×
0 1 1
= [0 1 1] = [1 0 1]
1 0 1 1 0 1
[1 1]×
0 1 1
[1 1]×
0 1 1 = [1 1 0]
= [1 1 0]
1 0 1 1 0 1
Code de Hamming groupe
Correction d'une erreur
2m ≥ n + 1 ⇔ 2m ≥ k + m + 1
0 0 ...
: : : ...
[ ] [
H = h1 h2 ... hn ] = avec h = bin(i )
0 1 1 ... i
1 0 1 ...
Ex Hamming
0 0 0 1 1 1 1
H = 0 1 1 0 0 1 1 v = [c1 c2 i3 c4 i5 i6 i7 ]
1 0 1 0 1 0 1
Circuit de codage
H .v T = 0
c1 = i3 + i5 + i7
c2 = i3 + i6 + i7
c = i + i + i
4 5 6 7
e3 = c1′ + i3′ + i5′ + i7′ ε i = 1 pour i = e3 .2 0 + e2 .21 + e1.2 2
e2 = c2′ + i3′ + i6′ + i7′
e = c′ + i ′ + i ′ + i ′ Circuit de décodage
1 4 5 6 7
Codes cycliques (Cyclic Redundancy Check / Frame Check Sequence)
[1 0 1 1] ↔ 1 + x 2 + x 3
• Polynôme générateur : g(x)
g(x )
x.g ( x )
G ( k ,n ) =
...
k −1
x .g ( x ) 1 0 1 1 . ..
. 1 0 1 1 . .
G ( 4, 7 ) =
Exemple : g(x)=(1+x2+x3) . . 1 0 1 1 .
. . . 1 0 1 1
1 0 0 0 1 0 1
0 1 0 0 1 1 1 1 1 1 0 1 0 0
G s ( 4, 7 ) =
0 H s (3,7 ) = 0 1 1 1 0 1 0
0 1 0 1 1 0
1 1 0 1 0 0 1
0 0 0 1 0 1 1
• Codage par multiplication v( x ) = i( x ) × g ( x )
g ( x ) = 1 + x + x3 et i ( x ) = x + x 2 + x3 → v ( x ) = x + x5 + x 6
[0 1 1 1]× [1 1 0 1] = [0 1 0 0 0 1 1]
# convolution discrète !
v′( x)
• Décodage par division z ( x) = Reste
Si z(x)=0 ⌫ Transmission OK g ( x)
Sinon ⌫ Détection ou correction
Ex
• Exemples de polynômes générateurs
Code BCH (Bose-Chaudhuri - Hocquenghem)
g ( x) = (1 + x + x 4 )(1 + x + x 2 + x 3 + x 4 )(1 + x + x 2 ) ⌫ n=15, m=10, e=3
R = 33%
Code Golay
g ( x) = 1 + x 2 + x 4 + x 5 + x 6 + x10 + x11 ⌫ n=23, m=11, e=3
R = 52 %
ATM
- x8 + x2 + x + 1 ⌫Cellule ATM
- x10 + x9 + x5+ x4+ x + 1 ⌫Couche AAL type 3/4
k0
Taux d'émission : R =
n0
• Codes convolutifs systématiques
[
Mot-code : V = X 1Y1 X 2Y2 ....... X jY j .....1 ]
avec [ ]
X j = X 1j ...... X kj0 . Information
Yj = [Y ......Y ].
1
j j
m0
Contrôle
y n = R4 .x n −3 + R3 .x n − 2 + R2 .x n −1 + R1 .x n
R=[1011]
• Représentation des codes convolutifs
U1(n)
X2(n) U2(n)
U3(n)
5 3 2
G=
0 2 4
- Un diagramme d'état
U n(1) = xn + xn −1 + xn − 2
U n( 2 ) = xn + xn − 2
Recherche d'erreur à la fréquence N
⌫Dmin = 2e+1
• Décodage : algorithme de Viterbi
3
10 01 10 ⌫Min ∑ d i = ?
i =1
⌫11 01 10
Conclusion sur le codage de canal
Indispensable
• Applications
Militaires Téléphonie
Mots de passe Commerce électronique
Sécurité réseaux @Business
• Vocabulaire
nk Clés
I (M ; C ) = H (M ) − H (M / C )
Approches modernes
Chiffrage à clé privée (symétrique)
DES, IDEA,
Chiffrage à clé publique (asymétrique)
RSA, PGP
• Chiffrage par substitution
Chaque lettre (ou groupe de lettres) est remplacée par une
lettre (ou un groupe de lettres)
Exemple
• Chiffrage à clé privée
Encryption Decryption
Message &^$!@#l:{Q Message
- X1 x Z1 = Y1 - Y6 + Y7 = Y8
- X2 + Z2 = Y2 - Y8 x Z6 = Y9
- X3 + Z3 = Y3 - Y7 + Y9 = Y10
- X4 x Z4 = Y4 - Y1 ⊕ Y9 = X1’ - X1 x Z1 = X1’
- Y1 ⊕ Y3 = Y5 - Y3 ⊕ Y9 = X3’ - X2 + Z2 = X2’
- Y2 ⊕ Y4 = Y6 - Y2 ⊕ Y10 = X2’ - X3 + Z3 = X3’
- Y2 x Z5 = Y7 - Y4 ⊕ Y10 = X4’ - X4 x Z4 = X4’
⌫
• Chiffrage à clé publique
Encryption Decryption
Message &^$!@#l:{Q Message
m x m
x = me (mod N) m=xs (mod N)
&^$!@#l:{Q
Symmetric Asymmetric
Number of keys 1 2
Usual key
56 bits 512+ bits
length
Dedicated
yes very rare
hardware
almost
Code breaking difficult
impossible
Usages des approches clé publique
• Confidentialité
• Authentification
• Confidentialité & authentification
• Signature
• Certificat
• Protocoles réseaux sécurisés
• Confidentialité
Alice Bob
Alice Bob
Pri Pub
DSS
• Digital Signature Standard from NIST
• Public and private keys (512+ bits)
• Applied on a digest of the message to be signed
a
Mess
ge
Hash
Function
Alice
Hash of Message
Message
Re-Hash the
Signature Received Message
Decrypt the
Received Signature Mess
a
Message with ge
Alice
Decrypt Using Hash
Alice’s Public Key Function
0000123
Bob Pub Certificate SHA, DH, 3837829…
Authority 1/1/97 to 12/31/98
Bob Smith, Acme Corporation
DH, 3813710…
Certificate Authority
SHA, DH, 2393702347…
Bob’s Public
Key
Secure HTTP
...
•SSL
Communication sécurisée entre deux entités
Protocole de handshake
Client vérifie le certificat du serveur
Client génère paire de clé
Demande la clé publique du serveur
Envoie de la clé publique du client chiffrée au serveur
Test émis par le serveur
Commerce électronique
• Commerce électronique
2 voies principales
Acheteur / Vendeur ➫ SSL
Acheteur / Vendeur + Banques ➫ SET
Législation & Cryptologie
Pas de législation internationale + évolution rapide
➫ Difficulté de standardisation des protocoles
USA
Cryptologie, armes et munitions ⌫Même cadre juridique
ITAR (International Traffic Arm Regulation) ⌫Export (40 bits)
France
Législation très restrictive mais évolutive
SCSSI (Service Central de Sécurité des Sys. Informations) ⌫Organisme d'état
Sanctions encourues :
- Import sans autorisation : 6 mois & 200 000 F
- Tiers de confiance illégal : 2 ans & 300 000 F
- Fourniture pour crime & délit : 3 ans & 500 000 F
- Circonstance aggravante ?
Conclusion sur la cryptograhie
Conséquences juridiques
… Transition ...
Théorie de l'information ➫ Domaine vaste (Continu, Modèle de
réseaux, Théorie de la distorsion, …)
Techniques de codage