Vous êtes sur la page 1sur 105

Techniques de codage

et modulations
TCM
Kamel Belloulata

Introduction
Source
analogique

Modulations
chantillonnes

Source
numrique

Codage
de source

Codage
de canal

Modulations
numriques

Chiffrage
chantillonnage
Quantification
Codage
Modulations
analogiques

Thorie de linformation
Canal de transmission

Th. Signaux (GEI 600, GEI 605) : dcrit messages et perturbations


Th. Information (GEI 500) : propose une quantitative de l information et tudie sa
reprsentation, transmission
Modulation (GEI 500) : modifie les signaux pour les propager sur les canaux de
transmission (GEI 540, GEI 460)
lectronique (GEI 210, GEI 215, GEI 240) : ralise les fonctions

Plan
A. Techniques de codage
1. Entropie & Capacit

...

D4

2. Codage de source .

D22

3. Codage de canal .

D40

4.

Cryptographie

. D72

B. Modulations analogiques & numriques


1. Modulations analogiques de signaux analogiques

...

2. Modulations chantillonnes

3. Transmission d un signal numrique sur frquence porteuse .

D105

De saines lectures
[1] G. Battail, "Thorie de l'information. Application aux techniques de
communication", Ed : Masson, Paris, 1997, 397 p.
[2] A. Spataru, "Fondements de la thorie de la transmission de l'information", Ed :
Presse Polytechnique Romande, Lausanne, 1987, 625 p.
[3] T.M. Cover, J.A. Thomas, "Information theory", Ed : Wiley Interscience, New
York, 1991, 542 p.
[4] G. Brassard, "Cryptologie contemporaine", Ed: Masson, 1993, 122 p.
[5] P. Csillag, "Introduction aux codes correcteur", Ed: Ellipses, 1990, 96p.
[6] P.Lecoy, "Technologies des tlcoms", Ed.: Hermes, 1995, 373 p
[7] Ph. Fraisse et al, "Transmission de l'information", Ed. Ellipses, 1999, 191 p
[8] http://www.multimania.com/xcotton/electron/coursetdocs.htm

A.1 Entropie & Capacit


Thorie de l information
Les sources ...
Information & Entropie
Les canaux discrets
Transinformation & Capacit

Thorie de l information
1948 : Shannon  Thorie de l'information

Rflexion sur les techniques de communication (XIX)


- Mcanique, accoustique
- Ondes radio-lectrique
- Tlgraphe (code morse)
- Tlphone, .
Systme de communication = fonctions physiques ralisables
 Mauvaise comprhension des perturbations, des dbits
Vue densemble dun systme de communication
indpendante des moyens techniques & physiques

 C a ne sert rie n !
196 0 / conq ute sp atiale  co dag e de source

Aujourd'hui

 GSM

 codage de source & canal

 TV

 codage de source & canal

Num

 Rseaux

 codage de canal

 @business

 cryptage

Paradigme de Shannon = modle sys. com.

Source
Canal
Perturbations
Destinataire

= je parle
= l air ambiant
= bruit sonore
= tu coutes

 S ou rce : sige d'vnem ents alatoires qui constituent

le m essage m is  E n tro p ie
 C an al : transm et et dgrade le m essage  C ap acit

Des messages diffrents portent la mme information, le codage


cherche le message avec les meilleures proprits.
 Codage de source

 supprime la redondance, rduit le cot

 Codage de canal

 protge contre les perturbations

 Chiffrage

 protge contre les curieux

Deux thormes fondamentaux :


 Codage de source

 Codage de canal

Les sources ...


Sources dbitant des messages sous forme discrte !
 Source discrte d'information : suite de variables alatoires

discrtes X1, X2, Xn


 Symbole ou lettre : lment fondamental irrductible

contenant une information, cad ralisation particulire de la


source d'information.
Alphabet : totalit des D lettres
[X] = [x 1 ,x 2 , ., x D ]

 Mot : succession finie de symboles


 Message

: ralisation particulire parmi


les donnes susceptibles d'tre transmises

 Source discrte sans mmoire : source pour laquelle la

probabilit d'apparition d'un symbole ne dpend pas des


symboles prcdents
p ( xin / xin1 , xin2 ,...) = p ( xin )

 Source sationnaire : source pour laquelle les probabilits

d'apparition des diffrents symboles ne dpendent pas de


l'origine des temps
p ( xin ) = p ( xin+k ) k

 Source de Markov : source pour laquelle la probabilit de

gnrer un symbole ne dpend que du symbole l'instant n-1

p ( xin / xin1 , xin2 ,...) = p ( xin / xin1 )

Information & Entropie ...


Proprit de l'information = imprvisibilit

Quantit d'information propre

h( x ) = f ( 1

p ( x)

Avec f croissante & f(1)=0

2 evt. indpendants apportent la somme de leur quantit d'info


h( x, y ) = f ( 1

p ( x, y )

)= f(1

f  fonction logarithme

p ( x ). p ( y )

)= f(

1
1
)+ f (
) = h( x) + h( y )
p( x)
p( y)

(Base 2 >> bit)

h ( x ) = log( 1

p( x)

) = log( p ( x ))

h ( x , y ) = log( 1

p ( x, y )

h ( x y ) = log( 1

p( x y)

Rgle 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 indpendants

Entropie
Hyp : source discrte finie stationnaire sans mmoire
Emission = variable alatoire X
p i = p ( X = xi )
n

p
i =1

pour i = 1,2, ..., n

=1

Quantit d'information moyenne associe


chaque symbole de la source = entropie
n

i =1

i =1

H ( X ) = E ( h ( X )) = pi . log(1 pi ) = p i . log( p i )

Ex : Source binaire
p (1) = p
p (0) = 1 p

p. log( p ) (1 p ). log( 1 p ) pour 0 < p < 1


H (X ) =
si p = 0 ou 1
0

Proprits de l entropie
 Continuit

: l'entropie est une fonction continue de chaque

variable pi.
 Additivit

 Positive
 Borne

: de part la dfinition de l'information propre.


H ( X ) = H ( p1 , p 2 ,..., p n ) 0
1 1
1
H ( X ) H ( , ,..., ) = log( n )
n n
n

Redondance

R = H max ( X ) H ( X )

Entropie & Dbit d information


 Le

dbit 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 dure moyenne d' un symbole

Source Qaire
 Source Q
ime

aire

: source S dont l'alphabet possde Q lments

extension : source Sk dont l'alphabet Qkaire est obtenu


en groupant par bloc de k celui de la source S
k

Les canaux discrets


 Canal : milieu de transmission de l'information situ entre la source

et la destination. Le canal opre une transformation entre l'espace


des symboles l'entre et celui de la sortie.
 Canal discret : les espaces d'entre et de sortie sont discrets
 C anal sans m m oire : si la transform ation d'un sym bole x

l'entre en un sym bole y en sortie ne dpend pas des


transform ations antrieures
 Canal stationnaire : si les transformations ne dpendent pas de

l'origine des temps

x1 y1
x y
[X .Y ] = 2 1
...

xn y1

x1 y2
x2 y 2
xn y 2

x1 ym
x2 ym
...

... xn ym
...

p ( x1 , y1 )
p( x , y )
[P( X , Y )] = 2 1
...

p ( xn , y1 )

p ( x1 , y2 ) ...
p ( x2 , y 2 )
p ( xn , y2 ) ...

p( x1 , ym )
p ( x2 , ym )

...

p ( xn , y m )

Probabilits marginales
m

p ( xi ) = p ( xi , y j )

H ( X ) = p ( xi ). log( p ( xi ))

p ( y j ) = p ( xi , y j )

H (Y ) = p ( y j ). log( p ( y j ))

j =1
n

i =1

i =1
m

j =1

Entropie runie ou conjointe


n

H ( X , Y ) = p ( xi , y j ). log( p ( xi , y j ))
i =1 j =1

Entropie conditionnelle ou quivoque


n

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

I ( X ; Y ) = p ( xi , y j ). log(
i =1 j =1

p ( xi , y j )
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 )

Canaux non perturbs


H ( X / Y ) = H (Y / X ) = 0
H ( X , Y ) = H ( X ) = H (Y )

Canaux trs perturbs


H ( X / Y ) = H ( X ) et H (Y / X ) = H (Y )
H ( X , Y ) = H ( X ) + H (Y )

Transinformation & capacit


Capacit dun canal
C = Max ( I ( X ; Y ))

Redondance dun canal


Rc = C I ( X ; Y )

I ( X ;Y )
c = 1
C

Efficacit dun canal


I ( X ;Y )
c =
C

Ex  canal binaire

A.2 Codage de source


Gnralits
Thorme du codage de source
Codage de Shannon-Fano
Codage binaire de Huffman
Codage Arithmtique
Codage par longueur de plage
Codage de type dictionnaire

Gnralits
 Adapter la source au canal

 l'alphabet
 le dbit

 Utiliser la capacit du canal

 maximiser I(X,Y)

 Hyp : Source stationnaire, canaux sans perturbation

Source
initiale

Codeur
de source

Source
entropie max

Codeur de source  supprimer la redondance

Proprits d'un codeur de source


 Rgularit : messages

 codes
 Dchiffrabilit : sparation des mots non ambigu

Code et Mot-code
[S]=[s1,s2, , sN]

[X]=[x1,x2, , xD]
 [C]=[c1,c2, , cN]

Exemple
Symbole
S1
S2
S3
S4

Code A
00
01
10
11

Code B
0
10
110
1110

Code C
0
01
011
0111

Code D
0
10
110
111

 Code longueur variable / fixe

 Code

sparable : pas de signe de dmarcation entre les mots

instantan ou irrductible : on dtermine les mots-codes


mesure que l'on reoit les lettres de l'alphabet du code.
CNS : Aucun mot-code n'est le prfixe d'un autre !

 Code

 Arbre & codes


binaires instantans

Longueur moyenne d'un mot-code


N

l = p ( si ).li
i =1

Limite de la longueur moyenne


H ( S ) = H (C ) = l .H ( X )

H (S )
l
= lmin
log D

Capacit - Efficacit - Redondance


C = Max( H ( X )) = log D

H(X )
=
log D

H (S )
=
l . log D

log D H ( X )
=
log D
E x  c o d e o p t.

Codes optimaux absolus


Codes dont l'efficacit est maximale : = 1

 l = lmin = H ( S )
log D


li
D
=1
i =1

 Cond. Nces. pour les codes opt. abs.

Thorme du codage de source


" Par un codage appropri (codage par groupe de n symboles de
la source), l'information moyenne par lettre de l'alphabet du code
peut tre amene aussi proche que l'on veut de la capacit du
code, c'est--dire qu'il existe toujours un codage optimal
absolu ."

Rq1 : n fix, le code qui donne max<1 est dit 'optimal'

Codage de Shannon-Fano
Algorithme de gnration d'un codage optimal absolu, pour
des sources divisibles rcursivement (jusqu' un symbole par
ensemble) en deux sous-ensembles quiprobables.
Symboles Proba
sk
p(sk)
s1
s2
s3
s4
s5
s6
s7
s8

0.25
0.25
0.125
0.125
0.0625
0.0625
0.0625
0.0625

0
1
0

0
1
0

1
1

0
1
0
1

Motscodes
ck

Longueur
lk

00
01
100
101
1100
1101
1110
1111

2
2
3
3
4
4
4
4

Codage binaire de Huffman (1952)


- Algorithme de gnration d'un codage optimal symbole par
symbole.
- Code longueur variable  codes longs pour probas faibles

Algorithme
 Extraction des probabilits
 Cration de l'arbre
 Cration de la table d'Huffman
 Codage

 On transmet la table + les codes en binaire 


Lecture de la table d'Huffman
 Cration de l'arbre de dcodage
 Lecture squentielle et dcodage

Rq : code d'chappement
= Huffman + fixe

Codage arithmtique
 Huffman
 1 symbole = 1 mot-code
 Arithmtique  1 flot de symboles = nbre en virgule flottante

Codeur

m=0 ; M=1 ;
Tant que !(fin de fichier)
{
i = symbole suivant;
soit [ai ; bi] associ i ;
s = M-m ;
M = m + s.bi ;
m = m + s.ai ;
}
Renvoyer m, le compact du fichier

Decodeur

N = nombre cod ;
Faire
{
trouver i / N [ai ; bi[ ;
sortir i ;
s = bi - a i ;
N = (N - ai) / s ;
}
Tant qu'il reste un symbole lire

Exemple
si

pi

[ai ; bi[

Huffi

0.1

[0.0 ; 0.1[

111

0.1

[0.1 ; 0.2[

110

0.1

[0.2 ; 0.3[

101

0.1

[0.3 ; 0.4[

100

0.1

[0.4; 0.5[

0111

0.1

[0.5 ; 0.6[

0110

0.2

[0.6 ; 0.8[

00

0.1

[0.8; 0.9[

0100

0.1

[0.9 ; 1.0[

0101

0.43722077 = ?

10111010 10100100 11011001 01


01111000 00011101 10110010 11010100

Arithmtique
 + de calcul

Huffman
Proba trs lve 1 bit
Peu de symboles ()

Run Length

Codeurs statistiques
- Dpendants de la qualit de la statistique
- Statistique connue par le dcodeur

Codage par longueur de plage (Run length coding)


 Coder le nombre de symboles identiques
000001111100000000000000000 
000000000001111100000000000 
ABCCCCCCABCABC


5w5b17w
11w5b11w
A B !6C A B C A B C

CCITT, Fax groupe III


 Huffman sur les plages de 0 prcdant les 1
JPEG
 Huffman sur les plages de 0 prcdant les coeff. DCT

Table d'Huffman FAX III

Codage de type dictionnaire (1977)


 Coder une extension de la source de longueur variable
1977 : LZ (Lempel & Ziv)
 Dictionnaire

 1984 : LZW (Welch)

de symboles incrment dynamiquement


 apprentissage

 Fichier cod = suite des adresses des mots du dico

! Grer l'incrment des bits d'adresse

PKZIP, ARJ  LZW + Huffman

Codeur LZW

ID= {Ci,Wi} , P=
Tant que (symboles coder)
C = symbole suivant
Si PC ID
P = PC
Sinon
sortir WP
PC ID
P=C
Fin si
Fin tant que
sortir WP

ABBABABAC....

Dcodeur LZW

ID= {Ci,Wi}
cW = 1er code ; sortir s(cW)
Tant que (codes lire)
pW = cW
cW = code suivant
Si (s(cW) ID)
sortir s(cW)
P = s(pW)
C = 1er symbole de s(cW)
PC ID
Sinon
P = s(pW)
C = 1er symbole de s(pW)
sortir s(PC)
PC ID
Fin si
Fin tant que

Conclusion sur le codage de source


Utilis en compression audio & vido (JPEG, MPEG ...)
mais en tant associ des algorithmes non rversibles
(avec pertes)

Supprime la redondance
 Sensibilit au bruit 
Codage de canal

A.3 Codage de canal


Gnralits
Thorme du codage de canal
Codes linaires
Codes cycliques
Codes convolutifs

Gnralits
 Dtecter et/ou corriger les erreurs de transmission

Codeur de canal

 introduire une redondance utilisable

Dtection et correction d'erreurs

 Dtection par cho


 Dtection par rptition
 Dtection par bit de parit
 Dtection par code
 Dtection et correction par code

Codes dtecteur et/ou correcteur


 Codes linaires
Codes groupes
Parit, Code de Hamming
Codes cycliques
CRC/FCS, code BCH, Golay

 Codes convolutifs
Algorithme de Viterbi

Taux d'erreur

Te =

Nombre de bits errons


Nombre de bits transmis

011001001001100100101001010  011001101100101101000010

Probabilit d'erreur
Pn bits corrects = (1 p ) n

Pr erreurs / n = Cnr . p r .(1 p ) n r

Te = 3

24

= 0.125

Taux de codage

k
R=
n
- k taille du mot d information (avant codage)
- n taille du mot-code (aprs codage)

Thorme du codage de canal


" Pour une source dbit d'information de R bit/s et un canal de
capacit C bit/s, si R<C, il existe un code ayant des mots de
longueur n, de sorte que la probabilit d'erreur de dcodage pE
vrifie : p E 2

n. E ( R )

"

Rq1 : un rsultat inatendu !


Rq2 : existance ss mthode ...
Rq3 : pE constant, n augmente si R
tend vers C.
Rq4 : en pratique, si R<0.5 C, des
codes existent avec pE faible.

Dtection d erreur par bit de parit


 VRC (Vertical Redundancy Check)

 Asynchrone

 LRC (Longitudinal Redundancy Check)

 Synchrone

Codes linaires
Notations

CS

CC

Mot-code : v

v = [a1 a2 .... am am +1 am + 2 .... an ] = [c i ]

Canal
P

[ c ] : m symboles de contrle
[ i ] : k =n-m symboles d'information

Mot-erreur :

= [1 2 ...... n ]

vi = vi +

1 si erreur la ime position


i =

0
sinon

vi = vi +

DC

Proprits des codes linaires


Les symboles de contrle sont obtenus par une combinaison
linaire des symboles d information.
un code linaire contient v=[0 0 0]

Code systmatique
Les symboles d information et de contrle sont spars.
Distance de Hamming
D (vi , v j ) = (ai1 a j1 ) + (ai 2 a j 2 ) + .... + ( ain a jn )
 Le nombre de coordonnes par lesquels les 2
mots diffrent

Illustration spatiale : modle code groupe


Un mot = un vecteur dans un espace n dimensions !
w=[a1 a2 ... an]

 W = ensemble des N = 2 mots


n

 V = ensemble des S = 2k mots ayant un sens (mot-code)

V
W

Capacit de dtection et rgion de dcision


vi Rgion Wi

Rgion W0 quidistant

Dtection et correction  si Wi grand

Thorme de Hamming
 Dtecter d erreurs Dmin= d+1
 Corriger e erreurs Dmin= 2e+1
 Corriger e & dtecter d erreurs Dmin= 2e + d + 1

Ex  Hamming(S4)

Principe de dtection et correction

Deux oprateurs :

(vi ) = 0 pout tout i = 1 S = 2 k

 Si (vi) = 0 alors vi = vi

pas d' erreur

 Si (vi) = z 0 dtection d' erreur

Si z est connu D(z) =


vi + = vi correction d' erreur

Dcodage et matrice de contrle

v = [a 1 a 2 ... a n ]
Soit H(m,n) la matrice de contrle,

Soit z le syndrome (ou correcteur),

h11
h
[H] = 21
...

h m1

h12
h 22
h m2

h1n
h 2 n
...

... h mn
...

z1
z = H.v T = :
z m

Si z=[0] pas d erreur, sinon erreur et +- correction

Codage et matrice gnratrice


i = [i1 i 2 ... i k ]

Soit G(k,n) la matrice gnratrice,

g11 g12 ... g1n


g

g
g
2n
[G ] = 21 22
...
...

g
g
...
g
k2
kn
k1

v = i.G
Les matrices H et G sont lies par :

G.H t = 0

et peuvent se mettrent sous la forme systmatique

G =

Ik

:
: A k,m
:

H =

A t k ,m

:
: Im
:

Exemple k=2, m=1, n=3


0 1 1
[G 1 ] =

1
0
1

[H] = [1 1 1]

1 0 1
[G 2 ] =

0 1 1

0 1 1
[0 0]
= [0 0 0]
1
0
1

0 1 1
[0 0]
= [0 0 0]
1
0
1

0 1 1
[0 1]
= [1 0 1]

1 0 1

[0 1]

0 1 1
[1 0]
= [0 1 1]

1 0 1

[1 0]

0 1 1
[1 1]
= [1 1 0]

1 0 1

[1 1]

0 1 1
= [0 1 1]

1 0 1
0 1 1
= [1 0 1]

1 0 1

0 1 1
= [1 1 0]

1 0 1

 Code de Hamming groupe

 Correction d'une erreur

 2m n + 1 2m k + m + 1

[ ] [

 H = h1

h2

0 0 ...
: : : ...
avec h = bin(i )
... hn ] =
i
0 1 1 ...

1
0
1
...

Mot-erreur : = [.... i .... ]


vj = v j + z = H .vj = H . T z = hi

 L'erreur est la position dec(hi)


Ex  Hamming

0 0 0 1 1 1 1
H = 0 1 1 0 0 1 1
1 0 1 0 1 0 1

v = [c1 c2

i3

c4

Circuit de codage
H .v T = 0


c1 = i3 + i5 + i7

c2 = i3 + i6 + i7
c = i + i + i
4 5 6 7

i5

i6

i7 ]

e3 = c1 + i3 + i5 + i7

e2 = c2 + i3 + i6 + i7
e = c + i + i + i
4
5
6
7
1

i = 1 pour i = e3 .2 0 + e2 .21 + e1.2 2

Circuit de dcodage

Codes cycliques

(Cyclic Redundancy Check / Frame Check Sequence)

Code cyclique = code linaire + proprit de permutation


Bloc de n symboles polynme de degr n-1 ! :
Mot-code : v = [a0 a1 .... an 1 ]
Information : i = [i 0 i1 .... i k 1 ]

[1

v( x) = a0 + a1 x + a2 x 2 + ... + an 1 x n 1
i( x ) = i 0 + i1x + i 2 x 2 + ... + i k 1 x k 1

0 1 1] 1 + x 2 + x 3

Polynme gnrateur : g(x)


- g(x) dfinit le codeur (n,k)
- g(x) est de degr m=n-k
- Il vrifie : 1 + x n = g ( x ) p( x )
g ( x ) = 1 + g1x + g 2 x 2 + ... + a n k 1x n k 1

Exemple : code cyclique (n=7, k=4)


1 + x 7 = (1 + x ) (1 + x 2 + x 3 ) (1 + x + x 3 )

g(x) est de degr 3 soit :


g ( x ) = (1 + x 2 + x 3 ) ou g(x) = (1 + x + x 3 )

Matrice gnratrice et polynme gnrateur

G ( k ,n )

g(x )
x.g ( x )

...

k 1
x
.
g
(
x
)

Exemple :

G s ( 4, 7 )

1
0
=
0

g(x)=(1+x2+x3)
0 0 0 1 0 1
1 0 0 1 1 1
0 1 0 1 1 0

0 0 1 0 1 1

G ( 4, 7 )

H s (3,7 )

1
.
=
.

.
1 0 1 1 . .
. 1 0 1 1 .

. . 1 0 1 1
0 1 1

1 1 1 0 1 0 0
= 0 1 1 1 0 1 0
1 1 0 1 0 0 1

Codage par multiplication

g ( x ) = 1 + x + x3 et

[0

v( x ) = i( x ) g ( x )

i ( x ) = x + x 2 + x3

v ( x ) = x + x5 + x 6

1 1 1] [1 1 0 1] = [0 1 0 0 0 1 1]

# convolution discrte !
Codage par division
v( x ) = c( x ) + x m .i( x )

Systmatique !

x m .i ( x)

c( x) = Reste
g ( x)

v( x)

z ( x) = Reste
g ( x)

Si z(x)=0 Transmission OK

Dcodage par division


Sinon

Dtection ou correction

Ex 

Exemples de polynmes gnrateurs


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
- x10 + x9 + x5+ x4+ x + 1

Cellule ATM
Couche AAL type 3/4

 CCITT N41

X25 (HDLC)
- x16 + x12 + x5 + 1

 IEEE 802 Rseaux locaux


- x32 + x26 + x23+ x22 + x16+ x12 + x10+ x8 + x7+ x5 + x4+ x2 + 1

Codes convolutifs
Gnralits
 Les symboles d'information sont traits en flux continu

 Rque :Blocs de n0 symboles, mais dont les m0 contrleurs ne


dpendent pas que des k0 symboles d'information !
 Contrainte : m = nb de blocs contrls par un bloc donn
 Longueur de contrainte : n=m.n0
k0
 Taux d'mission : R =
n0

Codes convolutifs systmatiques

 Mot-code : V = X 1Y1 X 2Y2 ....... X jY j .....1


avec

[
]
= [Y ......Y ].

X j = X 1j ...... X kj0 . Information


Yj

1
j

m0
j

Contrle

Codes convolutifs non systmatiques


 Contrle et information sont mlangs
 Mot-code : V = [U 1U 2 .......U j .....]

Exemple : m=4, k0=1, m0=1, n0=2


y n = R4 .x n 3 + R3 .x n 2 + R2 .x n 1 + R1 .x n

 R=[1011]

Reprsentation des codes convolutifs


U1(n)

- Par le codeur

X1(n)
U2(n)

X2(n)

U3(n)

- Par une matrice de transfert


1 0 1 5
=
G1 =

0 0 0 0

- Un diagramme d'tat

0 1 1 3
G2 =
= 2
0
1
0

0 1 0 2
=
G3 =

1 0 0 4

5 3 2
G=

0
2
4

- Un treillis  chemin  dcodage par chemin le + probable

 Exemple : n0=2, R=0.5 , m=3

U n(1) = xn + xn 1 + xn 2
U n( 2 ) = xn + xn 2

 Recherche d'erreur la frquence N


Dmin = 2e+1

Dcodage : algorithme de Viterbi


 Stratgie de recherche de Dmin
 Exemple pour N=3

3
10 01 10 Min d i = ?
i =1

11 01 10

Conclusion sur le codage de canal


 Indispensable

 Thories mathmatiques complexes des solutions concrtes


- Reed-Salomon (1984) : BCH Qaire DVB(204,188,8)
- Turbo-Codes (1993) : Code convolutif V+H

 Recherche de codeurs conjoint source / canal


- complexit -- robustesse ++
- flexibilit ++

A.4 Cryptographie
Gnralits
Techniques de chiffrage
Usage des approches cl publique
Lgislation & Cryptologie

Gnralits
Objectifs
Garantir la confidentialit des donnes
Garantir l'intgrit des donnes
Garantir l'identit des correspondants
Non rpudiation des transactions

Applications
 Militaires
 Mots de passe
 Scurit rseaux

 Tlphonie
 Commerce lectronique
 @Business

Vocabulaire

 Cryptographie : techniques de chiffrage

 Cryptologie : cryptographie & cryptanalyse

Vue de la thorie de l'information


 Chiffrage = Canal trs perturb
nm Messages : [M]
mi

Chiffrage

nk Cls

[C] : nc Cryptogrammes
cj

I (M ; C ) = H (M ) H (M / C )

 Secret parfait ssi : H ( M / C ) = H ( M ) soit I ( M ; C ) = 0


 Cl unique permet mi cj soit nm=nc=nk
 Toutes les cls sont quiprobables

Chiffrage efficace
ssi
(Cot + temps) de dcryptage >> Valeur de l'info

Techniques de chiffrage
 Approches classiques
 Chiffrage par substitution

Jules Csar, l'Abb Trithme


 Chiffrage par transposition

 Approches modernes
 Chiffrage cl prive (symtrique)

DES, IDEA,
 Chiffrage cl publique (asymtrique)

RSA, PGP

Chiffrage par substitution


 Chaque lettre (ou groupe de lettres) est remplace par une
lettre (ou un groupe de lettres)
 Abb Trithme (1499)

Chiffrage par transposition


 Change l'ordre des lettres sans les substituer

 Exemple

Chiffrage cl prive

Cl prive

Message

Encryption

Cl prive

&^$!@#l:{Q

Decryption

Message

Encryption and decryption use same key


Encryption and decryption use same mathematical function
Fast
Example: Data Encryption Standard (DES, IDEA ,RC2, ...)

Challenges with symmetric encryption


 Key length matters
 Keys must often be changed
 Shared keys must be generated and distributed securely
 Ramdomized Key generator

IDEA (International Data Encryption Algorithm / Lai, Massey 1991 )


 Une succession daddition (+) , multiplication (x), et Xor ()
 Mot de 64 bits

 Cl de 128 bits

 8 rondes

 Principe

- X1 x Z1 = Y1
- X2 + Z2 = Y2
- X3 + Z3 = Y3
- X4 x Z4 = Y4
- Y1 Y3 = Y5
- Y2 Y4 = Y6
- Y2 x Z5 = Y7

- Y6 + Y7 = Y8
- Y8 x Z6 = Y9
- Y7 + Y9 = Y10
- Y1 Y9 = X1
- Y3 Y9 = X3
- Y2 Y10 = X2
- Y4 Y10 = X4

- X1 x Z1 = X1
- X2 + Z2 = X2
- X3 + Z3 = X3
- X4 x Z4 = X4

Chiffrage cl publique
Cl prive

Cl publique

Message

Encryption

&^$!@#l:{Q

Decryption

Message

 Encryptor and decryptor use different keys


 Encryptor and decryptor use different mathematical functions
 Slow
 Example: public key algorithms (RSA, Diffie-Hellman, ...)

RSA (Rivest Shamir Adleman / 1978)


 Bas sur des proprits algbriques :

Cl publique : N, e

- multiplication
- factorisation 

Cl prive : N, s

m
x = me (mod N)
 Choisir N = p . q

&^$!@#l:{Q

m
m=xs (mod N)

avec p et q premiers

(512 bits soit # 200 chiffres)

 Choisir s / s premier avec z=(p-1) .(q-1)


 e / e. s = 1 (mod z)
e<<s

 Scurit dpend des connaissances arithmtiques !

 Exemple simple de RSA


 p=3 et q=11 N = 33 z = 20
 s = 7 7.e = 1 (mod 20) e = 3
 C = M3 . (mod 33) et M = C7 . (mod 33)

PGP (Pretty Good Privacy / 1991 )


 Algorithme hybride : PGP = (RSA + IDEA)

 Longtemps interdit en France !

Comparaison
Symmetric

Asymmetric

Number of keys

Usual key
length

56 bits

512+ bits

Performance

fast

very slow

Dedicated
hardware

yes

very rare

Code breaking

difficult

almost
impossible

Usages des approches cl publique


Confidentialit
Authentification
Confidentialit & authentification
Signature
Certificat
Protocoles rseaux scuriss

Confidentialit

Alice
Clear

Encryption

Bob
Encrypted

Clear

Decryption

Pub

Pri

Bobs Public Key

Bobs Private Key

Alice gets Bobs public key


Alice encrypts message with Bobs public key
Bob decrypts using his private key

Authentification

Alice
Clear

Encryption

Bob
Encrypted

Decryption

Pri

Clear

Pub

Alices Private Key

Alices Public Key

Alice encrypts message with her private key


Bob gets Alices public key
Bob decrypts using Alices public key

Confidentialit & Authentification

Signature : Authentification & Intgrit


 DSS
Digital Signature Standard from NIST
Public and private keys (512+ bits)
Applied on a digest of the message to be signed
 Digest (Hash)

Mess
age

one-way cryptographic function


maps a large message into a short hash
typical hash size 128 bits
examples: MD5, SHA

Hash
Function

Hash of Message

How does Alice sign her message?


a
Mess
ge

Hash
Function

Alice

Hash of Message

Encrypt Hash Using Alices Private Key

Digital Signature = Encrypted Hash of Message

How does Bob verify Alices signature?


Message

Decrypt the
Received Signature
Signature

Signature
Message with
Appended Signature

Alice

Re-Hash the
Received Message
a
Mess
ge

Decrypt Using
Alices Public Key

Hash
Function

Hash of Message

Hash of Message
If Hashes Are Equal,
Signature Is Authentic

How can Bob be assured that the Alices


public key belongs to Alice?

Bob

Pub

Bobs Public
Key

Certificate
Authority

0000123
SHA, DH, 3837829
1/1/97 to 12/31/98
Bob Smith, Acme Corporation
DH, 3813710
Certificate Authority
SHA, DH, 2393702347

Digital certificate is signed message that attests to


authenticity of users public key

Certificat : l'identit lectronique


A digital certificate contains
Serial number of the certificate
Issuer algorithm information
Valid to/from date
User public key information
Signature of issuing authority

Tiers de confiance / sequestre


Norme CCITT X. 509

0000123
SHA,DH, 3837829....
1/1/93 to 12/31/98
Alice Smith, Acme Corp
DH, 3813710...
Acme Corporation, Security Dept.
SHA,DH, 2393702347 ...

Protocoles rseaux scuriss


 SSL (Secure Socket Layer)
 SET (Secure Electronic Transaction)
 Secure HTTP
 Secure TCP/IP IP v.6
 ...

SSL
 Communication scurise entre deux entits
 Protocole de handshake

 Client vrifie le certificat du serveur


 Client gnre paire de cl
 Demande la cl publique du serveur
 Envoie de la cl publique du client chiffre au serveur
 Test mis par le serveur

 change de donnes sur liaison scurise


 Commerce lectronique

Commerce lectronique
 Evolution exponentielle, initie par les professionnels, tire
par les particuliers

 Pose tous les problmes traits par la cryptologie


 Authentification  Intgrit
 Confidentialit
 Non rpudiation
 2 voies principales
 Acheteur / Vendeur SSL
 Acheteur / Vendeur + Banques SET

Lgislation & Cryptologie


Pas de lgislation internationale + volution rapide
Difficult de standardisation des protocoles

 Les logiciels de chiffrage ne sont pas comme les autres !

 USA
 Cryptologie, armes et munitions Mme cadre juridique
 ITAR (International Traffic Arm Regulation) Export (40 bits)

 France
 Lgislation trs restrictive mais volutive
 SCSSI (Service Central de Scurit des Sys. Informations) Organisme d'tat
 Dcrets 98-206 & 207 du 23 Mars 1998

- Autorisation Dclaration Sans formalit


- 240 essais, F U I E
 Sanctions encourues :

- Import sans autorisation : 6 mois & 200 000 F


- Tiers de confiance illgal : 2 ans & 300 000 F
- Fourniture pour crime & dlit : 3 ans & 500 000 F
- Circonstance aggravante ?

Conclusion sur la cryptograhie


 Indispensable aux rseaux de communication
Scurit Intranet / Extranet / Internet

 Moteur de dveloppement du @Business


 Consquences juridiques

Transition ...
Thorie de l'information Domaine vaste (Continu, Modle de
rseaux, Thorie de la distorsion, )

Techniques de codage

Coder, c est bien,


mais moduler a sert aussi ...

Vous aimerez peut-être aussi