/ElgamalEncryption-using-ECC

Elgamal Encryption using Elliptic Curve Cryptography in Python 2.7

Primary LanguagePythonMIT LicenseMIT

Pure-Python ElgamalECC

This is an easy-to-use API implementation of Elgamal Encryption using Elliptic Curve Cryptography, implemented purely in Python.Using this one can easily generate key-pairs and use them for Encryption and Decryption in their applications. The code is easily readable and does not require any other library. Can be used in Python 2.x and Python 3.x both [Note: The Input() function need to be changed only].

Parameters

The elliptic curve domain parameters used are over Fp associated with a Koblitz curve secp256k1.

y^2 = x^3 + 7

Encoding/Decoding

The Hashing used for representing the characters of the message on the field as points is somewhat related to Koblitz Encoding Method[not exactly]. Each character is represented by its ascii value.

However, this hashing method seems to be unsecure(If someone wants to contribute this section of the API, he/she is most welcome).