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

Sécurité Discussion :

Cryptage RSA par clef privée : Impossible à décoder avec OpenSSL


Sujet :

Sécurité

  1. #1
    Membre habitué

    Inscrit en
    Février 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Février 2007
    Messages : 250
    Points : 162
    Points
    162
    Par défaut Cryptage RSA par clef privée : Impossible à décoder avec OpenSSL
    Bonjour à tous.

    Je travaille sur un problème de gestion de licence.
    Le but ? Fournir à ceux qui auront payé une licence leur permettant d'utiliser un logiciel.
    Bon, jusque là, c'est très commun. Le programme est un programme écrit en C++ donc compilé.

    Le principe : encoder sur mon site web, la licence en RSA en utilisant la clef privée puis décoder cette clef avec la clef publique dans le logiciel.

    Ok, plusieurs failles de sécurité : la clef de décodage est dans le programme (qu'il faudra masquer en l'encodant elle aussi pour ne pas la modifier facilement via un éditeur de texte).

    Le but est simplement que l'on ne puisse pas facilement encoder une nouvelle licence... si on peut la lire c'est pas trop grave mais je ne veux pas pour autant la laisser en clair. De toute façon le système n'est pas fait pour être incassable car une protection logicielle est forcément faillible, il suffit de l'exécuter via un debugger... et avec de solides connaissances...

    Le logiciel sera vendu certainement autour de 5€ (s'il sort un jour) donc je ne peux pas utiliser de dongle à 30€ pièce !

    Voici mon problème :
    -> cryptage RSA de la licence avec la clef privée sous PHP côté site web (la licence peut être décryptée sous php avec la clef publique).
    -> décryptage impossible en utilisant OpenSSL.

    wxmemDestinationBuffer est un wxMemoryBuffer (wxWidgets), c'est un simple buffer binaire qui contient la licence encryptée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        FILE *pfKeyFile = fopen("monchemin\\maclefpublique.pem", "r");                   // Open the private key file
        RSA *pRSAPublicKey = PEM_read_RSA_PUBKEY(pfKeyFile, NULL, NULL, NULL); // And read the RSA key from it
        fclose(pfKeyFile);
    
        unsigned char *pszOutBuffer = new unsigned char[RSA_size(pRSAPublicKey)]; // Create some buffers of the right size
    
    int iLen = RSA_public_decrypt(wxmemDestinationBuffer.GetDataLen(), (const unsigned char *) wxmemDestinationBuffer.GetData(), pszOutBuffer, pRSAPublicKey, RSA_PKCS1_OAEP_PADDING);
    wxmemDestinationBuffer.GetDataLen() est ègal à RSA_size(pRSAPublicKey) (256)
    iLen retourne toujours -1, le message d'erreur est "unknown padding type".
    J'ai tenté avec RSA_PKCS1_PADDING, idem, le message est "block type is not 01"

    Pour les puristes qui vont me répondre, normalement on crypte avec la clef publique et on décrypte avec la clef privée, mais je ne peux pas fournir une clef privée différente par utilisateur du logiciel !
    Ce que je fais s'apparente plus à une signature numérique mais je souhaite aussi crypter la licence, qu'elle ne soit pas lisible en clair!

    La question que je me pose : est-ce que OpenSSL PEUT décrypter avec la clef publique ? J'y ai passé des heures, modifier les options de cryptage côté php en CRYPT_RSA_ENCRYPTION_OAEP ou CRYPT_RSA_ENCRYPTION_PKCS1 mais rien n'y fait.

    Si vous avez des réponses ou des suggestions...

    -> il faut que la licence soit cryptée
    -> Il ne faut pas que l'on puisse en générer par soi même
    -> Il faut que je puisse authentifier / vérifier au décryptage que ça provient bien de moi
    -> La licence générée fait 256 octets, il faut éviter qu'elle soit trop longue (genre signature numérique + hash + encryption + .... )

    PS : j'ai aussi essayé RSA_private_decrypt() mais là, c'est pire, le programme crash (segmentation fault).

  2. #2
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    Pour les puristes qui vont me répondre, normalement on crypte avec la clef publique et on décrypte avec la clef privée, mais je ne peux pas fournir une clef privée différente par utilisateur du logiciel !
    Ce que je fais s'apparente plus à une signature numérique mais je souhaite aussi crypter la licence, qu'elle ne soit pas lisible en clair!
    C'est tout à fait correcte d'utiliser ta clé privé dans ce sens, cela s'appele une signature te permet d'authentifié la provenance de ton certificat.

    Maintenant j'ai l'impression que tu confonds deux choses la signature et le chiffrement. On utilise que très rarement le RSA pour chiffrer, c'est lent, lent et encore une fois lent.
    Ce que tu dois faire c'est une signature, tu génères des licences que tu signes avec ta clé privé. Ensuite dans ton programme tu contrôle que la signature est correcte.
    Si quelqu'un veut t'attaquer, il va devoir générer une signature correcte pour son logiciel, ce qu'il ne peut faire vu qu'il ne possède pas la clé privé.
    Par contre comme tu le dis il "n'existe pas" de solution de sécurité logiciel efficace. Mais un petit coup d'obfuscator, et tu décourageras la plupart des attaquants pour un logiciel de 5$

    Pour ce qui est d'openssl tu peux évidement signer/contrôler une signature, juste un passage de la doc :

    $ openssl dgst -h
    unknown option '-h'
    options are
    -c to output the digest with separating colons
    -d to output debug info
    -hex output as hex dump
    -binary output in binary form
    -sign file sign digest using private key in file
    -verify file verify a signature using public key in file
    -prverify file verify a signature using private key in file
    Et une référence :
    http://www.madboa.com/geek/openssl/

  3. #3
    Membre habitué

    Inscrit en
    Février 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Février 2007
    Messages : 250
    Points : 162
    Points
    162
    Par défaut
    Merci pour ta réponse...

    J'ai un ami expert réseau et sécurité, il m'a dit la même chose ! Grrrrrr !
    C'est en effet plus une signature, mais il faut que je j'encrypte pour ne pas laisser la licence "en clair".

    Il m'a expliqué, il faut que je signe le licence mais du coup je ne sais pas comment je vais encrypter le tout (certificat + signature), je veux pas laisser les infos contenues dans la licence en clair...

    Impossible de stocker la clef privée dans le programme : trop facile de retrouver la clef publique à partir de la clef privée.

    On utilise que très rarement le RSA pour chiffrer, c'est lent, lent et encore une fois lent.
    Oui je sais mais ce n'est pas pour chiffrer mais pour déchiffrer, de plus l'ajout de la licence se fait très rarement, pas grave si ça prend du temps !

    Mais un petit coup d'obfuscator, et tu décourageras la plupart des attaquants pour un logiciel de 5$
    Ehhhh.. de l'obfuscation sur un programme en C++, donc compilé ?

    J'ai vu que certain programmes protègent les exe (empèche le debug, etc), il suffit de faire un md5 sur la DLL qui contient la protection dans l'executable et d'empécher le lancement si la dll est modifée...

    Compliqué lorsque l'on ne peux pas utiliser de dongle...

  4. #4
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    Compliqué lorsque l'on ne peux pas utiliser de dongle...
    Ehhhh.. de l'obfuscation sur un programme en C++, donc compilé ?
    Le dongle n'est qu'une des protections possibles, il existe de nombreuses solution pour "blinder" ton exécutable. Peut-importe le langages, cherche du côté des packers/protecteur, il te permettront de cacher un tant soit peu ta clé publique utilisé pour vérifier la signature.


    Il m'a expliqué, il faut que je signe le licence mais du coup je ne sais pas comment je vais encrypter le tout (certificat + signature), je veux pas laisser les infos contenues dans la licence en clair...
    Tu peux protéger ta licence en la chiffrant simplement, c'est pas la panacée, mais pour un logiciel à 5$ c'est une bonne solution.

  5. #5
    Membre habitué

    Inscrit en
    Février 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Février 2007
    Messages : 250
    Points : 162
    Points
    162
    Par défaut
    Citation Envoyé par manticore Voir le message
    Le dongle n'est qu'une des protections possibles, il existe de nombreuses solution pour "blinder" ton exécutable. Peut-importe le langages, cherche du côté des packers/protecteur, il te permettront de cacher un tant soit peu ta clé publique utilisé pour vérifier la signature.
    Toutes mes signatures embarqués dans le programme ne seront pas mise en clair et certainement réparties entre l'exécutable et les multiples DLLs, l'exe refusant de se lancer si une DLL a été modifiée, c'est déja une première base.

    Le logiciel coutera 5€ pour les particuliers, 50€ pour les clubs (tennis de table).

    Si je signe ma licence en RSA côté site web, j'aimerais encoder licence + signature avec de la crypto pour ne pas laisser la licence en clair, que me conseiller-vous ? AES ? Comment générer les clefs de cryptages AES ? De quelle longueur ? La taille de la signature fait 256 octets + la licence donc je ne peux pas crypter avec une clef RSA...
    Dommage AES est un cryptage sysmétrique... pas de possibilité de crypter le tout avec un cryptage asymétrique (un bloc d'environ 300 octets) ?

  6. #6
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    J'ai l'impression que tu fais une erreur sur la compréhension du chiffrement symétrique et asymétrique.

    Pour signer il te faut de l'asymétrique, afin de générer une signature que tu peux contrôler sans pouvoir les générer.

    Pour chiffrer, il te faut du symétrique (pas que l'asymétrique ne fonctionne pas mais il est plus lent et n'apporte rien.). Ceci car de toute façon tu devras stocker ta clé de chiffrement sur ton programme (ou l'envoyer depuis un serveur web).

    L'AES est le standard actuel avec une clé de 128 bits tu es blindé.

    Maintenant il te faut trouver une solution pour cacher ta clé, il y a plusieurs solutions. La plus simple étant d'utiliser un packer qui va te blinder ton exécutable.

    Une référence qui peut-être utile.
    http://www.id07.com/logiciels/progra...otecteurs-v15/

    Pour cacher ta clé évite d'utiliser un string par contre mais au point un système de sérial, ou un calcul est fait pour la générer sinon un éditeur hexa révélera la clé.

    Ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int key = 0;
    key = a * 61;
    key = key ^ key;
    ...

  7. #7
    Membre habitué

    Inscrit en
    Février 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Février 2007
    Messages : 250
    Points : 162
    Points
    162
    Par défaut
    Pour chiffrer, il te faut du symétrique (pas que l'asymétrique ne fonctionne pas mais il est plus lent et n'apporte rien.)
    Je ne fais pas erreur sur la compréhension c'est juste que si j'avais été le seul à pouvoir crypter c'était mieux (cryptage asymétrique).
    J'avais bien l'intention de ne pas laisser la clef "en clair" mais bien entendu de l'encoder d'une manière ou d'une autre dans le programme pour ne pas que l'on puisse la modifier directement dans l'exécutable via un éditeur de texte.

    De plus, le programme est composé d'un exe + quelques DLL, la clef sera découpée et écrite dans plusieurs composants (une partie dans l'exe, une autre dans une dll)...
    L'exe vérifiera (md5) que la dll n'a pas été modifiée.. et il faudra que je protège l'exe...

    Après si des hackeurs veulent casser tout ça, il pourront mais pour 5€ à l'année... est-ce que ça vaut vraiment le coup ?

    En tout cas, merci à tous pour toutes ces réponses....

    Comment je génère une clef aléatoire AES 128 bit via openssl ? histoire ensuite de la mémoriser dans le programme.

  8. #8
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    Pour générer une clé aléatoire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    openssl rand -hex -out [fichier sortie] [size]
    Je ne fais pas erreur sur la compréhension c'est juste que si j'avais été le seul à pouvoir crypter c'était mieux (cryptage asymétrique).
    Ok, effectivement tu peux chiffrer avec de l'asymétrique et tu sera le seul à pouvoir chiffrer. Cependant je pense pas que cela apporte grand chose.

    De plus, le programme est composé d'un exe + quelques DLL, la clef sera découpée et écrite dans plusieurs composants (une partie dans l'exe, une autre dans une dll)...
    L'exe vérifiera (md5) que la dll n'a pas été modifiée.. et il faudra que je protège l'exe..
    Oui, une fois que tu as fais cela tu passes un coup de packer/protector (cela ajoutera des techniques d'anti-debug, de chiffrement/compression ect...) qui donneront un vrai plus.

    Après si des hackeurs veulent casser tout ça, il pourront mais pour 5€ à l'année... est-ce que ça vaut vraiment le coup ?
    Non, effectivement il y a peu de chance qu'un jour quelqu'un s'intéresse à casser ton programme et a diffuser des cracks .

  9. #9
    Membre habitué

    Inscrit en
    Février 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Février 2007
    Messages : 250
    Points : 162
    Points
    162
    Par défaut
    openssl rand -hex -out c:\test.pem 128
    ça ne fonctionne pas, OpenSSL me répond :
    Usage: rand [options] num
    where options are
    -out file - write to file
    -engine e - use engine e, possibly a hardware device.
    -rand file;file;... - seed PRNG from files
    -base64 - encode output

  10. #10
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    tu n'as pas la même version d'openssl que moi

    enlève juste le -hex je pense.

    manticore@ubuntu:~$ openssl version
    OpenSSL 0.9.8k 25 Mar 2009

  11. #11
    Membre habitué

    Inscrit en
    Février 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Février 2007
    Messages : 250
    Points : 162
    Points
    162
    Par défaut
    En effet ça marche mais du coup c'est pas du mode texte, c'est en binaire...
    Va falloir que je charge le fichier en binaire pour le reconvertir en texte...

  12. #12
    Membre habitué

    Inscrit en
    Février 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Février 2007
    Messages : 250
    Points : 162
    Points
    162
    Par défaut
    bon, j'ai réussi avec l'option -base64, ça fonctionne bien.
    J'ai généré une clef AES, je signe, j'encode et tout et tout...

    sauf que lorsque je reçoit un bloc crypté, je ne sais pas comment calculer la taille de la donnée binaire une fois décryptée et OpenSSL n'a pas l'air de vouloir me donner cette information là, alors que RSA le fait !
    En plus, la donnée cryptée et décryptée ne fait pas la même taille !

    Vous avez une idée.....

    PS : je le redis encore une fois, merci à tous ceux qui m'aident et me font des réponses !

  13. #13
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    Attention lorsque tu fais du chiffrement AES tu as plusieurs modes :

    CBC, EBC..., selon le mode que tu utilises tu as du padding pour remplir les blocs de données qui doivent avoir de mémoire 128 bits (à vérifier).

    L'erreur peut venir aussi du fait que tu encodes tes données binaire en base64 par exemple qui à une taille variable.

    Normalement la taille d'entré/sortie est équivalent hormis le padding.

  14. #14
    Membre habitué

    Inscrit en
    Février 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Février 2007
    Messages : 250
    Points : 162
    Points
    162
    Par défaut
    Citation Envoyé par manticore Voir le message
    Attention lorsque tu fais du chiffrement AES tu as plusieurs modes :

    CBC, EBC..., selon le mode que tu utilises tu as du padding pour remplir les blocs de données qui doivent avoir de mémoire 128 bits (à vérifier).

    L'erreur peut venir aussi du fait que tu encodes tes données binaire en base64 par exemple qui à une taille variable.

    Normalement la taille d'entré/sortie est équivalent hormis le padding.
    Je n'ai pas d'erreur, j'encode en PHP et j'ai affiché la taille du bloc à encoder et la taille du bloc une fois encodée, c'est comme cela que je vois la taille que cela prend.
    Je n'ai pas encore fait le décodage côté OpenSSL (en C++). Je suis en train d'écrire la conversion base64, je fais ça le soir donc ça avance pas très vite...

    En tout cas le bloc encodé n'est pas multiple de 128, je crois que j'encode en CBC il parait que c'est plus secure que l'EBC... non ?

  15. #15
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    Oui, l'ECB ne garantie pas la dispersion des données.

    Tu peux regarder les images de wiki elles sont assez évocatrice.
    http://en.wikipedia.org/wiki/Block_c...s_of_operation

    Quelle fonction utilises-tu en php ?

    p.s. il s'agit de bits pour de bytes pour le multiples donc un multiple de 16 bytes.

  16. #16
    Membre habitué

    Inscrit en
    Février 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Février 2007
    Messages : 250
    Points : 162
    Points
    162
    Par défaut
    Citation Envoyé par manticore Voir le message
    Oui, l'ECB ne garantie pas la dispersion des données.
    C'est ce que l'on voit avec le pinguoin de linux dont l'image est encore visible malgré l'encryption ?
    Donc CBC est meilleurs ?
    Je crois que j'utilise un encodage CBC.
    Les fonctions que j'utilise en php sont issus d'une librairie que j'ai téléchargé mais dont je ne me souviens pas du nom (c'était en décembre et j'avais un peu laissé tombé).

  17. #17
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    Exactement comme tu peux le voir, l'EBC chiffre l'image, mais les données ne sont pas mélangé.

    L'EBC n'est plus vraiment utilisé d'ailleurs.

    Contrôle pour la taille, mais je suis convaincu que tu as un multiple de 16 bytes

  18. #18
    Membre habitué

    Inscrit en
    Février 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Février 2007
    Messages : 250
    Points : 162
    Points
    162
    Par défaut
    Bon, après avoir pas mal galéré, je réussi à faire quelques trucs.
    Si j'encrypte en EAS la chaîne "Bonjour tout le monde, comment ca va ? Bien ou mal ?", lorsque je la décrypte via OpenSSL (via la librairie et non pas via l'exécutable) avec la fonction AES_decrypt je ne décrypte que les 16 premiers octets.
    Encodage en php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        $aes = new Crypt_AES(CRYPT_AES_MODE_CBC);
        $aes->setKeyLength(128);
        $aes->setKey(base64_decode('ma clef encodé en base 64'));
        $ciphertext = "Bonjour tout le monde, comment ca va ? Bien ou mal ?";
        $ciphertext = $aes->encrypt($ciphertext);
    Si je décrypte en PHP, ça fonctionne nickel mais le décodage via OpenSSL ne fonctionne pas (ou juste les premiers 16 octets) !
    Vous avez une idée ?

    EDIT : J'ai utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    unsigned char iv[]   = "6633860943112201";
    AES_cbc_encrypt((const unsigned char *) wxmemDestinationBuffer.GetData(),
                        (unsigned char *)pszOutBuffer,
                        stLenDecrypted,
                        &key,
                        iv,
                        AES_DECRYPT);
    Je ne sais pas à quoi sert iv mais ça me décode un partie plus grande de la chaine, ça me donne "tY]YWCB\031@\\DE\022^U021monde, comment ça va ? Bien ou m"
    Je pense que c'est cette méthode qui doit être utilisée (?).

  19. #19
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    Lorsque tu utilises du CBC, tu utilises toujours le bloc précédent pour chiffrer la suite du message. Pour le premier bloc tu n'as pas de données précédente alors tu utilises un I.V.

  20. #20
    Membre habitué

    Inscrit en
    Février 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Février 2007
    Messages : 250
    Points : 162
    Points
    162
    Par défaut
    Ok, il faut donc que je récupère (ou que j'initialise) cet IV au niveau du PHP pour savoir quel IV utiliser pour le premier bloc côté décodage OpenSSL.
    C'est ça ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [C#] Cryptographie par clefs privée/publique
    Par dev01 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 22/08/2011, 21h44
  2. Utilisation de deux bibliothèques différentes pour le cryptage RSA --> impossible ?
    Par Djobird dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 26/01/2011, 17h25
  3. Connexion SSH avec clefs privée/publique
    Par NikoBe dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 12/06/2007, 20h50
  4. [VB.NET2.0] cryptage RSA avec clef privée
    Par AP dans le forum Framework .NET
    Réponses: 4
    Dernier message: 17/04/2007, 15h35
  5. cryptage clef privee / clef publique
    Par maminova77 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 07/03/2006, 08h34

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