Discuter:Fonction de hachage

Un article de Wikipédia, l'encyclopédie libre.

Sommaire

[modifier] Traduction de brochures techniques

Cet ajout sans référence me semble très douteux [1], je l'ai donc supprimer. Détecter sur la discussion Proz : Le hachage appliqué à la traduction. Dom 21 août 2007 à 21:02 (CEST)


[modifier] Formulation

je dois dire que je n'aime pas trop la nouvelle formulation proposée par Tavernier. De plus une fonction de hachage n'opère pas forcement sur une chaine de caractères, c'est restrictif. C'est en partie pourquoi je prefere la formulation ensembliste, à mon sens plus claire, et surtout plus générale. Sylenius 4 septembre 2007 à 19:24 (CEST)

J'ai opéré quelques modifications en ce sens mais la formulation me parait moins claire : il est très rare que les fonctions de hachage travaillent avec une autre matière que des chaines de bits/caractères. Peut être faut il préciser séparément que ces fonctions peuvent s'appliquer à autre chose que des bits ou des groupements de bits ? Tavernier 4 septembre 2007 à 19:32 (CEST)
Les applications traditionnelles des fonctions de hachage sont la cryptographie et les tables de hachage, qui utilisent effectivement majoritairement des chaines de caracteres comme entrees/sorties. Mais le chapitre Fonction_de_hachage#Fonction_de_hachage_perceptuelle montre qu'il existe d'autres applications des fonctions de hachage, qui prennent cette fois ci des valeurs numeriques, voir des vecteurs, en tant qu'entree. A priori, on peut utiliser tout type d'alphabet/ensemble en entree et en sortie, donc dire implictement qu'une fonction de hachage ne travaille que sur des chaines de caracteres, ce n'est pas vrai. C'est un bon exemple pour expliquer mais la formulation devrait etre plus generale. D'autre part, ce qui est appelé mécanismes d'amplification n'est pas une propriete generale des fonctions de hash, c'est justement typiquement faux pour les fonctions de hachage perceptuelles. A revoir donc. Malheureusement, je n'ai pas le temps en ce moment. Desole. Sylenius 5 septembre 2007 à 09:47 (CEST)

+1. Depuis quand les tables de hachage utilisent majoritairement de chaines de caracteres comme entrées sorties ? Une partie non négligeable de tables de hachage se basent sur les indices ENTIERS ! En effet, faire une recherche sur une chaine de caractères est extremement couteux en temps, alors qu'acceder à la case i d'un tableau est une opération très courte, qui consiste juste à aller chercher en mémoire l'adresse n°(adresse de début de tableau + i*(taille d'une case)). Or, ces opérations sont directement implémentées en dur, en assembleur !!

Non, franchement, pour ce qui est des tables de hachage, on utilise des entiers. Même Java, langage très haut niveau, et qui dispose donc à ce titre de plein de "facilités" et d'extensions, utilise des hashcode ENTIERS ([2]). Il faut être plus généraliste.

Et supprimer les deux lignes de "maths" sans les expliquer plus bas, c'est mal. Il faut énoncer clairement ce qu'on attend d'une fonction de hachage. Ces deux lignes le faisait parfaitement. Si tu souhaites expliquer plus bas leur signification, Tavernier, libre à toi. Mais n'impose pas à ceux qui comprennent ces très simples assertions de devoir lire une longue explication.

En plus, la formulation actuelle est un peu chaotique...

NicDumZ ~ 5 septembre 2007 à 19:43 (CEST)

Du calme. La sortie d'une fonction de hachage dépend de son utilisation. C'est clair que si c'est pour accéder à une table de hachage, la sortie est un entier. Pour une fonction de hachage cryptographique ou une signature, la sortie peut être une chaine de caractère (c'est un entier aussi de toute façon!). Encore une fois, je redis que la notation ensembliste est bien adaptée pour la définition générale, et qu'il suffit alors de spécifier les ensembles en fonction de l'application. Pour les deux lignes de maths supprimées, ce n'est pas important, on peut se reporter à injection pour ça. Le paragraphe propriétés me pose toujours problème par contre. Je ne le trouve pas facile à comprendre, et je pense que l'affirmation « le nombre total de hashs que peut produire une fonction de hachage est une valeur constante qui correspond au nombre total de combinaison qu'il est possible d'effectuer avec les caractères du hash » est fausse, je ne suis même pas sûr de bien comprendre ce qu'elle veut dire, le hachage ne se fait pas caractères par caractère, que je sache. La phrase suivante « Cela veut dire qu'il est impossible qu'il n'y ait qu'une seule chaine initiale qui corresponde à un hash final. » n'est pas bonne non plus, ce qu'il faut dire, c'est que des éléments différents peuvent avoir la même valeur de hachage, et que cet évenement est appelé une collision. Sylenius 5 septembre 2007 à 21:46 (CEST)

[modifier] Types d'attaque

Un chapitre sur les types d'attaque, ainsi que les niveau de sécurités des principales fonctions me semblerait un mieux. Kelson 4 septembre 2007 à 20:51 (CEST)

[modifier] Fusion des articles Hashage et fonction de hachage

Le premier est un ajout de débutant,à inclure, s'il y a lieu dans fonction de hachage. Vincnet G discuss 3 avril 2008 à 16:47 (CEST)

Je suis plutôt pour la SI, c'est écrit n'importe comment et n'apporte rien à ce qu'il y a déjà. Sylenius (d) 3 avril 2008 à 22:21 (CEST)
J'ai simplement redirigé. Wanderer999 ° me parler ° 4 avril 2008 à 01:36 (CEST)