原本的小步大步 | 小步和倍增步長的大步 |
將答案改寫成\(x=im+j\) 其中\(m=\lceil\;\sqrt{p}\rceil\;\),\(0\le i<m\),\(0\le j<m\) \(\alpha^x \equiv \beta \pmod{p}\) \(\alpha^{im+j}\equiv \beta \pmod{p}\) \(\alpha^j \equiv \beta(\alpha^{-m})^i \pmod{p}\) 計算\(\alpha^j\)稱為Baby step 計算\(\beta(\alpha^{-m})^i\)稱為Giant step 每次步長都是\(\alpha^{-m}\) | 將答案改寫成\(x=2^kvq+r\) (\(x\)除以\(2^kv\),商數\(q\),餘數\(r\)) 其中\(v\)為偶數,\(k\ge 0\),\(1\le r \le 2^kv\) \(\alpha^x \equiv \beta \pmod{p}\) \(\displaystyle \alpha^{2^kvq+r}\equiv \beta \pmod{p}\) \(\displaystyle \beta \alpha^{-r}\equiv (\alpha^{2^kv})^q \pmod{p}\) 計算\( \beta\alpha^{-r}\)稱為Baby step 計算\((\alpha^{2^kv})^q\)稱為Giant step 每次步長\(\alpha^{2^kv}\)隨著\(k\)值倍增 |
原本的小步大步 | 小步和倍增步長的大步 | 小步和線性增加步長的大步 |
將答案改寫成\(x=im+j\) 其中\(m=\lceil\;\sqrt{p}\rceil\;\),\(0\le i<m\),\(0\le j<m\) \(\alpha^x \equiv \beta \pmod{p}\) \(\alpha^{im+j}\equiv \beta \pmod{p}\) \(\alpha^j \equiv \beta(\alpha^{-m})^i \pmod{p}\) 計算\(\alpha^j\)稱為Baby step 計算\(\beta(\alpha^{-m})^i\)稱為Giant step 每次步長都是\(\alpha^{-m}\) | 將答案改寫成\(x=2^kvq+r\) (\(x\)除以\(2^kv\),商數\(q\),餘數\(r\)) 其中\(v\)為偶數,\(k\ge 0\),\(1\le r \le 2^kv\) \(\alpha^x \equiv \beta \pmod{p}\) \(\displaystyle \alpha^{2^kvq+r}\equiv \beta \pmod{p}\) \(\displaystyle \beta \alpha^{-r}\equiv (\alpha^{2^kv})^q \pmod{p}\) 計算\( \beta\alpha^{-r}\)稱為Baby step 計算\((\alpha^{2^kv})^q\)稱為Giant step 每次步長\(\alpha^{2^kv}\)隨著\(k\)值倍增 | 將答案改寫成\(x=t_j-i\) 其中\(t_0=2v\),\(t_{j+1}=t_j+j+v+1\) \(\alpha^x \equiv \beta \pmod{p}\) \(\alpha^{t_j-i}\equiv \beta \pmod{p}\) \(\alpha^{t_j} \equiv \beta \alpha^i \pmod{p}\) 計算\(\beta \alpha^i\)稱為Baby Step 計算\(\alpha^{t_j}\)稱為Giant Step 每次步長\(\alpha^{t_j}\)隨著\(j\)值線性增加(\(t_{j+1}=t_j+j+v+1\)) |
Coppersmith Splitting System | 可變參數的Splitting System |
定義 假設\(m\)和\(t\)都是偶數且\(0<t<m\),定義\((m,t)\)的splitting system是符合以下2點的數對\((X,\cal{B})\) 1.集合\(X\)有\(m\)個元素,集合\(\cal{B}\)有\(\displaystyle \frac{m}{2}\)個\(X\)的子集合,\(\cal{B}\)稱為區塊(blocks)。 2.對所有\(X\)的子集合\(Y\),\(Y\)有\(t\)個元素,存在一個區塊\(B\)使得\(B\)和\(Y\)的交集個數為\(\displaystyle \frac{t}{2}\)。 | 定義 假設\(m\)、\(t\)和\(t_s\)和都是整數且\(0<t<m\)、\(0\le t_s \le t\),定義\((m,t,t_s)\)的可變參數splitting system是符合以下2點的數對\((X,\cal{B})\) 1.集合\(X\)有\(m\)個元素,集合\(\cal{B}\)有\(\displaystyle \Bigg\lfloor\; \frac{t_s m}{t}\Bigg\rfloor\;\)個\(X\)的子集合,\(\cal{B}\)稱為區塊(blocks)。 2.對所有\(X\)的子集合\(Y\),\(Y\)有\(t\)個元素,存在一個區塊\(B\)使得\(B\)和\(Y\)的交集個數為\(\displaystyle t_s\)。 |
產生\(\displaystyle (\frac{m}{2};m,t)\)的Coppersmith splitting system方法 令\(X=Z_m\),定義\(B_i=\{\;i+j\pmod{m}:0\le j\le m/2-1\}\;\) \(\cal B\)\(=\{\;B_i:0\le i \le m/2-1\}\;\) | 產生\(\displaystyle (m;m,t,t_s)\)的可變參數splitting system方法 令\(X=Z_m\),定義\(B_i=\{\;i+j\pmod{m}:0\le j\le \Bigg\lfloor\;\frac{t_sm}{t}\Bigg\rfloor\;-1\}\;\) \(\cal B\)\(=\{\;B_i:0\le i \le m-1\}\;\) |
以\(m=8,t=4\)為例(解\(x\)有8位元,其中有4個1,分成2個1和2個1分別列舉) \(X=Z_m=\{\;0,1,2,3,4,5,6,7\}\;\),\(B_0=\{\;0,1,2,3\}\;\),\(B_1=\{\;1,2,3,4\}\;\),\(B_2=\{\;2,3,4,5\}\;\),\(B_3=\{\;3,4,5,6\}\;\),\(\cal B\)\(=\{\;B_0,B_1,B_2,B_3\}\;\) 子集合\(Y=\{\;0,2,4,6\}\;\)有4個元素,存在\(B_0,B_1,B_2,B_3\)和\(Y\)交集2個元素。 子集合\(Y=\{\;1,3,5,7\}\;\)有4個元素,存在\(B_0,B_1,B_2,B_3\)和\(Y\)交集2個元素。 子集合\(Y=\{\;0,1,6,7\}\;\)有4個元素,存在\(B_0\)和\(Y\)交集2個元素。 子集合\(Y=\{\;0,2,5,7\}\;\)有4個元素,存在\(B_0\)和\(Y\)交集2個元素。 子集合\(Y=\{\;4,5,6,7\}\;\)有4個元素,存在\(B_2,B_3\)和\(Y\)交集2個元素。 | 以\(m=8,t=4,t_s=1\)為例(解\(x\)有8位元,其中有4個1,分成1個1和3個1分別列舉) \(X=Z_m=\{\;0,1,2,3,4,5,6,7\}\;\),\(B_0=\{\;0,1\}\;\),\(B_1=\{\;1,2\}\;\),\(B_2=\{\;2,3\}\;\),\(B_3=\{\;3,4\}\;\),\(B_4=\{\;4,5\}\;\),\(B_5=\{\;5,6\}\;\),\(B_6=\{\;6,7\}\;\),\(B_7=\{\;7,0\}\;\),\(\cal B\)\(=\{\;B_0,B_1,B_2,B_3,B_4,B_5,B_6,B_7\}\;\) 子集合\(Y=\{\;0,2,4,6\}\;\)有4個元素,存在\(B_0,B_1,B_2,B_3,B_4,B_5,B_6,B_7\)和\(Y\)交集1個元素。 子集合\(Y=\{\;1,3,5,7\}\;\)有4個元素,存在\(B_0,B_1,B_2,B_3,B_4,B_5,B_6,B_7\)和\(Y\)交集1個元素。 子集合\(Y=\{\;0,1,6,7\}\;\)有4個元素,存在\(B_0,B_1,B_5,B_6,B_7\)和\(Y\)交集1個元素。 子集合\(Y=\{\;0,2,5,7\}\;\)有4個元素,存在\(B_0,B_1,B_2,B_4,B_5,B_6,B_7\)和\(Y\)交集1個元素。 子集合\(Y=\{\;4,5,6,7\}\;\)有4個元素,存在\(B_3,B_4,B_5,B_6,B_7\)和\(Y\)交集1個元素。 |
以\(m=8,t=4,t_s=2\)為例 \(X=Z_m=\{\;0,1,2,3,4,5,6,7\}\;\),\(B_0=\{\;0,1,2,3\}\;\),\(B_1=\{\;1,2,3,4\}\;\),\(B_2=\{\;2,3,4,5\}\;\),\(B_3=\{\;3,4,5,6\}\;\),\(B_4=\{\;4,5,6,7\}\;\),\(B_5=\{\;5,6,7,0\}\;\),\(B_6=\{\;6,7,0,1\}\;\),\(B_7=\{\;7,0,1,2\}\;\),\(\cal B\)\(=\{\;B_0,B_1,B_2,B_3,B_4,B_5,B_6,B_7\}\;\) \(B_0,B_1,B_2,B_3\)和Coppersmith splitting system相同 \(B_4,B_5,B_6,B_7\)則是\(B_0,B_1,B_2,B_3\)的補集。 |
可變參數的Splitting System(2008版) | 可變參數的Splitting System(2010版) |
定義 假設\(m\)、\(t\)和\(t_s\)和都是整數且\(0<t<m\)、\(0\le t_s \le t\),定義\((m,t,t_s)\)的可變參數splitting system是符合以下2點的數對\((X,\cal{B})\) 1.集合\(X\)有\(m\)個元素,集合\(\cal{B}\)有\(\displaystyle \Bigg\lfloor\; \frac{t_s m}{t}\Bigg\rfloor\;\)個\(X\)的子集合,\(\cal{B}\)稱為區塊(blocks)。 2.對所有\(X\)的子集合\(Y\),\(Y\)有\(t\)個元素,存在一個區塊\(B\)使得\(B\)和\(Y\)的交集個數為\(\displaystyle t_s\)。 | 定義相同 |
產生\(\displaystyle (m;m,t,t_s)\)的可變參數splitting system方法 令\(X=Z_m\),定義\(B_i=\{\;i+j\pmod{m}:0\le j\le \Bigg\lfloor\;\frac{t_sm}{t}\Bigg\rfloor\;-1\}\;\) \(\cal B\)\(=\{\;B_i:0\le i \le m-1\}\;\) | 產生方法相同 |
以\(m=8,t=4,t_s=3\)為例(解\(x\)有8位元,其中有4個1,分成3個1和1個1分別列舉) \(X=Z_m=\{\;0,1,2,3,4,5,6,7\}\;\),\(B_0=\{\;0,1,2,3,4,5\}\;\),\(B_1=\{\;1,2,3,4,5,6\}\;\),\(B_2=\{\;2,3,4,5,6,7\}\;\),\(B_3=\{\;3,4,5,6,7,0\}\;\),\(B_4=\{\;4,5,6,7,0,1\}\;\),\(B_5=\{\;5,6,7,0,1,2\}\;\),\(B_6=\{\;6,7,0,1,2,3\}\;\),\(B_7=\{\;7,0,1,2,3,4\}\;\),\(\cal B\)\(=\{\;B_0,B_1,B_2,B_3,B_4,B_5,B_6,B_7\}\;\) 子集合\(Y=\{\;0,2,4,6\}\;\)有4個元素,存在\(B_0,B_1,B_2,B_3,B_4,B_5,B_6,B_7\)和\(Y\)交集3個元素。 子集合\(Y=\{\;1,3,5,7\}\;\)有4個元素,存在\(B_0,B_1,B_2,B_3,B_4,B_5,B_6,B_7\)和\(Y\)交集3個元素。 子集合\(Y=\{\;0,1,6,7\}\;\)有4個元素,存在\(B_3,B_7\)和\(Y\)交集3個元素。 子集合\(Y=\{\;0,2,5,7\}\;\)有4個元素,存在\(B_0,B_2,B_3,B_4,B_6,B_7\)和\(Y\)交集3個元素。 子集合\(Y=\{\;4,5,6,7\}\;\)有4個元素,存在\(B_1,B_5\)和\(Y\)交集3個元素。 | 集合\(X\)相同,集合\(B_0,B_1,\ldots,B_7\)相同,集合\(\cal{B}\)相同 |
差異處 集合\(B_i\)有6個元素,列舉3個元素是1的位置,共\(C_3^6=20\)種 | 差異處 集合\(B_i\)有6個元素,假設第i個位元是1,再列舉2個元素是1的位置,共\(C_2^5=10\)種 |
歡迎光臨 Math Pro 數學補給站 (https://math.pro/db/) | 論壇程式使用 Discuz! 6.1.0 |