Vous êtes sur la page 1sur 75

Sécurité informatique

Dr. A. Farchane
Faculté polydisciplinaire
-Beni Mellal-
Introduction
Canal non sécurisé
Alice Bob

OSCAR

• Problème de confidentialité, d’intégrité et


d’authentification
03:37 2
Les buts de la cryptographie
Elle doit satisfaire plusieurs fonctions :
– La confidentialité

– L’authentification

– L’intégrité

– La non répudiation

03:37 3
Les buts de la cryptographie
La confidentialité
– Il s’agit de garantir le secret de
l’information transmise ou archivée.
– Seuls les utilisateurs autorisés doivent y
avoir accès.

03:37 4
Les buts de la cryptographie
L’authentification:
– l’émetteur est sûr de l’identité du destinataire c’est à
dire que seul le destinataire pourra prendre
connaissance du message car il est le seul à disposer
de la clef de déchiffrement.

– le destinataire est sûr de l’identité de l’émetteur

– L’authentification Consiste à vérifier qu’une


personne possède bien l’identité, ou les droits,
qu’elle affirme avoir.
03:37 5
Les buts de la cryptographie
L’intégrité
– Il s’agit de préserver les informations contre
les modifications.
– "L’intégrité est la prévention d’une modification
non autorisée de l’information "
– Avec les techniques actuelles, cette fonction
est réalisée par la signature numérique.

03:37 6
Les buts de la cryptographie
La non répudiation
– Impossibilité, pour une personne ou pour toute
autre entité engagée dans une communication par
voie informatique, de nier avoir reçu ou émis un
message.

– Les algorithmes asymétriques assurent la non-


répudiation d'un message signé dans la mesure où
seul l'expéditeur possède la clé secrète utilisée
pour cette signature.
03:37 7
Terminologie
• La cryptologie est la science du secret. Elle se
divise en deux disciplines :
– La cryptographie qui est l’étude des algorithmes
permettant de protéger de l’information. Ces
algorithmes sont appelés cryptosystèmes ;

– la cryptanalyse qui est l’étude du niveau de


sécurité des cryptosystèmes fournis par les
cryptographes.

03:37 8
Terminologie
• Chiffrer : l’action de rendre un message en clair M
(plaintext) en un message illisible C appelé
(ciphertext) cryptogramme ou message chiffre.

• Déchiffrer : Action inverse du chiffrement.

• Cryptosystème : L’algorithme (ou le dispositif


physique) permettant de chiffrer des données.

• Attaquer, Casser : Mettre à mal la sécurité d’un


cryptosystème (retrouver M à partir de C sans
connaitre la clé, retrouver la clé).
03:37 9
Terminologie
• Message en clair/ message chiffré(cryptogramme)

• Chiffrer /déchiffrer: avec une clé= action autorisée,

• Décrypter: sans la clé= action illégale!

• Algorithme: description non-ambiguë d’une méthode


de résolution d’un problème.

• Protocole: description non-ambiguë d’une suite


d’interactions entre plusieurs participants.

03:37 10
Terminologie
• Il existe 2 types de chiffrement:
– Le chiffrement symétrique (ou chiffrement à clé
privée) consiste à utiliser la même clé pour le
chiffrement et le déchiffrement.

03:37 11
Terminologie
– Le chiffrement asymétrique (ou chiffrement à clés
publiques) consiste à utiliser une clé publique
pour le chiffrement et une clé privée pour le
déchiffrement.

03:37 12
Cryptographie classique
Quelques cryptosystèmes classiques
• Chiffrement par substitution
– Substitution monoalphabétique
• Chiffre de César
• Chiffre affine
– Substitution polyalphabétique
• Chiffre de Vigenère
• Chiffre de Vernam
– Substitution polygrammes
• Chiffre de Playfair
• Chiffrement par transposition
– Transposition simple par colonnes
– Transposition complexe par colonnes

03:37 14
Chiffrement par substitution
Définition:
• Le chiffrement par substitution consiste à
remplacer dans un message une ou plusieurs
entités (généralement des lettres) par une ou
plusieurs autres entités.

• Toutes les substitutions simples sont


vulnérables à une analyse des fréquences
d'apparition des lettres.
03:37 15
Chiffrement par substitution
Chiffre de César:
• Substituer chaque lettre du message en clair par
une autre située à distance fixe dans l’alphabet.
Cette distance devait être connue de l’expéditeur
comme du destinataire.
• décalage de trois lettres :

03:37 16
Chiffrement par substitution
Chiffrement de César:
• Principe :
– Soit p (c, respec.) l’indice de la lettre du message en
clair(chiffré,respec.) et k le décalage (la clé: k=3):

– Chiffrement : C = Ek(p) = (p + k) mod 26

– Déchiffrement : p = Dk(C) = (C - k) mod 26

03:37 17
Chiffrement par substitution
Chiffrement de César:
• Exemple :
– Chiffrez le message « bonjour tout le monde » en
utilisant le cryptosystème de César(k=3).
– ERQMR XUWRX WOHPR QGH
– Déchiffrez le message : «FKLII UHGHF HVDU »
– chiffredeCesar
– Décryptez le message chiffré suivant:
– c= HMNKK WJIJH JXFW
– CHIFFRE DE CESAR
– Donnez la clef de chiffrement (k=5)
03:37 18
Chiffrement par substitution
• L’espace de clés est:|K|=26.

• Cette méthode est vulnérable aux attaques de


type:
– Analyse de fréquences
– Force brute (26 clés possibles !)

• Analyse fréquentielle:
Le principe de cette cryptanalyse consiste à deviner les
lettres d’un texte clair sur la base de leur fréquence
d’apparition
03:37 19
Chiffrement par substitution
Analyse fréquentielle:
• Fréquences d'apparition des lettres(français)

• Analyse des fréquences des lettres : A et E sont les


plus fréquentes en français, le moins fréquent: W.

• Cette technique ne fonctionne bien que si le


message chiffré est suffisamment long.
03:37 20
Chiffrement par substitution

Analyse fréquentielle(di/tri-grammes):

• Digrammes les plus utilisés


en langue française : ES, LE,
EN …
• Trigrammes : ENT, LES, EDE…

03:37 21
Chiffrement par substitution
Le chiffrement affine:
• L'idée est d'utiliser comme fonction de chiffrement
une fonction affine du type y=(k1.x+k2) mod 26, où
k1 et k2 sont des constantes, et où x et y sont des
nombres correspondant aux lettres de l'alphabet
(A=0,B=1,…,Z=25).

• On peut remarquer que si k1=1, alors on retrouve


le chiffre de César et b est le décalage.
03:37 22
Chiffrement par substitution
Le chiffre affine: fonctionnement
• „message M=m1m2…mn-1mn
• Clé : (k1, k2), k1,k2 ∈ {0,25} et pgcd(k1,26)=1
• Chiffrement:
ci= f(mi) = k1*mi + k2 mod 26
• „Déchiffrement :
mi= f-1(ci) = k1-1*(ci–k2) mod 26
• „Nombres de clés possibles : 12*26 = 312
03:37 23
Chiffrement par substitution
Le chiffre affine: exemple
• „C
„ lé = (k1, k2) = (3, 11)
• Chiffrement :
ci= f(mi) = 3 * mi + 11 mod 26
• Déchiffrement :
k1-1 = 3-1 mod 26 = 9 car 3 * 9 mod 26 = 1
mi= f-1(ci) = 9 * (ci– 11) mod 26

03:37 24
Chiffrement par substitution
Cryptanalyse: chiffre affine
• message chiffré : HGAHY RAEFT GAGRH
DGAGM OEHIY RAAOT ZGAGJ GKFDG AZGSB
INNTG KGRHE NNIRG
• Trouvez le message en clair.

03:37 25
Chiffrement par substitution
Cryptanalyse: chiffre affine
• Solution:
• On remarque que G apparait 12 fois et A 8 fois.

• E, A, S, I sont les lettres les plus fréquentes, donc E  G et


SA

• Trouver (k1; k2) : 4k1 + k2 = 6 mod26 et


18k1 + k2 = 0 mod26 14k1=-6 mod26k1=7 et k2=4.

• Le message déchiffré est: TESTONS A PRESENT LES EQUATIONS SUR


DES EXEMPLES DE CHIFFREMENT AFFINE

03:37 26
Substitution par permutation
• P=C=Z26
• |K|=26!
• Soit п une permutation:
– Soit x c P, ek(x)=п(x)=y, dk(y)=п-1(y)=x
• Exemple:

– X=« ce texte est chiffre par substitution »


– Y=« yv pvfpv vqp yaihhjv rdj qexqpipepics »
03:37 27
Chiffrement par substitution
Subst. polyalphabétique: chiffre de Vigenère
• Le chiffre de Vigenère est une amélioration
décisive du chiffre de César.

• Sa force réside dans le fait que ce chiffre


utilise une clef qui définit le décalage pour
chaque lettre du message.

03:37 28
Chiffrement par substitution
Exemple:Chiffrement de Vigenère
chiffrons le texte "CHIFFRE DE VIGENERE" avec
la clef "FPBM" (cette clef est éventuellement
répétée plusieurs fois pour être aussi longue
que le texte en clair).
clair c h i f f r e d e v i g e n e r e
clef f p b m f p b m f p b m f p b m f
décalage 5 15 1 12 5 15 1 12 5 15 1 12 5 15 1 12 5
chiffré h w j r k g f p j k j s j c f d j

03:37 29
Chiffrement par substitution

03:37 Carré de Vigenère 30


Chiffrement par substitution

Chiffre de Vernam ( One-Time Pad)


• „Masque jetable = chiffre de Vigenère avec
comme caractéristique que la clef de
chiffrement a la même longueur que le
message en clair.
• Exemple :

03:37 31
Chiffrement par substitution
Chiffrement de Vernam ( One-Time Pad)
• „Méthode du masque jetable, Il faut :
1. choisir une clef aussi longue que le texte à
chiffrer,
2. utiliser une clef formée d'une suite de caractères
aléatoires,
3. protéger votre clef,
4. ne jamais réutiliser une clef,
5. écrire des textes clairs ne contenant que les
lettres (sans ponctuation et sans espaces).
03:37 32
Chiffrement par substitution
Difficultés du chiffrement de Vernam:
• Le problème de ce système est de communiquer
les clefs de chiffrement ou de trouver un
algorithme de génération de clef commun aux
deux partenaires :
1. La création de grandes quantités des clefs aléatoires :
n'importe quel système fortement utilisé pourrait
exiger des millions de caractères aléatoires de façon
régulière.
2. La distribution des clés : une clé de longueur égale
est nécessaire pour l’expéditeur et pour le récepteur.
Nécessite une bonne organisation.
03:37 33
Chiffrement par substitution
Chiffre polygrammique: Le chiffre Playfair:
• On dispose les 25 lettres de l'alphabet (W
exclu car inutile, on utilise V à la place) dans
une grille 5x5, ce qui donne la clef.
• La variante anglaise consiste à garder le W et à
fusionner I et J.

03:37 34
Chiffrement par substitution
Chiffre polygrammique : Méthode de chiffrement
• On chiffre le texte par groupes de deux lettres (des
bigrammes) en appliquant les règles suivantes:
1. Si les deux lettres sont sur les coins d'un rectangle, alors
les lettres chiffrées sont sur les deux autres coins. La
première des deux lettres chiffrées est sur la même ligne
que la première lettre claire.

2. Si deux lettres sont sur la même ligne, on prend les deux


lettres qui les suivent immédiatement à leur droite.

3. Si deux lettres sont sur la même colonne, on prend les


deux lettres qui les suivent immédiatement en dessous.

4. Si le bigramme est composé de deux fois la même lettre,


on insère X entre les deux pour éliminer ce doublon.
03:37 35
Chiffrement par substitution
Chiffre polygrammique:
Pour déchiffrer, on applique les règles ci-dessus
Exemple:
• Chiffrer le message «FACULTE POLYDISCIPLINAIRE»
• Message chiffré: « KFAXO QATKM DINYD HQKNS
DFTC »

03:37 36
Chiffrement par transposition
Définition:
• Les méthodes de chiffrement par transposition
consistent à réarranger les données à chiffrer de telle
façon à les rendre incompréhensibles. Il s'agit
généralement de réarranger géométriquement les
données pour les rendre visuellement inexploitables.
• Transposition simple par colonnes :
– On écrit le message horizontalement dans une matrice
prédéfinie, et on trouve le texte à chiffrer en lisant la grille
verticalement .
– Le destinataire légal pour déchiffrer le message réalise le
procédé inverse.
03:37 37
Chiffrement par transposition
• Transposition simple par colonnes :
• Exemple: texte à chiffrer= «faculte
polydisciplinaire de beni mellal» en utilisrant une
matrice 6x6.
f a c u l t
e p o l y d
i s c i p l
i n a i r e
d e b e n i
m e l l a l
• Feiidm apsnee cocabl uliiel lyprna tdleil
03:37 38
Chiffrement par transposition
• Transposition complexe par colonnes :
– Une clé secrète (avec uniquement des caractères ) est
utilisé pour dériver une séquence de chiffres commençant
à 1 et finissant au nombre de lettres de la clé.

– Cette séquence est obtenue en numérotant les lettres de


la clé en partant de la gauche vers la droite et en donnant
l’ordre d’apparition dans l’alphabet.

– On chiffre en écrivant d’abord le message par lignes dans


un rectangle , puis on lit le texte par colonnes en suivant
l’ordre déterminé par la séquence.

03:37 39
Chiffrement par transposition
• Transposition complexe par colonnes :
– Exemple:
– Prenons l'exemple la clef : DELIVRANCE

– on souhaite chiffrer est : "VENEZ NOUS AIDER AU


PORT DE BREST" :

– OPT SRY VID EDE ATZ ERR NEB UOX NUS ZAE
03:37 40
Chiffrement par transposition
Transposition complexe par colonnes :
• Exemple:
– voici un message déjà chiffré, VTGURX SDEAEM
SCYRRS UCEOEE ZPAEYS par la clef DELIVRANCE.
– Déchiffrez le message ci-dessus.

– Solution: Saurez vous decrypter ce message

03:37 41
Cryptanalyse
• Deux grands types d'attaques en cryptographie:
– Attaques passives
– Attaques actives

• Dans une attaque passive, l’opposant (Oscar) se


contente d'écouter les messages qui transitent sur
le canal de communication.
– Menace sur la confidentialité

• Dans une attaque active, l’opposant modifie le


contenu des messages échangés sur le canal de
communication.
– Menace sur l’intégrité et l’authentification
03:37 42
Cryptanalyse
les attaques potentielles les plus connues :
• Attaque à texte chiffré connu (Attaque par
répertoire)
• Attaque à texte clair connu

• Attaque à texte clair choisi (Attaque par


dictionnaire )
• Attaque à texte chiffré choisi

• Attaque par recherche exhaustive


• …….
03:37 43
L'attaque à texte chiffré connu
seulement
• Le cryptanalyste dispose du texte chiffré de
plusieurs messages, tous ayant été chiffrés
avec le même algorithme.
• Sa tâche est de retrouver le plus grand
nombre de messages clairs possibles, ou
mieux encore de retrouver la ou les clefs qui
ont été utilisées, ce qui permettrait de
déchiffrer d'autres messages chiffrés avec ces
mêmes clefs

03:37 44
L'attaque à texte clair connu
• Le cryptanalyste a non seulement accès aux
textes chiffrés de plusieurs messages, mais
aussi aux textes clairs correspondants.
• La tâche est de retrouver la ou les clefs qui ont
été utilisées pour chiffrer ces messages ou un
algorithme qui permet de déchiffrer d'autres
messages chiffrés avec ces mêmes clefs.

03:37 45
L'attaque à texte clair choisi
• Le cryptanalyste a non seulement accès aux
textes chiffrés et aux textes clairs
correspondants, mais de plus il peut choisir les
textes en clair.
• Cette attaque est plus efficace que l'attaque à
texte clair connu, car le cryptanalyste peut
choisir des textes en clair spécifiques qui
donneront plus d'informations sur la clef.

03:37 46
L'attaque à texte chiffré choisi
• Le cryptanalyste peut choisir différents textes
chiffrés à déchiffrer.
• Les textes déchiffrés lui sont alors fournis.
• Par exemple, le cryptanalyste a un dispositif
qui ne peut être désassemblé et qui fait du
déchiffrement automatique. Sa tâche est de
retrouver la clef.

03:37 47
Cryptanalyse des substitutions
polyalphabétique
• Substitutions polyalphabétique
– Ne cache pas non plus la fréquence d’apparition des
symboles

• On connaît la longueur de la clé n


– On réarrange le cryptogramme en n groupes de lettres
– On applique l’analyse statistique classique sur chaque
groupe

• On ne connaît pas la longueur de la clé


– On cherche à la découvrir!
– On applique l’analyse statistique classique sur chaque
03:37 groupe 48
Indice de coïncidence
• Indice de coïncidence est utilisé pour déterminer la
longueur de la clé dans un chiffrement de Vigenère.

• Ce concept fut mis au point par le cryptologue américain W.


Friedman qui le publia en 1920,

Principe:
• Dans un texte quelconque de n lettres, on compte le
nombre de répétition de chaque lettre :
– NA= nombre de A dans le texte
– NB = nombre de B dans le texte
– …….
– NZ = nombre de Z dans le texte
• On calcul l’Indice de coïncidence simplement par la formule:
A ( N A 1)  N B ( N B 1) ...  N Z ( N Z 1)
− 1)+ NnB(nB
IC = nA(nAIC − 1) +N. (.N. +1)nZ(nZ − 1)/n(n − 1)
03:37 49
Indice de coïncidence
Exemple:
• calculons l’indice de coïncidence du texte :Un
enfant n’a pas d’aversion pour la laideur de sa
mère

• le nombre de lettres dans cette phrase est


n=43, le nombre de a est 7, le nombre de b et
de c est 0, le nombre de d est 3, etc. L’indice de
coïncidence est donc
(7  6)  0  0  (3  2)  . . .
IC   0, 070
03:37 43  42 50
Indice de coïncidence
• Observations sur l’indice de coïncidence
– Exemples d'indices calculés sur des textes dans
différentes langues:

– l’indice de coïncidence moyen d’un texte aléatoire


ICa=0,038.

– Pour tout chiffre mono-alphabétique, l’indice de


coïncidence est le même pour le texte chiffré que
pour le texte clair.
03:37 51
Indice de coïncidence
• Test de Friedman
– On peut utiliser l’indice de coïncidence pour
déterminer la longueur de la clé dans un texte, chiffré
selon le chiffre de Vigenère.

– on calcule l’indice de coïncidence de chacun des sous-


ensembles de lettres suivants du texte chiffré:
1. l’ensemble de toutes les lettres du texte
2. l’ensemble des lettres en position 1,3, 5, . . ., dans le texte
3. l’ensemble des lettres en position 1,4, 7, . . ., dans le texte

k. l’ensemble des lettres en position 1,k + 1, 2k + 1, . . ., dans le
texte

03:37 52
Indice de coïncidence
• Test de Friedman
– Si l’ensemble, considéré à la k-ième étape, est celui
pour lequel l’indice de coïncidence est le plus
élevé, alors on choisit k comme longueur de la clé.
• trouver la longueur du mot-clé du texte:
YTTFT CTMUG FEJCU XFRSK UIBZF AZEJH VDQTD
TNUGD JBFZY SFHNV OQWT

• on calcule les indices de coïncidence pour les


différents sous-ensembles correspondant à
chaque étapes:
03:37 53
Indice de coïncidence
• M=TESTONS A PRESENT LA CRYPTANALYSE SUR LE CHIFFREMENT DE VIGNERE

• Intervalle de 1: YTTFT CTMUG FEJCU XFRSK UIBZF AZEJH


VDQTD TNUGD JBFZY SFHNV OQWT

• Intervalle de 2: YTTTU FJUFS UBFZJ VQDNG JFYFN OW et


TFCMG ECXRK IZAEH DTTUD BZSHV QT

• Intervalle de 3: YFTGJ XSIFE VTNDF SNQ, TTMFC FKBAJ


DDUJZ FVW et TCUEU RUZZH QTGBY HOT

• Intervalle de 4: YTUJF UFJQN JYNW , TCGCR IAHTU BSVT,


TTFUS BZVDG FFO et FMEXK ZEDTD ZHQ.

• Intervalle de 5: YCFXU AVTJS O, TTEFI ZDNBF Q, …

03:37 54
Indice de coïncidence
Intervalle Indice de coïncidence
1 0.04263
2 0.05983 0.03134
3 0.03922 0.03922 0.05229
4 0.07692 0.04396 0.05128 0.03846
5 0.00000 0.03636, 0.00000 0.03636, 0.02222

• La clé est donc probablement de longueur 4.

03:37 55
Types de cryptosystèmes

Cryptographie

Symétrique Asymétrique

Par bloc: Par flot: RSA,


DES, AES,… RC4,… El Gamal,…

03:37 57
Modélisation
• Cryptosystème:
– P et C les alphabets pour écrire les messages clairs et
les messages chiffrés respectivement.
– K l’ensemble des clés possibles.
– Pour tout k pub , k prv   on peut définir deux
applications :
 pour chiffrer : ek p u b : P 
 C
 pour déchiffrer : d k p rv : C 
 P
telles que: dk prv
e
k pub 
( x)  x pour tout x  P
• Dans le cas de cryptosystème symétrique, on a:
k pub  k prv
03:37 58
Chiffrement à flot
Définition
• On désigne par chiffrement à flot, ou parfois chiffrement en
continu (stream-cipher), tout système de chiffrement dans
lequel chaque symbole du texte clair subit une transformation
variable dans le temps.

• La transformation que subit chaque symbole mi du texte clair


est le plus souvent une combinaison additive avec un symbole
si produit par un générateur pseudo-aléatoire (GPA).
ci = mi+si (chiffrement)
mi= ci -si (déchiffrement) où + = - = xor
– La suite des symboles (si ) est appelée suite chiffrante ou
masque
03:37 59
Chiffrement à flot
Système inconditionnellement sûr:
• dans lequel chaque symbole mi du message
clair est combiné à un symbole aléatoire si
ci = mi + si ;
• la suite (si ) n‘étant jamais réutilisée.

03:37 60
Chiffrement à flot
Générateur Pseudo-Aléatoire (GPA)
• Un générateur pseudo-aléatoire de symboles est
un automate à nombre d‘états qui à partir de la
donnée d'un nombre de symboles, que l'on
appelle graine ou germe (seed en anglais) produit
une suite potentiellement illimitée de symboles
qui a l'apparence d'une suite aléatoire.

• Dans un système de chiffrement à flot, le germe


du GPA est calculé à partir
– de la clé k ;
– et d'un vecteur d'initialisation IV.
q0 = g(k; IV)
03:37 61
Chiffrement à flot
Chiffrement à synchrone
• Le chiffrement est dit synchrone si les
symboles produits par le GPA ne dépendent
que de son état interne et non du message à
chiffrer.

03:37 62
Chiffrement à flot
Chiffrement asynchrone:
• Le chiffrement est dit asynchrone ou auto-
synchronisant si les symboles produits par le GPA
ne dépendent que de son état interne et d'un
nombre fixé t de symboles du message à chiffrer.

03:37 63
Chiffrement à flot
Exemple:

03:37 64
Chiffrement à flot
GPACS
• Un GPA est cryptographiquement sûr (GPACS)
s'il passe le test du prochain bit.

Test du Prochain bit


• Un GPA de bits passe le test du prochain bit si
aucun algorithme polynomial ne peut prédire le
(k + 1)ème bit de s en connaissant les k bits
précédents avec une probabilité
significativement différente de 1/2.
03:37 65
Chiffrement à flot
Générateur BBS (Blum-Blum-Shub)

03:37 66
Chiffrement à flot
Intérêt de BBS
1. BBS est un GPACS,
2. mais très coûteux (opérations complexes
pour produire un bit)
3. donc non utilisable en pratique pour le
chiffrement à flot.

03:37 67
Chiffrement à flot
LFSR:(Linear Feedback Shift Register)
• Un registre à décalage à rétroaction linéaire, désigné par
l'acronyme LFSR, est un dispositif qui produit une suite de bits.

• La suite récurrente produite par un LFSR est nécessairement


périodique à partir d'un certain rang.

• Les LFSR sont utilisés en cryptographie pour engendrer des


suites de nombres pseudo-aléatoires.

• La fonction de rétroaction est alors choisie de façon à obtenir


une période la plus grande possible.

03:37 68
Chiffrement à flot
Exemple (LFSR):
Soit le LFSR ci-dessous composé de trois registres FF0, FF1, FF2
et une fonction de rétroaction comme le montre le schema.
l’état initiale est (s2=1, s1=0 , s0=0 )

03:37 69
Chiffrement à flot
• On voit que après un certain cycle d’horloge
la séquence de sortie se répète .
• Ce LFSR à une période de longueur 7 et a
pour forme: 0010111 0010111 0010111.
• Calculons la sortie si
s3 ≡ s1 +s0 mod 2
s4 ≡ s2 +s1 mod 2
s5 ≡ s3 +s2 mod 2

• De façon général:
si+3 ≡ si+1 +si mod 2

03:37 70
Chiffrement à flot
Description mathématique:
• Dans le cas général, un LFSR est composé de m registres et une
fonction rétroactive décrite par les coefficients p0, p1,..., pm−1.

• Supposons que l’état initiale du LFSR est s0,..., sm−1, et la sortie


suivante du LFSR est sm , qui est aussi l’entrée suivante du
registre de l’extrémité gauche.

03:37 71
Chiffrement à flot
Description mathématique:
• La sortie suivante du LFSR peut être calculer par:
sm ≡ sm−1 pm−1 +···+s1 p1 +s0 p0 mod 2
sm+1 ≡ smpm−1 +···+s2 p1 +s1 p0 mod 2

• En général, la sortie de la séquence peut être


décrite par:

• La longueur maximal d’une séquence générée par


un LFSR de degré m est 2m −1.
03:37 72
Chiffrement à flot
Exercice:
Déterminez la période de la séquence de sortie de
le LFSR pour les cas suivantes:
1. Soit un LFSR de degré m = 4 et une fonction de
rétroaction de coefficient:
(p3 = 0, p2 = 0, p1 =1, p0 = 1);

2. Soit un LFSR de degré m = 4 et une fonction de


rétroaction de coefficient:
(p3 =1, p2 =1, p1 =1, p0 =1)

03:37 73
Chiffrement à flot
• Un LFSR est décrit par (pm−1 ,…,p1 ,p0) peut être représenté
par un polynôme P(x):
P(x)= xm + pm−1 xm−1 +...+ p1 x+ p0
• LFSR avec les coefficients (p3 = 0, p2 =0, p1 = 1, p0 = 1) peut
être représenté par le polynôme :
P(x)= x4 + x + 1.
• L’utilisation d’un seul LFSR génère une sortie prédictible.

• Si 2m sorties d’un LFSR de degré m sont connues, les


coefficients de feedback Pi peuvent être calculer en résolvant
un système d’équations linéaires.

• De ce fait, beaucoup de chiffrement à flot combinent les LFSR


03:37 74
Chiffrement à flot
• Les LFSR ne sont pas des GPACS car ils sont
prédictibles:
– Connaissant L bits consécutifs produits par un LFSR de
longueur L et dont on connaît le polynôme de
rétroaction, on peut en déduire le (L + 1)ème bit produit.

– Connaissant 2L bits consécutifs produits par un LFSR de


longueur L dont on ne connaît pas le polynôme de
rétroaction, on peut retrouver ce polynôme par
l'algorithme de Berlekamp-Massey.

• Il ne faut pas utiliser les LFSR seuls pour un usage


cryptographique.
03:37 75