Skip to content

Latest commit

 

History

History
15 lines (10 loc) · 1.02 KB

README.md

File metadata and controls

15 lines (10 loc) · 1.02 KB

elgamal

This is an example showing an ecryption scheme for plaintext strings over the JubJub elliptic curve group implemented here. It accomplishes this by taking a max 256-bit, utf-8 encoded string, and uses a probabilistic mapping to determine a possible x coordinate on the curve. When one is found, this point represents the message and is used to compute the part of the cypher that contains the shared secret generated by Bob in the scheme.

For more information on the mapping:

Fouque, PA., Joux, A., Tibouchi, M. (2013). Injective Encodings to Elliptic Curves. In: Boyd, C., Simpson, L. (eds) Information Security and Privacy. ACISP 2013. Lecture Notes in Computer Science, vol 7959. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39059-3_14

Features

  • Generate private/public keys to encrypt and decrypt arbitrary messages
  • Encrypt symmetric keys by using hashed elgamal
  • Signature support w/ sha256