Summary and Conclusion
Summary and Conclusion
Chapter 2
Related Work and Background
2.1 Introduction
In the previous chapter we stated that the security of public-key
cryptographic system is dependent on solving a mathematical problem.
For RSA, it is finding the prime factors of a large number, which about
300-digit long/1024-bit long. And for Diffie-Hellman key-exchange it is
dependent on solving the Discrete Logarithm Problem(DLP). Now, it is
evident that to solve these problems we have to solve a large matrix of
linear equations. This matrix is a sparse matrix whose entries are in
GF(2)(Galois Field of 2 elements). This sparse linear system of
equations over GF(2) arises out of the Sieving Module of Number Field
Sieve (NFS) [6] or Functions Field Sieve (FFS)[7].
In this chapter we are going to look over some of the methods that can
be employed in order to solve that linear system of equation. We are
also going to look over the alternative method which is best suited for
our need.
2.2 Gaussian-Elimination
Gaussian-Elimination is the standard method for solving a system of
linear equations. This method can also be used for finding the Rank of
a matrix and also the inverse of an invertible matrix. Gaussian-
Elimination method is composed of two steps. The first step reduces
the matrix of system of linear equations into a triangular or echelon
form. In the second step it used back-substitution to solve the given
system of linear equations. The time complexity of this method is O(n),
where n is the size of the system of linear equations.
In the first of Gaussian-Elimination we triangulate the matrix of linear
systems of equations. As a result a large amount of matrix elements
are modified. In our case, the sparsity property of the matrix will be
destroyed. Also the space complexity will increase as we will have to
store all of the elements of the matrix. Hence, Gaussian-Elimination
method is not suitable for our need.
Fig-5 Gaussian-Elimination
Chapter 3
For our project we are carrying out the Block Wiedemann algorithm
and this matrix is the input. Since, we are not implementing sieve-
based integer factoring algorithm, so we are generating it ourselves
instead. We are storing the entries of the matrix in Compressed Sparse
Row format. The entries of the matrix will in GF(2). So the first
element of each row represents how many ones are there in that row.
After that index of each nonzero element is represented. The order of
indices is non decreasing.