Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

C/Unix et chiffrement de fichiers

10 réponses
Avatar
JKB
Bonjour à tous,

Je suis en train de patauger lamentablement dans e chiffrement de
fichiers. Je maîtrise à peu près openssl, mais j'ai un peu de mal à
voir comment chiffrer un fichier en C puis le déchiffrer avec des
clefs asymétriques. Existe-til un howto quelque part ? Man 3ssl
ssl n'est vraiment pas très bavard...

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

10 réponses

Avatar
JKB
Le 16-05-2008, à propos de
Re: C/Unix et chiffrement de fichiers,
Xavier écrivait dans fr.comp.securite :
JKB wrote:

mais j'ai un peu de mal à
voir comment chiffrer un fichier en C puis le déchiffrer avec des
clefs asymétriques


N'esiste pas des classes d'i/o chiffré en CC++ toutes faites ?
Certainement que si, et tu dois pouvoir t'en inspirer à défaut de les
utiliser


Justement, j'ai déjà cherché et rien trouvé de franchement
probant...

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


Avatar
Nicolas George
JKB wrote in message :
Je suis en train de patauger lamentablement dans e chiffrement de
fichiers. Je maîtrise à peu près openssl, mais j'ai un peu de mal à
voir comment chiffrer un fichier en C puis le déchiffrer avec des
clefs asymétriques. Existe-til un howto quelque part ? Man 3ssl
ssl n'est vraiment pas très bavard...


Tu cherches quel genre de stockage ? Un format standard qui puisse être
décodé avec des outils tiers, ou bien un chiffrement maison pour des
fichiers ou des bouts de fichiers ?

Avatar
JKB
Le 16-05-2008, à propos de
Re: C/Unix et chiffrement de fichiers,
Nicolas George écrivait dans fr.comp.securite :
JKB wrote in message :
Je suis en train de patauger lamentablement dans e chiffrement de
fichiers. Je maîtrise à peu près openssl, mais j'ai un peu de mal à
voir comment chiffrer un fichier en C puis le déchiffrer avec des
clefs asymétriques. Existe-til un howto quelque part ? Man 3ssl
ssl n'est vraiment pas très bavard...


Tu cherches quel genre de stockage ? Un format standard qui puisse être
décodé avec des outils tiers, ou bien un chiffrement maison pour des
fichiers ou des bouts de fichiers ?


Un chiffrement maison pour la licence d'un module logiciel. L'idée
est de chiffrer un fichier de licence avec une clef privée et
d'embarquer la clef publique dans le module.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


Avatar
Nicolas George
JKB wrote in message :
Un chiffrement maison pour la licence d'un module logiciel. L'idée
est de chiffrer un fichier de licence avec une clef privée et
d'embarquer la clef publique dans le module.


Dans ce sens-là, on parle de signature, pas de chiffrement. Regarde le man
de RSA_verify, ça devrait te donner un point de départ.

Avatar
JKB
Le 16-05-2008, à propos de
Re: C/Unix et chiffrement de fichiers,
Nicolas George écrivait dans fr.comp.securite :
JKB wrote in message :
Un chiffrement maison pour la licence d'un module logiciel. L'idée
est de chiffrer un fichier de licence avec une clef privée et
d'embarquer la clef publique dans le module.


Dans ce sens-là, on parle de signature, pas de chiffrement. Regarde le man
de RSA_verify, ça devrait te donner un point de départ.


RSA_verify et RSA_sign ne me semblent pas faire l'affaire. Si j'ai
bien compris, RSA_verify permet de vérifier qu'un message en clair
correspond bien à la signature. J'ai envie d'avoir un contenu
chiffré. J'ai donc l'impression qu'il va me falloir utiliser
RSA_private_encrypt et RSA_public_decrypt.

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


Avatar
JKB
Le 16-05-2008, à propos de
Re: C/Unix et chiffrement de fichiers,
Nicolas George écrivait dans fr.comp.securite :
JKB wrote in message :
Un chiffrement maison pour la licence d'un module logiciel. L'idée
est de chiffrer un fichier de licence avec une clef privée et
d'embarquer la clef publique dans le module.


Dans ce sens-là, on parle de signature, pas de chiffrement. Regarde le man
de RSA_verify, ça devrait te donner un point de départ.


Bon, je viens de regarder tout cela. Par contre, il me manque une
fonction : si je crée une paire de clefs avec la fonction
RSA_generate_key(), je peux utiliser la clef privée pour encoder un
message et il me faut la clef piblique côté récepteur pour décoder.
Jusque là, je ne pense pas dire de grosse bêtise. Il me faut donc
pouvoir couper cette structure RSA en deux. Comment faire ? Je n'ai
pas l'impression qu'il existe une telle fonction de disponible (en
tout cas, je n'ai pas trouvé dans mes pages man...).

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


Avatar
Dominique ROUSSEAU
Le sam, 17 mai 2008 at 12:34 GMT, JKB a écrit :
Bon, je viens de regarder tout cela. Par contre, il me manque une
fonction : si je crée une paire de clefs avec la fonction
RSA_generate_key(), je peux utiliser la clef privée pour encoder un
message et il me faut la clef piblique côté récepteur pour décoder.
Jusque là, je ne pense pas dire de grosse bêtise. Il me faut donc
pouvoir couper cette structure RSA en deux. Comment faire ? Je n'ai
pas l'impression qu'il existe une telle fonction de disponible (en
tout cas, je n'ai pas trouvé dans mes pages man...).


http://www.openssl.org/docs/crypto/rsa.html

La struct RSA retournées contient les composante publiques et privées.
En tout cas, pour ce que j'en comprends.
(je n'ai jamais utilisé ces fonctions :-)

Avatar
JKB
Le 17-05-2008, à propos de
Re: C/Unix et chiffrement de fichiers,
Dominique ROUSSEAU écrivait dans fr.comp.securite :
Le sam, 17 mai 2008 at 12:34 GMT, JKB a écrit :
Bon, je viens de regarder tout cela. Par contre, il me manque une
fonction : si je crée une paire de clefs avec la fonction
RSA_generate_key(), je peux utiliser la clef privée pour encoder un
message et il me faut la clef piblique côté récepteur pour décoder.
Jusque là, je ne pense pas dire de grosse bêtise. Il me faut donc
pouvoir couper cette structure RSA en deux. Comment faire ? Je n'ai
pas l'impression qu'il existe une telle fonction de disponible (en
tout cas, je n'ai pas trouvé dans mes pages man...).


http://www.openssl.org/docs/crypto/rsa.html

La struct RSA retournées contient les composante publiques et privées.
En tout cas, pour ce que j'en comprends.
(je n'ai jamais utilisé ces fonctions :-)


Oui, ça, j'ai bien compris. Mais si je ne veux pas que l'utilisateur
final puisse refaire une licence valide, il ne faut lui laisser que
la clef publique, ps la clef privée. Donc il faut couper la
structure RSA en deux (on alors, j'ai raté un truc...).

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.


Avatar
Dominique ROUSSEAU
Le sam, 17 mai 2008 at 21:07 GMT, JKB a écrit :
Le 17-05-2008, à propos de
http://www.openssl.org/docs/crypto/rsa.html

La struct RSA retournées contient les composante publiques et privées.
En tout cas, pour ce que j'en comprends.
(je n'ai jamais utilisé ces fonctions :-)


Oui, ça, j'ai bien compris. Mais si je ne veux pas que l'utilisateur
final puisse refaire une licence valide, il ne faut lui laisser que
la clef publique, ps la clef privée. Donc il faut couper la
structure RSA en deux (on alors, j'ai raté un truc...).


Oui, il faut donc séparer la partie publique (membres n et e) de la
partie privée (le reste).
Il est notamment écrit : « In public keys, the private exponent and the
related secret values are NULL. »

Donc sotcker sous une forme ou une autre la partie publique, et la
partie privée. Et ne fournir que la partie publique à ceux qui n'ont
besoin que de ça.

Non ?


Avatar
JKB
Le 17-05-2008, à propos de
Re: C/Unix et chiffrement de fichiers,
Dominique ROUSSEAU écrivait dans fr.comp.securite :
Le sam, 17 mai 2008 at 21:07 GMT, JKB a écrit :
Le 17-05-2008, à propos de
http://www.openssl.org/docs/crypto/rsa.html

La struct RSA retournées contient les composante publiques et privées.
En tout cas, pour ce que j'en comprends.
(je n'ai jamais utilisé ces fonctions :-)


Oui, ça, j'ai bien compris. Mais si je ne veux pas que l'utilisateur
final puisse refaire une licence valide, il ne faut lui laisser que
la clef publique, ps la clef privée. Donc il faut couper la
structure RSA en deux (on alors, j'ai raté un truc...).


Oui, il faut donc séparer la partie publique (membres n et e) de la
partie privée (le reste).
Il est notamment écrit : « In public keys, the private exponent and the
related secret values are NULL. »

Donc sotcker sous une forme ou une autre la partie publique, et la
partie privée. Et ne fournir que la partie publique à ceux qui n'ont
besoin que de ça.


On est bien d'accord. Mon interrogation venait du fait que la
structure est définie avec des '...' et que je veux être sûr des
informations à laisser à des tiers.

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.