28
Conception d’un algorithme de chiffrement a flot basé sur le problème des 3 corps

Un algorithme de chiffrement a flot base sur le probleme des 3 corps

Embed Size (px)

Citation preview

Page 1: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

Conception d’un algorithme de chiffrement a flot basé sur le problème des 3 corps

Page 2: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

Un algorithme ?

Page 3: Un algorithme de chiffrement a flot base sur le probleme des 3 corps
Page 4: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

Le chiffrement ?

Page 5: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

- Le chiffrement symétrique

- Le chiffrement asymétrique

Page 6: Un algorithme de chiffrement a flot base sur le probleme des 3 corps
Page 7: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

Les algorithmes de chiffrement sont équivalents a

Des fonctions a sens unique avec des portes

dérobés

Page 8: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

-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.

Page 9: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

Équations équivalentes a un algorithme de chiffrement symétrique :

- C = F ( P , K )

- P = G ( C , K )

Page 10: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

Équations équivalentes a un algorithme dechiffrement asymétrique :

- C = F ( P , K1 )

- P = G ( C , K2 )

- K1 = H ( K2 )

Page 11: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

Un algorithme de chiffrement à flot ?

Page 12: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

Équations équivalentes a un algorithme dechiffrement a flot :

- K = F ( k )

- C = P xor K

- P = C xor K

Page 13: Un algorithme de chiffrement a flot base sur le probleme des 3 corps
Page 14: Un algorithme de chiffrement a flot base sur le probleme des 3 corps
Page 15: Un algorithme de chiffrement a flot base sur le probleme des 3 corps
Page 16: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

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] .

Page 17: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

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

Page 18: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

La structure mathématique sous jacente au problème des 3 corps.

Page 19: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

La structure mathématique :

Ensemble S ={ [(p1_0,f1_0),(p2_0,f2_0),(p3_0,f3_0)] …

[(p1_i,f1_i),(p2_i,f2_i),(p3_i,f3_i)] …

[(p1_n,f1_n),(p2_n,f2_n),(pi_n,fi_n)] }

Caractérisé par les règles suivantes :

f1_i+1 = F1(p2_i , p3_i )

f2_i+1 = F2(p3_i , p1_i )

f3_i+1 = F3(p1_i , p2_i )

p1_i+1 = G1(f1_i+1 )

p2_i+1 = G2(f2_i+1 )

p3_i+1 = G3(f3_i+1 )

Page 20: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

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].

Page 21: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

Initialisation de l’état interne :

E0 =[ ( p1_0 , f1_0 ) , ( p2_0 , f2_0 ) , ( p3_0, f3_0) ] = Initialiser(Cs ).

Boucle de chiffrement :

i de 0 a n faire

f1_i+1 = F1 ( p2_i , p3_i )

f2_i+1 = F2 ( p3_i , p1_i )

f3_i+1 = F3( p1_i , p2_i )

p1_i+1 = G1 ( f1_i+1 )

p2_i+1 = G2 ( f2_i+1 )

p3_i+1 = G3 ( f3_i+1 )

k_i = p1_i+1

c_i = k_i xor m_i

Page 22: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

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]

 

Page 23: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

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.

Page 24: Un algorithme de chiffrement a flot base sur le probleme des 3 corps
Page 25: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

L’algorithme 3XRC4 :

Page 26: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

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]

Page 27: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

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.

Page 28: Un algorithme de chiffrement a flot base sur le probleme des 3 corps

Présenté par : Samir Bouftass, Chercheur independant en cryptographie et membre de l’association marocaine de cryptographie.

E_mail :[email protected]

Site de L’AMC : http://www.amcrypto.org/Root/