Accelerated Search for Gaussian Generator Based on Triple Prime Integers 1

Problem statement: Modern cryptographic algorithms are based on complexity of two problems: Integer factorization of real integers and a Discrete Logarithm Problem (DLP). Approach: The latter problem is even more complicated in the domain of complex integers, where Public Key Cryptosystems (PKC) had an advantage over analogous encryption-decryption protocols in arithmetic of real integers modulo p: The former PKC have quadratic cycles of order O (p2) while the latter PKC had linear cycles of order O(p). Results: An accelerated non-deterministic search algorithm for a primitive root (generator) in a domain of complex integers modulo triple prime p was provided in this study. It showed the properties of triple primes, the frequencies of their occurrence on a specified interval and analyzed the efficiency of the proposed algorithm. Conclusion: Numerous computer experiments and their analysis indicated that three trials were sufficient on average to find a Gaussian generator.


INTRODUCTION
A Discrete Logarithm problem, {DLP, for short}, is defined as follows: For real integers g>1, p and h>0 to find an integer x such that satisfies the equation: This is a computationally formidable problem [7,8,10] especially if the integer g is a primitive root (generator) [1,2] . The complexity of the DLP is the basis for secret-key establishment in modern cryptography [3,6,11,12] . An RSA cryptographic algorithm in the domain of complex integers is described in [4] .
The DLP in the domain of complex integers (called Gaussian integers) is an extension of the problem (1): To find a real integer x such that holds G x mod p = h (2) Where: G and H = Gaussian integers p = A prime As in (1), a solution of Eq. 2 is computationally intense especially if the Gaussian integer G is a primitive root or generator as described in Definition 2 below. Definition 1: If X is a Gaussian integer and m is the smallest positive integer, for which the following relation holds: then m is defined as the order of X: Definition 2: If the order of Gaussian integer G equals: then G is called a Gaussian primitive root or generator, (GG, for short). There are currently no known deterministic algorithms that compute a GG. However, if p is appropriately selected, then the search for a GG can be substantially simplified.

Triple primes and their properties:
The algorithm searching for Gaussian generator (9-12) is based on the following properties of triple primes.

Lemma 1:
If a prime p≥43, then for every TP the following condition holds: pmod60 = 7 or 43 (7) If (7) does not hold, then either q or r are not integers or not primes. For applications, it is necessary to know the occurrence of the TP (their density) for large p. The Table 2 provides such information.
Remark: CPU times T required to find a D digit-long TP are provided in milliseconds (ms).

Lemma 2: If n is an odd integer and:
• n≥5 is not divisible by 3, then 24 divides n 2 -1 • n≥23 and (n+1)/4 is a prime, then (n-1)/6 is an integer Proof: n-1 and n+1 are two consecutive even integers, hence one of them is divisible by 4 and their product is divisible by 8. In addition, either n-1 or n+1 is divisible by 3. Therefore, if n is a Blum prime, then: where both factors in (8) are integers. Suppose there is n 1 ≥23, for which q 1 = (n 1 +1)/4 is a prime, but r 1 = (n 1 -1)/6 is not an integer. Since n 1 -1 is even, hence 3 does not divide n 1 -1. Therefore three divides the prime q 1 . This contradiction proves Lemma 2. More details are provided in Fig. 1.  Step 2: Select integers such that hold: a ≠ b; 1≤a,b≤p-1; a+b ≠ p and (a 2 + b 2 )mod p ≠ 1 Step 3: For k = {2, 3, q} compute: Step 4: If k ≠ q and {c = 0 or d = 0 or |c| = |d|}, then goto Step 2; {(a, b) is not a generator}.

Analysis of basic results:
Numerous computer experiments demonstrated that the algorithm (9-12) finds a Gaussian generator after three trials of (a, b) on average.
Proof: If G is a GG, then G z mod p is also a GG if z is co-prime with p 2 -1.
Euler's totient function shows how many integers z satisfy this requirement:
Numerous computer experiments demonstrate that, on average, the algorithm (9-12) finds a GG after a mere three trials, with a standard deviation of 2.44.
Illustrative example: The following numeric example demonstrates the most important features of the search algorithm and quadratic order of the GG. Suppose a triple prime p = 11443.
Remark: CPU times T required to compute a Gaussian generator are provided in micro-seconds (µs).
All computations were performed on a PC with the following specifications: Intel Pentium dual-core processor; 2.16 GHz, 1 MB l2 cache and 2GB DDR2Main Memory. Table 5 shows that if a GG=(574467, 342161) modulo triple prime p=2,004,763, then ord(GG) = 4,019,074,686,168.

CONCLUSION
In various public-key cryptographic protocols users select a large prime and a corresponding generator g that are computationally-intense problems. Selection of a triple prime p is a computationally challenging task. Fortunately, the triple prime p must be selected only on a system-design level. After the triple prime p of a specified size is computed, the system designer can periodically change Gaussian generators. This policy provides additional cyber-immunity to cryptographic protocols.