Topic : « Mon programme pour ce soir ! (sha1) »

Avatar de Factom Factom
Vu que j'ai une vie de merde j'ai décidé de passer ma soirée sur sha1 une fonction de hachage obsolète en résumé une fonction de hachage prends n'importe quoi en entrée et renvoie un hash, d'une longueur fixe (par exemple 256 bits), le but c'est que ça soit impossible à partir du hash de trouver le message initial, et qu'il n'y ait pas de collisions (deux mots qui donnent le même hash, il y en a forcément mais tant que personne les exhibe c'est safe), par exemple si t'es au macdo et que tu dl un truc tu peux dl le hash du fichier, une fois le fichier téléchargé tu le hash et tu regarde que c'est bien le même hash, si un attaquant peut faire des collisions alors il peut te faire télécharger n'importe quoi et c'est pas cool !
Elle a déjà été cassée, et je vais donc lire l'attaque et la reprogrammer (pas sur sha1 en entier car ça demande trop de calcul)
Ma roadmap de ce soir donc :

Aller chercher un tacos car ça doit bien faire 30h que j'ai pas mangé un repas
Lire tout wikipédia sur les fonctions de hachage et la cryptanalyse associée
Lire les pdf d'attaque de shattered et de la team de Wang machin pour comprendre pourquoi ça marche et pourquoi ça marche pas sur sha2/3
Coder en python une version affaiblie de sha1 (avec moins d'itérations, je ferrais avec 40 je pense)
Coder l'attaque et avoir une collision

Je pars de zéro, je sais presque pas comment sha1 fonctionne, et j'ai lu le pdf vite fait et d'après ce que j'ai compris ils trouve un candidat et le corrige au fil du temps (et donc la difficulté augmente avec le nombre de round de sha1)
C'est un nouveau format de topic, j'imagine que la plupart s'en branle de sha1 mais justement c'est l'occasion d'apprendre, venez vous aussi passer votre soirée ici à apprendre sur sha1 (vous êtes pas obligé de le faire sur une collision mais juste sur son fonctionnement ou même sur un autre topic, je suis persuadé que certains ont des passions intéressantes !)
Avatar de pseudo1 pseudo1
Intéressante tout ça :bave: Je suis nulle en codage ou en crypto, mais cela peut être utile a l'avenir de savoir combien de round devrais être utile a un hash sha1 pour être assez dur à faire une collision .
Je vais donc me mettre en tant que spectateur de ton topic https://image.noelshack.com/minis/2017/21/1495823618-risitas596.png
Avatar de Factom Factom
Première étape de la roadmap accomplie, un petit cordon bleu tenders qui fait plaisir https://image.noelshack.com/minis/2016/38/1474488564-jesus38.png

Citation de pseudo1
Intéressante tout ça :bave: Je suis nulle en codage ou en crypto, mais cela peut être utile a l'avenir de savoir combien de round devrais être utile a un hash sha1 pour être assez dur à faire une collision .
Je vais donc me mettre en tant que spectateur de ton topic https://image.noelshack.com/minis/2017/21/1495823618-risitas596.png

Déjà 80 Google ont galéré, ils ont fait 9,223,372,036,854,775,808 hachages (c'est 110 gpu pendant 1an) pour la trouver, c'est "que" 100.000 fois plus rapide que la bruteforce
Sinon faut augmenter le nombre de bits en sortie
Mais j'en sais rien ce qui donne la meilleur sécu, j'espère qu'après l'exploration de ce soir je saurais !

Citation de Pucelle
Si tu collisionnes préviens !

Ça sera pas sur le vrai sha mais je préviendrais avant promis :hap:
#1719697
Avatar de Factom Factom
Cryptanalyse différentielle : Dans son sens le plus large, elle consiste en l'étude sur la manière dont les différences entre les données en entrée affectent les différences de leurs sorties. Dans le cas d'un chiffrement itératif par blocs, le terme se rapporte à l'ensemble des techniques permettant de retracer les différences à travers le réseau des transformations, découvrant ainsi où l'algorithme montre un comportement prédictible et exploitant ainsi ces propriétés afin de retrouver la clé secrète.

Ça a l'air trop cool ! Mais bizarre quand même car ces fonctions sont sensés être assez chaotique https://image.noelshack.com/minis/2016/47/1480064732-1467335935-jesus4.png

Il a été alors noté que DES était particulièrement résistant à cette attaque et en particulier que de petites modifications dans ses paramètres l'affaiblissaient. Ce constat a fait naître la rumeur que ses concepteurs (travaillant pour IBM) connaissaient déjà cette méthode dans les années 1970. Effectivement, plusieurs personnes ayant participé à sa conception ont depuis admis que la défense contre la cryptanalyse différentielle était bien un des buts recherchés alors (Don Coppersmith, 1994). Il semblerait même que la NSA qui contribua également à la conception de DES, avait même connaissance de cette technique avant sa redécouverte par IBM. La NSA exigea même que le processus de la conception soit tenu secret afin d'éviter la propagation de cette méthode. À l'intérieur d'IBM, la cryptanalyse différentielle était connue sous le nom de T-attack, abréviation de Tickling attack, l'attaque par chatouillement car elle consistait à chatouiller les entrées pour voir l'effet sur les sorties
Cimer la nsa bordel https://image.noelshack.com/minis/2016/46/1479341443-issou.png

Une controverse existe, selon laquelle Serpent n'aurait pas été choisi comme AES, car casser ses clés aurait été beaucoup trop complexe pour les services de renseignement civils et militaires.
#1719979
Avatar de Danger Danger
J'avais commencé regarder des trucs sur l'histoire du cryptage et son évolution, du chiffrement de César en passant par le cryptage pendant la seconde guerre mondiale puis aux solutions de cryptage actuelles.
https://fr.khanacademy.or[...]t/v/intro-to-cryptography
Apercite https://fr.khanacademy.org/computing/computer-science/cryptography/crypt/v/intro-to-cryptography

https://fr.khanacademy.or[...]iphers/a/ciphers-vs-codes
Apercite https://fr.khanacademy.org/computing/computer-science/cryptography/ciphers/a/ciphers-vs-codes

https://fr.khanacademy.or[...]ptochallenge-introduction
Apercite https://fr.khanacademy.org/computing/computer-science/cryptography/cryptochallenge/a/cryptochallenge-introduction

https://fr.khanacademy.or[...]l-theorem-of-arithmetic-1
Apercite https://fr.khanacademy.org/computing/computer-science/cryptography/modern-crypt/v/the-fundamental-theorem-of-arithmetic-1


Ça devrait notamment répondre à ton : "Mais bizarre quand même car ces fonctions sont sensés être assez chaotique ".
#1720177
Avatar de Factom Factom
Hmm c'était marqué que ça pouvait être utilisé pour étudier les fonctions de hashage :( (actuelles, mais si c'est vrai que c'est marqué "résistant à la cryptanalyse différentielle parfois (je crois))
Merci des liens, je lirais ça un de ces quatre :ok:

Bon du coup j'ai finit de lire tout wiki, mon sentiment c'est que c'est très expérimental pour l'instant, un peu comme les maths au début : pas de "théorèmes", des concours pour trouver la meilleure fonction. Donc ça m'a l'air assez fragile, surtout que c'est toujours la même team : https://screenshots.firef[...]fnMDw9W/link.springer.com
Apercite https://screenshots.firefox.com/vyHFmpN3ofnMDw9W/link.springer.com

#1720746
Avatar de Factom Factom
@Danger https://screenshots.firef[...]PQuuFSbEj/eprint.iacr.org
Apercite https://screenshots.firefox.com/DcbFRV9PQuuFSbEj/eprint.iacr.org

Un papier qui parle de sha256 https://eprint.iacr.org/2008/142.pdf
Apercite https://eprint.iacr.org/2008/142.pdf

Ils utilisent le même voc que la crypto différentielle, je crois vraiment que c'est la même chose

Par contre j'arrive pas à trouver des explications simples de comment ça marche https://image.noelshack.com/minis/2016/46/1479341443-issou.png
Le papier sur sha1 de wang machin ( https://link.springer.com[...]/10.1007%2F11535218_2.pdf
Apercite https://link.springer.com/content/pdf/10.1007%2F11535218_2.pdf
) cite des trucs impossible à trouver sur google (en tout cas non indexé et flemme de chercher sur le site directement)
Du coup je vais tenter de bidouiller juste des trucs en abandonnant l'espoir de trouver une collision sur une version réduite de sha1
Avatar de Factom Factom
D'après ce que je comprends comme c'est linéaire (la je lis sha0) on cherche des perturbations qui font des trucs voulus pour ensuite sommer, et une fois ceci fait (on fait pareil que pour montrer l'unicité de la sol d'une equa diff linéaire, en faisant un truc ça se propage plus loin et donc faut corriger plus loin) il faut trouver un truc qui convient (car (wtf ?) on doit choisir que les 16 premiers bits du vecteurs de 80bits, les autres sont déterminés algorithmiquement) et c'est la qu'une bruteforce réduite intervient et casse le système
C'est chaud à comprendre les wp expliquent pas tout et supposent trop que t'as des notions avancées en cryptographie je trouve (normal car ça doit être chiant à lire sinon pour les experts) j'ai hâte d'avoir des cours de cryptanalyse du coup (si jamais ça arrive un jour)
Avatar de Factom Factom
Bon bilan mitigé : d'un côté j'ai vraiment mieux compris la cryptanalyse différentielle mais de l'autre j'ai pas réussit à exhiber une collision sur un sha réduit (ce qui est assez décevant)
C'est donc sur ce constat que s'achève la quête de sha1
Liste des sujets