2010-06-22 15 views
6

Jusqu'à présent, je l'ai seulement vu utilisé dans les signatures numériques et les protocoles d'accord de clé. Peut-il être utilisé comme RSA pour crypter des données? Y a-t-il des bibliothèques pour cela?Est-il possible d'utiliser la cryptographie à courbe elliptique pour crypter des données?

Modifié:

je besoin de quelque chose comme RSA. Chiffrer les données avec la clé publique recievers afin qu'il puisse le décoder avec sa clé privée plus tard.

Je sais que ECDH peut être utilisé pour envoyer une valeur secrète à quelqu'un mais vous ne décidez pas quelles données sont envoyées. Contrairement au DH "régulier" avec ECDH, la valeur secrète qui en résulte est toujours la même car elle dépend uniquement des paires de clés. Je suppose que je pourrais utiliser cette valeur comme une clé pour un chiffrement symétrique et crypter encore une autre clé qui est choisie par moi et crypter les données avec cette clé (si je veux soutenir plusieurs récepteurs). Est-ce un bon moyen?

+0

Ceci est une requête intéressante. Quelle a été la dernière approche que vous avez adoptée pour utiliser ECC pour le transport de clés? – Raj

Répondre

4

Il peut être utilisé avec une construction de type ElGamal pour chiffrer les bits. Un exemple plus moderne de ceci est le schéma IES, ECIES dans votre cas. Bouncycastle supporte cela avec la classe IESEngine. En particulier le first constructor fait ce que vous semblez essayer de faire.

+0

Cela semble bon. Je vous remercie. – stribika

0

Comme RSA, ECC peut être utilisé pour crypter des données. En fait, ce mode est utilisé pour les protocoles de chiffrement.

Tout comme RSA, ECC est relativement lent, d'où son utilisation plus fréquente pour négocier des clés de session en utilisant ECC et basculer vers des chiffrements symétriques après avoir été choisi.

+1

Comment peut-il être utilisé comme RSA? Tous les protocoles de chiffrement dont je suis au courant utilisent l'ECC, qui est un accord de clé, alors que RSA est généralement utilisé pour le transport de clés. –

+1

Voulez-vous dire ECDH? Je ne crypte pas réellement les données. Vous ne décidez pas réellement quelles sont les données secrètes que vous envoyez. Cela dépend des deux paires de clés. J'ai besoin de quelque chose comme les emails cryptés RSA où vous choisissez une clé symétrique aléatoire et l'écrivez avec une ou plusieurs clés publiques. Je vais éditer la question pour la rendre plus claire. – stribika

2

Courbe elliptique Le schéma de chiffrement Elgamal sera utile. Il utilise une clé publique pour chiffrer et une clé privée correspondante pour déchiffrer le texte chiffré.