Advertisement

An Improved Algorithm for Iterative Matrix-Vector Multiplications over Finite Fields

  • Ceyda MangırEmail author
  • Murat Cenk
  • Murat Manguoğlu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11359)

Abstract

Cryptographic computations such as factoring integers and computing discrete logarithms over finite fields require solving a large system of linear equations. When dealing with such systems iterative approaches such as Wiedemann or Lanczos are used. Both methods are based on the computation of a Krylov subspace in which the computational cost is often dominated by successive matrix-vector products. We introduce a new algorithm for computing iterative matrix-vector multiplications over finite fields. The proposed algorithm consists of two stages. The first stage (preprocessing) sorts the elements of the matrix row by row in ascending order and produces permutation tables. After preprocessing, many consecutive multiplications can be performed by the second stage of the algorithm using sequential additions on vector elements by the guidance of the permutation tables. We show that the preprocessing cost of the proposed algorithm can easily be amortized after several matrix-vector multiplications are performed. We implemented the algorithm using the C++ programming language and compared the performance with a classical method. The proposed algorithm exhibits significant improvement between \(35\%\) and \(67\%\).

Keywords

Matrix-vector multiplication Index calculus algorithm Wiedemann Lanczos 

References

  1. 1.
    Adleman, L.M., DeMarrais, J.: A subexponential algorithm for discrete logarithms over all finite fields. In: Stinson, D.R. (ed.) CRYPTO 1993. LNCS, vol. 773, pp. 147–158. Springer, Heidelberg (1994).  https://doi.org/10.1007/3-540-48329-2_13CrossRefGoogle Scholar
  2. 2.
    Coppersmith, D.: Solving homogeneous linear equations over GF(2) via block Wiedemann algorithm. Math. Comput. 62(205), 333–350 (1994).  https://doi.org/10.1090/S0025-5718-1994-1192970-7MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Joux, A.: Algorithmic Cryptanalysis, 1st edn. Chapman & Hall/CRC, Boca Raton (2009).  https://doi.org/10.1007/3-540-48329-2_13CrossRefzbMATHGoogle Scholar
  4. 4.
    Kleinjung, T., et al.: Factorization of a 768-bit RSA modulus. In: Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6223, pp. 333–350. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-14623-7_18CrossRefGoogle Scholar
  5. 5.
    Kleinjung, T., Diem, C., Lenstra, A.K., Priplata, C., Stahlke, C.: Computation of a 768-bit prime field discrete logarithm. In: Coron, J.-S., Nielsen, J.B. (eds.) EUROCRYPT 2017. LNCS, vol. 10210, pp. 185–201. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-56620-7_7CrossRefGoogle Scholar
  6. 6.
    Montgomery, P.L.: A block lanczos algorithm for finding dependencies over GF(2). In: Guillou, L.C., Quisquater, J.-J. (eds.) EUROCRYPT 1995. LNCS, vol. 921, pp. 106–120. Springer, Heidelberg (1995).  https://doi.org/10.1007/3-540-49264-X_9CrossRefGoogle Scholar
  7. 7.
    Odlyzko, A.M.: Discrete logarithms in finite fields and their cryptographic significance. In: Beth, T., Cot, N., Ingemarsson, I. (eds.) EUROCRYPT 1984. LNCS, vol. 209, pp. 224–314. Springer, Heidelberg (1985).  https://doi.org/10.1007/3-540-39757-4_20CrossRefGoogle Scholar
  8. 8.
    Pomerance, C.: The quadratic sieve factoring algorithm. In: Beth, T., Cot, N., Ingemarsson, I. (eds.) EUROCRYPT 1984. LNCS, vol. 209, pp. 169–182. Springer, Heidelberg (1985).  https://doi.org/10.1007/3-540-39757-4_17CrossRefGoogle Scholar
  9. 9.
    Pomerance, C.: A tale of two sieves. Not. Am. Math. Soc. 43, 1473–1485 (1996)MathSciNetzbMATHGoogle Scholar
  10. 10.
    Wiedemann, D.H.: Solving sparse linear equations over finite fields. IEEE Trans. Inf. Theor. 32(1), 54–62 (1986).  https://doi.org/10.1109/TIT.1986.1057137MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Institute of Applied MathematicsMETUAnkaraTurkey
  2. 2.Department of Computer EngineeringMETUAnkaraTurkey

Personalised recommendations