is a big player to reduce the number of adding opera-
tions in computing the scalar multiplication.
In 1951 Booth proposed a new scalar representa-
tion called signed binary representation. There are
many methods to represent integers in signed binary
such as NAF, JSF, and MOF, Also in 2003 a new
method to compute general multiplication was pro-
posed by Chang et al. (Chang et al., 2003) which
is the result of using NAF, MOF, and JSF. Different
researchers proposed methods to calculate the scalar
multiplication in parallel computing using the binary
or signed binary representation.
Anagreh et al. (Anagreh et al., 2014), proposed a par-
allel method to compute scalar multiplication based
on the mutual opposite form (MOF). They extracted
a new algorithm that combined Adding- Subtracting
Scalar Multiplication Algorithm and Mutual Oppo-
site Form (MOF). They used two processors to per-
form the parallel calculation, the Method calculates
the doubling operation in a processor and adding op-
eration in another processor at the same time. The
proposed method computes the scalar multiplication
without performing the MOF conversion. The pro-
posed method is performing the comparison operation
of the given bit-string d to decide where the second
processor has to add or subtract the doubled point in
case of non-zero bits {1, 1}. The proposed method
achieves the speed-up 90% faster than the sequential
version of the ECC scalar multiplication with MOF.
Negre et al. (Negre and Robert, 2015) proposed a
new parallel approach for finding the scalar multipli-
cation. They split the scalar multiplication based on
NAF into two parts for the prime field F
p
and three
parts for the binary field F
2m
. In their method, both
operations doubling and (addition or subtraction) will
be performed in a separate thread. In the case of
prime fields, the operations of scalar multiplication
are split into two sections, based on representing d as
d = k
1
+ 2
s
k
2
. The first section Q
1
= k
1
P will be per-
formed in the first thread. The second part Q
2
= 2
s
k
2
P
will be performed in the second thread. Finding the
scalar multiplication in their proposed job given by Q
= Q
1
+ Q
2
, the two points Q
1
and Q
2
are added to
get the scalar multiplication Q. The proposed method
achieved an improvement by at least 10% the compu-
tation time of the scalar multiplication.
Software implementation proposed by Robert
(Robert, 2014) for finding ECC scalar multiplica-
tion. In their proposed method, they used two threads
to perform the parallel calculation. As well as, for
various elliptic curves over the prime F
p
used four
threads. Two algorithms are used in their job Double-
and-add and Half-and-add algorithms. In this work,
putting the doubling operations into one thread (pro-
ducer) while additions and subtractions operation into
another thread (consumer). One single mutex at the
beginning of the computation is used to avoid using
the mutex synchronization as much as possible. The
goal of using the mutex is to keep the consumer in in-
active state at the beginning of the processing while
the producer processes the doubling operation. The
method shows some violation of read-after-write de-
pendency. The memory violation might happen be-
cause of the size of the first batch of points which is
before releasing the mutex was too small. As well as,
in the case of the long sequence of zeros in the bi-
nary or NAF scalar representation. The results show
that there is an error rate that is limited to less than
1% but is not acceptable. To eliminate this problem, a
variable in a global memory as a loop counter is used.
An extra operation is added to the scheme that will
cause the reduction of the execution time in the par-
allel version. The NAF conversion is not a part of the
parallel section. The result shows that the enhance-
ment reached to 15% in comparison with the sequen-
tial version.
Phalakarn et al. (Phalakarn et al., 2018) proposed
a new representation for right-to-left parallel elliptic
curve scalar multiplication. The mathematical model
reduced the calculation time for finding ECC scalar
multiplication. Authors proposed algorithms that will
generate the representations which will reduce the ex-
ecution time of the scheme. Three processors are used
to perform the whole calculation in the scheme. Two
processors are for performing the doubling P and Q.
The third processor is for performing the addition op-
eration using two binary representations m and n. The
issue of the communication between the processors in
the model is still opened and may it cause an increas-
ing time complexity because it is an extra operation.
Anagreh et al. (Anagreh et al., 2019) introduced
an algorithm to find the ECC scalar multiplication
based on NAF representation. They used two pro-
cessors to perform the whole calculation in Parallel
computing. The first processor performs the doubling
operations while the second processor performs the
NAF conversion and (addition or subtraction) oper-
ations at the same time. Shared memory is used to
transmit the doubled points from the first processor
to the second processor. They performed the NAF
conversion by the second Processor before starting to
calculate the addition or subtraction operations. This
method eliminates the use of mutexes, as the con-
sumption of doubled points by the second processor
will not overtake their production by the first pro-
cessor. The result shows an enhancement is 60%
faster than the standard version of the ECC calcula-
tion based on NAF.
Speeding Up the Computation of Elliptic Curve Scalar Multiplication based on CRT and DRM
179