From d52a2af3b0e9e9a98c4eb1d090313276874a30d4 Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Thu, 22 Feb 2024 08:35:09 +0800 Subject: [PATCH] Updated MFMM (markdown) --- MFMM.md | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/MFMM.md b/MFMM.md index c818b83..9c4f978 100644 --- a/MFMM.md +++ b/MFMM.md @@ -283,36 +283,3 @@ acc0, acc1, acc2, acc3, acc4, acc5是64位寄存器 PASS ok github.com/emmansun/gmsm/sm2 4.753s -### 续1:平方的模约减优化 -SM2 256 的素数P=0xfffffffeffffffffffffffffffffffffffffffff00000000ffffffffffffffff,也可以表示为 - -$P = 2^{256}-(2^{32} \ast 2^{192} + 0 \ast 2^{128} + (2^{32} - 1) \ast 2^{64} + 1)$ - -这样,可以通过移位和加减操作来实现模约减。 -假设: -$T=t_7 \ast 2^{448} + t_6 \ast 2^{384} + t_5 \ast 2^{320} + t_4 \ast 2^{256} + t_3 \ast 2^{192} + t_2 \ast 2^{128} + t_1 \ast 2^{64} + t_0 $ -则共四次约减,第一次约减为: - -$T_1=t_0$ - -$T_2=T_1 \ast P=t_0 \ast P= t_0 \ast (2^{256}-(2^{32} \ast 2^{192} + 0 \ast 2^{128} + (2^{32} - 1) \ast 2^{64} + 1))$ -$T_2=t_0 \ast 2^{256} - t_0 \ast 2^{32} \ast 2^{192} - t_0 \ast (2^{32} - 1) \ast 2^{64} - t_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 \ast 2^{192} + t_2 \ast 2^{128} + t_1 \ast 2^{64} + t_0 \ast 2^{256} - t_0 \ast 2^{32} \ast 2^{192} - t_0 \ast (2^{32} - 1) \ast 2^{64} - t_0 $ -$T_3=t_7 \ast 2^{448} + t_6 \ast 2^{384} + t_5 \ast 2^{320} + (t_4+t_0) \ast 2^{256}+(t_3 - t_0 \ast 2^{32}) \ast 2^{192} + t_2 \ast 2^{128} + (t_1 + t_0 - t_0 \ast 2^{32}) \ast 2^{64} $ - -先处理加法,后处理减法,后三个加法是带进位加法 -$t_1=t_0 + t_1$ -$t_2=t_2 + 0$ -$t_3=t_3 + 0$ -$t_0=t_0 + 0$ -t0,t2,t3会不会同时是0xffffffffffffffff呢? - -接着处理减法,假定a0是 $t_0 \ast 2^{32}$ 的低64位,a1是 $t_0 \ast 2^{32}$ 的高64位。后三个减法是带借位减法: -$t_1=t_1 - a_0$ -$t_2=t_2 - a_1$ -$t_3=t_3 - a_0$ -$t_0=t_0 - a_1$ -t0会不会不够减呢?简单可证也不会(因为其本身就是乘法和加法的变形而已)。 - -### 续2:乘法的模约减优化