Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Réseaux de Feitsel

5 réponses
Avatar
John Smith
Si j'ai bien compris l'astuce des réseaux de Feitsel, je peux intégrer une
fonction de hachage à sens unique et mon algorithme de chiffrement (basé sur
les réseaux de ...) est parfaitement réversible ?

5 réponses

Avatar
John Smith
Si j'ai bien compris l'astuce des réseaux de Feitsel, je peux intégrer
une


fonction de hachage à sens unique et mon algorithme de chiffrement (basé
sur


les réseaux de ...) est parfaitement réversible ?


Oui, les réseaux de Feitsel permettent de construire une bijection à
partir d'une fonction à sens unique.

C'est bien ce que j'avais cru comprendre, merci !



Avatar
pornin
According to Erwan David :
Oui, les réseaux de Feitsel permettent de construire une bijection à
partir d'une fonction à sens unique.


Je me permets d'ajouter que Luby et Rackoff ont théorisé la chose dans
leur article de 1988 "How to construct pseudorandom permutations and
pseudorandom functions". Leur résultat est que la permutation construite
est "sûre" si on met au moins quatre tours, avec quatre fonctions à sens
unique, elles-mêmes "sûres" et "indépendantes".

Du coup on peut être tenté de faire un système de chiffrement avec
quatre tours et des variations sur SHA-1 à chaque tour (en faisant
entrer une clé) mais il s'avère que les performances atteintes sont
assez décevantes (un bon AES bien optimisé va dix à vingt fois plus
vite).


--Thomas Pornin

Avatar
Pascal Junod
Par exemple la construction de Luby et Rackoff appliquée à un mot
de 2x2 bits produit un chiffrement sur [0..15], mais
- toute contruction de Luby et Rackoff est une permutation paire;
donc connaissant le chiffré pour [0..13] on peut déduire le chiffré
pour [14..15]


En pratique, il est extremement difficile de decrire un algorithme qui
genere des permutations impaires.

- parmis les 16!/2 permutations paires, certaines sont plus probables
que d'autres; en particulier, connaissant le chiffré pour [0..12] on
peut déduire le chiffré pour 13 avec une proabilité meilleure que 1/3


Il faut remettre ces "attaques" dans leur contexte en les comparant aux
attaques génériques sur un cipher qui chiffre 2 bit !

A+

Pascal

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Pascal Junod http://crypto.junod.info *
* Security and Cryptography Laboratory (LASEC) *
* Swiss Federal Institute of Technology (EPFL), CH-1015 Lausanne *
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Avatar
Francois Grieu
In article ,
Pascal Junod wrote:

Par exemple la construction de Luby et Rackoff appliquée à un mot
de 2x2 bits produit un chiffrement sur [0..15], mais
- toute contruction de Luby et Rackoff est une permutation paire;
donc connaissant le chiffré pour [0..13] on peut déduire le chiffré
pour [14..15]


En pratique, il est extremement difficile de decrire un algorithme qui
genere des permutations impaires.


Rarement utile en pratique, mais pas très difficile en théorie.
Partant disons de triple DES noté 3DES(K,P) avec K a 168 bits
utiles parmis 192. La fonction suivante est un algorithme de
chiffrement à clé de 193 bits où l'adversaire ne peux pas trouver
les 2 dernières paires de clair-chiffré à partir des 2^64-2
autres (autrement qu'en cassant 3DES)
0 -> 3DES(K,0) si K pair 0 -> 3DES(K,1) si K impair
1 -> 3DES(K,1) si K pair 1 -> 3DES(K,0) si K impair
P -> 3DES(K,P) si P>1


- parmis les 16!/2 permutations paires, certaines sont plus probables
que d'autres; en particulier, connaissant le chiffré pour [0..12] on
peut déduire le chiffré pour 13 avec une proabilité meilleure que 1/3


Il faut remettre ces "attaques" dans leur contexte en les comparant aux
attaques génériques sur un cipher qui chiffre 2 bit !


[Note: je considérais un chiffrement sur 4 bits]

Un exemple concret où le phénomène que je décris est significatif:
on veux choisir un ordre pseudo-aléatoire pour n éléments en fonction
d'une clé, avec un algorithme qui n'utilise pas une taille mémoire
proportionelle à n. Une technique attrayante et théoriquement
parfaite: on trouve l'image par la permutation de l'élément j (0<=j<n)
en chiffrant j avec un algorithme de chiffrement opérant sur au
moins ceil(log2(n)) bits, et ce itérativement jusqu'à ce que le
résultat soit inférieur à n.
Eh bien, si on fait cela sans tenir compte des défauts de la
contruction de Luby et Rackoff quand on défini l'algorithme de
chiffrement, la répartition des permutations est loin d'être
équiprobable pour les petits n, et carrément désastreuse
quand l'agorithe de chiffrement opère sur exactement log2(n) bits.


François Grieu


Avatar
Pascal Junod
En pratique, il est extremement difficile de decrire un algorithme qui
genere des permutations impaires.


Rarement utile en pratique, mais pas très difficile en théorie.


Pour preciser ma pensee: par "en pratique", j'entendais travailler sur
des blocs etant d'une taille puissance de deux avec une clef de
taille puissance de deux et des operations sur des elements de
taille puissance de deux.

A+

Pascal

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Pascal Junod http://crypto.junod.info *
* Security and Cryptography Laboratory (LASEC) *
* Swiss Federal Institute of Technology (EPFL), CH-1015 Lausanne *
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~