Le 12 janvier 2013 18:07, Nolwenn <donolw...@gmail.com> a écrit : > Tu devrais lire > https://fr.wikipedia.org/wiki/Somme_de_contr%C3%B4le#Somme_MD5 > pour mieux comprendre ce que j'ai écris au lieu de t'empresser de nous > balancer ta logorrhée habituelle. >
En plus tu cites en référence un bout de paragraphe minuscule de Wikipédia qui n'est pas une source et même ces deux lignes sont fausses aujourd'hui, MD5 n'est PAS utilisé par code.google.com pour verifier les signatures de fichiers (code.google.com utilise SHA1 justement, mais pas MD5 !) L'assertion qui consiste à dire que MD5 est de plus en plus populaire est totalement fausse. Bref ce paragraphe de l'article Wikipédia est totalement inutile et n'apporte strictement rien. Je vois donc que tu lis des trucs sans les évaluer ou juger de leur pertinence ou leur actualité. MD5 n'est plus recommandé depuis plusieurs années, SHA1 l'est encore de façon limitée mais plus pour les signatures authentiques (contre les falsifications volontaires, il y a des tonnes de fichiers virussés qui valident leur signature MD5 et même un grand nombre qui valident leur signature SHA1). La recommandation aujourd'hui c'est plutôt SHA256 (ou sa version tronquée SHA128), et pour les signatures authentiques de code c'est SHA512 (ou sa version tronquée SHA384). Pour les signatures authentique des pilotes Windows, Microsoft exige maintenant des clés de 1024 bits depuis le mois dernier et rejette les certificats signés avec des clés plus courtes depuis le début de ce mois de janvier. Alors ton MD5 est vraiment d'un autre âge... L'algo a plus de 30 ans et s'il ne résiste pas aux craqueurs volontaires, on a montré aussi qu'il comportait un trop grand nombre de collisions permettant des transmissions en apparence sans erreurs (c'est bien pour ça que Google n'en veut plus pour signer les fichiers compilés installables téléchargés sur code.google.com). L'outil md5sum proposé par l'article Wikipedia ne sert plus à rien, sauf pour des raisons historiques si on n'a pas d'autre clé disponible pour comparer. Il ne fait même plus partie de l'installation par défaut de bon nombre de distribs Linux (l'algo a même été interdit dans certaines administrations et dans toutes les applications de transaction sécurisées en ligne, notamment pour les banques; les navigateurs web et les PKI le rejettent maintenant tous comme invalides pour n'importe quel certificat ; il n'est plus utilisé non plus pour hasher de façon irréversible les mots de passes stockés dans /etc/passwd, sauf sur de très vielles installations qui devraient toutes avoir été mises à jour pour exiger de remplacer ces mots de passe obsolètes et facilement craquables). Les protocoles de communication n'ont jamais utilisé MD5 pour vérifier les transferts, même chose pour les systèmes de stockage (cela a toujours été des algos à redondance cyclique, réversibles pour permettre des corrections automatiques de certains types d'erreurs classiques des systèmes de transmission, tels que des bits inversés, ou écrasés sur des séquences courtes par du bruit impulsionnel, la réversibilité étant aussi leur défaut car ils sont facilement craquables même si on sait avec une clé courte limiter le nombre de collisions de clés identiques. Des protocoles plus récents n'utilisent plus les CRC mais des congruences dans des espaces linéaires bien plus complexes (cas du codage DSL, et des transmissions par satellite, mais aussi le cas sur les réseaux mobiles actuels). Les CRC ne servent plus que pour vérifier des messages très courts (un seul datagramme, ou une seule trame IP limitée à environ 1,5ko, ou 12 kbits : on est très en dessous de la taille des fichiers exécutables téléchargés et même de la plupart des contenus actuels du web : pages, scripts, images, audio et vidéo). Les formats modernes d'archives n'utilisent plus MD5 mais SHA1 (il reste le vieux CRC du format ZIP d'origine, mais comme il n'est plus sur on adjoint dans l'archive un fichier "manifeste" contenant des clés calculées avec des algos plus surs, généralement SHA1 ou SHA128). Pour signer une iamge de CD ou DVD ou BDROM, on utilise systématiquement SHA384 au moins et on signe les fichiers individuels d'une archive et de moins de 1Mo dans un manifeste avec SHA1. au delà c'est encore SHA384 ou plus pour tous les fichiers binaires exécutables (Google y viendra aussi sur les téléchargements qu'il propose sur code.google.com, car SHA1 n'est plus accepté partout comme suffisant : il est refusé maintenant dans l'administration américaine là où les normes FIPS s'imposent). Il y a encore d'autres bons alogos de hachage disponibles en remplacement de la série SHA*, un des meilleurs candidats (contre lequel on n'a encore rien trouvé, contrairement à SHA1 qui commence à craquer), c'est l'algo "Whirlpool", un autre algo candidat était "Tiger" mais il est aussi partiellement cassé et ne se différencie plus de SHA1 en terme de sécurité, il semble que Tiger tiendra encore moins longtemps que SHA1 (qui a l'avantage d'être plus facile et rapide à calculer et donc de ne pas trop faire souffrir les performances). Les implémentations de la série SHA* sont aussi natives (et plus ou moins parallélisables en partie) dans bon nombre de processeurs séquentiels ou de traitement du signal, contrairement à MD5 (MD4 est encore plus vieux et ne doit absolument pas être utilisé, on le casse en moins d'une seconde). Tiger est difficile à implanter à bas coût dans du matériel, il ne convient pas par exemple aux puces des cartes bancaires qui ont des processeurs de capacité limitée, alors que ces puces ont ce qu'il faut pour calculer les clés SHA*, même la plus longue SHA512, et de quoi ausi calculer les cryptages symétriques de la famille RSA basés sur une clé publique formée par le produit de deux nombres premiers dans un espace linéaire à congruence, ou des algos utilisant des espaces transformés curvilignes, le plus souvent elliptiquesn, ou des codages basés sur une transformée de Fourier, ou encore les vaguelettes, les distributions de Dirac ; la série RSA dépend d'un problème réputé complexe des algos de la famille "NP-complets", ici la factorisation d'un produit du produit de deux grands nombres premiers ; ces algos garantissent l'existence d'une longueur minimale de résistance voisine de la moitié de la longueur de la clé, une longueur encore divisée par deux encore par le paradoxe de l'anniversaire en tenant compte du hasard, ce qui fait qu'une clé de 1024 bits calculée par un algo NP-complet a une résistance garantie de 256 bits au minimum ; le seul actuel de résistance est aujourd'hui de l'ordre de 64 à 100 bits et on comprend pourquoi les clés publiques de certificats de signature demandent maintenant 1024 bits ; ce qui met en péril tous les algos NP-complet c'est la découverte d'attaques comparable à celle du paradoxe de l'anniversaire, les plus récentes ayant été celles basées sur le "timing" de réponse).
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-fr