Collisions SHA-1

(Je pose la question car je n'ai trouvé la réponse ni dans le document FIPS 180-1, ni sur google. Et comme je ne suis pas une tête en maths...).

Quand on a 2 SHA1 identiques, quel est la probabilité (en %) que les messages d'origine soient identiques ?

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    c'est qoi un sha1 ? et a qoi cela consiste? peut etre q si j'ai des reponses, je pourrai y reflechir et te donner une reponse.
    tafiscobar
    1. Une SHA-1 est un algorithme qui calcul y:

      y = SHA1(x)

      x est une chaîne d'octets de longueur arbitraire.
      y (en sortie) est une chaîne de 160 bits (20 octets)

      SHA-1 a été conçu pour que deux chaînes x et x' donne toujours des SHA-1 y et y' différentes.

      Une même chaîne x donnera toujours la même SHA-1 y.

      Il a aussi été conçu:
      - pour qu'il soit infaisable de retrouver x à partir de y
      - pour qu'il soit infaisable de trouver 2 x ayant la même SHA-1

      La description est là:
      http://www.itl.nist.gov/fipspubs/fip180-1.htm

      SHA-1 est beaucoup utilisé en cryptographie pour le contrôle de l'intégrité et la signature des messages.

      En fait, j'ai eu une réponse sur Usenet hier soir:
      On me dit qu'il est difficile de donnée un pourcentage.

      Pour une SHA-1 donnée, on peut trouver un x correspondant à cette SHA-1, mais pour cela il faut tout simplement (!) calculer des SHA-1 sur 2^160 chaînes x différentes.
      (quelquechose comme 1,48e+48, ce qui est assez monstrueux).

      J'ai l'impression qu'il n'y a tout simplement pas de réponse à cette question...
      1. Si G bi1 compri, pour que 2 SHA-1 soient identiques, il faut que les x soient identiques?
        1. >Si G bi1 compri, pour que 2 SHA-1 soient identiques, il faut que les x soient identiques?

          C'est ça !

          Enfin théorie.
          Dans la pratique, la probabilité que deux chaînes x aient la même SHA1 est infime.
          Je me demandais si elle était calculable.

          >Excuse moi, je me sui égaré de ta question de depart.

          Non non, y'a pas de problème !
          1. Contributeur
            en fait sha-1 est injective et non surjective, c'est interressant coe fonction, en tout cas, j'y reflechirais, le week-end, la je suis sur la fin de mon application.

            injective= a tout x correspond au plus un y
            surjective = a tout y, lui correspond un antecedent
            en tout cas c'est un bon bleme pour se creuser la tete.
            tafiscobar