Elliptic-Curves
二進制有限域模約簡算法中 k 的選擇
在橢圓曲線密碼學指南中有這個算法:
我的問題是……什麼是 $ k $ ? 它只是我們選擇的一些隨機值嗎?如果是這樣,某些數字是否比其他數字更好?
$ W $ 是我們正在操作的單詞的大小,因此 $ u_k(z) $ 是一個單詞的每一位的預先計算的多項式(注意 $ 0 \le k \le W-1 $ ), 定義為 $ z^kr(z) $ . 因此,如果我們有 32 位字,我們就有 32 個預先計算的多項式,索引為 $ k $ .
然後,在實際算法中,在每一步我們計算 $ k $ 作為 $ (i - m) - Wj $ ,並使用該值 $ k $ 選擇我們預先計算的多項式之一,我們將其添加到 $ C{j} $ . 所以 $ k $ 它不是隨機選擇的,而是在算法的每一步確定性地計算,然後用於選擇預先計算的多項式。
例如,如果我們處於 $ i = 128, j = 2, m = 64, W = 32 $ 我們會計算 $ k = (128 - 64) - 32 * 2 = 0 $ . 所以我們會添加 $ u_0(z) = z^0r(z) = r(z) $ 至 $ C{j} $ .