générer une clef de session pour AES 128

Ici, on discute de l'anonymat et de la préservation des données personnelles sur le net. Il est également question de crypographie puisque ce domaine est étroitement liée au sujet.

Modérateur: modos Ixus

générer une clef de session pour AES 128

Messagepar ikuzar » 20 Avr 2011 18:54

Bonjour,
J'ai un mini programme client/serveur qui s'authentifie et s'échange des données sécurisées.
Je code en C et j'utilise OpenSSL.
Les deux parties utilisent Diffie Hellman pour se partager la clef de session.
J'utilise la fonction DH_compute_key( ) pour calculer la clef de session (g^x)^y de chaque coté, une fois que chaque partie obtient la clef publique g^x ou g^y.
Ma fonction DH_compute_key( unsigned char *key, BIGNUM *pub_key, DH *dh) doit génerer une clef de session de 128 bits que je compte utiliser par la suite dans le chiffrement des données échangées avec AES 128 CM.
Mon problème: comment générer exactement une clef de 128 bits à partir des paramètre diffie Hellman ?
la doc http://www.openssl.org/docs/crypto/DH_generate_key.html dit que key doit pointer sur une mémoire de taille DH_size(dh) qui sera la taille de la clef de session.
Pour info, avec un g=2, p=1024 j'obtiens DH_size(dh) = 128 octets
g=2, p=3200 j'obtiens DH_size(dh= = 400 octets.
il faut quel p et quel g pour obtenir un DH_size(dh) de 16 ocets = 128 bits ? Est ce que c'est bien comme cela qu'il faut procéder ou c'"est une démarche complètement fausse ?
Est ce que quelqu'n aurait une doc qui explique comment procéder pour obtenir la clef de session avec une taille voulue ( 128, 192, 256 )?
Merci d'avance pour votre aide.
ikuzar
Matelot
Matelot
 
Messages: 8
Inscrit le: 18 Oct 2010 16:27

Retour vers Confidentialité et Cryptographie

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité