Skip to content

julsql/tipe_password

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tipe_password

Projet réalisé dans le cadre de mon TIPE (Travaux d'initiative personnelle encadrés) en deuxième année de CPGE. Projet essentiellement réalisé en python.

Sommaire

Déchiffrement de mots de passe : Étude de différentes méthodes.

Quelles sont les meilleures méthodes pour déchiffrer un mot de passe ?

Le hachage

Voir I-Hachage

Comment les mots de passe sont protégés : les fonctions de hachage

J'ai codé ma propre fonction de hachage md5.py J'ai aussi haché des images pour visualiser les conséquences d'une fonction de hachage (grande modification au moindre pixel changé) hachage_image.py

Ainsi le hash des mots de passe sont stockés dans des base de données, et si un hackeur obtient cette base de donnée, il ne peut pas connaître en clair les mots de passe et donc les réutilisés.

Les Attaques Basiques

Voir II-Basique

Il existe 3 méthodes basiques principales pour retrouver le mot de passe d'origine à partir d'un hash.

Attaque Brute

Voir II-a.Attaque brute

La force brute consiste à tout tester jusqu'a ce qu'on obtienne le bon hash. On obtient alors le mot de passe d'origine. On va tester d'abord a, puis b, puis c… puis aa, puis ab… C'est une méthode très longue qui demande beaucoup de puissance de calcul.

Attaque mémoire

Voir II-b.Attaque memoire

L'attaque mémoire consiste à faire tous les calculs de la force brute mais d'enregister les valeurs. Ainsi on peut calculer à l'avance tous les hash des mots de passe, puis une fois générer, on a juste à chercher dans la base de données le mot de passe en clair correspondant au hash. C'est une méthode qui demande du temps de calcul préalable, mais surtout beaucoup de mémoire pour stocker les résultats.

Dictionnaire

Voir II-c.Dictionnaire

C'est comme une attaque par mémoire, mais on ne va pas tout tester, seulement les mots de passe courant et/ou des mots existants. Cela permet de ne calculer que pour les mots de passe qui ont le plus de chance d'être utilisés.

Compromis

Voir III-Compromis

Pour améliorer ces attaques, il est possible d'en faire des compromis, ce qu'on appelle des compromis temps-mémoire.

Les tables classiques

Voir III-a.Classique

Le premier à parler de ces compromis est Hellman en 1980.

Les tables arc-en-ciel

Voir III-b.ArcEnCiel

Philippe Oechslin en 2003 propose une amélioration avec les tables arc en ciel.

Comparaison

Voici une comparaison de ces méthodes

Autres Idées

Voir X-Autres Idées

Boite_mail

Voir II-Basique

Il s'agit d'un programme qui reproduit une boîte mail fictive stockant des mots de passe. Elle reproduit la méthode de hachage vu précédemment en ne stockant que les hash des mots de passe.

MyHashFunct

Voir II-Basique

Il s'agit des autres fonctions de hachage codées, à savoir SHA1, et de tests pour vérifier leur validité.

Points distingués

Voir Points_distingues

C'est une méthode développée par Ronald Rivest en 1982. J'en ai codé une implémentation.

Documents

Voir X-Documents

Enfin on trouve ici les documents du projet : les slides, le texte, les articles dont les recherches sont tirées et les illustrations.

About

TIPE project about passwords, how to hack them, and how to protect them.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages