格基約化分析工具
每行一組,含義由「輸入模式」決定:格基底模式每行一個基底向量;背包模式寫 a1,...,an; 目標和S;公鑰模式寫 w1,...,wn; c
輸入模式:
演算法:
基底向量輸出:
迭代步驟:
計算結果
下載 CSV
| 序號 | 類型 | 向量 / 條目 | 值 | 說明 |
|---|
工具介紹及使用方法
本工具用於密碼學教學與安全研究:示範 LLL 格基約化為何有效,以及低密度子集和(背包)密碼為何會被攻破。僅供學習與授權的安全測試使用,請勿用於攻擊未授權的系統。
每行輸入一組,含義由「輸入模式」決定:
精度取捨:基向量全程用 BigInt 精確保存,Gram-Schmidt 的 μ 與 ‖b*‖² 用 Number 浮點計算。這樣實現簡單、速度快,只要單一數值位數 ≤ maxBits(預設 128)偵測餘量就足夠;位數超限會明確提示。
防護:維度 ≤ maxDim(預設 12,LLL 是 O(n⁴) 量級)、數值 ≤ maxBits 位、迭代 ≤ 10000 次(超限明確提示而非死迴圈)、輸出行數 ≤ maxRows。背包攻擊找到解後一定回代驗證子集和 = 目標值,驗證不過或找不到短向量時提示「本次未能恢復(密度過高 / 維度過大)」,絕不謊報成功。
每行輸入一組,含義由「輸入模式」決定:
lattice 每行一個格基向量(如 1,1,1);knapsack 每行寫 a1,...,an; 目标和S(如 1,3,5,11,21; 24);publickey 每行寫背包公鑰與密文 w1,...,wn; c。精度取捨:基向量全程用 BigInt 精確保存,Gram-Schmidt 的 μ 與 ‖b*‖² 用 Number 浮點計算。這樣實現簡單、速度快,只要單一數值位數 ≤ maxBits(預設 128)偵測餘量就足夠;位數超限會明確提示。
防護:維度 ≤ maxDim(預設 12,LLL 是 O(n⁴) 量級)、數值 ≤ maxBits 位、迭代 ≤ 10000 次(超限明確提示而非死迴圈)、輸出行數 ≤ maxRows。背包攻擊找到解後一定回代驗證子集和 = 目標值,驗證不過或找不到短向量時提示「本次未能恢復(密度過高 / 維度過大)」,絕不謊報成功。
操作步驟
- 依所選輸入模式,把矩陣、子集和實例或背包公鑰逐行貼上到輸入框。
- 選擇輸入模式與演算法,填寫 δ 參數、維度上限等參數。
- 點擊執行。
- 查看約化基或攻擊結果,複製或匯出。
留言板
全部留言 →-
還沒人說話,來搶個沙發?