OVH Cloud OVH Cloud

[débutant] cryptage asymetrique

2 réponses
Avatar
Fred
Bonjour à tous,

J'ai réalisé un programme client-serveur tcp-ip en java. Ensuite j'ai
sécurisé le transfert du mot de passe client par le reseau. Ce qui donne
donc : le client construit une signature avec son mot de passe et la clé
publique du serveur et lui envoie. J'utilise l'algorithme RSA.

Maintenant j'aimerais envoyer au serveur, avec le mot de passe, un clé
symetrique(DES) pour la session qui sera chiffrée toujours à l'aide de
la clé publique du serveur. Le probleme c'est que quand je veux chiffrer
ma clé symétrique j'ai une exception qui me dit que les données ne
peuvent pas être plus longue que 117 bytes. De fait la clé DES en fait
263. Bon pour résoudre ce probleme j'ai tout simplement divisé la clé
pour chiffrer des morceaux de 117 bytes.

Bon ca marche, mais je reste septique sur ma facon de proceder avec le
decoupage de la clé en plusieur morceaux.

J'aimerais que l'on me dise :

- continue à chercher ! (Aaarg non svp ;))
- C'est normal
- C'est normal mais pour passer la clé on fait comme ca ...
- ...

Merci, Fred.

2 réponses

Avatar
Sylvain
Bonjour à tous,


Bonjour,

J'ai réalisé un programme client-serveur tcp-ip en java. Ensuite j'ai
sécurisé le transfert du mot de passe client par le reseau. Ce qui donne
donc : le client construit une signature avec son mot de passe et la clé
publique du serveur et lui envoie. J'utilise l'algorithme RSA.


la clé publique du serveur est pré-approuvé ? pré-installé ? ou
n'importe qui peut envoyer sa clé en disant "si, si, je suis un serveur.."

Maintenant j'aimerais envoyer au serveur, avec le mot de passe, un clé
symetrique(DES) pour la session qui sera chiffrée toujours à l'aide de
la clé publique du serveur. Le probleme c'est que quand je veux chiffrer
ma clé symétrique j'ai une exception qui me dit que les données ne
peuvent pas être plus longue que 117 bytes.


donc clé 1024 bits et mécanisme RSA_PKCS#1 type 2 qui impose 8 octets de
random + 3 bytes de format

De fait la clé DES en fait 263.


euh, non, un clé DES fait 8 octets, une double 16 et une triple 24
263 est peut être la taille de l'enveloppe de cette clé mais cela parait
démesuré; vous stockez la clé DES dans un EncryptedContentInfo ?

Bon pour résoudre ce probleme j'ai tout simplement divisé la clé
pour chiffrer des morceaux de 117 bytes.

ce n'est (surement) pas la bonne méthode.


Sylvain.

Avatar
Fred

Bonjour à tous,



Bonjour,


Salut Sylvain, merci pour cet éclairage.

J'ai réalisé un programme client-serveur tcp-ip en java. Ensuite j'ai
sécurisé le transfert du mot de passe client par le reseau. Ce qui
donne donc : le client construit une signature avec son mot de passe
et la clé publique du serveur et lui envoie. J'utilise l'algorithme RSA.



la clé publique du serveur est pré-approuvé ? pré-installé ? ou
n'importe qui peut envoyer sa clé en disant "si, si, je suis un serveur.."

Pour l'instant je ne suis qu'en test sans projet concret. Sinon je

pensais à un certificat duement approuvé par un organisme compétent et
fournir la clé publique du serveur d'une quelconque facon.

Maintenant j'aimerais envoyer au serveur, avec le mot de passe, un clé
symetrique(DES) pour la session qui sera chiffrée toujours à l'aide de
la clé publique du serveur. Le probleme c'est que quand je veux
chiffrer ma clé symétrique j'ai une exception qui me dit que les
données ne peuvent pas être plus longue que 117 bytes.



donc clé 1024 bits et mécanisme RSA_PKCS#1 type 2 qui impose 8 octets de
random + 3 bytes de format

De fait la clé DES en fait 263.



euh, non, un clé DES fait 8 octets, une double 16 et une triple 24
263 est peut être la taille de l'enveloppe de cette clé mais cela parait
démesuré; vous stockez la clé DES dans un EncryptedContentInfo ?

De fait comme un gros imbécile j'essayais de chiffrer l'objet SecretKey

:( . J'ai pas encore corrigé mais bon je crois pouvoir dire que ca ne
posera pas trop de problemes.

Bon pour résoudre ce probleme j'ai tout simplement divisé la clé pour
chiffrer des morceaux de 117 bytes.

ce n'est (surement) pas la bonne méthode.


C'est clair :)


Sylvain.


Fred.