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\%\).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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_13
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-7
Joux, A.: Algorithmic Cryptanalysis, 1st edn. Chapman & Hall/CRC, Boca Raton (2009). https://doi.org/10.1007/3-540-48329-2_13
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_18
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_7
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_9
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_20
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_17
Pomerance, C.: A tale of two sieves. Not. Am. Math. Soc. 43, 1473–1485 (1996)
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.1057137
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Mangır, C., Cenk, M., Manguoğlu, M. (2019). An Improved Algorithm for Iterative Matrix-Vector Multiplications over Finite Fields. In: Lanet, JL., Toma, C. (eds) Innovative Security Solutions for Information Technology and Communications. SECITC 2018. Lecture Notes in Computer Science(), vol 11359. Springer, Cham. https://doi.org/10.1007/978-3-030-12942-2_27
Download citation
DOI: https://doi.org/10.1007/978-3-030-12942-2_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-12941-5
Online ISBN: 978-3-030-12942-2
eBook Packages: Computer ScienceComputer Science (R0)