An encryption device performs elliptic curve encryption using a secret
key. The encryption device includes an operation unit for performing
scalar multiplication of a point on an elliptic curve a storage unit
having a plurality of data storing areas and a determiner unit for
determining, in accordance with a bit sequence of a given value (d) and
with a random value (RNG), an address of one of the plurality of data
storage areas that is to be coupled to the operation means for each
scalar multiplication.