Updated SM2 WWMM (2) (markdown)

Sun Yimin 2024-02-23 10:33:03 +08:00
parent fd68d10b39
commit f733fbf5a9

@ -122,6 +122,13 @@ $t_0=t_0 - a_1$
移位: 2
加法4
减法4
| 方案 | 乘法 | 移位 | 加法 | 减法 |
| ----------- | ----------- | ----------- | ----------- | ----------- |
| 方案一 | 3 | 0 | 10 | 0 |
| 方案一MULX/ADCX/ADOX | 3 | 0 | 7 | 0 |
| 方案二 | 0 | 2 | 4 | 4 |
## P域乘法的WWMM约减优化
乘法没有和平方一样,先把乘法做完再约减,而是乘法和约减混合在一起做的。
@ -267,6 +274,12 @@ $t_5=t_5 - 0$
加法5
减法4
| 方案 | 乘法 | 移位 | 加法 | 减法 |
| ----------- | ----------- | ----------- | ----------- | ----------- |
| 方案一 | 3 | 0 | 11 | 0 |
| 方案一MULX/ADCX/ADOX | 3 | 0 | 8 | 0 |
| 方案二 | 0 | 2 | 5 | 4 |
## SM2 P256 Order表示
SM2的素数Order=0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123
@ -466,6 +479,13 @@ $T_3=t_7 \ast 2^{448} + t_6 \ast 2^{384} + t_5 \ast 2^{320} + (t_4+Y) \ast 2^{25
加法7
减法3
| 方案 | 乘法 | 移位 | 加法 | 减法 |
| ----------- | ----------- | ----------- | ----------- | ----------- |
| 方案一 | 5 | 0 | 14 | 0 |
| 方案一MULX/ADCX/ADOX | 5 | 0 | 9 | 0 |
| 方案二 | 3 | 2 | 8 | 3 |
| 方案二MULX | 3 | 2 | 7 | 3 |
看来在支持**MULXQ/ADCXQ/ADOXQ**的情况下,使用方案一更好!
## Order域乘法的WWMM约减优化
@ -650,4 +670,11 @@ $t_5=t_5 - 0$
加法8
减法4
| 方案 | 乘法 | 移位 | 加法 | 减法 |
| ----------- | ----------- | ----------- | ----------- | ----------- |
| 方案一 | 5 | 0 | 15 | 0 |
| 方案一MULX/ADCX/ADOX | 5 | 0 | 10 | 0 |
| 方案二 | 3 | 2 | 9 | 4 |
| 方案二MULX | 3 | 2 | 8 | 4 |
看来在支持**MULXQ/ADCXQ/ADOXQ**的情况下,使用方案一更好!