I. INTRODUCTION
To date, the durability of modern asymmetric algorithms (data encryption and digital signature) is characterized by their properties to withstand all kinds of attacks and the laboriousness of the best known hacking algorithm [1-9].
The standards of asymmetric data encryption algorithms used in practice are based on the problems of factorizing a composite number and discrete logarithm in a finite group of large prime order.
The main problems in this class of cryptographic transformations are the low speed of such transformations, a significant increase in the size of the cryptogram compared to the size of the original message, and also the decreasing strength due to the development of mathematical methods and cryptanalysis tools.
In recent years, elliptic cryptography has been intensively developed, discovered independently by N. Koblitz and V. Miller in 1985, in which the role of a one-sided function is played by scalar multiplication of a point by a constant, implemented on the basis of operations of addition and doubling of points of elliptic curves (EC) in finite fields of various characteristics [14-15].
In [11], a status of the directional encryption was considered, possibilities of implementing directional encryption in groups of points on the EC were substantiated, in [12], a method of commutative encryption was proposed using computations on the EC, which ensures the exponential strength of the commutative encryption algorithm and its performance increase compared to other algorithms [13].
For cryptosystems (symmetric and asymmetric), there exist Chosen-plaintext attack (CPA), Chosen-cipher text attack (CCA), and adaptive chosen plaintext attack (CCA-2). The CPA and CCA attacks were originally intended for active cryptanalysis of secret key cryptosystems.
The purpose of this cryptanalysis is to break the cryptosystem using open and encrypted messages received during the attack . They were then adapted for cryptanalysis of public key cryptosystems.
Analysis shows that public key cryptosystems are especially vulnerable to CCA and CCA-2 [17]. Therefore, to prevent such attacks, in practice, optimal asymmetric algorithms are used, for example RSA-OAEP [16] and etc.
The purpose of this work is to propose an optimal asymmetric data encryption algorithm for EC using the method of encoding messages with EC points.
In the EC encryption algorithm considered below, - bit data block of the message m is encoded by the EC point M, which is then transformed with a secret key. As a result, the cryptogram represents some point C.
The decryption procedure involves performing inverse transformations over point C, after which point M is restored and decryption is performed, leading to the receipt of message m.
II. MAINPART
Let a prime number be given p>3. Then an elliptic curve E defined over a finite prime field Fp is the set of pairs of numbers , , satisfying the identity
where and is not comparable to zero mod p.
An invariant of an elliptic curve is a magnitude J (E) that satisfies the identity
The coefficients a, b of the elliptic curve E, according to the known invariant are determined as follows
Pairs that satisfy identity (1) are called points of the elliptic curve E; x and y are the x- and y-coordinates of the point, respectively.
The points of the elliptic curve will be denoted by or G. Two points of an elliptic curve are equal if their corresponding x- and y-coordinates are equal.
On the set of all points of the elliptic curve E we introduce the addition operation, which we will denote by the "+" sign. For two arbitrary points and of the elliptic curve E, we consider several options.
Let the coordinates of the points and satisfy the condition . In this case, their sum will be called the point , the coordinates of which are determined by t he following formula
If the equalities , then we define the coordinates of the point , as follows
Where,
In the case when the condition and (mod p) is satisfied sum of the points and will be called the zero point 0, without determining its x- and y-coordinates. In this case, the point is called the negation of the point . For the zero point 0, the equalities hold.
Where G is an arbitrary point of the elliptic curve E.
On the set of all points of the elliptic curve E, we introduce the subtraction operation which we denote by the sign "-". By the properties of points on elliptic curves, for an arbitrary point of an elliptic curve, the following equality holds:
In accordance with equality (7), for two arbitrary points and of the elliptic curve E, the subtraction operation is defined as follows:
i.e. a subtraction operation can be converted to an addition operation.
With respect to the introduced operation of addition, the set of all points of the elliptic curve E, together with the zero point form a finite abelian (commutative) group of order w, for which the inequality [2] holds.
A point T is called a point of multiplicity k, or simply a multiple point of an elliptic curve E, if for some point N the equality
III. ASYMMETRIC ENCRYPTION ALGORITHM PARAMETERS
The parameters of the asymmetric data encryption algorithm are:
Prime number p is the modulus of an elliptic curve satisfying the inequality . The upper bound of this number should be determined with a specific implementation of the asymmetric algorithm;
Elliptic curve defined by its invariant or coefficientsa, ;
3. Integer w is the order of group points of the elliptic curve E
- Prime number n is the order of the cyclic subgroup of group points of the elliptic curve E, for which the following conditions are satisfied:
- point G≠0 of the elliptic curve E, with coordinates , satisfying the equality[n]G=0.
The above parameters of the asymmetric encryption algorithm are subject to the following requirements:
The condition must be fulfilled, for all integers i = 1, 2..., B, where B satisfies the inequality ;
The inequality must be satisfied .
Each user of the asymmetric encryption algorithm must have private keys:
The private key of the asymmetric algorithm d is an integer satisfying the inequality 0<d<n;
The public key of the asymmetric algorithm is a point of an elliptic curve with coordinates satisfying the equality .
An asymmetric encryption algorithm based on elliptic curves includes the following processes: expressing a message with elliptic curve points, encrypting a message, decrypting a message, expressing elliptic curve points as a message.
To implement these processes, each user must know the parameters of the asymmetric encryption algorithm. Also, each user must have d private and Q (x, y) public keys of the encryption algorithm.
Below processes of expressing a message with elliptic curve points, encrypting, decrypting and expressing elliptic curve points as a message are given.
a) Algorithm for expressing a message by points of an elliptic curve [12]
Specified S - the message for the next sequence is represented by an elliptic curve point.
Assign value of the counter i = 0, calculate the value and compare and S as -bit binary numbers (div-operation of taking quotient). If , then go to step 6.
If , then form a 16-bit string r, the binary value of which is i. Otherwise, display the message "The point of the elliptic curve does not exist".
Assign r || s to the variable x, where the sign "||" denotes a concatenation operation and calculate the value
Calculate the Legendre symbol . If , then increase the counter and gotostep 2.
Calculate two root values where , assign the larger value of to y and go to step 10.
If , then form a 15-bit string r, the binary value of which is equal toi. Otherwise, display the message
"No elliptic curve point exists".
- Assign the value S || r to the variable x and calculate the value
Calculate the Legendre symbol . If , then increase the counter and go to step6.
Calculate two root values where , assign the larger value of toy.
Output a pair of values as coordinates of the point M of the elliptic curve for the given message S.
b) An algorithm for expressing the points of an elliptic curve in the form of a message [12]
Let, M(x, y) be a point of an elliptic curve. Then the sequence of transition of a given point to S - the message goes as follows.
Calculate the value .
Calculate two root values , where
If then, . Otherwise, calculate and announced by the corresponding message of the point .
c) Encryption process Given M message by conditions divided into blocks , length bits, where – natural numbers, - a character that determines the length of a given prime number p, each - blocks, separately encrypted according to the sequence below.
Generate a random integer k satisfying the inequality 0<k<n, calculate and R=[k]Qelliptic curve points.
Randomly generate I - message of length bits.
Calculate , where Hesh1 - hash function [10] of length bits.
Calculate , where Hesh2 - hash function [10] of length bits.
5. Perform the operation
It is checked whether the message S is an elliptic curve point. If the message is not an elliptic curve point,
Using the x - coordinate of the point M (x, y), calculate the value
Calculate
If then, go to step 12.
Assign3 to the variable q and calculate , , and go to step 12 (where bits).
Assign 1 to the variable and calculate , and go to step 13.
Assign 0 to the variable and calculate .
–declare as blocks of ciphertext.
d) Decryption of cipher texts blocks
The sequence of decrypting the ciphertext ( ) into the plaintext is as follows.
1. Calculate
- If q=0, then calculate and go to step 10.
3. Calculate
- Calculate
- Calculate and go to step 7.
7. Calculate .
8. Calculate
M (x, y) is expressed as message S.
Set the initial bit of message S to , the last bit to . i.e. .
Calculate .
Calculate .
If the last bit of the Sm message ends with zero values, then the message is genuine and the start bit is declared as a plaintext block . Otherwise, the message is not genuine.
e) Correctness of the proposed algorithm
case, :
case, :
Below a comparison of the software results of the proposed optimal encryption algorithm (EA), elliptic curve (EC)encryption algorithm (EA) is given, RSA and RSA-OAEP (Table1 and 2)
| Encryption algorithm (EA) | Encryption algorithm (EA)based on elliptic curve (EC)* | AlgorithmRSA | ||
| Open message length (bytes) | 151928 | 1 671 208 | 151928 | 1 671 208 |
| Change in ciphertext volume (%) | 21,65% | 21,65% | 3,21% | 3,21% |
| Time spent on encryption process (seconds) | 16,91 | 184,876 | 29,936 | 332,297 |
| Time spent on decryption process (seconds) | 16,926 | 182,49 | 56,41 | 621,086 |
| Encryption algorithm (EA) | Optimal EA based on EC | RSA-OAE Palgorithm | ||
| Open message length (bytes) | 151928 | 1 671 208 | 151928 | 1 671 208 |
| Change in ciphertext volume (%) | 199% | 199% | 154% | 154% |
| Time spent on encryption process (seconds) | 41,06 | 451,433 | 76,814 | 848,243 |
| Time spent on decryption process (seconds) | 41,356 | 451,83 | 140,135 | 1558,147 |
IV. CONCLUSIONS
Analysis of the software results shows the following:
EA on EC increases the size of the cryptogram by 18.44% more than the RSA algorithm, and 2.2 times faster in speed.
The optimal EA on the EC increases the volume of the cryptogram by 45% more than the RSA-OAEP algorithm, and 2.4 times faster in speed.
These results were obtained using a computer with the following configuration: 64-bit Intel (R) Core (TM) 2 Quad CPU Q8400 2.67 GHz, 4 GB RAM.