Abstract
In literature, there are a number of cryptographic algorithms (RSA, ElGamal, NTRU, etc.) that require multiple computations of modulo multiplicative inverses. In this paper, we describe the modulo operation and we recollect the main approaches to computing the modulus. Then, given a and n positive integers, we present the sequence (zj)j≥0, where zj=zj−1+aβj−n, a<n and GCD(a,n)=1. Regarding the above sequence, we show that it is bounded and admits a simple explicit, periodic solution. The main result is that the inverse of a modulo n is given by a−1=⌊im⌋+1 with m=n/a. The computational cost of such an index i is O(a), which is less than O(nlnn) of the Euler’s phi function. Furthermore, we suggest an algorithm for the computation of a−1 using plain multiplications instead of modular multiplications. The latter, still, has complexity O(a) versus complexity O(n) (naive algorithm) or complexity O(lnn) (extended Euclidean algorithm). Therefore, the above procedure is more convenient when a<<n (e.g., a<lnn).
Highlights
The modulo operation returns the remainder of a division, after one number is divided by another number called “modulus”
In literature, there are a number of cryptographic algorithms (RSA, ElGamal, NTRU, etc.) that require multiple computations of modulo multiplicative inverses
We suggest an algorithm for the computation of a−1 using plain multiplications instead of modular multiplications
Summary
The modulo operation returns the remainder of a division, after one number is divided by another number called “modulus”. A modular multiplicative inverse of an integer a is an integer x such that the product ax is congruent to 1 with respect to the modulus n, and it is denoted as ax ≡ 1 (mod n). If a has an inverse modulo n, there are an infinite number of solutions that belong to the congruence class with respect to the said modulus. The solution of Equation (1) has practical applications in the field of public-key cryptography and, in particular, in the Rivest–Shamir–Adleman (RSA) algorithm [1] where encryption and decryption are performed by using a pair of large prime numbers that are multiplicative inverses with respect to a selected modulus. Cryptographic algorithms rely on multiple computations of modulo multiplicative inverses.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.