Corollary 2.5.2 Suppose p and q are prime, and p =2q + 1. Suppose g Є Z*_p is not a
primitive element, and g ≠±1(mod p). Then (-g) is a primitive element.
This means that we have an efficient deterministic algorithm to find a primitive element
for when p and (p - 1)/2 are both prime.
It is not so easy to verify that elements are primitive if the factorization of p – 1 is
not known. For this reason, the designer of a cryptosystem will often construct p in such
a way that the factorization of p - 1 is known. For example, it is often desirable to
implement a cryptosystem in Z_p, where p =2q + 1 and p and q are both prime. One
reason why this might be done is that it ensures that the system will not be vulnerable
to a Pohlig-Hellman attack on the discrete logarithm problem. To find such a p, the
designer of the system will choose a random odd value q, and test both p and p =2q +1
for primality using one of the probablistic primality tests. If either of p or q is found
to be composite, then a new random value of q is chosen and the process is repeated.
As another example, several protocols are implemented in Z_p where p - 1 has a prime
divisor q of a specified size. A convenient realization of such a system would be to take
p =2qr + 1, where p, q and r are all primes. if q is to be a 160-bit prime and p is to be a
512-bit prime, then r will be a prime of approximately 352 bits. Here, the designer of the
system would begin by choosing random values q and r of the appropriate size, and then
define p =2qr + 1. The three integers p, q and r will all be tested for primality using a
probabilistic primality testing algorithm.
Yorumlar
Yorum Gönder
yorumlarınızın okunduğuna emin olun:) Erhan DUMAN