这是国密SM2素域椭圆曲线快速约减算法的加法矩阵:
|a00|a01|a02|a03|a04|a05|a06|a07|(=)|---|---|---|---|---|---|---|---|---|a08|a09| 0 |a08|a09|a10|a11|a08|(+)|a09|a10| 0 |a11|a12|a13|a14|a09|(+)|a10|a11| 0 |a12|a13|a14|a15|a10|(+)|a11|a12| 0 |a13|a14|a15| 0 |a11|(+)|a12|a13| 0 |a13|a14|a15| 0 |a12|(+)|a13|a14| 0 |a14|a15| 0 | 0 |a12|(+)|a13|a14| 0 |a15| 0 | 0 | 0 |a13|(+)|a14|a15| 0 | 0 | 0 | 0 | 0 |a13|(+)|a14|a15| 0 | 0 | 0 | 0 | 0 |a14|(+)|a15| 0 | 0 | 0 | 0 | 0 | 0 |a14|(+)|a15| 0 | 0 | 0 | 0 | 0 | 0 |a15|(+)| 0 | 0 | 0 | 0 | 0 | 0 | 0 |a15|(+)| 0 | 0 | 0 | 0 | 0 | 0 | 0 |a15|(+)|---|---|---|---|---|---|---|---|---| 0 | 0 |a08| 0 | 0 | 0 | 0 | 0 |(-)| 0 | 0 |a09| 0 | 0 | 0 | 0 | 0 |(-)| 0 | 0 |a13| 0 | 0 | 0 | 0 | 0 |(-)
为了适应改进后的乘法-求模一体化程度,做如下变形:
1、用于处理乘法结果位于[0, 2^256)区间的数据|---|---|---|---|---|---|---|---|---|a00|a01|a02|a03|a04|a05|a06|a07|(+)|---|---|---|---|---|---|---|---|---2、用于处理乘法结果位于[2^256, 2^320)区间的数据|---|---|---|---|---|---|---|---|---| |a09| |a08|a09| | | |(+)|---|---|---|---|---|---|---|---|---|a08| | | | | | |a08|(+)|a09| | | | | | |a09|(+)|---|---|---|---|---|---|---|---|---| | |a08| | | | | |(-)| | |a09| | | | | |(-)|---|---|---|---|---|---|---|---|---3、用于处理乘法结果位于[2^320, 2^384)区间的数据|---|---|---|---|---|---|---|---|---| | | |a11| |a10|a11| |(+)|---|---|---|---|---|---|---|---|---|a10|a10| | | | | |a10|(+)|a11|a11| | | | | |a11|(+)|---|---|---|---|---|---|---|---|---4、用于处理乘法结果位于[2^384, 2^448)区间的数据|---|---|---|---|---|---|---|---|---|a13| | |a13| |a13| | |(+)|---|---|---|---|---|---|---|---|---| | |a13| | | | | |(-)|---|---|---|---|---|---|---|---|---|a12|a12| |a12|a12| | |a12|(+)|a13|a13| |a13|a13| | |a13|(+)|---|---|---|---|---|---|---|---|---| | | | | | | |a12|(+)| | | | | | | |a13|(+)|---|---|---|---|---|---|---|---|---5、用于处理乘法结果位于[2^448, 2^512)区间的数据|---|---|---|---|---|---|---|---|---| | |a14| | | | | |(-)|---|---|---|---|---|---|---|---|---| | | | |a14|a15| |a15|(+)|---|---|---|---|---|---|---|---|---|a14|a14| |a14|a14|a14|a14|a14|(+)|a15|a15| |a15|a15|a15|a15|a15|(+)|---|---|---|---|---|---|---|---|---|a14|a14| | | | | |a14|(+)|a15|a15| | | | | |a15|(+)|---|---|---|---|---|---|---|---|---
有心人应该看出来了,这个运算天生就适合在向量机上跑。