Skip to content

Rust implementation of Elgamal encryption using JubJub elliptic curve

License

Notifications You must be signed in to change notification settings

corydickson/elgamal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Rust implementation of Elgamal encryption using JubJub elliptic curve

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages