diff --git a/SM2-MFMM-(2).md b/SM2-MFMM-(2).md index 085de65..38b2744 100644 --- a/SM2-MFMM-(2).md +++ b/SM2-MFMM-(2).md @@ -1,10 +1,14 @@ ## SM2 P256 P表示 SM2 256 的素数P=0xfffffffeffffffffffffffffffffffffffffffff00000000ffffffffffffffff,也可以表示为 +$p_0=0xFFFFFFFEFFFFFFFF$ +$p_1=0xFFFFFFFF00000000$ +$p_2=0xFFFFFFFFFFFFFFFF$ +$p_3=0xFFFFFFFEFFFFFFFF$ $$P = 2^{256} - 2^{224} - 2^{96} + 2^{64} - 1$$ -$$P = 0xFFFFFFFEFFFFFFF \ast 2^{192} + 0xFFFFFFFFFFFFFFFFF \ast 2^{128} + 0xFFFFFFFF00000000 \ast 2^{64} + 0xFFFFFFFFFFFFFFFFF$$ +$$P = p_3 \ast 2^{192} + p_2 \ast 2^{128} + p_1 \ast 2^{64} + p_0$$ $$P = 2^{256}-(2^{32} \ast 2^{192} + 0 \ast 2^{128} + (2^{32} - 1) \ast 2^{64} + 1)$$ @@ -17,8 +21,8 @@ $T_1=t_0$ ### 方案一:(乘法、加法) 这个是最原始方法。 -$T_2=T_1 \ast P=t_0 \ast P= (t_0 \ast 0xFFFFFFFEFFFFFFF) \ast 2^{192} + (t_0 \ast 0xFFFFFFFFFFFFFFFFF) \ast 2^{128} + (t_0 \ast 0xFFFFFFFF00000000) \ast 2^{64} + (t_0 \ast 0xFFFFFFFFFFFFFFFFF)$ -$T_3=T + T_2=t_7 \ast 2^{448} + t_6 \ast 2^{384} + t_5 \ast 2^{320} + t_4 \ast 2^{256} + (t_3+t_0 \ast 0xFFFFFFFEFFFFFFF) \ast 2^{192} + (t_2+t_0 \ast 0xFFFFFFFFFFFFFFFFF) \ast 2^{128} + (t_1+t_0 \ast 0xFFFFFFFF00000000) \ast 2^{64} + t_0 \ast 2^{64} $ +$T_2=T_1 \ast P=t_0 \ast P= (t_0 \ast p_3) \ast 2^{192} + (t_0 \ast p_2) \ast 2^{128} + (t_0 \ast p_1) \ast 2^{64} + (t_0 \ast p_0)$ +$T_3=T + T_2=t_7 \ast 2^{448} + t_6 \ast 2^{384} + t_5 \ast 2^{320} + t_4 \ast 2^{256} + (t_3+t_0 \ast p_3) \ast 2^{192} + (t_2+t_0 \ast p_2) \ast 2^{128} + (t_1+t_0 \ast p_1) \ast 2^{64} + t_0 \ast 2^{64} $ $t_1=t_1 + t_0 \ast 0xFFFFFFFF00000001$