Menezes Vanstone Elliptic Curve Full
Menezes Vanstone Elliptic Curve Full
Menezes Vanstone Elliptic Curve Full
Abstract-This paper proposes a new approach to encrypt This paper gives a brief review of the ECC algorithm's
data (message) with new modified version of Menezes Vanstone cryptosystem and Menezes Vanstone elliptic curve
cryptosystem based on elliptic curve. This new version basically cryptosystem, it also describes how to encrypt message using
utilizes the original Menezes Vanstone cryptosystem but we hexadecimal values of characters. Second section gives
added additional features to cryptosystem's encryption method. information about ECC algorithm. In the third section is
According to our encryption method, firstly the message is
mentioned about Menezes Vanstone ECC algorithm and this
divided into blocks that contain only one character, and then
cryptosystem. The fourth section examines modified
each character is converted to hexadecimal format. Hexadecimal
cryptosystem and its implementation in C++. Finally
values of each character have two digits. These two digits allow
conclusion is given the fifth section.
us to express the message as a point. Thus knowledge of each
character's point does not have to be sent to recipient. The paper
explains in detail its implementation in C++. II. BRIEF REVIEW ON THE ECC ALGORITHM
(c), Cl ) = a . Yo
-1 -l
x = (y 1 . Cl mod p, Yl . mod p)
Cl
III. MENEZES VANSTONE CRYPTOSYSTEM
The point (Yl . -1 . 1
CI mod p, Yl cz- mod p) represents the
In our study, we used Menezes Vanstone elliptic curve plaintext x.
cryptosystem that is a variant of EIGamal's [5] encryption
system. These systems basically use elliptic curves. However,
IV. THE M ODIFIED CRYPTOSYSTEM
there is one main difference between these two cryptosystem.
This difference is that, in Menezes Vanstone cryptosystem, the In the modified cryptosystem can encrypt not only point but
message to be encrypted is masked instead of embed over E also message according to request of sender. If sender wants to
elliptic curve. This situation indicates that the message must be encrypt the message, the plaintext dimension d is calculated
expression as a point on E elliptic curve when EIGamal's than divided into blocks as the size of plaintext and each block
cryptosystem is used but this is a limiting factor. The message is encrypted by an identical key set K' = {(E', a', a', P'): P' = a' .
is independent from the points on elliptic curve which is a'} that has exactly the same characteristic of the original
Menezes Vanstone ECC cryptosystem. Every block has only
important in terms of security because person who is trying to
one character. After that this character's equivalent of
obtain secret message can guess this situation. In Reference [6]
hexadecimal (base-16) number system is calculated. Every
the authors describe Menezes Vanstone cryptosystem is fast
character's equivalent of hexadecimal value is given in Fig. l.
and simple. Therefore we choose to use Menezes Vanstone
cryptosystem. (')(') nul (')1 soh (')2 stx (')3 etx (')Ii eot (')5 enq (')6 aek (')7 bel
Encryption and decryption methods are for Menezes (')8 bs (')9 ht (,)A nl (')8 vt (,)C np (')0 er (,)E so (,)F Sl
Vanstone elliptic curve cryptosystem as:
1(') d I e 11 del 12 de2 13 de3 111 deli 15 nak 16 syn 17 etb
E is an elliptic curve defined on Zp , P > 3, p is a prime
number or for n > 1 is defined on finite field GF (pTI). E also 18 can 19 em lA sub 18 esc lC fs 10 9s lE rs 1F us
contains a cyclic group H in which the discrete log problem is "
2(') sp 21 ! 22 23 II 21i $ 25 % 26 & 27
impossible.
28 ( 29 ) 2A " 28 + 2C 20 - 2E 2F /
P = Zp* x Zp* and C = E x Zp* x Zp* and define key set K =
{(E, a, a, �): � = a . a} where a I E, the values a and � are 3(') (') 31 1 32 2 33 3 31i Ii 35 5 36 6 37 7
public and, a is secret. k is randomly selected integer, k � ZIHI
38 8 39 9 3A : 38 ; 3C < 30 =
3E > 3F ?
and x L Zp* x Zp*.
Ii(') @ lil A 1i2 8 1i3 C IiIi 0 1i5 E 1i6 F 1i7 G
The process of encryption and decryption has two entities
sender (A) and recipient (B). Both the entities agree upon a, b, 1i8 H 1i9 I IiA J 1i8 K IiC L 1i0 M liE N IiF 0
p, a, n which are called domain parameters.
5(') P 51 a 52 R 53 S 51i T 55 U 56 U 57 W
A. Key Generation 58 X 59 Y 5A Z 58 [ 5C \ 50 I 5E
�
5F -
Recipient B selects a random number a L [1, n-l] and it is ,
6(') 61 a 62 b 63 e 61i d 65 e 66 f 67 9
private key, a is the generator point and n is the order of a,
computes � public key as follows: 68 h 69 i 6A j 68 k 6C I 60 m 6E n 6F 0
�= a· a 7(') P 71 q 72 r 73 s 7Ii t 75 u 76 v 77 w
-
78 x 79 Y 7A z 78 { 7C I 70 } 7E 7F del
B. Encryption
Sender A gets 8's public key �, selects a random number k Fig. I. Hexadecimal values of each character
�[1, n-l], selects the message (plaintext) x = (x], Xl) that
wants to encrypt it then computes: According to Fig. 1, that can be easily shown, each
character's hexadecimal value, is located to the left of
0.4 5
f------'-'---'
0.4
0.35
� 0.3
I 0.25
E
i= 0.2
015
0.1
0.05
Fig.3. Flowchart of encryption and decryption
REFERENCES