créateur de mot de passe
Posté le 21/12/2020 14:28
Bonjour,
J'ai utilisé plusieurs créateurs de mots de passe mais j'avais toujours une appréhension:
"Et si le créateur du logiciel avais codé une fonction pour récupérer les mots de passe créé?"
Alors oui je sais: c'est de la parano .... tant que ça? vous êtes sur?
Mais du coup comment faire pour être sur de son coup? Simplement en créant soi-même un générateur de mot de passe
Bon, pas sur PC non plus (ben ouai car un pc peu contenir des virus)... du coup j'ai décider de le faire sur la calculatrice.
Si je vien sur le forum maintenant c'est que je voulais partager le code avec d'autres personnes qui souhaiterai utiliser le programme, le modifié etc...
Je ne peu pas le partager directement car pour publier un programme il faut avoir 30 pts de je ne sais pas quoi !!! (je verrai + tard ce que c'est
).
Le programme est en 2 fichiers:
Le 1er est le programme principal: vous y sélectionnerez le nombre de caractères voulu, puis le programme tirera un nombre au hasard entre 0 et 61 (62 caractères: alphabet en minuscule, majuscules + chiffres. Pas de caractères spéciaux car en fonction des sites ils peuvent servir ou non .... libre a vous de modifier le code et de les rajouté.) Une fois le nombre entre 0 et 61 sélectionné le programme ira dans le sous programme pour affiché le caractère correspondant au numéro qui est sortie...
Le programme recommencera autant de fois que vous avez voulu de caractère dans votre mot de passe.
Le 1er fichier que j'ai nommé "PASSWORD" contient:
password a écrit :
Cls
Lbl 0
ClrText
"COMBIEN DE CARACTERES(entre 8 et 64)" → A
A<8⇒Goto 0
A>64⇒Goto 0
ClrText
1→X
1→Y
For 1→B To A Step 1
Int 62Ran#+1→C
Locate X,Y,StrMid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",C,1)
X+1→X
If X=21
Then 1→X
Y+1→Y
IfEnd
Next
Do
Locate 1,7,"F1:NEW"
Locate 16,7,"F6:Fin"
Getkey=79⇒Goto 0
LpWhile Getkey ≠29
Locate 1,7," "
attention, les "" doivent etre espacé afin d'effacer le text en bas de fenetre
Attention: Recopiez vos mots de passe sur un carnet car ceux-ci ne sont pas mémorisé. L'ectinction de la calculatrice entrainera une perte du mot de passe.
J'espère que ca plaira a certains d'entre vous, et si vous voulez le retoucher, le modifier, le republier etc... faites ce que vous en voudrez MAIS je vous demanderais qu'une chose en retour: le laisser libre pour tous le monde svp
merci.
Citer : Posté le 21/12/2020 14:50 | #
Bienvenue Cryptotest ! Tu peux te présenter pour obtenir les 30 points nécessaires à la publication d'un programme :
https://www.planet-casio.com/Fr/forums/topic11464-1-presentations.html
J'aime beaucoup l'idée de ton programme, je vais te donner quelques conseils pour t'améliorer ! Tu pourrais utiliser StrMid au lieu de cette série de tests, cette commande très simple d'utilisation permet d'extraire un nombre de caractères souhaité d'une chaîne de caractères
Le Return se trouvant à la fin du sous-programme, il est facultatif.
Locate X,Y,StrMid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",C+1,1)
Sachant que ton sous-programme n'est plus que d'une ligne, tu pourrais l'intégrer dans le programme principal et tout livrer dans un programme ! C'est préférable et plus simple à gérer pour l'utilisateur
Cordialement
Citer : Posté le 21/12/2020 15:01 | #
@Kikoodx
Merci bcp pour cette commande. Je ne la connaissai pas du tout (j debute depuis peu). Je vais donc regarder cela et du coup oui modifié le programme pour qu'il soit plus simple (ben en 1 fichier du moins ).
Je ne ferai pas cela dans la semaine mais peut-etre que le week-end qui viens je ferai ca
J'en profiterai pour faire ma présentation car je souhaite pouvoir publier de temps en temps ce que j'aurai réussi a créé ;).
En tout cas merci encore pour cette amélioration... (voilà pourquoi j'aime le libre accès aux codes ca ne peu qu'aidé a l'amélioré et a m'amélioré aussi )
Citer : Posté le 21/12/2020 15:13 | #
Attention, malheureux ! Le nouveau code de KikooDX contient une fonction qui lui envoie tout ce que tu génères !
Citer : Posté le 21/12/2020 16:03 | #
j'en étais sur !!!!
Plus serieusement (car j'y arrive aussi desfois!!!) je suis allez voir comment fonctionnais cette commande sur l'un des tuto de ce site (StrMid( ).
Du coup pour vérifié si j'avais bien compris je l'ai très légerement modifié (mais vraiment a un ou deux trucs pret ). Je suis passer de Ran#->C a Ran+1->C et du coup dans StrMid( j'ai modifié le C+1 en C. Ca passe nikel évidement (ben évident une fois compris).
Le code final donne donc cela .. ben "final" ... vu que j'ai un admin qui m'a répondu je voudrai savoir si vous pensez que je peu publier ça ou je le laisse ici dans le forum? (y'a mon coté noob tout content qui voudrai le montré a tout le monde et le publié mdr ... et mon coté "d'autre doivent le faire sans souci" qui me bloqe ) donc ? je publie ca ou pas la peine? merci
Le code final donc:
Cls
Lbl 0
ClrText
"COMBIEN DE CARACTERES(entre 8 et 64)" → A
A<8⇒Goto 0
A>64⇒Goto 0
ClrText
1→X
1→Y
For 1→B To A Step 1
Int 62Ran#+1→C
Locate X,Y,StrMid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",C,1)
X+1→X
If X=21
Then 1→X
Y+1→Y
IfEnd
Next
Do
Locate 1,7,"F1:NEW"
Locate 16,7,"F6:Fin"
Getkey=79⇒Goto 0
LpWhile Getkey ≠29
Locate 1,7," " attention, les "" doivent etre espacé afin d'effacer le text en bas de fenetre
Citer : Posté le 21/12/2020 16:06 | #
Ahah ça c'est à toi de choisir si tu veux le publier
Personne ici ne sera contre un nouveau programme par un nouveau membre !
Tu es sûr qu'il faut 30 points pour poster un programme ? Comme KikooDX l'a dit, tu peux te présenter pour avoir les points nécessaires
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 21/12/2020 16:12 | #
Il ne me semble pas qu'il faille avoir 30 points pour poster un programme.
Obtenir de nouvelles fonctionnalités pour les membres actifs
En devenant un membre actif sur Planète Casio, tu débloqueras de nouvelles fonctionnalités suivant de ton nombre de points :
- 20 points : noter un programme (la rédaction d'un test est accessible sans minimum de points)
- 30 points : accéder au chat et discuter avec toute la communauté !
- 100 points : voir d'un seul coup d’œil tous les nouveaux messages (forum, programmes, défis...) dans "Mes messages"
Pour gagner des points, tu peux :
- 1 point : écrire un commentaire
- 2 points : lancer une nouvelle discussion sur le forum
- 5 points : rédiger un test (une note n'apporte aucun point)
- 20 points : publier un nouveau programme
Citer : Posté le 21/12/2020 18:29 | #
Très bonne idée de code, j'aime beaucoup !
Je ne sais pas si tu as envie de faire quelques améliorations mais 2 petites suggestions:
- basique mais tu peux ajouter les caractères spéciaux à ta chaine
- ajouter la possibilité de choisir le contenu des mots de passe (exemple: 12 caractères dont 3 majuscules, 2 caractères spéciaux et 4 chiffres)
je partage ta parano et j'utiliserai bien ton code, et je ne pense pas être le seul !
Citer : Posté le 21/12/2020 22:18 | #
Re,
Bon c'est mis en ligne. Merci a vous pour l’enthousiasme ;). En voyant des programme tel que des mmorpg etc sur casio, j'avais du mal a croire que le mien puisse emballé quelqu'un (je voulais le partager par fierté mais sans +, ben c'est en ligne )
J'y ai mis une petite page de présentation très vite faite histoire de dire que !!! (bon c'est pas en mode graphique avec ViewWindow mais je débute et j'ai préférer garder un code simple, leger et si possible le + compatible possible (je suis sur Graph 95sd les 1ere pas les E+ python :/ ).
@Gdubol:
Je ne comptais pas y mettre les caractères spéciaux mais ca reste a voir en effet....
je comptai y mettre une option "séparateurs" pour rendre les longs MDP + lisible.
Je comptais retravailler dessus de temps en temps car là c'est moche, je l'ai créé pour répondre a un besoin urgent car à la base je l'ai vraiment créé pour mes besoins (je l'utilise vraiment, ca + un carnet pour les noté (car je ne les conserve pas dans mon navigateur ou dans un fichier "pass.txt" sur le PC
Bref, je pense que ca ne sera pas le + dur a faire mais si d'autres le font, veulent s'emparer de l'idée (car moi je risque de prendre un peu de temps pour le faire, ben surtout vous genez pas ... j'ai mis "licence publique" (j'espère que ca veux bien dire ce que je pense ) our moi ca signifie: "c'est public, éclatez-vous"
Vous pourrez le trouvez: ICI
Ajouté le 21/12/2020 à 23:09 :
Pour les 30 pts: j'ai confondu avec le tchat dsl
jai un graph 95 sd et en effet c'est du basic qui devrai etre compatible graph 25, 35 etc ... y'a pas de code spécifique a ce modèle précis
Citer : Posté le 22/12/2020 09:00 | #
Défi suivant : des mots de passe avec une entropie élevée mais faciles à retenir ! C'est difficile parce qu'il faut les faire longs tout en n'abusant pas de constructions ou de mots trop classiques
Citer : Posté le 22/12/2020 18:13 | #
Par exemple avec la méthode Diceware
Citer : Posté le 23/12/2020 00:49 | #
je préfère la technique des lettres et chiffres aléatoires, car la méthode Diceware utilise des mots du dictionnaire afin de créé des phrase qu'il est possible de retenir, mais ca les rend + faible aux attaques par dictionnaire surtout que des méthodes pour recouper les mots d'un dictionnaire existe (un peu comme du bruteforce mais au lieu de tester les combinaisons a partir des caractères possible, on créé des pssaphrase avec les mots contenu dans le dictionnaire.
J'ai utilisé une autre méthode pendant une période:
j'avais un dossier nommé "password" puis a l'interieur un document texte vide nommé "facebook" puis un autre nommé "mail" etc... et mon mot de passe c'étais le résultat de la commande:
sha1sum c:/chemin/du/fichier/mail.txt
ca marche bien ... surtout en base 64 et pour en rajouté je rajoutai en fin de mots de passe une répétition de 4 voir 5 caractère identique: le but? pour alléger les dictionnaire, ou pour réduire le temps de l'attaque, il n'est pas rare que les pirate réduisent la taille des fichiers en éliminant les répétition au sein des mdp testé
Si un pirate réduit le nombre de clé testé en éliminant tout les mdp ayant + de 4 répétitions ca éliminai automatiquement mon mdp de son fichier
ouai parano en effet (surtout que la plupart du temps c'est pas le particuliers qui se fait piraté mais la base de donnée des sites donc tu peu mettre le meilleurs que ca changerai rien
Citer : Posté le 23/12/2020 00:52 | #
Et bien c'est à toi de créer ta méthode pour permettre de générer des mots de passe ayant une certaine logique
N'hésite pas à partager ici ton avancement et ce que tu es en train de faire pour ton projet, ça peut intéresser des personnes
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 23/12/2020 10:08 | #
Je veux bien des détails ici, d'après mes connaissances en crypto et théorie de l'information en tous cas ce n'est pas vrai.
DiceWare a un répertoire de 7776 mots, mais aucun hash cryptographique ne se comporte bien (comprends : n'est homomorphe) pour la concaténation, donc tu peux pas plus construire une dictionnaire que pour un mot de passe arbitraire. Et même si tu sais que Diceware est utilisé et le nombre de mots qui a été mis dans le mot de passe, tu as quand même presque 13 bits d'entropie par mot. Le pass final est aussi très long donc mêmes les trucs plus exotiques comme les tables arc-en-ciel, si par malheur il n'y pas de sel solide, auront aussi du mal.
J'ai utilisé une autre méthode pendant une période:
j'avais un dossier nommé "password" puis a l'interieur un document texte vide nommé "facebook" puis un autre nommé "mail" etc... et mon mot de passe c'étais le résultat de la commande:
Si le fichier est vide la somme de contrôle est constante, je suppose que tu veux dire que tu hashais le chemin du fichier ?
C'est pas vraiment sécurisé ça ? Si on connaît la méthode tout est très vulnérable. D'une part si les fichiers sont bien vides ou que tu hashes le chemin comme tu le décris il est très facile de deviner le chemin (en tous cas pas plus difficile que de l'attaquer avec un dictionnaire, vue la structure bien connue des dossiers Windows, qu'un mot de passe Diceware), d'autre part sha1 est cryptographiquement très faible (des collisions existent déjà, certes trop chères pour l'attaquant moyen, mais quand même).
D'ailleurs puisque je parle SHA1, le générateur aléatoire de la calto est certainement pas de très bonne qualité (il n'est pas fait pour ça après tout) et probablement un algorithme classique donc la chaîne que tu génères a beaucoup moins d'entropie que ce qu'on pourrait croire au nombre de caractères. x3
L'expérience montre quand même qu'il vaut mieux faire confiance à des choses bien étudiées et bien codées. Si tu as peur que le mot de passe fuite il vaut mieux faire un audit et compiler manuellement le code du générateur ^^"
En plus, le maillon faible dans l'histoire c'est pas la confiance que tu accordes à ton générateur, c'est en premier lieu l'utilisateur (phishing), ensuite la communication (connexion en HTTP) et le traitement du mot de passe (mauvais algo du côté du service), et puis n'oublions pas que la sécurité d'à peu près tous les mots de passe web de quelqu'un repose sur l'exclusivité de son accès à son compte mail, donc si le mail se fait pirater tous les mots de passe peuvent être changés, etc.
Citer : Posté le 15/01/2021 00:38 | #
bonjour,
Quand je dit que ca les rend plus faible aux attaques par dictionnaire je ne sais pas si c'est le bon terme j ne suis pas un pro de la securité informatique et les termes exact m'échappe encore alors je vais m'expliquer un peu quand meme
Certaines personnes pour ne pas avoir a tester tout les mots de passe utilise des fichiers texte avec a l'interieur des mots rééls et desfois même des combinaison de mot (par exemple avec crunch tu peu avoir un fichier avec les mot:
bonjour
soleil
été
et tu peu les associé pour faire:
bonjour bonjour
bonjour soleil
...
été été
et pour gagner de la place ou du temps cette technique est souvent utilisé ... j'appel ca une attaque par dictionnaire mais j'ignore si c'est le bon terme. En gros je supprime toute ressemblance avec un mot réél... je veux forcer l'attaquant a testé toutes les combinaisons possible car, pas le choix !!! (l'autre truc étais desfois de rajouté 4fois le même caractère de suite, car la répétition des caractère est calculer lors de la génération des dictionnaire aussi .. si l'attaquant se fais un fichier avec un maximum de 2 voir 3 repétition mon MDP ne pourra pas se trouver dedans bref, c'est des délire a moi ca mdr
-----------------------------------------------------------------------------------------------------------------------
concernant la "technique" du calcul du hash c'est possible en effet j'ai jamais tester avec 2 fichier vide au meme emplacement (desfois j'ecrivais des trucs dedans comme "pas de bol" ou "retente ta chance" puis très vite j'ai calculer l'empreinte d'un mot (car j'ai remarqué qu'en deplacement ca devenai compliqué alors qu'avec un outil de calcul j'avais juste a l'ouvrir et a entré un mot et hop, mon mot de passe est là mais pareil j'ai arreter ca ...
------------------------------------------------------------------------------------------------------------------------
Je me sert vraiment de ce petit générateur mais il faut un carnet pour tout noté
Je peu le montré ils sont pas a jour et quand bien même certaines ligne sont échangé et d'autre inversé alors bon courrage (ben ouai en cas de vol ..
------------------------------------------------------------------------------------------------------------------------
J'ai essayer de modifier le programme pour une interface avec l'ecran graphique (viewWindows 0,126,0,0,62,0) etc... mais pour l'affichage dans ce format c'est petit et difficile de reconnaitre les minuscules des majuscules ... je ne saispas si je dois vraiment essayer au final ou faire un mix: une présentation graphique avec un affichage du MDP sur l'ecran texte ?
une page d'acceuil avec fausse barre de chargement
choix des caractère 1
choix des caractère 2 (pour que le titre coincide avec l'affichage de la fenetre text
-------------------------------------------------
Ps; en effet les failles sont rarement sur la force des mots de passe... les grands pirates (ben grands pirates lol, ou ceux utilisant des scripts des autres desfois ) vont directement s'attaquer aux bases de données des sites et récupérer des ID et MDP par centaines voir par miliers ...mais au moins je sécurise ce sur quoi j'ai une action directe
Citer : Posté le 16/01/2021 20:42 | #
Ce qui nous intéresse, c'est l'entropie du mot de passe. L'entropie, c'est le "niveau d'aléatoire".
Souvent on l'exprime soit en nombre de possibilités (1 milliard, 100 milliards, 10e5 quadrilliards), soit en bits : 4 milliards c'est environ 32 bits, 33 bits seront ~8 milliards, etc. L'avantage de calculer en nombre de bits, c'est que c'est plus facile à écrire et à comparer. 16 bits d'entropie c'est deux fois moins complexe que 17 bits, qui eux même sont 4 milliards de fois moins complexes que 17+32=49 bits. Pour passer du nombre de possibilités aux bits, on applique le logarithme en base 2 : log_2(256) = 8 bits. Pour l'opération inverse, on met 2 à la puissance du nombre de bits. 2⁸=256 possibilités.
L'autre avantage de calculer en bits, c'est que les multiplications de combinaisons sont des additions en bits : si j'ai 256 possibilités fois 256 possibilités, ça fait 8+8=16 bits d'entropie.
Par conséquent, remplacer un caractère par un autre (A par @, par exemple) double le nombre de combinaisons à tester → cela ajoute qu'un seul bit d'entropie.
Muni de ces informations, je partage ce très connu strip de XKCD sur le sujet.
Si ton dictionnaire fait 6667 mots (celui de Diceware par exemple), ça te donne ~12,7 bits d'entropie.
Un alphabet "classique" pour les mots de passe utilise environ 3 alphabets (majuscules, minuscules et 26 caractères "spéciaux") plus les chiffres. Ce qui donne 88 possibilité par caractère, soit log_2(88)~=6,46 bits.
Par conséquent, un mot aléatoire correspond à 2 caractères aléatoires. 4 mots aléatoires correspondent à 8 caractères aléatoires. Donc 4 mots correspondent à 8 caractères, etc.
Cela ne fonctionne que si les mots de passe sont parfaitement aléatoires. Si tu construis une phrase avec un sujet, puis un verbe puis un complément, tu casse de beaucoup la complexité puisqu'il n'y aura plus que disons, 1500 possibilités pour le premier mot, 1500 pour le deuxième, 1500 pour le troisième et 2000 pour le quatrième. C'est assez grossier comme estimation, mais on ne tombe plus qu'à log_2(1500³×2000)~=42,6 bits. Au lieu des ~50 des 4 mots aléatoires, soit 8 bits de moins donc 256 fois moins de combinaisons à tester.
La même démonstration s'applique aussi pour les mots de passes formés à partir d'un mot sur lequel on applique des transformations.
La morale de l'histoire, c'est que à entropie égale, il est souvent plus facile de retenir des mots que des caractères à la con, et que finalement ce qui fait essentiellement la complexité d'un mot de passe c'est sa longueur.
Si tu retiens 4 mots, ton mot de passe fera facilement 20 à 25 caractères. Dans le cas où l'attaquant ne te cible pas personnellement, il y a fort à parier que sa première technique de bruteforce sera d'essayer tous les caractères. Donc ton mot de passe sera finalement infiniment plus dur à casser qu'un de même entropie avec des caractères aléatoires.
D'autre part, rien n'oblige à utiliser un unique dictionnaire. Sans rentrer dans les détails, le mot de passe de ma clé GPG utilise 3 dictionnaires différents, dont un "exotique". Avec 7 mots, je pense arriver à tenir un paquet de temps avant que quelqu'un arrive à le casser
Ce qui me permet de conclure sur ce strip, toujours de XKCD :
Citer : Posté le 18/01/2021 08:38 | #
A dark storm:
Ok jai compris l'important c'est donc la diversité des caractères possible par la longueur et que l'enssemble soit une combinaison de mots (en leet du coup si je peu dire) c'est parel que mon delire des caractères aléatoire mais avec + de possibilité de mémorisation.
Bon ben c'est clare qe ca je ne vais pas le faire pour l'instant ce n'etais pas du tout dans mes projet de passer du temps a développé un tel programme. Ceci dit, me connaissant, je finirai par essayer mais ce n'est pas pour demain!!! j'ai tellement de cours et de pratique a faire dsl
d'ailleurs je me suis arreter pour l'interface graphique. Je vais m'y remettre un de ces jours ou un peu le week-end mais ca prendra + de temps que je ne l'avais imaginé en acceptant de le faire....
Faut dire ce qui est: au debut, je n'avais que pour prétention que de partager le petit programme que j'avais fait et que j'utilisai... et sans Kikoodx ca aurai pris bcp + de place: il a reduit mon truc d'un fichier de 63 lignes en moins !!! (rien que ca ) ... par contre merci bcp je n'avais pas compris la force de la mehode diceware
Citer : Posté le 18/01/2021 09:07 | #
J'ai appris aussi des trucs au passage. Je trouve ça génial qu'on puisse partir d'un programme et explorer un sujet un peu compliqué comme ça !
Citer : Posté le 18/01/2021 09:14 | #
OK, maintenant on peut attaquer le fonctionnement du chiffrement RSA
Citer : Posté le 18/01/2021 11:22 | #
OK, maintenant on peut attaquer le fonctionnement du chiffrement RSA
ola calme je ne suis pas Mr Robot
@Lephenixnoir: entièrement d'accord avec toi, le sujet est très intéressant et instructif... et tout ca a partir d'un affichage de caractères aléatoire !!! C'est un domaine qui nécessite quand même bcp de connaissances et de compétences ... j'admire tout ceux qui arrive a travaillé dans ce domaine
Citer : Posté le 18/01/2021 18:20 | #
OK, maintenant on peut attaquer le fonctionnement du chiffrement RSA
RSA Crypt