Il ya quelques jours à EuroCrypt 2009, des chercheurs en sécurité ont annoncé une attaque sur l'algorithme SHA-1 algorithme de hachage. L'attaque est assez grave et qu'elle est un signal fort pour les éditeurs de logiciels de s'éloigner de SHA-1.
Pour presque tous les algorithmes de chiffrement, si la longueur est n digérer, cela signifie qu'il ya 2 n différentes valeurs possibles pour le condensé du message (texte chiffré dans le cas d'un algorithme de cryptage). Prenant la possibilité d'attaques anniversaire de compte, nous pouvons supposer que la rupture de ces recueils de prendre au moins 2 n / 2 opérations.
Si n = 160 (comme dans le cas de l'algorithme SHA-1), il faudra 2 80 calculs à casser le code. Même si nous supposons qu'un ordinateur peut faire 2 20 opérations par seconde, il faudra un milliard énorme 36 ans à déchiffrer le code. Nos secrets et les systèmes sont conservées en toute sécurité de ces algorithmes qui sont censés résister à la meilleure ordinateurs pour 36 milliards d'années de craquage de code.
Puis quelqu'un de très intelligent arrive, constate une faiblesse dans l'algorithme lui-même plutôt que d'essayer de faire attaque en force brute, et de la sécurité de nos documents, signatures et des protocoles sont mis en péril. Nous sommes obligés de trouver de meilleures solutions et la conception de meilleurs algorithmes.
Dans le monde réel, les algorithmes cryptographiques devenues obsolètes ou cassés dans 10-25 ans, plutôt que le délai théorique de 36 milliards d'années.
Par mesure de précaution, vous pouvez faire les algorithmes et protocoles utilisés dans votre application facilement remplaçables. Cela rendra votre vie plus facile lorsque l'algorithme est cassé et que vous voulez le remplacer. En outre, en tant que programmeur, vous devriez comprendre que, même si l'algorithme n'est pas encore rompu, votre mise en œuvre peut être faussée. La plupart des failles de sécurité sont causées par les implémentations d'algorithmes de merde sécurisé / protocoles.
Et ai-je mentionné que vous ne devez pas écrire votre propre algorithme de chiffrement ?
Bien sûr, dans le monde réel des choses sont totalement différentes:
Comme vous le savez sans doute, aucun des algorithmes dans le monde vous aidera si je connais le nom de jeune fille de votre mère.