OUARDI Aissa Communications Numériques : la Cryptographie
Robustesses des algos en continu
1
ROBUSTESSE DES ALGORITHMES
III.1 INTRODUCTION
Les algorithmes de chiffrement sont vulnérables à certaines techniques de cryptanalyse.
On dit qu’un algorithme est meilleur qu’un autre s’il faux fournir plus d’effort pour retrouver
la clef utilisée. Chaque algorithme a un certain degré de sécuriqui dépend de sa philosophie
de conception. Pour faire le bon choix, il faut conntre la robustesse des algorithmes contre
les différentes méthodes d'attaque.
Notons qu'un cryptosystème est cassé si la clef de cryptage est trouvée. Dans certains
cas, le cryptanalyste ne cherche pas à mener une attaque coûteuse contre un cryptosystème si
la clef n’est pas bien sécurisée. Dans ce qui suit, nous supposons que la sécurité de la clef est
assurée.
III.2 ALGORITHMES DE CHIFFREMENT EN CONTINU
Avant de donner les résultats de cryptanalyse des algorithmes de chiffrement en
continu, il vaut mieux préciser quelques notions et outils de cryptanalyse dans ce type
d’algorithmes, notamment les types d’attaque et les critères d’évaluation de la robustesse
d’un générateur (ces algorithmes se basent sur des générateurs pseudo aléatoires).
III.2.1 Complexité linéaire
On note S : séquence infinie s0, s1, s2,…
Sn: séquence finie de longueur ‘n’ : s0, s1, s2,…, sn-1.
La complexité linéaire L(S) de S est définie comme suit:
(i) Si S = 0 0 0……. Æ L(S) = 0
(ii) S’il n’y a pas un LFSR qui peut nérer S Æ L(S) = .
(iii) Sinon, L(S) est la longueur du plus petit LFSR qui peut produire S.
Propriétés de la complexité linéaire
Pour tout n 1, si Sn a une longueur ‘n’ alors n)L(S0n
1- L(Sn) = 0 si et seulement si Sn = 0 0 0………0.
2- L (Sn) = n si et seulement si n = 0 0 0………. 0 1.
3- Si S est périodique de période N alors L (s) N.
4- L (S t) L(S) + L(t) [5].
III.2.2 Algorithme de Berlekamp-Massey
L'algorithme de Berlekamp-Massey est un algorithme efficace pour la détermination de
la complexité linéaire d'une séquence Sn de longueur 'n'. L'algorithme prend ‘n’ itérations. A
la Nème itération, l’algorithme calcule la complexiliaire de la sous séquence SN.
Algorithme de Berlekamp-Massey
ENTREE: Séquence binaire Sn = s0, s1, s2,……………, sn-1 de longueur n.
SORTIE: La complexité linéaire L(Sn) de Sn, 0L(Sn) n.
OUARDI Aissa Communications Numériques : la Cryptographie
Robustesses des algos en continu
2
1. Initialisation :
C(d) = 1, L= 0, m= -1, B(d)= 1, N= 0 ;
2. Tant que (N < n) faire:
2.1. Calculez la prochaine anomalie (discrepancy)
2mod)Sc(Sd1i-NiN =
+= L
i;
2.2. Si d = 1 alors faire:
T(d)= C(d) ;
C(d)= C(d) + B(d) * DN-m ;
Si LN/2 alors L= N+1-L, m= N, B(d)=T(d) ;
2.3. N= N+1 ;
3. Return(L).
Si ‘S’ est une séquence binaire infinie dune complexité linéaire ‘L’ et si t’ est une
sous séquence finie dans ‘S’ de longueur au moins 2L et si l'entrée est la séquence ‘t’, alors
l'algorithme de Berlekamp-Massey (avec le pas 3 modifié pour retourner L et C (D))
détermine un LFSR de longueur L qui produit ‘S’.
Exemple : (algorithme de Berlekamp-Massey) :
Le tableau suivant montre l’exécution de l’algorithme en analysant la séquence binaire
de longueur 9, S9= 0; 0; 1; 1; 0; 1; 1; 1; 0 pour calculer sa complexité linéaire. On trouve
qu’elle est égale à ‘5’ et le LFSR qui génère ‘S’ est ++53 DD15, .
SNdT(D) C(D) L m B(D) N
0
0
1
1
0
1
1
1
0
0
0
1
1
1
1
0
1
1
-
-
1
1+D3
1+D+D3
1+D+D2+D3
1+D+D2+D3
1+D+D2
1+D+D2+D5
1
1
1
1+D3
1+D+D3
1+D+D2+D3
1+D+D2
1+D+D2
1+D+D2+D5
1+D3+D5
0
0
0
3
3
3
3
3
5
5
-1
-1
-1
2
2
2
2
2
7
7
1
1
1
1
1
1
1
1
1+D+D2
1+D+D2
0
1
2
3
4
5
6
7
8
9
III.2.3 Attaques par corrélation
Supposant qu’on a n’ LFSRs R1 , R2 , …….,Rn de longueurs L1 , L2 ,…,Ln sont utilisés
dans un nérateur à combinaison non liaire. Si les polymes de connexion des LFSRs et
la fonction de combinaison ‘f’ sont connus, alors le nombre de différentes clefs possibles du
générateur est=
n
1i )12( I
L.
Supposant qu'il y a une corrélation entre les codons (les bits générés) et la séquence de sortie
de R1 avec la probabilité de corrélation p > ½. Si un segment suffisamment long de codons
est connu, l'état initial de R1 peut être déduit en comptant le nombre de coïncidences entre le
flux et tous les sorties possibles de R1produites par tous les états initiaux possibles jusqu'à ce
que ce nombre soit conforme à la probabilide corrélation ‘p’. La recherche de l’état initial
de R1 prend au maximum
1
2
1
L
test de clef.
Tableau III.1 – Exemple d’exécution de l’algorithme de Berlekamp Massey.
OUARDI Aissa Communications Numériques : la Cryptographie
Robustesses des algos en continu
3
Dans le cas où il y a une corrélation entre le flux généré et toutes les quences
générées par les LFSRs R1, R2,…, Rn, les états initiaux de tous les LFSR peuvent être
termis indépendamment en testant au maximums
=
n
i
LI
1
)12( états initiaux. Ce nombre est
beaucoup plus petit que le nombre total de clefs différentes. Donc, les corrélations peuvent
être exploitées.
La fonction de combinaison 'f' devra être soigneusement choisie de sorte qu'il n'y a
aucune dépendance statistique entre les sorties des LFSRs et le flux.
III.2.4 Résultats de cryptanalyse
III.2.4.1 Générateurs à combinaison nom linéaire
a. Générateur de Geffe
La complexité linéaire de ce générateur est 33221c L.LL.LLL ++= (les Li sont les tailles
des registres utilisés).
Il est cryptographiquement faible car il est vulnérable à une attaque par corrélation. Si
LFSR 1 et LFSR 2 sont multiplexés par LFSR 3, et si ‘z’ est la sortie du générateur, alors
pour LFSR 1
4
32
1
2
1
2
1
)()0()1(
))0(1()(
1233
12331
=
+=
==+== ===== xxPxPxp
xxetxouxPxzP
Même pour LFSR2 :
4
3
)( 2== xzP .
Aussi, avec l’algorithme du syndrome linéaire, si les connexions sont connues et si le
LFSR1 à une taille ‘n’, alors le système est cassé après l’analyse de N=37*n bits en 896*n
opérations.
L’attaque par corrélation est aussi appliquée au générateur de Geffe généralisé.
b. Générateur à Seuil
Il a une complexiliaire de .LLLLLLL 323121c ++= Chaque bit de sortie du
générateur donne un peu d’information sur l’état des LFSR, et le tout tombe sous le coup
d’une attaque par corrélation.
c. Générateur à sommation
Ce générateur a une complexilinéaire proche de .)12(
n
1i
Li
=
Même ce générateur est vulnérable à l’attaque par corrélation.
III.2.4.2 Générateurs Contrôlés par horloge
a. GSAA
La complexité linéaire de ce générateur est comprise entre :
11 2)()(2)( 32
1
32 L
c
LLLxLLL +<+ .
OUARDI Aissa Communications Numériques : la Cryptographie
Robustesses des algos en continu
4
Ces générateurs ont des longues riodes et des grandes complexités linéaires. On doit choisir
des longueurs de registres premiers entre eux. Les auteurs ont trouvé une attaque par
corrélation contre LSFR-1 (qui commande l’horloge des autres générateurs), mais elle
n’affaiblit pas le générateur.
b. GSAB
« La complexité linéaire de ce système est approximativement égale à la période.
Aucune redondance de codons évidente n’a été constatée dans ce système ».
c. Générateur de Beth Piper
Si les polymes de LFSR1 et LFSR 3 sont connues et ont des tailles inférieurs à ‘n’,
alors Zeng et les autres, et en utilisant l’algorithme du syndrome linéaire, ont cassé ce
système en analysant un segment de 37 n bits.
d. Cascade de Gollmann
Si tous les LFSR ont la même taille ‘n’, la complexilinéaire d’un sysme de ‘k’
LFSR est 1
)12(
= kn
cnL
Il est vulnérable à une attaque appelée verrouillage. Des analyses plus poussées ont montré
que la suite se rapproche de l’aléatoire quand k grandit.
Tableau récapitulatif
Générateur Complexité linéaire Attaque par
corrélation Autres
attaques
Geffe 33221c L.LL.LLL ++= Oui Oui
Gen. à seuil .LLLLLLL 323121c ++= Oui --
Gen. à
sommatiuon .)12(
1
=n
i
L
ci
LOui --
GSAA
1
12)()(2)( 32
1
32 L
c
LLLxLLL +<+ -- --
GSAB
c
L période -- --
Gollmann 1
)12(
= kn
cnL -- Oui
Tableau III.2 – Tableau récapitulatif des résultats de cryptanalyse des algorithmes en continu.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !