发明名称 Method for generic-point parallel elliptic curve scalar multiplication
摘要 The method for generic-point parallel elliptic curve scalar multiplication replaces the pre-computation overhead of conventional elliptic curve scalar multiplication by post-computations that can be parallelized. This greatly increases the speed and efficiency of scalar multiplication performed in elliptic curve cryptography. According to the method, when scalar multiplication is required, the scalar integer is partitioned into a plurality of partitions, and calculations in each partition are performed simultaneously or in parallel on separate processors using conventional binary protocols. The bit size of each partition is adjusted to balance the load between the processors, i.e., so that each processor performs substantially the same number of point operations. The resulting calculations from each partition are accumulated or summed to produce the point that is the product of the scalar multiplication.
申请公布号 US8755517(B2) 申请公布日期 2014.06.17
申请号 US201012963524 申请日期 2010.12.08
申请人 Total Technology Solutions Co. 发明人 Al-Somani Turki F.;Ibrahim Mohammad K.
分类号 G06F21/00 主分类号 G06F21/00
代理机构 代理人 Litman Richard C
主权项 1. A method for generic-point parallel elliptic curve scalar multiplication using a cryptographic device, comprising the steps of: partitioning a scalar integer, represented as a binary number, into a plurality of partitions; adjusting the number of binary bits in each partition to distribute a number of point operations equally among the partitions by simultaneously solving the following set of equations:m=m(u-1)+m(u-2)+…+m(1)+m(0),⁢wherem(u-1)<m(u-2)<…<m(1)<m(0);M(0)=m(0)⁡(r)+m(0)2⁢(s);M(i)=m(i)⁡(r)+m(i)2⁢(s)+(r)⁢∑0≤j<i⁢mj;andM(0)=M(1)=…=M(u-1);wherein m represents the number of bits in the binary representation of the scalar integer, mi represents the number of bits in the i th partition, r represents the number of field multiplications of a point doubling operation, and s represents the number of field multiplications of a point addition operation; in each partition, computing a partial product of the partitioned scalar integer and a point on an elliptic curve, the partial products being computed simultaneously in parallel by a plurality of separate hardware processors; and accumulating the partial products from the plurality of partitions to obtain the scalar multiplication product of the scalar integer and the point on the elliptic curve.
地址 Makkah SA