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

C++ Discussion :

Cryptage en C++ : Simple, léger et sûr ?


Sujet :

C++

  1. #21
    Membre émérite Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Par défaut
    Merci de la précision, intéressant tout ca

  2. #22
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Pour, quand même, répondre à -4ian-, ce qu'il faudrait surtout savoir, c'est si ton souhait est:
    • de disposer d'un moyen "rapide" de "comparer" deux chaines afin de s'assurer qu'elles sont identiques (ou non) ou
    • de disposer d'un moyen de stocker tes chaines de manière illisible, en étant en mesure de récupérer la chaine d'origine "à la demande"
    Dans le premier cas, et selon le niveau de sécurité que dont tu as besoin, MD5, SHA ou les autres peuvent faire l'affaire.

    Dans le second cas, il faut bel et bien se tourner vers AES, blowfish ou, pourquoi pas, une "simple" amélioration du cryptage de Cesar, selon, encore une fois, la sécurisation que tu souhaites obtenir
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #23
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Dans le second cas, il faut bel et bien se tourner vers AES, blowfish ou, pourquoi pas, une "simple" amélioration du cryptage de Cesar, selon, encore une fois, la sécurisation que tu souhaites obtenir
    Cesar, ça craint, c'est super faible face à une attaque statistique.

  4. #24
    Membre émérite Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Par défaut
    Ouais mais bon, quand tu veux juste rendre illisible tes photo de vacances ...
    Un pirate se les procures et peu ainsi t'admirer en maillot de bain sur la plage ? Waawww ....
    Une protection faible n'est pas forcément mauvaise, tout dépend de ce qui est à protéger. Une protection adaptée à l'intérêt de conserver le secret est souvent plus efficace que de prendre la meilleure sécurité du monde. Ca a tendance a attirer l'attention

  5. #25
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Cesar, ça craint, c'est super faible face à une attaque statistique.
    Je sais bien, mais, cela fait partie des méthodes de cryptage
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  6. #26
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Par défaut
    Il s'agit ( s'agissait ) bien de trouver un moyen de chiffrer une chaine de manière illisible et de pouvoir la décoder ensuite, pas une simple fonction de hash pour vérifier un mot de passe.

    Je me suis tourné comme je l'ai dit vers l'AES, j'ai besoin d'un niveau de sécurité élevé, mais je déplore de devoir toujours se "taper" des classes qui utilisent par exemple des char* à tour de bras. En fonctionnement interne, c'est pas mon problème, mais à quand une classe qui définit par exemple

    std::string AES::Encrypt(std::string str, std::string password) ?

  7. #27
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    Sa dépend les sources. (comprendre par qui ça a était codé). Ce genre de chose j'ai l'impression que c'est souvent un wrapper d'un code en C plutôt qu'autre chose... du coup on se tape du C/C++ à tout les étages.

    qu'on me fasse pas dire ce que j'ai pas dis : y'a aussi de très belle implémentation hein...

  8. #28
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Par défaut
    Avoir un algorithme qui est implémenté en C ne me dérange pas, c'est plutôt le fait que la plupart des sources des algorithmes estampillées "C++" ne proposent qu'une classe qui utilise à foison du char*, du unsigned char * datain, du EncryptBlock ( Du C with classes ) et on a vite ( très vite ) fait de se planter avec ça.
    Proposer ceci peut évidemment être utile à plus d'une personne, mais je pense que certains aimerait aussi des fonctions simples comme évoquée ci dessus.

  9. #29
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Le fait est que le char* est, en définitive, le socle commun qui permet, le cas échéant, de crypter autre chose que des chaines de caractères (des valeurs numériques, entières ou non, par exemple).

    Il n'est, en effet "pas impossible" que le cryptage des données porte sur... autre chose que des chaines de caractères, et donc, que le recours au "socle commun" s'avère nécessaire.

    Evidemment, si on a la certitude de n'utiliser que des chaines de caractères, il peut rapidement devenir contraignant de se *taper* ce socle commun.

    Mais rien n'empêche, si, effectivement, tu as cette certitude, de fournir une interface utilisant les chaines de caractères et non le char*
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  10. #30
    Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 3
    Par défaut
    Je ne l'ai pas personnellement utilisée, mais le toolkit keyczar a l'air intéressant :
    http://code.google.com/p/keyczar/

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    keyczar::Keyczar* crypter = keyczar::Encrypter::Read(location);
            if (!crypter) return 1;
            std::string ciphertext;
            bool result = crypter->Encrypt(input, &ciphertext);

  11. #31
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Par défaut
    Oui, j'avais vu ça, ça correspondait bien à ce que j'avais besoin, mais j'ai failli m'étrangler en voyant que ce n'est pas encore compilable en C++ sous Windows.

  12. #32
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Septembre 2007
    Messages : 267
    Par défaut
    Juste pour me situer un peu, j'ai fait un programme de chiffrement de message contenu dans un fichier, j'ai utiliser RSA.
    La bibli GMP pour les grand nombre, mais pour ton cas, utiliser RSA avec des petits nombres ca ne te conviendrai pas? et pkoi?

  13. #33
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Par défaut
    RSA avec des petit nombres, c'est nul. RSA est intéressant si tu y va avec des grand nombres que tu ne peut pas factoriser, sinon, le coté asymétrique ne sert plus a rien.

    Sinon, c'est bien d'avoir fait du RSA, mais c'est bête car pour peu que ton claire soit plus grand que ta clef, tu es faible devant les attaques statistiques. RSA, ça sert a crypter les clef d'algo symétriques, type AES par exemple.

Discussions similaires

  1. Algo de cryptage simple
    Par Muesko dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 12/09/2006, 15h53
  2. [Crypt]Fonction simple de cryptage des données
    Par Agoye dans le forum Sécurité
    Réponses: 5
    Dernier message: 30/08/2006, 20h35
  3. [Sécurité] Cryptage simple d'entier
    Par Florent08800 dans le forum Langage
    Réponses: 19
    Dernier message: 13/07/2006, 16h26
  4. Problème cryptage simple de fichier
    Par darthnexus dans le forum C++
    Réponses: 4
    Dernier message: 03/06/2006, 19h16
  5. Cryptage Simple de mot de passe
    Par xavmax dans le forum C++Builder
    Réponses: 12
    Dernier message: 30/11/2005, 00h44

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