• 沒有找到結果。

高斯消去法在因數分解法空間使用量分析

因數分解法有些步驟需要記憶體的配置,第一個是𝐹𝑎𝑐𝑡𝑜𝑟𝐵𝑎𝑠𝑒也可稱 做質數表第二個為篩選出𝑥的值,第三個為對應的𝑧被𝐹𝑎𝑐𝑡𝑜𝑟𝐵𝑎𝑠𝑒拆解的 矩陣資訊其元素只有 0 與 1,其中以原始的高斯消去法來實做時,高斯矩 陣是最為耗費記憶體資源的地方,其增廣矩陣上的資料非常稀疏,雖然已 用 GNU MP 的方式做空間的調整,確與原矩陣資料有著同樣的大小,這也 是未來可改進的一個方向。高斯消去法的記憶體空間隨著矩陣長度的增加 都有大幅度成長,以 GNU MP 轉換矩陣的記錄方式可以在記憶體使用量下 降不少,並可以同時將運算速度增加,在空間上我們將理論估計值與實際 分解的記憶體使用量做比較,由下所示可看出在記憶體的用量有明顯的下 降,其走勢表現出在更大矩陣也有同樣的效果。

圖 4.5. sort gauss、gauss 使用空間的理論與數據走勢圖 000(kb)

10000(kb) 20000(kb) 30000(kb) 40000(kb)

80bit FB_size:492

96bit FB_size:975

112bit FB_size:1691

128bit FB_size:3104

排序高斯矩陣估計記憶體空間

一般高斯矩陣估計記憶體空間

排序高斯矩陣因數分解實際記 憶體空間

一般高斯矩陣因數分解實際記

憶體空間

40

以實際數據與理論估計高斯消去法呈現整體記憶體的空間,在上圖中 實際與估計的差距在於因數分解中同時包含記錄篩選出來的𝑥,使圖中理 論與實際數據便有了些許的差距,但在 80bit 至 128bit 實際的因數分解上 的整體空間使用量上還是下降了 73.57%至 88.71%。

圖 4.6. 記憶體使用量下降百分比

目前來說以大整數排序的方法改進高斯消去法執行時間上的確已經有 所改進,但在空間上增廣矩陣的密度過於稀疏,所佔記憶體的用量還是很 可觀,整體上來看已將高斯消去法的執行時間與 exclusive or 的搜尋次數下 降。並列出大整數排序之高斯消去法運行結果。

圖 4.7. sort gauss、gauss 時間平均值 80bit

FB_size:492

96bit FB_size:975

112bit FB_size:1691

128bit FB_size:3104

記憶體使用量下降百分比 0.7357 0.8726 0.8997 0.8871

0%

20%

40%

60%

80%

100%

80bit 96bit 112bit 128bit

sort gauss時間平均值 0.03 0.26 1.25 5.32

gauss時間平均值 0.05 0.38 2.31 12.18

000(秒)

002(秒)

004(秒)

006(秒)

008(秒)

010(秒)

012(秒)

014(秒)

41

第5章 結論

論文實作中,將因數分解中 0-1 線性方程組系數整合加以排序將執行 時間下降 56.32%,與理論上的走勢相幅合,並將記憶體的使用量在因數分 解中的實際空間使用量數值下降了 88.71%,每次消去的次數也加快了 32 倍,使高斯消去法在找線性相依的速度可以更快。

在因數分解法中的解 0-1 線性方程組,雖然在小的矩陣上尚未有太大 的差異,但隨著矩陣的大小的成長記憶體與運算量還是非常可觀,在運算 與記憶體空間上的資源使用量是不容小看的。目前已知的因數分解法中的 解 0-1 線性方程組,最大的矩陣為252735215 × 252734215,12-,如果可 以將規格再增加的話,可以將因數分解成果再繼續推進。

在本文中所提之方法在實際運算與空間上都可以下降,對於降低增廣 矩陣的空間使用量上與多執行緒改寫高斯消去法這兩個方向都還有所改進 的空間,以排序的概念改進高斯消去法上,目前是以快速排序法實作,但 排序進行中,許多後面之資料已有部份是有序資料,快速排序法為最差情 況,因而將快速排序法更為插入排序法加以改進。這部份分解方程式組是 因數分解最不容易分散處理之部份,是一個有趣值得研究的主題。

42

參考文獻

[1] D.J. Guan, Experience in Factoring Large Integers Using Quadratic Sieve, available at http://guan.cse.nsysu.edu.tw/mote/gqs, 2003.

[2] J. M. Pollard, Theorems on factorization and primality testing, Proc. Cambridge Philos.

Soc, 76 , pp. 521-528, 1974.

[3] C. Pomerance, Analysis and Comparison of Some Integer Factoring Algorithms, in Computational Methods in Number Theory, Part I, H.W. Lenstra, Jr. and R. Tijdeman, eds., Math. Centre Tract, vol. 154, Amsterdam, pp. 89-139, 1982.

[4] W. Diffie and M. E. Hellman, New Directions in Cryptography, IEEE Transactions on Information Theory, vol. 22, pp. 644–654, 1976.

[5] Taher ElGamal, A Public-Key Cryptosystem and a Signature Scheme Based on Discrete

Logarithms, IEEE Transactions on Information Theory, vol. 31 no. 4, pp. 469–472, 1985.

[6] R.Rivest, A.Shamir, A.Adleman, A Method for Obtaining Digital Signatures and

Public-Key Cryptosystems, Communications of the ACM, vol. 21 no. 2, pp. 120–126,

1978.

[7] J. D. Dixon, Asymptotically fast factorization of integers, Math. Comp, vol. 36, pp. 255–

260, 1981.

[8] C. Pomerace, The quadratic sieve factoring algorithm, Advances in Cryptology:

Proceedings of EUROCRYPT, vol. 84, pp. 169-182, 1984.

[9] C. Pomerance, Smooth Numbers And The Quadratic Sieve, available at http://websites.math.leidenuniv.nl/algebra/sieving.pdf, 2005.

[10] R.D. Silverman, The multiple polynomial Quadratic Sieve, Mathematics of Computation, vol. 48, pp. 329- 339, 1987.

[11] Matthew E. Briggs, An introduction to the general number field sieve, M.S. Thesis, Virginia Polytechnic Institute, Blacksburg, Virginia, 1998.

43

[12] Factorization of a 768-bit RSA modulus, version 1.4 February 18 2010, available at http://eprint.iacr.org/2010/006.pdf.

[13] 金家豪, 通用型數域篩選因數分解法之參數探討, 國立中央大學碩士論文資訊工 程研究所, 2004年.

[14] 侯雅芳, 多個多項式二次篩法的改良, 國立中山大學碩士論文資訊工程所, 2008年.

[15] gmp-man-4.3.2, http://gmplib.org/gmp-man-4.3.2.pdf.

相關文件