0% found this document useful (0 votes)
97 views10 pages

Whether X: Computing Square Roots Mod P

This document describes an algorithm for computing square roots modulo a prime number p. It begins by assuming p is an odd prime and that a is a quadratic residue modulo p. It then provides a method to compute the square root of a modulo p by reducing the problem into computing square roots of related values with smaller orders. The algorithm uses properties of the 2-Sylow subgroup to systematically find the desired square root.

Uploaded by

Andy Acct
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views10 pages

Whether X: Computing Square Roots Mod P

This document describes an algorithm for computing square roots modulo a prime number p. It begins by assuming p is an odd prime and that a is a quadratic residue modulo p. It then provides a method to compute the square root of a modulo p by reducing the problem into computing square roots of related values with smaller orders. The algorithm uses properties of the 2-Sylow subgroup to systematically find the desired square root.

Uploaded by

Andy Acct
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Computing square roots mod p

We now have very effective ways to determine


whether the quadratic congruence x 2 ≡ a (mod p), p
an odd prime, is solvable. What we need to
complete this discussion is an effective technique to
a 
compute a solution if one exists,
€ that is, if   = 1.
p
Consequently, for the remainder of this discussion
we will assume that a is a quadratic residue mod p.

Now it turns out that finding a solution to
x 2 ≡ a (mod p) is easy if p ≡ 3 (mod4): we write
p = 4k + 3, then set x ≡ a k+1 (mod p). By Euler’s
Criterion,
€ € p−1
2 2k+ 2 2k+1
a 
€ x ≡a €≡a ⋅a ≡ a ⋅ a ≡   ⋅a ≡ a (mod p)
2

p

so x ≡ a k+1 (mod p) is a solution to the original


p+1
€ k+1
quadratic congruence. That is, a =a 4
is a
square root of a mod p.

Of course, this method fails if p ≡ 1 (mod 4). But we

can further differentiate values of p if instead we
work mod 8: if p ≡ 1 (mod 4), then either
p ≡ 1 (mod 8) or p ≡ 5 (mod 8).


€ €
Consider the latter case, p = 8k + 5, first. By Euler’s
p−1

Criterion, we have that a 2


≡ 1 (mod p), so
p−1 p−1

a ≡ ±1 (mod p).€ If a ≡ 1 (mod p), then setting


4 4

x ≡ a k+1 (mod p) yields a solution since



p+3 p−1

x ≡€a 2k+ 2 ≡ a
€ 2 4
≡a 4
⋅ a ≡ a (mod p).

p−1

If instead, a ≡ −1 (mod p), then


4

€x ≡ 22k+1 a k+1 (mod p) yields a solution since

p−1 p+3
€ 2 4 k+ 2 2k+2
x ≡2 a ≡2 a 2 4

€  2  p−1
≡   ⋅a 4 ⋅a ≡ −1 ⋅−1 ⋅a ≡ a(mod p).
p

We’re still left with the case p ≡ 1 (mod 8). Now we


could continue this development by producing more
€and more complicated formulas for computing the
square root of a mod p, depending on the residue
€ and higher powers of 2,
class of p modulo higher
but thankfully this is unnecessary, as it is possible
to set forth an algorithm that does this
systematically.
Write p − 1 = 2r s, with s odd. Taking a cue from the
methods discussed above, we suggest that
s+1
y ≡ a (mod p) might be a good “first try” at a
2

€ square root for a. Observe that


y 2 ≡ a s+1 ≡ a s ⋅ a (mod p). It follows that since both
€ y 2 and a are quadratic residues mod p, so must a s
be. This reduces our problem to the computation of
€ a square root for b ≡ a s (mod p), for if z 2 ≡ b (mod p),
€ then €
−1 2 s+1 −s
(yz ) €≡ a (mod p)
≡ a ⋅ a

and so yz −1 is a square root of a mod p.



On the face of it, it doesn’t look like we have gained
much by transferring the problem of computing a
€ square root y of a to that of computing a square root
z of b. But indeed we have, since

p−1 a
2r−1 s 2r−1
b = (a ) =a 2
≡   ≡ 1 (mod p) ⇒ ord pb|2r−1
 p

so that

ord pz = 2 ⋅ ord pb|2r ⇒ ord pz is a power of 2 ≤ 2r

which severely limits the possible values for z.



For those who know some group theory, notice also
that the set of nonzero residue classes mod p whose
order divides a power of 2 is a subgroup of the
group of units mod p. That is, if z1 and z 2 have
orders mod p equal to 2r1 and 2r2 , respectively, then
the order of z1z 2 is the larger of 2r1 and 2r2 , hence is
also a power of 2; further, € the inverse
€ of y1 has
r1 € € −1 2r 2r −1
order 2 as well (since (z ) ≡ (z ) ≡ 1). In fact,
this€subgroup is called the€ 2-Sylow
€ subgroup of the
group of units mod p. €

We will denote€the set of elements y whose order
mod p is a power of 2 as S. (This means that S is
the 2-Sylow subgroup of the group of units mod p.)
It may seem that we would have to turn to finding
a primitive root mod p to get at the structure of the
elements in S, but it turns out to be much easier:

Lemma If n is any quadratic nonresidue mod p,


s 2 3 2r
and m ≡ n (mod p), then S = {m,m , m ,K, m }.

p−1
2r−1 s 2r−1
Proof By EC, m = (n ) =n 2
≡ −1 (mod p).
€ But by Fermat’s €
Little Theorem,
2r s 2r
m = (n ) = n p−1 ≡ 1 (mod p), so we must have that
ord p m€= 2r . Thus the first 2r powers of m are
distinct mod p and all lie in S. But as there are
€ ϕ (2 k ) elements of order 2 k, and each of these orders
€ €

€ €
is a factor of 2r , the total number of elements whose
order divides 2r is

r
€ ∑ ϕ (2 k ) = ∑ ϕ (d) = 2r ,
€ k=0 d|2r

hence we have acccounted for all the elements of S.


The result follows. //

Returning to our original problem: to solve
x 2 ≡ a (mod p), we search instead for a square root z
s+1
s
of b ≡ a (mod p), so that with y ≡ a (mod p), we
2

can then compute x ≡ yz −1 (mod p), which will be


€ the desired square root of a (since y 2 ≡ z 2a (mod p).)
€ € 2r −1, z will also lie in S and
As the order of b divides
€ power of m = n s , where n is some
is thus some
quadratic nonresidue mod€p. Indeed, z ≡ m k (mod p)
z 2 ≡ m 2k (mod p). That is, b must be
implies that b ≡ €
some even power
€ of m. Halving this even power
will locate the desired value of€ z.
Now€one way to proceed with finding z is to simply
search through all even powers of m until b
appears. This will take no more than r steps. But
in fact, there is a procedure that will accomplish
this without having to calculate the corresponding
powers of m. It is based on the
Lemma If ord p m = 2r and ord p b = 2u with u < r,
r−u
then ord p (m 2 b) = 2v with v < u.

€ € r 2r−1
Proof Since ord p m = 2 , we have m ≡/ 1 (mod p)
€ but (m 2r−1 )2 ≡ m2r ≡ 1 (mod p), whence
2r−1 2u−1
m ≡ −1 (mod p). Similarly, b ≡ −1 (mod p).
€ €
Therefore,

2r−u 2u−1 2r−1 2u−1
€ (m b) ≡m b
€ ≡ (−1)(−1) ≡ 1 (mod p),

2r−u
which implies that the order of m b mod p must
€ divide 2u−1. //

The importance of this € observation is that if b = 1,


finding z is trivial, for then z = 1. If b ≠ 1, the

lemma allows us to adjust the value of b by
multiplication by a perfect square (namely, an even
power of m), which replaces b with a new value
r−u
b′ = m2 b having smaller order than b. This
adjustment makes it no more difficult to find a
r−u−1
square root (z gets “adjusted” by a factor of m2 ),
€ but as the order of b′ is smaller, it means that b′ is
in some sense “closer” to 1 (whose order is the
smallest possible). By repeating this process, we

eventually reach a stage where b has been reduced
€ €
to 1, and the computation is complete.
We illustrate with some examples:

Example: x 2 ≡ 2 (mod41)

Factor 41 – 1 = 23 ⋅ 5 (so that r = 3 and s = 5), and


5+1
€ y ≡ 2 ≡ 8 (mod 41) and b ≡ 25 ≡ 32 (mod 41).
put 2

We know that b has order dividing 23−1; since



b 2 ≡ 322 ≡ −1 (mod 41), b has order equal to 22 .
€ Next, take n = 3 as a€quadratic nonresidue, noting
by QR that €
€ €
 3   41   −1 
€   =   =   = −1
 41   3   3 

and set m ≡ 35 ≡ 38 (mod 41). We know that z


2
satisfies
€ z ≡ b (mod 41), but by the lemma,
multiplication of this last congruence by
r−u 3−2
€m2 ≡ 382 ≡ 9 (mod 41) serves to adjust the value
of
€ b to b′ ≡ 9b ≡ 1 (mod 41) and adjusts z by the factor
r−u−1 3−2
m2 ≡ 382 ≡ 38 (mod 41). Also, note that
€ replacing z with z ′ ≡ 38z (mod 41) means that
€ x ≡ yz −1 ≡ 8 ⋅ 38z′ −1 (mod 41).

Repeating € this procedure, we have that
b′ ≡ 1 (mod41), so a square root is z ′ = 1, yielding
€ x ≡ 8 ⋅ 38 ⋅1 ≡ 17(mod 41) in one iteration.

€ €

We can make this computation more amenable to
automation by organizing the steps as follows
(here, ≡ means congruence mod p):

Given: p = 41 Initialize: r=3 ( p − 1 = 2r s)


€ a=2 s=5
3 
n≡3 (   = −1)
€  41 
m ≡ 38 ( m ≡ n s )

Iterate (until ui = 0 , i.e., bi = 1):€
€ €
i bi ord41 bi = 2ui xi
€ s+1
0 32 (b0 ≡ a s ) 2 2
8 (x0 = y ≡ a 2
)
r−ui € r−ui −1
1 1 (bi+1 ≡ m2 bi ) 20 17( xi+1 ≡ m 2 xi )
€ € €
The desired solution to the original congruence
€ appears in the lower
€ right cell
€ of the table.
Example: x 2 ≡ 7 (mod113)

Given: p = 113 Initialize: r = 4 ( p − 1 = 24 ⋅ 7)


€ a=7 s=7
 3 
n≡3 (  = −1)
€ 113 
m ≡ 40 ( m ≡ n s )

Iterate (until ui = 0 , i.e., bi = 1):€
€ €
ui
i bi ord bi = 2 xi
s+1
0 –1€(b0 ≡ a s ) 1
2 28 (x0 = y ≡ a 2
)
r−ui r−ui −1
1 1 (bi+1 ≡ m2 bi ) € 20 32 ( xi+1 ≡ m 2 xi )
€ € €

€ € €
Thus x ≡ 32 (mod113).

€ €


Example: x 2 ≡ 103 (mod641)

Given: p = 641 Initialize: r = 7 ( p − 1 = 27 ⋅ 5)


€ a = 103 s=5
 3 
n≡3 (  = −1)
€ 641 
m ≡ 243 ( m ≡ n s )

Iterate (until ui = 0 , i.e., bi = 1):€
€ €
ui
i bi ord bi = 2 xi
s+1
€ (b ≡ a s )
0 625 2 4
463 (x0 = y ≡ a 2
)
0
r−ui r−ui −1
1 –1 (bi+1 ≡ m2 bi ) € 21 365( xi+1 ≡ m 2 xi )
€ € 0

2 1 2 198
€ € €

€ Thus x ≡ 198 (mod641).


€ €

You might also like