Updated 无进位乘法和GHASH (markdown)

Sun Yimin 2023-08-21 13:58:56 +08:00
parent a23886a049
commit d9d7d2722c

@ -10,11 +10,11 @@
2. Reduction: ${256 \rightarrow 128} \ modulo \ {x^{128} + x^7 + x^2 + x + 1}$ (done efficiently via software)
* 128-bit Carry-less Multiplication using PCLMULQDQ
(Gueron Kounavis, 2009) Multiply $128 \times 128 \rightarrow 256 \ [A_1 : A_0]\cdot[B_1 : B_0]$
* Schoolbook (4 PCLMULQDQ invocations)
* **Schoolbook** (4 PCLMULQDQ invocations)
$A_0 \cdot B_0 = [C_1 : C_0], \ A_1 \cdot B_1 = [D_1 : D_0]$
$A_0 \cdot B_1 = [E_1 : E_0], \ A_1 \cdot B_0 = [F_1 : F_0]$
$[A_1 : A_0] \cdot [B_1 : B_0] = [D_1:D_0 \oplus E_1 \oplus F_1:C_1 \oplus E_0 \oplus F_0 : C_0]$
* Carry-less Karatsuba (3 PCLMULQDQ invocations)
* **Carry-less Karatsuba** (3 PCLMULQDQ invocations)
$A_1 \cdot B_1 = [C_1 : C_0], \ A_0 \cdot B_0 = [D_1 : D_0]$
$(A_1 \oplus A_0) \cdot (B_1 \oplus B_0) = [E_1 : E_0]$
$[A_1 : A_0] \cdot [B_1 : B_0] = [C_1:C_0 \oplus C_1 \oplus D_1 \oplus E_1 : D_1 \oplus C_0 \oplus D_0 \oplus E_0 : D_0]$