7. Les algorithmes de chiffrement sont équivalents a
Des fonctions a sens unique avec des portes
dérobés
8. -Un algorithme de chiffrement ou de déchiffrement
est une une fonction difficile a inverser sans connaître
la clé de chiffrement.
=> Ceci est en quelques sorte analogue a une fonction
a sens unique avec une porte dérobée.
9. Équations équivalentes a un algorithme de
chiffrement symétrique :
- C = F ( P , K )
- P = G ( C , K )
10. Équations équivalentes a un algorithme de
chiffrement asymétrique :
- C = F ( P , K1 )
- P = G ( C , K2 )
- K1 = H ( K2 )
12. Équations équivalentes a un algorithme de
chiffrement a flot :
- K = F ( k )
- C = P xor K
- P = C xor K
13.
14.
15.
16. Un meta algorithme de chiffrement par flot
Information début ( Variables Entrées )
Clé secrète : Cs.
Texte en claire : M = [ m_0….m_n] .
Information intermédiaire ( Variables Internes )
État interne : E = [E_0…..E_n] .
Flux de clé : K = [k_0….k_n].
Information Fin ( Variables Sortie)
Texte chiffré : C = [c_0…..c_n] .
17. Initialisation de l’état interne :
E_0 = Initialiser( Cs ).
Boucle de chiffrement :
i de 0 a n faire
E_i+1 = F ( E_i )
k_i = G ( E_i+1 )
c_i = k_i xor p_i
20. Un meta algorithme de chiffrement par flot basé sur la structure
mathématique sous jacente au problème des 3 corps.
Information début ( Variables Entrées )
Clé secrète : Cs.
Texte en claire : M = [ m_0….m_n] .
Information intermédiaire ( Variables Internes )
État interne : E = { [(p1_0,f1_0),(p2_0,f2_0),(p3_0,f3_0)] …..
[(p1_n,f1_n),(p2_n,f2_n),(p3_n,f3_n)] }
Flux de clé : K = [k_0….k_n].
Information Fin ( Variables Sortie )
Texte chiffré : C = [c_0…..c_n].
22. L’algorithme RC4 :
Clef secrète Cs, composé de l mots de 8 bits, K[0], …, K[l-1].
Initialisation :
Pour i de 0 à 255
S[i] : i.
j : 0
Pour i de 0 à 255 faire
j : ( j + S[i] + K[i mod l ] ) mod 256
échanger S[i] et S[j]
23. Boucle de chiffrement :
i : 0, j : 0
De i = 0 a n
i : ( i+1 ) mod 256
j : ( j+S[i] ) mod 256
échanger S[i] et S[j].
k_i+1 = S[( S[i] + S[j] ) mod 256 ]
c_i = k_i+1 xor m_i.
26. Clef secrète Cs =[K1, K2, K3] , Ki=1..3 composé de l mots de 8 bits, ki[0], …, ki[l-1].
Initialisation :
Pour i de 0 à 255
S1[i] : S2[i] : S3[i] : i .
u : v : w : 0
Pour i de 0 à 255 faire
u : ( u + S2[S3[i]] + K1[ i mod l ] ) mod 256
échanger S1[i] et S1[u]
v : ( v + S3[S1[i]] + K2[ i mod l ] ) mod 256
échanger S2[i] et S2[v]
w : ( w + S3[S1[i]] + K3[ i mod l ] ) mod 256
échanger S3[i] et S3[v]
27. Boucle de chiffrement :
i : u : v : w :0
De i = 0 a n
i : ( i+1 ) mod 256
u : ( u+S2[S3[i]] ) mod N
échanger S1[i] et S1[u]
v : ( v+S3[S1[i]] ) mod 256
échanger S2[i] et S2[v]
w : ( w+S1[S2[i]] ) mod 256
échanger S3[i] et S3[w]
k_i+1 = S1[( S1[i] + S1[u] ) mod 256 ]
c_i = k_i+1 xor m_i.
28. Présenté par :
Samir Bouftass, Chercheur independant en
cryptographie et membre de l’association
marocaine de cryptographie.
E_mail :crypticator@gmail.com
Site de L’AMC : http://www.amcrypto.org/Root/