1.一种椭圆曲线多倍点运算方法,该椭圆曲线多倍点运算方法用于椭圆曲线密码算法中来抵抗攻击者对密码的侧信道分析攻击和安全错误攻击,其特征在于,该椭圆曲线多倍点运算方法包括:对多倍点Q执行有序的倍点运算;对多倍点Q执行点加运算,当扫描到标量K的当前位不为0时,则对多倍点Q执行真点加运算,当扫描到标量K的当前位为0时,则对多倍点Q执行等价点转换运算,所述标量K是二进制形式或多进制形式的整数,其中,所述真点加运算为Q=Q+P,其中P为椭圆曲线上的点,所述等价点转换运算为Q=Q;将所述真点加运算的结果和所述等价点转换运算的结果存到相同的寄存器堆中,所述寄存器堆中包括多个寄存器。
2.如权利要求1所述的椭圆曲线多倍点运算方法,其特征在于,所述真点加运算包括多个真点加子运算步骤,所述等价点转换运算包括多个等价点转换子运算步骤,所述真点加子运算步骤的数目与所述等价点转换子运算步骤的数目相同。
3.如权利要求2所述的椭圆曲线多倍点运算方法,其特征在于,当所述真点加运算和所述等价点转换运算分别在执行同一个步骤下的真点加子运算和等价点转换子运算时,该同一个步骤下的两种子运算均执行加减运算或均执行乘法运算。
4.如权利要求2所述的椭圆曲线多倍点运算方法,其特征在于,当所述真点加运算和所述等价点转换运算分别在执行同一个步骤下的真点加子运算和等价点转换子运算时,将该同一个步骤下的两种子运算产生的运算结果存到所述寄存器堆中的相同寄存器中。
5.一种椭圆曲线多倍点运算装置,其特征在于,包括:有序倍点运算模块,用于对多倍点Q进行有序的倍点运算;扫描模块,用于扫描标量K,所述标量K是二进制形式或多进制形式的整数;真点加运算模块,与所述扫描模块和所述有序倍点运算模块均相耦合,用于当扫描到标量K的当前位不为0时,对多倍点Q执行真点加运算,其中,所述真点加运算为Q=Q+P,其中P为椭圆曲线上的点;等价点转换运算模块,与所述扫描模块和所述有序倍点运算模块均相耦合,用于当扫描到标量K的当前位为0时,对多倍点Q执行等价点转换运算,其中,所述等价点转换运算为Q=Q;存储模块,与所述有序倍点运算模块、所述真点加运算模块、所述等价点转换运算模块均相耦合,该存储模块用于将所述真点加运算的结果和所述等价点转换运算的结果存到相同的寄存器堆中,所述寄存器堆中有多个寄存器。
6.如权利要求5所述的椭圆曲线多倍点运算装置,其特征在于,所述真点加运算模块包括N个真点加运算子运算单元,分别用于执行真点加运算的各个子运算步骤,当N个真点加运算子运算单元都执行完相应的子运算后产生所述真点加运算的结果;所述等价点转换运算模块包括N个等价点转换运算子运算单元,分别用于执行等价点转换运算的各个子运算步骤,当N个等价点转换运算子运算单元都执行完相应的子运算后产生所述等价点转换运算的结果。
7.如权利要求6所述的椭圆曲线多倍点运算装置,其特征在于,当所述真点加运算和所述等价点转换运算的子运算步骤相同时,该相同步骤的两种子运算均执行加减运算或均执行乘法运算。
8.如权利要求6所述的椭圆曲线多倍点运算装置,其特征在于,当所述真点加运算和所述等价点转换运算的子运算步骤相同时,将该相同步骤的两种子运算产生的运算结果存到所述寄存器堆中的相同寄存器中。