The public key cryptosystem is different encryption key whish is public
from decryption key which is secret. It is used for not only encryption
but also the esignature. By the improvement of decipher, RSA
cryptosystem and Elgamal cryptosystem that is a past public key
cryptosystem. Safety is threatened. An elliptic curve cryptosystem (ECC)
and a hyperelliptic curve cryptosystem (HECC) are actively researched
for that as next generation's cryptosystems.
The elliptic curve cryptosystem is based on the points on an elliptic
curve becoming a group, and elliptic discrete logarithm problem. It was
proposed by Koblitz and Miller. Encryption and decryption Key size of
ECC is short and compactly compared with RSA etc.
Therefore, it is used from this feature with the smart
card with a small memory.The operation that becomes the center of the elliptic curve
cryptosystem is an operation of scalar multiplication $dP$ to point $P$ on an elliptic curve and
secret key $d$ regardless of decoding or the signature generation of the ciphertext.
It is a side channel attack that becomes a threat because of implementation
the smart card of ECC. The side channel
attack is an attack to obtain the secret key by using side channel
information on power consumption and the execution time etc.
Generally, when conputing the scalar multiplication $dP$, the binary method is executed.
In the operation, because $x$ is expressed by the bit string, The power
consumption is differnt between bit is 1 and 0. Thus the secret key
leaks by the power consumption. Therefore, countermeasures of the side
channel attack have been researched.
The side channel attacks are classified simple power analysis attack
(SPA) and different power analysis analysis (DPA).
SPA is an attack of the pattern of waves of the power consumption under
the operation to obtain the secret key by one observation.
It is necessary to lose the dependence of the confidential information and power consumption
to prevent SPA. Existing countermeasures method inserts the dummy operation while operating it, and
includes the method of making the pattern of waves constant.
It is DPA that the attacker simulate the test key and taking the
difference of power consumption with a true secret key. In DPA, it is
classified into Databit DPA(DDPA) and Addressbit DPA(ADPA).
There are DDPA countermeasures that includes the method of using the
randomization scalar and a random point, and ADPA measures have the
method of making the randomization scalar and concealing the relation
between the scalar and the address. However, both computational
complexities and the memories tend to increase by existing measures
method to SPA, DDPA, and ADPA. Moreover, there is a problem that each
measures method is safe only in a each attack method. In this research,
I proposed effective algorithms of scalar multiplicationthis which are
countermeasure on SPA, DDPA, ADPA.
The window method is used as a scalar multiplication algorithm in this
research. The window method prepare preliminary operation table. Using
the table, it is used can highspeed computation. In the proposal
method, it proposes DDPA
countermeasures and ADPA countermeasures in the window method. In DDPA
countermeasures, the method of the randomization scalar is used.
For window method when applied SPA countemeasure , Table size increase
becaouse using fix window.
And by DDPA countermeasure, computational complexity by table making
increases by using random point and data.
In proposed scheme, I apply Side channel atomicity to an SPA
countermeasure and, by DDPA countermeasure, use a method to do randomisation
of a scalar.
the randomizing of the scalar is done by deciding whether to execute the conversion of
the expression of each operated window at random by using becoming
$(100\bar{8}) _ 2=0(\bar{8}=8)$.
By this proposec scheme, randomisation of scalar expression is
possible.
Furthermore, I give presence of conversion with a random number in the
case of 0bit so that increase the number of the randomisation.
Usually, Last bit of bit string in window execute only doubling in the
case of 0 bit
by window method, but execute presence of the insertion of the
addition that does not influence a scalar value in 0bit either by a
random number by proposed method. By choice of processing by 0bit
time, the number of the randomisation increases more. I really
sacrificed computational complexity, but the number of the randomisation
increased than randomisation technique of existing scalar expression.
ADPA measures use the method of concealing the relation between the scalar and the
address. Because the relation between data and the address of the table is rotated at random, the
relation is concealed. Both countereasures are given without the
computational complexity increasing and addition one memory. And I
proposed the window method algorithm that considered SPA measures in
addition to these measures.
