diff --git a/sm2_z256_loong64.S-代码分析.md b/sm2_z256_loong64.S-代码分析.md index f3d050c..33c009c 100644 --- a/sm2_z256_loong64.S-代码分析.md +++ b/sm2_z256_loong64.S-代码分析.md @@ -83,4 +83,9 @@ $T_3=T + T_2=(t_4+t_0-t_0>>32) \ast 2^{256}+(t_3 - t_0<<32) \ast 2^{192} + (t_2 **总体实现思路**: 1. 先完整计算出平方结果,用8个64位字表示,算完后再进行蒙哥马利约简计算。 -1. 最后,依然使用加`1`来实现`mod P`,这里的`1`为 $2^{256} - P$ 。 \ No newline at end of file +1. 最后,依然使用加`1`来实现`mod P`,这里的`1`为 $2^{256} - P$ 。 + +# 总结 +1. 进位、借位要格外小心、无进位判断要严谨。 +1. 使用加(或者减)`1`来实现`mod P`,这里的`1`为 $2^{256} - P$ 。 +1. 使用`masknez`和(或)`maskeqz`来选择最终结果。 \ No newline at end of file