Next Article in Journal
Progress in the Prediction of Entropy Generation in Turbulent Reacting Flows Using Large Eddy Simulation
Next Article in Special Issue
Extreme Value Laws for Superstatistics
Previous Article in Journal
Entropy of Closure Operators and Network Coding Solvability
Previous Article in Special Issue
Measures of Causality in Complex Datasets with Application to Financial Data
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Nonlinearities in Elliptic Curve Authentication

by
Ramzi Alsaedi
1,
Nicolae Constantinescu
2 and
Vicenţiu Rādulescu
1,3,*
1
Department of Mathematics, Faculty of Science, King Abdulaziz University, Jeddah Campus, P.O. Box 80203, Jeddah 21589, Saudi Arabia
2
Department of Informatics, University of Craiova, Street A.I Cuza 13, 200585 Craiova, Romania
3
Institute of Mathematics "Simion Stoilow" of the Romanian Academy, P.O. Box 1-764, 014700 Bucharest, Romania
*
Author to whom correspondence should be addressed.
Entropy 2014, 16(9), 5144-5158; https://doi.org/10.3390/e16095144
Submission received: 2 September 2014 / Accepted: 19 September 2014 / Published: 25 September 2014
(This article belongs to the Collection Advances in Applied Statistical Mechanics)

Abstract

:
In order to construct the border solutions for nonsupersingular elliptic curve equations, some common used models need to be adapted from linear treated cases for use in particular nonlinear cases. There are some approaches that conclude with these solutions. Optimization in this area means finding the majority of points on the elliptic curve and minimizing the time to compute the solution in contrast with the necessary time to compute the inverse solution. We can compute the positive solution of PDE (partial differential equation) like oscillations of f(s)/s around the principal eigenvalue λ1 of −Δ in H 0 1 ( Ω ). Translating mathematics into cryptographic applications will be relevant in everyday life, wherein there are situations in which two parts that communicate need a third part to confirm this process. For example, if two persons want to agree on something they need an impartial person to confirm this agreement, like a notary. This third part does not influence in any way the communication process. It is just a witness to the agreement. We present a system where the communicating parties do not authenticate one another. Each party authenticates itself to a third part who also sends the keys for the encryption/decryption process. Another advantage of such a system is that if someone (sender) wants to transmit messages to more than one person (receivers), he needs only one authentication, unlike the classic systems where he would need to authenticate himself to each receiver. We propose an authentication method based on zero-knowledge and elliptic curves.

1. Introduction

The system we propose has three components: two parties that communicate and one party that authenticates them and provides the keys for the cryptosystem used. The most common authentication is based on passwords, which help to verify the identity of a user. This method is not secure enough because the passwords are generated from small dictionaries or they are chosen directly by the users who usually make poor selections. In addition, users frequently forget passwords. In such cases, an authentication system needs two authentication modes. The first mode is the primary one, and the second is the emergency one (it is used only when the primary is not available). The most popular emergency mode used on the Internet when a password is forgotten is the e-mail. The password or the instructions to reset it are sent by e-mail. The first password authentication protocol used on a network proven secure was presented by Halevi and Krawczyk [1]. Their protocol prevents leakage of information and the server’s private key can be verified by the user. If the server’s key cannot be verified it is recommended to use strong password authentication protocols. Such protocols were proposed by Bellovin and Merritt [2,3], Jablon [4] and Wu [5], among others.
We propose a zero-knowledge authentication using elliptic curves. A zero-knowledge proof is a proof of some statement that reveals nothing else but the veracity of the statement. In order to give a formal definition for a zero-knowledge proof, we will first define the interactive proof system.

Definition 1

An interactive proof system for a set A is a process between a verifier which executes a probabilistic polynomial-time strategy and a prover, which executes a computationally unbounded strategy satisfying:
  • Completeness: For any aA, the verifier always accepts the common input a (after interacting with the prover).
  • Soundness: For some polynomial p, for any x ∉ A and any potential strategy S, the verifier rejects the common input a with a probability of at least 1 p ( a ) (after interacting with S).
Therefore, a proof is complete if an honest verifier is always convinced of the veracity of a statement from an honest prover, and it is sound if a cheating prover can convince an honest verifier with a very small probability that a false statement is true.

Definition 2

A strategy S is zero-knowledge on the set A if for any feasible strategy B exists a feasible computation C so that the following are computationally indistinguishable:
  • the output of B after interacting with S on common input aA
  • the output of C on input aA
From this definition, any information obtained by interacting with S on some input a, can also be obtained from a without interacting with S [6]. In our method, the verifier knows the right answer before communicating with the prover. Therefore, he cannot possibly obtain any new information. This method is called “no-leak” authentication. A formal definition can be obtained from the zero-knowledge definition given above by eliminating “probabilistic polynomial time”. This means that whatever the verifier can compute after communicating with the prover, he could already compute before the communicating process. Like the verifier, a passive adversary cannot obtain new information from the prover.

2. State of Art

2.1. Mathematical Preliminaries

To understand the foundation of the cryptosystem functionality, we have to understand how the secret can be hidden and how it can be revealed ([7] and [8]). This is pure mathematics, and is based on some function operation intractability.

Definition 3

The Waierstrass mathematical model is the basement:
E : y 2 + a 1 x y + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6
where aiK and K represents the field over which the curve is defined. From this point we have the discriminant:
Δ = d 2 2 d 8 - 8 d 4 3 - 27 d 6 2 + 9 d 2 d 4 d 6
with:
d 2 = a 1 + 4 a 2 d 4 = 2 a 4 + a 1 a 3 d 6 = a 3 2 + 4 a 6 d 8 = a 1 2 a 6 + 4 a 2 a 6 - a 1 a 3 a 4 + a 2 a 3 2 - a 4 2
and Δ ≠ 0.
If we have K = Fp where p > 3 is a prime, Equation (1) can be simplified to:
E : y 2 = x 3 + a x + b
and the discriminant: Δ = −16(4a3 + 27b2). In case of K = F2m we have:
E : y 2 = x 3 + a x + b
and the discriminant: Δ = b. If the curve E is defined over a prime field Fp and we have a point P(x, y) ∈ E then the inverse of it will be −P(x,−y). If we want to compute R(x3, y3) = P + Q where P(x1, y1) ∈ E and Q(x2, y2) ∈ E we have:
x 3 = λ 2 - x 1 - x 2 y 3 = λ ( x 1 - x 3 ) - y 1
where λ is given by:
λ = y 1 - y 2 x 1 - x 2
For doubling a point 2P(x3, y3) we use the formulas:
x 3 = λ 2 - 2 x 1 y 3 = λ ( x 1 - x 3 ) - y 1
where λ is given by:
λ = 3 x 1 2 + a 2 y 1
For the affine coordinates we replace x with x/z and y with y/z, where z ≠ 0 obtaining the equation:
y 2 z = x 3 + a x z 2 + b z 3
To compute P(x1, y1, z1) + Q(x2, y2, z2) = R(x3, y3, z3) we have:
  • λ 1 = x 1 z 2 2
  • λ 2 = x 2 z 1 2
  • λ3 = λ1λ2
  • λ 4 = y 1 z 2 3
  • λ 5 = y 2 z 1 3
  • λ6 = λ4λ5
  • λ7 = λ1 + λ2
  • λ8 = λ4 + λ5
  • z3 = z1z2λ3
  • x 3 = λ 6 2 - λ 7 λ 3 2
  • λ 9 = λ 7 λ 3 2 - 2 x 3
  • y 3 = ( λ 9 λ 6 - λ 8 λ 3 3 ) / 2
For doubling a point 2P(x3, y3, z3) we use:
  • λ 1 = 3 x 1 2 + a z 1 4
  • z3 = 2y1z1
  • λ 2 = 4 x 1 y 1 2
  • x 3 = λ 1 2 - 2 λ 2
  • y 3 = λ 1 ( λ 2 - x 3 ) - 8 y 1 4
If the curve E is defined over a binary field F2m for a point P(x, y) the inverse will be −P(x, x + y). Addition and doubling are defined in the same way as on the prime curves.
To obtain the projective coordinates we proceed as above. The inverse of a point P(x, y, z) is −P(x, x + y, z). To compute P + Q = R we have:
  • λ 1 = x 1 z 2 2
  • λ 2 = x 2 z 1 2
  • λ3 = λ1 + λ2
  • λ 4 = y 1 z 2 3
  • λ 5 = y 2 z 1 3
  • λ6 = λ4 + λ5
  • λ7 = z1λ3
  • λ8 = λ6x2 + λ7y2
  • z3 = z2λ7
  • λ9 = λ6 + z3
  • x 3 = a z 3 2 + λ 6 λ 9 + λ 3 2
  • y 3 = λ 9 x 3 + λ 8 λ 7 2
And for doubling a point 2P we have:
  • z 3 = x 1 z 1 2
  • x 3 = x 1 4 + b z 1 8
  • λ = z 3 + x 1 2 + y 1 z 1
  • y 3 = x 1 4 z 3 + λ x 3

2.1.1. Frontier Points on Elliptic Curves

According with [9], from all points which define an elliptic curve, only a part can be used on applications (cryptography), we can found the special points with properties in this way, called frontier points:
(1)
|E(Fp)| = c · l where l > 2160 a prime and c a positive integer. |E(Fp)| denotes the cardinal of the set of points on E over Fp.
(2)
lp.
(3)
the order of the prime p in the multiplicative group F l × of Fl is at least ⌈2000/log2 p⌉.
These three conditions provide a high level of security. There were developed as algorithms for resolving discrete logarithms with running time equal with the square root of the largest prime factor of the group order [10]. These algorithms cannot be applied to a cryprosystem, which respects the first condition. [11] describes the anomalous curve attack. This attack consists in resolving the elliptic curve discrete logarithm problem for curves with the group order equal to the order of the finite field. The method uses Hensel’s lemma and has low complexity. The second condition presented above makes this kind of attack impossible. In [12] the authors presented an attack which reduces the discrete logarithm problem in E(Fp) to one in a finite extension field Fp. The third condition depends on the assumption that the DLP in a finite field which has a cardinal 2000-bit long is intractable.
The efficiency of an elliptic curve cryptosystem is based on the arithmetic in Fp. So the efficiency is directly proportional with p. This means that |E(Fp)| must be as small as possible. From the first condition we have |E(Fp)| = c · l where l > 2160. So the efficiency depends on the co-factor c. The first condition becomes:
  • |E(Fp)| = c · l where l > 2160 a prime and c ≤ 4 a positive integer. |E(Fp)| denotes the cardinal of the set of points on E over Fp.

2.1.2. Nonliniarities on Elliptic Curves

For every elliptic curve cryptosystem we have to declare the domain parameters. We will work with a nonsupersingular elliptic curve E defined over a prime field. The domain parameters will be (F, p, aE, bE, G, n, h) where Fp is the prime field, aE, bE define the curve E: y2 = x3 + aEx + bE, GE is a point of order n (this means that n is the smallest positive number for which nG = O), h = |E(Fp)|/n is the co-factor. To meet the above conditions it is recommended for |E(Fp)| to be prime or |E(Fp)| = h · n where n is a large prime and h ∈ {1, 2, 3, 4} [13].
As is described in [14], starting from an oscillation θ(t)\t around the principal eigenvalue λ1 of −Δ in H 0 1 ( Ω ) in one dimensional case will generate infinitely many solutions if θ(t) > 0 in ℝ and
lim t i n f 2 ψ ( t ) t 2 < λ 1 < lim t + s u p 2 ψ ( t ) t 2 ,
where ψ ( t ) = 0 t θ ( ξ ) d ξ.
These conditions, as is proved in [15] can not be replaced by:
lim t + i n f θ ( t ) t < λ 1 < lim t + s u p θ ( t ) t
nor by
lim t + i n f θ ( t ) t = 0 and lim t + s u p θ ( t ) t = +
The results of these conclude in [16]
{ - Δ u = θ ( x , u ) in  Ω u = 0 on  Ω ,
where θ:Ω̄: ℝ → ℝ is a continuous function. In [14] it is stated
ψ ( x , t ) = 0 x θ ( x , ξ ) d ξ
and it is defined the functional Φ : H 0 1 ( Ω ) L ( Ω ) with Φ ( u ) = 1 2 Ω Λ u 2 d x - Ω ψ ( x , u ) d x as generator of infinitely solutions. From these, the space of chosen criteria for cryptographic points is big enough such that can be considered as space of strong points in cryptography.

2.1.3. Counting the Elliptic Curve’s Frontier Points

To know the amount of points belonging to the elliptic curve we have to compute |E(Fp)|. In 1985 [17] Schoof presented an algorithm for counting the points on an elliptic curve over a large field Fp. Schoof’s algorithm had a polynomial running time and used Hasse’s theorem on elliptic curves.

Theorem 1

Hasse’s Theorem If E is an elliptic curve over the finite field Fp then:
p + 1 - E ( F p ) 2 p
If we define t = p + 1 − |E(Fp)| we have to compute t mod N where N > 4 p. Schoof’s algorithm computes this using small primes li where Πli = N. After computing t mod li we can find t using the Chinese Remainder Theorem. Knowing t we can then compute |E(Fp)| = p+1−t. To compute t mod l Schoof used the Frobenius endomorphism φ and division polynomials.

Theorem 2

Frobenius endomorphism The Frobenius endomorphism φ satisfies the following:
φ 2 - t φ + p = 0             w h e r e             t = p + 1 + E ( F p )
According to the Theorem 2 we have the equation:
φ 2 P + p l P = t l φ P             w h e r e             P ( x , y ) E ( F p )
Here pl = p mod l and tl = t mod l. If we restrict to nontrivial l-torsion points (a tortion subgroup consists of all the elements of an abelian group that have finite order) we obtain:
( x p 2 , y p 2 ) + p ¯ ( x , y ) = t ¯ ( x p , y p )
where is an unique integer such that x = x̄ mod l. The above equation is valid because in a l-tortion subgroup the scalar multiplication has the property pG = p̄G. Starting from Equation (2) and applying division polynomials, Schoof’s algorithm computes the value of |E(Fp)|. The reader can study the algorithm and its improvements made over time in [18].
Another algorithm based on Hasse’s theorem was developed by D.Shanks [19]. The algorithm is named Baby Steps-Giant Steps and computes a number m ( p + 1 - 2 p , p + 1 + 2 p ) such that mG = O where G is a random point from the curve E: y2 = x3 + ax + b. The algorithm is described below:
(1)
Compute s p 4
(2)
Compute G, 2G. . . sG
(3)
Compute Q = (2s + 1)P and R = (p + 1)P
(4)
Compute R, R ± Q, R ± 2Q, . . . R ± tQ where t = [ 2 p 2 s + 1 ]
The first three steps are known as baby steps while computing R, R±Q. . . , R±tQ is the giant step. From Hasse’s theorem we know that R + iQ i = 0,±1,±2, . . . ,±t is equal with one from the points computed in second step. For this i we have:
R + i Q = j G             j { 0 , ± 1 , ± 2 , , ± t }
The number m will be m = p + 1 + (2s + 1)ij which represents the cardinal of the elliptic curve points set. Variations, improvements and enhancements on this algorithm can be studied in [20]. A very important zero-knowledge protocol, which represents the basis for the most popular zero-knowledge protocols, is the Fiat-Shamir Identification Protocol. Important protocols derived from it are Feige-Fiat-Shamir [21] and Guillou-Quisquater. We chose it because it is the simplest protocol which illustrates the most important properties of the modern sophisticated schemes. This protocol is used in cryptography for authenticating a certain person. Suppose Alice has a secret Se known only by her. She will prove her identity to Bob by proving that she possesses Se, of course, without revealing the secret. Because the secret is not revealed to the verifier, no adversary can find it from the prover response. A trusted part is needed for this protocol which generates two secret prime numbers p and q, and computes the public value n = pq. The steps that follow this operation are repeated t times, each time using independent random numbers. If the verifier has repeated the steps t times then he accepts.
The algorithm is described below (see Algorithm 1) and the repeating steps begin with the fifth one. The first two steps are executed by the third trusted part, while the steps three and four are executed by the prover only one time each. The number t is chosen by the verifier, if the verifier is easy to convince, t can be smaller. A detailed explanation on this algorithm can be found in [22].
Algorithm 1. Fiat-Shamir Identification Protocol.
Algorithm 1. Fiat-Shamir Identification Protocol.
1:p and q are generated
2:n = pq is made public
3:the prover selects Se co-prime to n such that 1 ≤ Sen − 1
4:the prover computes v = Se2 mod n which is his public key
5:the prover chooses r such that 1 ≤ rn − 1
6:the prover computes x = r2 mod n and sends it to the verifier
7:the verifier chooses a bit e ∈ {0, 1} and sends it to the prover
8:if e=0 then
9: the prover computes y = r
10:else
11: the prover computes y = rs mod n
12:end if
13:the prover sends y to the verifier
14:the verifier rejects if y = 0 or y2x * ve (mod n)
For example p = 5 and q = 11 then n = 55 is made public. Suppose Alice (prover) chooses her secret Se = 14 and computes v = 142 mod 55 = 31. Bob is an easy to convince verifier and chose t = 2.
(1)
Alice chose r = 9
(2)
Alice sends x = 92 mod 55 = 26 to Bob
(3)
Bob sends e = 0 to Alice
(4)
Alice sends y = r = 9 to Bob
(5)
Bob verifies y ≠ 0 and 92 mod 55 = (26 * 310) mod 55 ⇔ 19 = 19
(6)
Alice chose r = 15
(7)
Alice sends x = 152 mod 55 = 5 to Bob
(8)
Bob sends e = 1 to Alice
(9)
Alice sends y = rs mod 55 = 45 to Bob
(10)
Bob verifies y ≠ 0 and 452 mod 55 = (5 * 311) mod 55 ⇔ 45 = 45
The completeness of this protocol is provided by the fact that the prover possessing the secret Se can also compute y = r or y = rs and send it to the verifier. Therefore, an honest verifier will always complete all t iterations and accept with the probability 1. To demonstrate the soundness we suppose the prover does not possess the secret Se. Therefore, on a given round he cannot compute y = r or y = rs. Thus, the probability of rejection will be 1 2 in each round. The zero-knowledge is provided by the fact that the only values made public in one round are x and y. A (x, y) pair can be simulated by choosing a random y and then computing x = y2 or x = y 2 v. We can observe that such pairs are computationally indistinguishable from the ones computed in the protocol.
A “no-leak” zero-knowledge authentication was presented in [23]. Alice’s (the prover) private key consists of:
(1)
a subset S0S where S is an universal set
(2)
an efficient test to verify if an element from S does not belong to S0
(3)
a method for distinguishing the subset S0 to some S 0
while the public key is the pair of sets S 0 , S1 such that S 0 S 1 = O. The algorithm has three steps:
Algorithm 2. No-leak Authentication Protocol.
Algorithm 2. No-leak Authentication Protocol.
1:Bob sends ( x 1 , x 2 , x 2 m ) to Alice, where x i i is a random element from S 0 or S1, and exactly m elements belong to S 0 and m to S1.
2:Alice uses her private test to check whether for element xi corresponding to x i does not belong to S0, xiS0. If the test fails, she supposes that xiS0 which means that x i S 0 . She counts how many xiS0. If the number she obtains is not exactly m then the authentication failed. If she obtains m, she sends to Bob a string with “0” in places corresponding to x i S 0 and 1 for x i S 0 .
3:Bob compares Alice’s result with the right value. If they are equal he accepts the authentication.
To prevent guessing the answer these three steps can be repeated a number of times like in the Fiat-Shamir scheme. The author emphasized that if m = 20 then the probability of guessing the answer in a round of three steps is less than 1 10 6.
The authors also presented two particularized methods: a subset sum and polynomials. We will describe only the one based on polynomial equations. In this case Alice’s private key is:
(1)
a polynomial h(x1, x2, . . . , xk) over Z
(2)
a large prime p
(3)
a constant cZ
while the public key consists of:
(1)
a polynomial f(x1, x2, . . . , xk) = (h(x1, x2, . . . , xk))2c(mod p)
(2)
a random polynomial g(x1, x2, . . . , xk) over Z which has the same monomials as f and the coefficients with the same magnitude as the ones of f.
We observe that for any (x1, x2, . . . , xk) ∈ Z exists a vZ such that f(x1, x2, . . . , xk) + c = u2(mod p). The following algorithm describes the steps for a single element:
Algorithm 3. No-leak Polynomial Authentication Protocol.
Algorithm 3. No-leak Polynomial Authentication Protocol.
1:Bob chose random integers (x1, x2, . . . xk) and plugs them with the same probability into either f or g. Bob sends the result, noted b(x1, x2, . . . xk) to Alice.
2:Alice computes a = b(x1, x2, . . . xk) + c(mod p). She verifies if a is a square modulo p. If not she sends “1” to Bob because b(x1, x2, . . . xk) ≠ f(x1, x2, . . . xk). If it is a square she sends “0” assuming that b(x1, x2, . . . xk) = f(x1, x2, . . . xk).
3:Bob compares Alice’s result with the right value. If they are equal he accepts the authentication.
For this particular method the authors also present some suggestions for the parameters and the keys:
(1)
3 ≤ k ≤ 5
(2)
p = 2t where t is a security parameter
(3)
2 ≤ degree(h) ≤ 3
(4)
the magnitude of f’s coefficients at least p/2
(5)
the integers x1, x2, . . . , xk are generated uniformly randomly from the interval [1, 2t/k]

3. Our Method

We propose a zero-knowledge authentication based on elliptic curves and on the algorithms described in the previous section. For the use of elliptic curves we have to declare the domain parameters. For a nonsupersingular elliptic curve E defined over a prime field the domain parameters will be (F, p, aE, bE, G, n, h) where Fp is the prime field, aE, bE define the curve E: y2 = x3 + aEx + bE, GE is a point of order n (this means that n is the smallest positive number for which nG = O), h = |E(Fp)|/n is the co-factor. To meet the above conditions it is recommended for |E(Fp)| to be prime or |E(Fp)| = h · n where n is a large prime and h ∈ {1, 2, 3, 4} [13]. Not all these parameters are used in a zero-knowledge authentication but they are all used in an elliptic curve cryptosystem. Therefore, defining these parameters provides one less step in the encryption/decryption process which the two communicating parties will use after authentication.
The generalized method uses an universal set S of elliptic curves’ points. S0 represents the points from a specific elliptic curve E. S 0 are elements corresponding to the points from S0, while S1 is a set of points which do not belong to the elliptic curve E. The private key and the public one remain the same with the above specifications. The Algorithm 2 becomes:
Algorithm 4. No-leak Elliptic Curve Authentication Protocol.
Algorithm 4. No-leak Elliptic Curve Authentication Protocol.
1:Bob sends ( X 1 , X 2 , X 2 m ) to Alice, where X i i is a random element from S 0 or S1, and exactly m elements belong to S 0 and m to S1.
2:Alice uses her private test to check whether for point Xi corresponding to X i does not belong to S0, XiS0. If the test fails, she supposes that XiS0 which means that X i S 0 . She counts how many XiS0. If the number she obtains is not exactly m then the authentication failed. If she obtains m, she sends to Bob a string with “0” in places corresponding to X i S 0 and 1 for X i S 0 .
3:Bob compares Alice’s result with the right value. If they are equal he accepts the authentication.
This algorithm represents the generalized method for elliptic curves. We also present a particularized method which replaces the polynomials from the Algorithm 3 with elliptic curve points. Here Alice’s keys change:
  • the private key contains:
    (1)
    a tuple (x1P, x2P, . . . xkP) where PE and xi are random scalars
    (2)
    a random point Q (replacing the constant c)
  • the public key contains:
    (1)
    a tuple (x1M, x2M, . . . xkM) = 2(x1P, x2P . . . xkP) − Q where ME
    (2)
    a random tuple (x1N, x2N, . . . , xkN) where NE
Using these keys the algorithm becomes:
Algorithm 5. No-leak Elliptic Curve Authentication Protocol.
Algorithm 5. No-leak Elliptic Curve Authentication Protocol.
1:Bob chose random integers (x1, x2, . . . xk) and plugs them with the same probability into either (x1M, x2M, . . . xkM) or (x1N, x2N, . . . , xkN). Bob sends the result, noted (x1R, x2R, . . . xkR) to Alice.
2:Alice computes A = (x1R, x2R, . . . xkR) + Q. She verifies if A is a doubled point. If not she sends “1” to Bob because (x1R, x2R, . . . xkR) ≠ (x1M, x2M, . . . xkM). If it is a doubled point she sends “0” assuming that (x1R, x2R, . . . xkR) = (x1M, x2M, . . . xkM).
3:Bob compares Alice’s result with the right value. If they are equal he accepts the authentication.
The scalar multiplication for elliptic curve points can be done with various methods. To improve the efficiency of such an algorithm, we have to improve the scalar multiplication which represents the most complex operation applied to an elliptic curve point. One of the most popular methods for scalar multiplication was introduced by P. Montgomery in [24]. The main idea is to generate q such that c+qp is a multiple of r. The values c, p and r are given, r being a power of 2. Another performance scalar multiplication method for prime fields was presented in [25] and uses the Frobenius endomorphism. Clavier and Jove presented in [26] a new idea to ease the computation of kP. They propose to define k as k1 + k2 where k1 = kr and k2 = r, r being a random integer. Therefore, kP becomes k1P + k2P. This idea is very usefully because the values of k1P and k2P can be computed simultaneously. This can be applied to almost all the algorithms for computing scalar multiplication. An improvement to this idea was given by Ciet in [27].

4. Conclusions

Our communication system is made up of two parts: the authentication and the process of communication itself. The communication part implies a cryptosystem for encrypting and decrypting the messages. These two parts can contain only classical methods, elliptic curve methods or a combination of the two. Using the same type of methods for both parts is more efficient mainly because some of the generated values of the authentication are also used in the second part. On the other hand, using different kind of methods implies generating different values for each part. The optimal situation occurs when there is no need to generate additional values in the second part. For the second part, the elliptic curve methods have proved to be the most adequate for encrypting and decrypting messages because they need shorter keys in order to provide the same performance and security level than the classical ones. For the authentication we recommend our method because it is less complicated and it needs less resources than using a classical method for the first part and an elliptic curve one for the second. The authentication process is accomplished by using a third trusted part. This third part has a very important double role: it is an impartial witness to the communication and it also provides the authentication and the keys needed in the second part for the cryptosystem used. All in all, authentication is the first step to an efficient and secure communication system, which can be accomplished by using our elliptic curve method.

Acknowledgments

The authors acknowledge the support through Grant of The Executive Council for Funding Higher Education, Research and Innovation, Romania-UEFISCDI, Project Type: Advanced Colaborative Research Projects - PCCA, Number 23/2014 (V. Rădulescu and N. Constantinescu) and University of Craiova, Romania, Project Type: Advance in Researche, Number 43C/2014 (N. Constantinescu).

Author Contributions

Equal contributions of each author. All authors have read and approved the final manuscript.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Halevi, S.; Krawczyk, H. Public-key cryptography and password protocols. ACM Trans. Inf. Syst. Secur 1999, 2, 230–268. [Google Scholar]
  2. Bellovin, S.M.; Merritt, M. Encrypted key exchange: Password-based protocols secure against dictionary attacks. Proceedings of the IEEE Symposium on Research in Security and Privacy, Oakland, CA, USA, 4–6 May 1992; pp. 72–84.
  3. Bellovin, S.M.; Merritt, M. Augmented encrypted key exchange: A password-based protocol secure against dictionary attacks and password file compromise. Proceedings of the ACM Conference on Computer and Communications Security, Fairfax, VA, USA, 3–5 November 1993; pp. 244–250.
  4. Jablon, D. Strong password-only authenticated key exchange. ACM SIGCOMM Comput. Commun. Rev 1996, 26, 5–20. [Google Scholar]
  5. Wu, T. The secure remote password protocol. Proceedings of the 1998 Internet Society Network and Distributed System Security Symposium, San Diego, CA, USA, 11–13 March 1998; pp. 97–111.
  6. Mohr, A. A Survey of Zero-Knowledge Proofs with Applications to Cryptography; Research Report; Southern Illinois University: Carbondale, IL, USA, 2007. [Google Scholar]
  7. Koblitz, N. Elliptic curve cryptosystems. Math. Comput 1987, 48, 203–209. [Google Scholar]
  8. Miller, V. Uses of elliptic curves in cryptography. In Advances in Cryptology—CRYPTO ‘85; Proceedings of CRYPTO ‘85, Santa Barbara, CA, USA, 18–22 August 1985, Williams, H.C., Ed.; Lecture Notes in Computer Science, Volume 218; Springer: Berlin/Heidelberg, Germany, 1986; pp. 417–426. [Google Scholar]
  9. Buchmann, J.; Baier, H. Efficient Construction of Cryptographically Strong Elliptic Curves. In Progress in Cryptology—INDOCRYPT 2000; Proceedings of First International Conference in Cryptology in India, Calcutta, India, 10–13 December 2000, Roy, B., Okamoto, E., Eds.; Lecture Notes in Computer Science, Volume 1977; Springer: Berlin/Heidelberg, Germany, 2000; pp. 191–202. [Google Scholar]
  10. Van Oorschot, P.C.; Wiener, M.J. Parallel Collision Search with Cryptanalytic Applications. J. Cryptol 1999, 12, 1–8. [Google Scholar]
  11. Smart, N.P. The Discrete Logarithm Problem on Elliptic Curves of Trace One. J. Cryptol 1999, 12, 193–196. [Google Scholar]
  12. Menezes, A.; Okamoto, T.; Vanstone, S. Reducing Elliptic Curve Logarithms to Logarithms in a Finite Field. Proceedings of the 23rd Annual ACM Symposium on the Theory of Computing, New Orleans, LA, USA, 5–8 May 1991; pp. 80–90.
  13. Constantinescu, N. Criptografie; Romanian Academy: Bucharest, Romania, 2009. [Google Scholar]
  14. Obersnel, F.; Omari, P. Positive solutions of elliptic problems with locally oscillating nonlinearities. J. Math. Anal. Appl 2006, 323, 913–929. [Google Scholar]
  15. Njoku, F.I. Some remarks on the solvability of the nonlinear two-point boundary value problems. J. Niger. Math. Soc 1991, 10, 83–98. [Google Scholar]
  16. Fernandes, M.L.C.; Omari, P.; Zanolin, F. On the solvability of a semilinear two-point BVP around the first eigenvalue. Differ. Integr. Equ 1989, 2, 63–79. [Google Scholar]
  17. Schoof, R. Elliptic curves over finite fields and the computation of square roots mod p. Math. Comp 1985, 44, 483–494. [Google Scholar]
  18. Avanzi, R.M.; Cohen, H.; Doche, C.; Frey, G.; Lange, T.; Nguyen, K.; Vercauteren, F. Handbook of Elliptic and Hyperelliptic Curve Cryptography; Cohen, H., Frey, G., Eds.; Chapman and Hall/CRC: London, UK, 2006. [Google Scholar]
  19. Cohen, H. A Course in Computational Algebraic Number Theory; Graduate Texts in Mathematics, Volume 138; Springer-Verlag: Berlin/Heidelberg, Germany, 1993. [Google Scholar]
  20. Coron, J.S.; Lefranc, D.; Poupard, G. A New Baby-Step Giant-Step Algorithm and Some Applications to Cryptanalysis. In Cryptographic Hardware and Embedded Systems—CHES 2005; Proceedings of 7th International Workshop, Edinburgh, UK, 29 August–1 September 2005, Rao, J.R., Sunar, B., Eds.; Lecture Notes in Computer Science, Volume 3659; Springer: Berlin/Heidelberg, Germany, 2005. [Google Scholar]
  21. Feige, U.; Fiat, A.; Shamir, A. Zero knowledge proofs of identity. J. Cryptol 1987, 1, 77–94. [Google Scholar]
  22. Menezes, A.J.; van Oorschot, P.C.; Vanstone, S.A. Handbook of Applied Cryptography, 5th ed; Chapman and Hall/CRC: London, UK, 2001. [Google Scholar]
  23. Grigoriev, D.; Shpilrain, V. No-leak Authentication by the Sherlockk Holmes Method. Groups Complex. Cryptol 2012, 4, 177–189. [Google Scholar]
  24. Montgomery, P.L. Multiplication Modular without Trial Division. Math. Comput 1985, 44, 519–521. [Google Scholar]
  25. Muller, V. Fast Multiplication on Elliptic Curves over Small Fields of Characteristic Two. J. Cryptol 1998, 11, 219–234. [Google Scholar]
  26. Clavier, C.; Joye, M. Universal exponentiation algorithm a first step towards provable SPA-resistance. In Cryptographic Hardware and Embedded Systems—CHES ‘01; Proceedings of the Third International Workshop on Cryptographic Hardware and Embedded Systems, Paris, France, 14–16 May 2001, Naccache, D., Paar, C., Eds.; Lecture Notes in Computer Science, Volume 2162; Springer: Berlin/Heidelberg, Germany, 2001; pp. 300–308. [Google Scholar]
  27. Ciet, M. Aspects of Fast and Secure Arithmetics for Elliptic Curve Cryptography. Ph.D. Thesis, Universite Catholique de Louvain, Louvain-la-Neuve, Belgium, 2003. [Google Scholar]

Share and Cite

MDPI and ACS Style

Alsaedi, R.; Constantinescu, N.; Rādulescu, V. Nonlinearities in Elliptic Curve Authentication. Entropy 2014, 16, 5144-5158. https://doi.org/10.3390/e16095144

AMA Style

Alsaedi R, Constantinescu N, Rādulescu V. Nonlinearities in Elliptic Curve Authentication. Entropy. 2014; 16(9):5144-5158. https://doi.org/10.3390/e16095144

Chicago/Turabian Style

Alsaedi, Ramzi, Nicolae Constantinescu, and Vicenţiu Rādulescu. 2014. "Nonlinearities in Elliptic Curve Authentication" Entropy 16, no. 9: 5144-5158. https://doi.org/10.3390/e16095144

Article Metrics

Back to TopTop