IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Algorithme génération chaine


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Points : 84
    Points
    84
    Par défaut Algorithme génération chaine
    Bonjour à tous,
    Dans le but d'un travail ou on doit générer une attaque par énumération. On doit générer des mots ayant jusqu'à 8 caractères maximum.

    Il faut utilise les caractères suivante :
    abcdefghijklmnopqrstuvwxyz0123456789!@#$%&*
    Pour mon algorithme j'initialise un tableau T comprenant chacun des caractères. Cependant, là ou je bloque c'est au niveau de la création des différentes boucle qui permettront de créer le «dictionnaire».

    Pour faciliter la création j'essaie donc en prenant comme valeur un maximum 3 caractères avec T[a,b,c].

    Au finale, si je me suis pas tromper je devrais obtenir (soit sommation N de 1 à Max avec comme calcul NbrCaractère^N)

    a,b,c
    aa,ab,ac,ba,bb,bc,ca,cb,cc
    aaa,aab,aac,aba,abb,abc,aca,acb,acc
    baa,bab,bac,bba,bbb,bbc,bca,bcb,bcc
    caa,cab,cac,cba,cbb,cbc,cca,ccb,ccc
    Mais en algorithme j'avoue que je suis un brin bloqué.

    Dict étant le tableau comprenant ma lise de mots.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Min  <-- 1
    Max <-- 3
    Pour I = Min allant jusqu'à Max
       Pos = I
       NbrMot = Taille de T ^ I
     
       Pour Y allant de 1 à NbrMot
          Mot[Pos] = T[y]
          Ajouter Mot à Dict
          Reinitialise Mot
    Mon algo fonctionne tant que j'ai 1 seul caractères, mais après ça ne fonctionne plus et j'avoue que je suis un brin perdu sur cet algo ^^

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Fais donc une recherche dans le forum avec "Toutes les combinaisons possibles".
    C'est un cas classique de récursivité.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Points : 84
    Points
    84
    Par défaut
    Merci, oui le bon indice de recherche on fini pas trouvé. Car j'avoue que je ne savais pas trop comment appelé ce que je chercher a développer.


    Cependant, là j'ai un nouveau problème bien que ça ne touche plus à Algorithme directement. Au niveau de l'attaque par énumération que je dois faire.

    Avec la liste des caractères disponibles et ma limite de 8 caractères. J'obtiens 11 966 490 760 400 de résultats ? Est-ce que j'ai fais une erreur ?

  4. #4
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Bonjour. Le résultat est en effet correct.

    Ce genre d'attaque par force brute est utilisé en dernier recours, et de préférence sur le GPU puisque ce problème s'y prête merveilleusement. Cela dit même sur CPU un bon code peut mouliner au moins quelques centaines de millions de mdp par seconde, ce qui fait de ton problème une question d'heures. Normalement c'est le test du mdp qui prend du temps (le coût de la vérification est un critère essentiel de sécurité de l'algo utilisé dans ce genre de cas).

    En revanche stocker les mots de passe serait une très mauvaise idée, à moins que tu n'aies un disque de 11To sous la main et beaucoup de temps à perdre (les accès disque vont considérablement ralentir le programme). Il faut plutôt utiliser les mdp au fur et à mesure que tu les génère. Les stockes-tu toujours dans une liste ?

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Points : 84
    Points
    84
    Par défaut
    Oui dans l'état actuel je regardais pour les stockers dans 1 listes, mais il est vrai qu'au vu de la grande quantité de donnée je vais devoir générer chacun des codes, vérifier s'il correspondant à mes mots manquants et ainsi de suite.

    10 000 éléments dans un liste OK, mais là ces un peu trop de milliard

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/02/2015, 15h05
  2. Algorithme vérification chaine de caractères
    Par FlyByNight dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 21/05/2010, 07h26
  3. Concernent l'algorithme des chaines de caractére
    Par alita dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/05/2007, 02h50
  4. Meilleur algorithme de recherche de chaine?
    Par ryosnake dans le forum Algorithmes et structures de données
    Réponses: 23
    Dernier message: 20/09/2006, 20h34
  5. Génération de chaine de caractere aléatoire
    Par brake dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2006, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo