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 :

Problème avec blowfish et OpenSSL


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Problème avec blowfish et OpenSSL
    Bonjour à tous,

    J'ai chercher de la documentation sur la librairies Crypto d'OpenSSL et j'ai donc fait un ptit programme (à l'arrache) :

    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
    21
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #include <openssl/blowfish.h>
     
     
    int main(){
    	BF_KEY *key;
    	char in[64];
    	char out[64];
    	char pass[12];
    	int size;
    	strcpy(in,"Test de l'algo blowfish\n");
    	strcpy(pass,"motsdepasse");
    	size = strlen(in);
    	BF_set_key(key,strlen(pass),(const unsigned char *)pass);
    	BF_cfb64_encrypt((const unsigned char *)in,(unsigned char *)out,size,key,0,0,BF_ENCRYPT);
    	printf("In : %s\n",in);
    	printf("Out : %s\n",out);
    	return 0;
    }
    que je compile avec : gcc -Wall -pedantic blowfish.c -lcrypto

    Jusque là tout va bien, le compilateur ne me renvoie aucune erreur.
    Mais pourtant le programme plante : "Segmentation fault"
    J'ai fait marcher le déboguer mais mon programme plante avant de se lancer. Le problème viens des fonctions : "BF_set_key" et "BF_cfb64_encrypt". En effet, lorsque je les vires, le programme fonctionne.

    J'aimerai que vous éclairiez ma lanterne parce que là je sèche ...

    Merci d'avance

    HacK SpideR

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    En regardant le prototype de la fonction, j'aurais plutôt fait un truc comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    BF_KEY key;
    memset(&key, 0, sizeof(key); /* je ne sais pas si c'est utiles mais j'aime bien avoir des structures initialisées explicitement */
    ...
    BF_set_key(&key, strlen(pass), (const unsigned char *)pass);
    ...
    BF_cfb64_encrypt((const unsigned char *)in,(unsigned char *)out, size, &key,0,0,BF_ENCRYPT);
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    J'avais déjà penser à changer BF_KEY key

    mais sa ne fonctionne toujours pas

    Voici la documentation : http://www.openssl.org/docs/crypto/blowfish.html#

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par HacKSpideR Voir le message
    mais sa ne fonctionne toujours pas
    Pourquoi cela ne fonctionne pas ? Quel est le message d'erreur ?

    Est ce que tu as vu que je mettais &key quand je l'utilise dans BF_set_key() et dans BF_cfb64_encrypt() ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Oui j'ai bien mis "&key"

    l'erreur est la même qu'avant : Segmentation fault

    Si je place dès le départ un "printf("test");", il ne sera même pas afficher lorsque je lance le programme, j'obtient seulement un "Segmentation fault"

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Est ce que tu as vu la petite note en bas :
    Applications should use the higher level functions EVP_EncryptInit(3) etc. instead of calling the blowfish functions directly.
    qui renvoie sur cette page avec en plus un exemple blowfish
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Ah ok. Je n'avais pas prêté attention à la note

    Je te remercie et suis désolé

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

Discussions similaires

  1. Problème avec openssl
    Par olivpepette dans le forum C
    Réponses: 5
    Dernier message: 05/10/2011, 15h23
  2. Problème avec openssl
    Par nomatter dans le forum Débuter
    Réponses: 5
    Dernier message: 28/05/2008, 13h02
  3. Problème avec la commande "req" d'openssl
    Par crypto dans le forum Débuter
    Réponses: 0
    Dernier message: 14/03/2008, 23h28
  4. problème avec <openssl/dh.h>
    Par Tex-Twil dans le forum C
    Réponses: 6
    Dernier message: 23/03/2006, 11h30
  5. problème avec blowfish
    Par Hydre dans le forum Sécurité
    Réponses: 2
    Dernier message: 19/10/2005, 12h35

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