Lecture Implementations
The efficiency of a particular cryptographic scheme based on any one of the algebraic structures will depend on a number of factors, such as parameter size, time- memory tradeoffs, processing power available, software and/or hardware optimization, and mathematical algorithms. This lecture is concerned primarily with mathematical algorithms for efficiently carrying out computations in the underlying algebraic structure.
The algorithms described in this lecture are those which, for the most part, have received considerable attention in the literature. Although some attempt is made to point out their relative merits, no detailed comparisons are given.
Outline Prime Number Issue Exponentiation Exponent Recoding Multi-Exponentiation Chinese Remainder Theorem for RSA Montgomery Reduction Method
1 Prime Number Issue
1.1 Miller-Rabin Test
1.1 Miller-Rabin Test (Continued)
1.2 Prime Number Generation Prime number generation differs from primality testing as before, but may and typically does involve the latter. The former allows the construction of candidates of a fixed form which may lead to more efficient testing than possible for random candidates.
1.2.1 Random Search for Probable Primes
1.2.1 Random Search for Probable Primes (Continued)
1.2.2 Strong Primes
1.2.2 Strong Primes (Continued)
1.2.3 Generating DSA Primes
1.2.3 Generating DSA Primes (Continued)
2 Exponentiation
2.1 Problem Model Addition Chains
2.1.2 Addition–Subtraction Chains
2.1.3 Addition Sequences and Vector Addition Chains
2.1.3 Addition Sequences and Vector Addition Chains (Continued)
2.2 Techniques for General Exponentiation The Binary Method
2.2.1 The Binary Method (Continued)
2.2.2 k-ary Method
2.2.2 k-ary Method (Continued)
2.2.3 Sliding-Window Exponentiation
2.2.3 Sliding-Window Exponentiation (Continued)
2.3 Fixed-Exponent Exponentiation Algorithms There are numerous situations in which a number of exponentiations by a fixed exponent must be performed. Examples include RSA encryption and decryption, and ElGamal decryption.
2.3 Fixed-Exponent Exponentiation Algorithms (Continued)
2.4 Fixed-Base Exponentiation Algorithms
2.4.1 Fixed-Base Windowing Method
2.4.1 Fixed-Base Windowing Method (Continued)
2.4.2 Fixed-Base Euclidean Method
2.4.2 Fixed-Base Euclidean Method (Continued)
3 Exponent Recoding Another approach to reducing the number of multiplications in the basic binary method is to replace the binary representation of the exponent e with a representation which has fewer non-zero terms. Since the binary representation is unique, finding a representation with fewer non-zero components necessitates the use of digits besides 0 and 1. Transforming an exponent from one representation to another is called exponent recoding.
3.1 Signed-Digit Representation
3.1 Signed-Digit Representation (Continued)
Table look-up for the non-adjacent form exponent recoding.
3.1 Signed-Digit Representation (Continued)
3.2 The Binary Method Using NAF
4 Multi-Exponentiation There are a number of situations which require computation of the product of several exponentials with distinct bases and distinct exponents, for example, verification of ElGamal signatures. Rather than computing each exponential separately, we consider the method to do them simultaneously.
4.1 Shamir Trick
4.1 Shamir Trick (Continued)
4.2 Extended Shamir Trick
5 Chinese Remainder Theorem for RSA
5 Chinese Remainder Theorem for RSA (Continued)
6 Montgomery Reduction Method
6.1 Montgomery Multiplication
6.1 Montgomery Multiplication (Continued)
6.2 Montgomery Exponentiation
6.2 Montgomery Exponentiation (Continued)
Thank you!