摘要 |
PROBLEM TO BE SOLVED: To solve the problem that when a scalar multiplication is performed for a point on an ellipse curve by doubling and adding, many additions of the point causes a long processing time.SOLUTION: An arithmetic unit performs a scalar multiplication on an ellipse curve for a point on the ellipse curve expressed by a numeric value by using a natural number. The arithmetic unit converts the binary expression above into a binary sequence with a code by using "0", a positive bit of "1", and a negative bit of "-1", and extracts a block having a length of a predetermined bit length and head and tail bits both of which are not "0" in the sequence. If the block has the length of the predetermined bit length and a value expressed by the block can be expressed by a bit string shorter than the predetermined bit length by 1 bit, the arithmetic unit converts the block of the sequence into a bit string having a head bit of "0" and the bit string above added after the "0" to convert the sequence again. |