1

Je travaille sur un projet afin d'apprendre l'algorithme de cryptage ECC & Je l'implémente dans OCaml. Existe-t-il une méthode d'algorithme de chiffrement asymétrique (similaire à Elgamal et RSA) utilisant l'ECC au lieu de l'accord de clé symétrique (par exemple via ECC Diffie-Hellman)? Une méthode triviale serait bien pour nos fins.Méthode simple de cryptographie à courbe elliptique

+0

... qu'en est-il d'Elgamal? – deviantfan

+3

Vous pouvez construire de manière triviale un chiffrement asymétrique au-dessus de l'échange de clés DH en générant une clé d'expéditeur éphémère et en utilisant la clé partagée à chiffrer. ECIES est un choix standard (vous pouvez simplifier la dérivation de clé si vous le souhaitez). Je n'utiliserais pas ElGamal, sauf si vous avez besoin de ses propriétés homomorphes. – CodesInChaos

+1

Eh bien, vous pourriez en effet inclure ElGamal pour l'exhaustivité, si c'est pour une bibliothèque, mais je tiens compte de l'avertissement de CodesInChaos. En plus de ça, qu'est ce que EC sans DH? –

Répondre

0

Oui. Il y a Elliptic Curve Elgamal, par exemple, et plusieurs autres cryptosystèmes asymétriques utilisant des courbes elliptiques. Elgamal et Diffie-Hellman sont tous deux basés sur le "problème du logarithme discret": étant donné des entiers {1, 2, ..., p-1}, un générateur g, il est facile de calculer g^k. Cependant, étant donné un élément x dans {1,2, ..., p-1}, il est (supposément) difficile de trouver k tel que g^k = x. Pour les courbes elliptiques, nous avons quelque chose de similaire: étant donné une courbe elliptique, et un point générateur P, il est facile de multiplier un point par un entier k. Mais nous croyons que, étant donné un point Q, il est difficile de trouver k tel que Q = kP.

Cette question a été posée dans crypto.stackexchange.

Il existe également une description intéressante de la cryptographie à courbe elliptique (y compris ECElgamal) by Martin Leslie of U. of Arizona.

Certains commentaires, dans le cas où vous allez mettre en œuvre Elgamal:

  • Elgamal est homomorphic, comme quelqu'un a déjà été mentionné dans les commentaires. Si vous ne voulez pas la propriété homomorphique, utilisez une technique d'aveuglement.
  • Elgamal rendra le texte crypté plus grand que le texte brut.
  • "Implémentation de manuels" de méthodes cryptographiques sont généralement viciées. Voir le livre par Wenbo Mao, Modern Cryptography: Theory and Practice.