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 :

[Cryptographie] Savoir si la chaine décrypté est correcte


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Points : 132
    Points
    132
    Par défaut [Cryptographie] Savoir si la chaine décrypté est correcte
    Bonjour,
    Je souhaiterais créer un système de décryptage (par exemple du code de césar).
    Donc je sais comment générer toutes les possibilités mais le problème est que je souhaiterais que le programme sache trouver quelle possibilité est la bonne (parmis les 26).
    Comment savoir si la possibilité X est la bonne ? Quelle vérification effectuer ?

    J'ai une idée mais qui implique une restriction dans la langue utilisé : utiliser un dictionnaire et tester si des mots sont trouvés. La possibilité avec le plus de mots trouvés est la bonne. Est ce la bonne ?

    Merci d'avance

  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
    Bonjour,

    Citation Envoyé par Amybond Voir le message
    Donc je sais comment générer toutes les possibilités
    L'avantage avec Cesar c'est qu'il est inutile de faire toutes les combinaisons.
    Pour le décryptage, il faut calculer les fréquences d'apparition de chaque lettre. Ensuite tu testes les décalages par rapport à la lettre e pour toutes les lettres les plus fréquentes.

    Sinon, tu peux tester comme tu l'as dit avec un dictionnaire, ça marche très bien.
    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 habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Points : 132
    Points
    132
    Par défaut
    Ok merci c'est une bonne idée de vérifier en fonction du E


    Mais prenons un exemple plus complexe :
    Un cryptage selon une clé implique qu'un même antécédent n'a pas forcement la même image.
    Dans ce cas la, l'analyse fréquentiel n'est pas envisageable (ni l'attaque par dictionnaire-bruteforce).
    Comment faire alors ?

    Merci d'avance

  4. #4
    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
    Bonjour,

    chaque système de cryptographie est plus ou moins résistant à chaque type d'attaque. Pour les algorithmes les plus utilisés (donc souvent les plus robustes) il faut en général utiliser plusieurs attaques. Si tu veux connaître les différents types d'attaques, je ne peux que te conseiller de prendre un cours complet sur le sujet et de potasser. Fais donc une recherche avec "Attaque différentielle", tu auras déjà un départ.

    Si tu veux implémenter des attaques pour des algorithmes simples (césar, vigenère, enigma (déjà plus complexe), etc.) c'est autre chose. Chacun a un point faible plus ou moins évident et des algorithmes bien spécifiques d'attaque.
    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.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 124
    Points : 136
    Points
    136
    Par défaut
    D'autant qu'il y a des petits rusés qui code en double, voire plus, RSA(AES(cesar(monmot))), justement pour éviter qu'en craquant un algorithme connu, on puisse arrêter le processus de façon certaine.
    Mais bon, on supposera donc que tu veux décrypter selon un message qui a été encodé avec un algorithme que tu connais, c'est ça ?
    Pour un résultat qui en format texte ?
    En ASCII ?
    Et que en gros, tu veux savoir quand ton programme doit arrêter sa recherche et dire : 'Euréka, j'ai trouvé !', ne sachant pas en quelle langue celui ci a été écrit ...
    Disons que c'est certainement variable en fonction de l'algorithme, puisque certains cryptages collent toutes les lettres ensemble, Il faudrait donc que tu ais la fréquence d'apparitions de code ASCII dans chaque langue pour un texte, que tu le compares avec ce texte, en priant Dieu pour que le message soit suffisamment long pour être significatif des 7000 langues (connues ?), et avoir un super dictionnaire de toutes les langues et de comptabiliser les mots par langue en évitant les fôtes d'aurtografe, pour d'autres algorithmes, c'est pas forcément plus compliqué, puisque par exemple les caractères de séparation ' ', ',', '.' ... sont de bons indicateurs (quoique en japonais, je ne sais pas comment on fait des virgules), il me semble qu'il existe aussi des stats des longueurs de mot par langue (mais bon là encore, il faut avoir une notion de fin de mot - voire de mot).
    Mais je pense que tu devrais plutôt écrire à echelon pour savoir comment ils font ou voir le projet Enigma de BOINC pour savoir quels sont les tests d'arrêt du décryptage du message allemand datant de la seconde guerre mondiale qu'on essaye de décrypter depuis 60 ans.

    Note que ça serait plus simple si tu savais sur quoi tu dois tomber (dans un mail par exemple, il y a un header, ça aide vachement).

  6. #6
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Points : 132
    Points
    132
    Par défaut
    Ok merci donc oui pour l'instant je fais un système pour lequel je sais l'algorithme utilisé.
    J'ai actuellement codé le code de césar et je vais m'attaquer au code de Vigenère.
    Je vous tiens au courant

Discussions similaires

  1. Savoir si la verification est correcte
    Par stephane92400 dans le forum JSF
    Réponses: 5
    Dernier message: 08/01/2007, 17h22
  2. Réponses: 1
    Dernier message: 26/10/2006, 12h02
  3. Réponses: 3
    Dernier message: 17/10/2006, 10h55
  4. Réponses: 4
    Dernier message: 07/09/2006, 15h41

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