Une histoire de dico...

Discutez d'informatique ici !
Sorcier FXK
Membre Naturel
Messages: 10
Enregistré le: 03 Aoû 2008, 18:46

Une histoire de dico...

par Sorcier FXK » 03 Aoû 2008, 19:09

Bonjour, voila un ptit probleme qui me trote dans la tete.

Je m'interesse a la secu info et tout particulierement a la crypto et les differentes techniques qui servent a decrypter. (c'est legal, je tient a le préciser, car je taf sur MES données)

Il existe plusieurs méthodes bien entendu.

Dans mon cas, je cherche a déterminer la taille d'un dictionnaire avant de le générer. Un dictionnaire est fichier texte contenant une liste de mots ou de combinaisons.
Par exemple:
0001
0002
0003
.....
9999

Voici le probleme en lui meme:

le dictionnaire contient des lignes de 26 caracteres:
00000000000000000000000000 (1er ligne)
99999999999999999999999999 (derniere ligne)

Chaque 0 passera de 0 à 9.
Comment connaitre le nombre de combinaisons ? Et comment connaitre la taille final du fichier ?
Pour le nombre de combinaisons je pensais a ca : (26^26)^10
Mais j'ai un super doute...
Et pour determiner la taille du fichier... là je seche grave...



Monsieur23
Habitué(e)
Messages: 3966
Enregistré le: 01 Oct 2006, 17:24

par Monsieur23 » 03 Aoû 2008, 19:14

Bonjour.

Dans ton exemple à 4 chiffres, on voit bien qu'il y aura 10 000 "mots" différents.

Pourquoi cela changerait-il avec 26 chiffres ?
On aura 10^26 mots, non ?
« Je ne suis pas un numéro, je suis un homme libre ! »

Clembou
Membre Complexe
Messages: 2732
Enregistré le: 03 Aoû 2006, 11:00

par Clembou » 03 Aoû 2008, 19:20

Monsieur23 a écrit:Bonjour.

Dans ton exemple à 4 chiffres, on voit bien qu'il y aura 10 000 "mots" différents.

Pourquoi cela changerait-il avec 26 chiffres ?
On aura 10^26 mots, non ?


C'est bien ça, car avec 26 chiffres : le maximum qu'on pourra faire c'est :



+ le code avec que des zéros, on aura donc codes possibles.

Un octet = un chiffre donc ta taille de fichier fera octets...

Sorcier FXK
Membre Naturel
Messages: 10
Enregistré le: 03 Aoû 2008, 18:46

par Sorcier FXK » 03 Aoû 2008, 20:22

Quelle réactivitée !!! :zen:

Merci bien les gars !

Donc:
Pour obtenir le nombre de combinaisons d'un dico on prend le charset* qu'on eleve à la puissance du nombre de caractere.

Exemple

un dico avec 6 caracteres alphabétiques

aaaaaa (1er ligne) charset miniscule
zzzzzzz (derniere ligne)

Donc le nombre de combinaison est egale à 6^26

J'ai bien compris ?

Je demande car je vais codé un ptit tool en C pour m'aider et faudrai qu'il me sorte des aneries lol :we:

En tout cas merci de votre aide !
ah oui j'oublié: Un charset c'est ca par exemple "0 1 2 3 4 5 6 7 8 9" ou "abcdefghijklmnopqrstuvwxyz"

Clembou
Membre Complexe
Messages: 2732
Enregistré le: 03 Aoû 2006, 11:00

par Clembou » 03 Aoû 2008, 20:30

Sorcier FXK a écrit:Quelle réactivitée !!! :zen:

Merci bien les gars !

Donc:
Pour obtenir le nombre de combinaisons d'un dico on prend le charset* qu'on eleve à la puissance du nombre de caractere.

Exemple

un dico avec 6 caracteres alphabétiques

aaaaaa (1er ligne) charset miniscule
zzzzzzz (derniere ligne)

Donc le nombre de combinaison est egale à 6^26

J'ai bien compris ?

Je demande car je vais codé un ptit tool en C pour m'aider et faudrai qu'il me sorte des aneries lol :we:

En tout cas merci de votre aide !
ah oui j'oublié: Un charset c'est ca par exemple "0 1 2 3 4 5 6 7 8 9" ou "abcdefghijklmnopqrstuvwxyz"


Tu as tout à fait compris :++: Bon courage et bonne continuation pour la construction de ton tool en C :we:

Sorcier FXK
Membre Naturel
Messages: 10
Enregistré le: 03 Aoû 2008, 18:46

par Sorcier FXK » 03 Aoû 2008, 20:54

Bon je vient de me rendre compte que je m'egarai en tentant de générer ce dictionnaire.

10^26 octet (soit la taille du fichier finit en octets)
Pour le ramener en Go par exemple...
10^26 / 10^9 = 10^17go (si je me suis tromper faut le dire !!!)


Donc pas réalisable a ce jour...

Ou du moins pas dans un seul fichier, faut le tronquer pendant la génération.

Clembou
Membre Complexe
Messages: 2732
Enregistré le: 03 Aoû 2006, 11:00

par Clembou » 03 Aoû 2008, 21:40

Sorcier FXK a écrit:Bon je vient de me rendre compte que je m'egarai en tentant de générer ce dictionnaire.

10^26 octet (soit la taille du fichier finit en octets)
Pour le ramener en Go par exemple...
10^26 / 10^9 = 10^17go (si je me suis tromper faut le dire !!!)


Donc pas réalisable a ce jour...

Ou du moins pas dans un seul fichier, faut le tronquer pendant la génération.


Je crois même que tu ne pourras pas le stocker sur le plus gros disque dur du monde...

Anonyme

par Anonyme » 03 Aoû 2008, 21:45

Vous être au courant de la compression :lol2:
Je pense qu'un bonne compression peut diminuer largement tout cela, enfin je pense ...

Clembou
Membre Complexe
Messages: 2732
Enregistré le: 03 Aoû 2006, 11:00

par Clembou » 03 Aoû 2008, 21:51

--flens-- a écrit:Vous être au courant de la compression :lol2:
Je pense qu'un bonne compression peut diminuer largement tout cela, enfin je pense ...


N'étant pas codeur professionnel en C (plutôt LaTeX), je n'ai pas du tout pensé à la compression. Mais C vrai que ça existe... :p

rene38
Membre Légendaire
Messages: 7135
Enregistré le: 01 Mai 2005, 11:00

par rene38 » 03 Aoû 2008, 22:05

... et avec un taux de compression de 1 000 000/1 (on peut rêver !) le fameux fichier n'occupe plus que ... Image Go.

abcd22
Membre Complexe
Messages: 2426
Enregistré le: 13 Jan 2006, 14:36

par abcd22 » 03 Aoû 2008, 23:04

Bonsoir,
Sorcier FXK a écrit:un dico avec 6 caracteres alphabétiques

aaaaaa (1er ligne) charset miniscule
zzzzzzz (derniere ligne)

Donc le nombre de combinaison est egale à 6^26

Si on veut former tous les mots de 6 caractères avec l'alphabet {a, b, c, ... y, z}, il y a 26^6 possibilités et pas 6^26.

Sorcier FXK
Membre Naturel
Messages: 10
Enregistré le: 03 Aoû 2008, 18:46

par Sorcier FXK » 04 Aoû 2008, 23:33

Merci de me corriger, je repond trop vite defois !

Et tout cas merci a vous tous de m'avoir aider ! Vous etes vraiment sympas !

J'ai commmencé a coder le tool, quand j'aurai finis je pourrai vous passer le code source, si ca peut interesser quelqu'un. Je compte aussi le perfectionner avec des ptites options en plus, genre nombre de DVD ou CD ect.

Pour la compression :
On a compressé un dico de 17go en 100mo, pour l'info.
On ne peut pas compresser le dico pour des raisons techniques. Ce dico servira seulement a générer une rainbowtable qui elle sera beaucoup moi grosse que le dico d'origine. Mais pour créé la rainbowtable il faut le dico non compressé. De plus c'est pas possible de compresser pendant la génération. Par contre on peut le spliter en parti egale, histoire de le repartir sur les serveurs, mais vu la taille (10^17go) va falloir qu'on se casse la tete pour trouver une soluce.

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite