快速约减求模算法

国密SM2素域椭圆曲线快速约减算法x64编程研究(上)

你离开我真会死。 提交于 2020-03-17 12:30:58
某厂面试归来,发现自己落伍了!>>> 这是NIST公开资料公布的256位素域椭圆曲线快速约减算法描述: p256 = (2 ^ 256) − (2 ^ 224) + (2 ^ 192) + (2 ^ 96) − 1 p256 = ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff Routine 3.2.9 mp_mod_256 (r, a): Set r = a (mod p256 ) 1: {Note: the ai are 32–bit quantities.} 2: t = ( a7 |a6 |a5 |a4 |a3 |a2 |a1 |a0 ) 3: s1 = ( a15|a14|a13|a12|a11| 0 | 0 | 0 ) 4: s2 = ( 0 |a15|a14|a13|a12| 0 | 0 | 0 ) 5: s3 = ( a15|a14| 0 | 0 | 0 |a10|a9 |a8 ) 6: s4 = ( a8 |a13|a15|a14|a13|a11|a10|a9 ) 7: d1 = ( a10|a8 | 0 | 0 | 0 |a13|a12|a11 ) 8: d2 = ( a11|a9 | 0 | 0 |a15|a14|a13|a12 ) 9: d3 = ( a12| 0