Author: Wan Khudri and Sutanto
ElGamal Elliptic Curve Cryptography(ECC) is a public key cryptography analogue of the ElGamal encryption schemes which is used Elliptic Curve Discrete Logarithm Problem (ECDLP). The software which is used to implement ElGamal ECC is MATLAB. This implementation consist of 3 main programmes, they are Key Generation, Encryption and Decryption ElGamal ECC. To reach the goal of the implementation, some functions which are able to construct the 3 main programmes are needed. Some functions are available in MATLAB and 31 functions are made by the writer himself. Those functions are classified into 3 categories, they are modular arithmetic function (7 functions), elliptic curve arithmetic function (5 functions) and ElGamal ECC function (19 functions).
The modular artihmetic function is used in addition operation, representation of NAF (Non Adjacent Form), multiplication operation, invers, division, power, and square root in modular arithmetic operation.
The elliptic curve arithmetic function is used in addition operation, elliptic curve equation, invers under addition, subtraction, and elliptic curve scalar multiplication.
The ElGamal function is used in biner-decimal conversion, decimal-biner conversion in ‘n’ bit format, to find lower and upper bound of key length, to generate prime number, to generate coefficient of elliptic curve equation, to find the order of the elliptic group, to generate one elliptic curve point, to calculate the order of point, to generate base point and its order, elliptic curve domain pa rameters, to generate private key and public key, to represent plaintext into number, number into point, point into number, number into plaintext, encryption of ElGamal ECC for one point, and decryption of ElGamal ECC for one chipertext of point.
Key Words: ElGamal, elliptic curve, cryptography, field, public key