Merci Robic,
Jaime beaucoup lanalogie avec la photographie. Cest très parlant.
Effectivement, dans une transformation dite « à sens unique » de type MD5 (ou SHA), qui entraine une « perte dinformation », plusieurs valeurs distinctes « en entrées » (de la transformation) peuvent avoir la même transformée.
Autrement dit : il existe des valeurs
a et
b distinctes telles que
MD5(a) = MD5(b).
Mais, ce qui rend ces transformations remarquables cest quon démontre que lon ne peut pas calculer la transformation réciproque. Note: je nai pas lu la démonstration, et je ne suis pas sûr dêtre en mesure de la comprendre. Autrement dit:
Si r = MD5(a) = MD5(b) = MD5(c).
On ne peut pas calculer MD5 telle que:
MD5(r) = a | b | c (et peut-être une infinité de valeurs)
Note: jutilise la notation utilisée dans les langages de programmation « | = OR » (OU logique).
Note: dans le cas de la transformation MD5, un résultat (r, dans lexemple) donné peut, a priori, être associé à une infinité dentrées (a, b, c, dans lexemple).
Note: la transformation MD5 présente la propriété intéressante suivante: la probabilité pour que
MD5(a) = MD5(b) est extrêmement faible (ce qui en fait une fonction intéressante en informatique).
Lorsque vous dites que, pour les transformations cryptographiques, on ne peut pas calculer la transformation réciproque : est-ce démontré;)(mathématiquement);)?
Jutilise des algorithmes de chiffrage, car je travaille dans le secteur de linformatique. Par exemple, jutilise 3DES (clé sécrète, chiffrage par bloc) ou RSA (clé public, chiffrage par bloc).
Prenons le cas de 3DES, par exemple:
Si r = 3DES(x, clé)
Si je connais r et clé, alors je peux connaître x (il me suffit dappeler la fonction de déchiffrage). Donc, a priori, il existe une transformation « inverse ».
Note : sil nexistait pas de transformation « inverse », les fonctions de chiffrage ne serviraient à rien.
Par conséquent, je suppose que vous parlez dautres fonctions de chiffrage (autres que 3DES, IDEA, BlowFish, ElGamal, RSA...).
Denis