Progress Report— 11/06 宗慶
Major Steps of GNFS Polynomial Selection Sieving Matrix Reduction Find ‘good’ polynomials to speed up sieving Sieving Find sufficiently many relations to produce a matrix Matrix Reduction Find linear dependencies mod 2 among the rows of the matrix Square Root Calculate a square root in the number field for each dependency, until the factorization is found
Problem Statement Find kernels of large and sparse linear systems over GF(2)
Matrix Reduction A problem of solving a large sparse system of homogeneous linear equations over GF(2) Very large…... Block Wiedemann or Block Lanczos algorithms are popular For NFS, if there are k primes in the rational factor base, l first degree prime ideals of Z[θ] in the algebraic factor base, and m first degree prime ideals in the quadratic character base, then each “number” sieved will be comprised of (1+k+l+m) binary bits, determined by the sign and the respective bases.
Matrix Reduction (cont’d) According to “A Kilobit SNFS Factorization, ASIACRYPT’07” Did this step in parallel as four independent jobs on different clusters at various location by using block Wiedemann algorithm. 66718354X66718154 matrix were sought
Block Wiedemann Algorithm A Parallel GNFS Integrated with the Block Wiedemann’s Algorithm for Integer Factorization (DASC’06)
Why Cell High memory bandwidth SIMD DMA 陳君明老師的成果 IBM P595 with 64 cores & 256GB memory 但若使用 32 核心,由於某些硬體因素,執行效率甚差 SIMD Block edition + SIMD DMA Many TOP clusters are composed of Cell.
Resource GMP BLAS Prof. 陳君明’s openMP block Wiedemann source code Sage A free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface. LinBox A C++ template library for exact, high-performance linear algebra computation with dense, sparse, and structured matrices over the integers and over finite fields. Givaro A C++ library for arithmetic and algebraic computations GMP BLAS Cell Blas library