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

Langage C++ Discussion :

Déchiffrage fichier openSSL aes256 cbc


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2002
    Messages : 91
    Par défaut Déchiffrage fichier openSSL aes256 cbc
    Salut à tous,

    J'ai développé un programme sous Raspbian Jessie et je crée des fichiers que je chiffre avec cette commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    openssl enc -e -aes-256-cbc -in fichier -out fichier-chiffré
    Et pour le déchiffrement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    openssl enc -d -aes-256-cbc -in fichier-chiffré -out fichier
    Bref quelque chose de très simple (dans ce cas, j'utilise un pwd par défaut, donc je ne lui passe pas en paramètre)

    Par contre, les fichiers chiffrés sont récupérés sous windows et donc je dois les déchiffrer.

    Alors mes recherches me donnent pas mal de choses comme: EVP_aes_256_cbc ou encore: AES_cbc_encrypt(enc_out, dec_out, encslength,&dec_key, iv, AES_DECRYPT); ou encore avec une librairie comme #include CkCrypt2.h;....

    Bref, pas mal de choses ou on me demande d'ajouter un vecteur iv....

    Et là ben je ne sais pas quoi faire.... Y a t-il quelque chose d'aussi simple que sous Linux?

    Merci pour votre aide

    Pascal

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Bah, si. OpenSSL.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2002
    Messages : 91
    Par défaut
    Euh.... Comment te dire, Merci.
    oui, j'essaye d'utiliser openSSL, mais c'est justement ma question, si tu la lis bien, ce n'est pas d'utiliser openSSL qui me pose problème, mais comment l'utiliser de façon aussi simple que sous Linux...

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Et bien tu fais comme tu fais sur ta machine Linux : tu installes les binaires pour Windows, ajoute ce qu'il faut au PATH etc pour pouvoir être utilisé dans la ligne de commande aisément (souvent automatiquement fait lors de l'installation) et t'as gagné.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2002
    Messages : 91
    Par défaut
    Ok, je sais faire ça. Je dois pas vraiment bien m'expliquer, lol
    En fait le programme windows sera installé sur différenst PC et le déchiffrement se fera en auto, pas en ligne de commande, il faudrait donc que j'installe openSSL dans un répertoire et que j'embarque que la/les lib(s) et include(s) nécessaire. Jusque là j'ai réussi.
    mais je ne trouve pas dans le .h aes une commande aussi simple que celle que j'utilise sous linux, il me demande un vecteur iv et je ne sais pas quoi lui mettre... Sous linux, j'utilise juste un mot de passe, je vous mets mon code Linux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    key = "MonSuperMotDePasse"; //par défaut
    /**
     * Déchiffrage d'un fichier finissant par _chif avec mot de passe par défaut
     */
    void CryptDecrypt::fileDecryptAes(string pFileName){
     
      fileDecryptAesPwd(pFileName, key);
    }
     
    /**
     * Déchiffrage d'un fichier finissant par _chif avec mot de passe en param
     */
    void CryptDecrypt::fileDecryptAesPwd(string pFileName, string pPwd){
     
      string commande = "openssl enc -d -aes-256-cbc -in \""
                            +pFileName +"\"_chif -out \""
                            +pFileName +"\"_dechif -pass pass:"
                            +pPwd;
        std::system(commande.c_str());
    }
    Et là je ne vois pas de iv...

    d'ailleurs, dans aes.h on ne voit pas de aes_256_CBC, on ne voit qu'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
                         size_t length, const AES_KEY *key,
                         unsigned char *ivec, const int enc);
    avec un iv et dans evp.h, on voit un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const EVP_CIPHER *EVP_aes_256_cbc(void);
    Bref, je suis un peu perdu là...

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2002
    Messages : 91
    Par défaut
    Bon, aucune réponse, je sens que ça va être chaud ça....

    Bon, en fait j'ai besoin d'un éxécutable openssl avec ses dll, mais sans faire d'installation sous windows, ou alors dans un dossier que je maîtrise, que je pourrai joindre à mon exe...

    Que je pourrai utiliser comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    openssl.exe aes-256-cbc -d -in somefile.pdf.cry -out decriptedfile.pdf
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. signer un fichier en c# / OpenSSL
    Par elqomri dans le forum C#
    Réponses: 1
    Dernier message: 27/05/2011, 13h35
  2. Réponses: 0
    Dernier message: 29/04/2011, 16h01
  3. Réponses: 5
    Dernier message: 14/04/2011, 15h29
  4. Réponses: 0
    Dernier message: 28/02/2011, 20h58
  5. Openssl signature d'un fichier à l'aide de la clé dsa
    Par hammag dans le forum Sécurité
    Réponses: 1
    Dernier message: 26/12/2006, 13h45

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