Tải bản đầy đủ (.doc) (42 trang)

Về thặng dư bình phương luận văn thạc sĩ toán học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (276.9 KB, 42 trang )

1

B GIO DC V O TO
TRNG I HC VINH

D ngọc uy liêm

Về thặng d bình phơng
Luận văn thạc sĩ toán học

NGH AN - 12.2011
LI NểI U
Gi s cho p l mt s nguyờn t l, a l s nguyờn t cựng nhau vi p. Vn
t ra l: khi no a l s chớnh phng modulo p? Vn ny khụng ch cú giỏ
tr lý thuyt, m nh ta s thy v sau, cú nhiu ng dng quan trng. nghiờn


2

cứu vấn đề đặt ra, công cụ quan trọng là các ký hiệu Legendre và Jacobi mà ta sẽ
xét trong luận văn này.
Ngoài phần mục lục, mở đầu và tài liệu tham khảo, cấu trúc của luận văn
gồm 3 chương:
Chương 1: Ký hiệu Lagendre
Chương 2: Ký hiệu Jacobi
Chương 3: Số giả nguyên tố Euler
Luận văn đã trình bày các khái niệm, tính chất của ký hiệu Legendre và ký
hiệu Jacobi, với những nội dung chủ yếu sau đây:
1. Tính chất của thặng dư bình phương.
2. Tiêu chuẩn Euler.
3. Bổ đề Gauss.


4. Luật thuận, nghịch bình phương.
5. Kiểm tra Pepin
6. Tính chất ký hiệu Jacobi.
7. Thuật toán tính ký hiệu Jacobi.
8. Thuật toán tính căn bậc hai modulo p.
Ngoài ra, luận văn còn giải quyết một số bài toán cụ thể có liên quan đến số
giả nguyên tố, số giả nguyên tố mạnh, số Carmichael, số giả nguyên tố Euler với
các ký hiệu Legendre và Jacobi và ứng dụng các ký hiệu này để nghiên cứu về số
chính phương modulo p.
Những nội dung giới thiệu ở trên không những có giá trị về mặt lý thuyết mà
còn có nhiều ứng dụng quan trọng trong Số học thuật toán nói riêng và trong Số
học nói chung. Nhờ đó, Toán học đã thúc đẩy được sự phát triển, tạo ra nhiều thành
tựu mới trong đời sống và kỹ thuật: thông tin, mật mã, khoa học máy tính…
Luận văn này được hoàn thành dưới sự hướng dẫn và chỉ bảo tận tình của
PGS.TS Nguyễn Thành Quang. Em xin chân thành bày tỏ lòng biết ơn sâu sắc và
thành kính nhất đến Thầy. Có thể nói sự tận tình chỉ dạy của Thầy đã giúp em mở


3

mang thêm kiến thức, hiểu được sự sâu rộng của bộ môn Toán nói chung và chuyên
ngành Đại số nói riêng. Thầy không chỉ hướng dẫn em nghiên cứu khoa học mà
Thầy còn động viên tạo mọi điều kiện cho em trong suốt quá trình làm luận văn.
Tác giả xin trân trọng cảm ơn Khoa Toán học, Khoa Đào tạo Sau đại học Trường Đại học Vinh đã giúp đỡ và tạo điều kiện cho em hoàn thành luận văn này.
Tác giả xin trân trọng cảm ơn Trường Đại học Sài Gòn đã quan tâm giúp đỡ
và tạo điều kiện thuận lợi cho mỗi học viên chúng em hoàn thành được nhiệm vụ
của khóa học sau đại học.
Tác giả xin chân thành cảm ơn quí thầy cô, các bạn đồng nghiệp và gia đình
đã động viên giúp đỡ em trong quá trình học tập và làm luận văn.
Trong quá trình làm luận văn chắc chắn không tránh khỏi những hạn chế và

thiếu sót. Rất mong nhận được sự góp ý của thầy cô và các bạn đồng nghiệp để
luận văn được hoàn thiện hơn.
Nghệ An, tháng 1 năm 2012
Học viên
Dư Ngọc Uy Liêm


4

CHƯƠNG 1
KÝ HIỆU LEGENDRE

1.1. Tính chất của thặng dư bình phương
1.1.1. Định nghĩa. Giả sử m là số nguyên dương. Số a được gọi là một thặng dư
bình phương của m nếu (a,m)=1 và đồng dư x2 ≡a(mod m) có nghiệm. Nếu ngược
lại, ta nói a là không thặng dư bình phương của m.
Ta sẽ chứng tỏ rằng, nếu p là một số nguyên tố lẻ, trong số các số 1,2,…,p-1
có đúng một nửa là thặng dư bình phương.
1.1.2. Bổ đề. Giả sử p là số nguyên tố lẻ và a là số nguyên không chia hết cho p.
Khi đó, phương trình đồng dư sau đây không có nghiệm, hoặc có đúng hai nghiệm
không đồng dư theo modulo p:
x2 ≡ a(mod p).
Chứng minh. Giả sử có nghiệm x = x0. Khi đó, ta chứng minh rằng x = - x 0 là một
nghiệm không đồng dư với x0. Ta sẽ chỉ ra rằng, nghiệm tùy ý khác x = x 1 đồng dư
với x0 hoặc - x0. Thật vậy, ta có:
x02 ≡ x12 ( mod p ) .
Tức là
x02 − x12 = ( x0 + x1 ) ( x0 − x1 ) ≡ 0 ( mod p ) .
Do đó, hoặc p| (x0 + x1), hoặc p| (x0 – x1), có điều phải chứng minh. ■
1.1.3. Định lý. Nếu p là một số nguyên tố lẻ, thì trong các số 1,2,…p – 1 có đúng

p −1
thặng dư bình phương.
2

Chứng minh. Để tìm tất cả các thặng dư modulo p trong các số 1,2,…p – 1, trước
tiên ta bình phương các số đó và xét các thặng dư dương bé nhất modulo p của các
kết quả nhận được. Các thặng dư dương bé nhất này là tất cả các thặng dư bình


5

phương trong các số từ 1 đến p-1. Giả sử a là một thặng dư như vậy. Vì phương
trình đồng dư x 2 ≡ a (mod p ) có đúng hai nghiệm, nên trong số (p - 1) bình phương
đang xét, phải có hai bình phương thặng dư a: Số thặng dư bình phương đúng bằng
p −1
.■
2

Để xét các thặng dư bình phương, người ta thường dùng các ký hiệu quan
trọng mà ta sẽ nghiên cứu trong chương này.

1.2. Ký hiệu Legendre
1.2.1. Định nghĩa. Giả sử p là một số nguyên tố lẻ và a là một số nguyên không
a 

chia hết cho p, ký hiệu Legendre   được định nghĩa như sau:
 p

 a   1,
 p  =  −1, nếu a là thặng dư bình phương của p

  
nếu ngược lại.

Ví dụ: Ta tính được:
1  3   4  5  9 
11 = 11 = 11 = 11 = 11 = 1;
         
 2   6   7  8  10
11 = 11 = 11 = 11 = 11 = −1.
         
Tiêu chuẩn sau đây thường được dùng để chứng minh các tính chất của ký
hiệu Legendre.
1.2.2. Định lý (Tiêu chuẩn Euler). Giả sử p là số nguyên tố lẻ và a là số nguyên
dương không chia hết cho p. Khi đó
p −1
a 
2

a
( mod p ) .
 p
 


6

a 

Chứng minh. Trước tiên, giả sử rằng   = 1 . Khi đó, đồng dư x 2 ≡ a (mod p )
 p

có nghiệm x= x0. Theo định lý Fermat bé, ta có:

a

p −1
2

=(x

2
0

)

p −1
2

= x0p −1 ≡ 1 ( mod p ) .

a 

Chỉ còn phải xét trường hợp   = −1 . Khi đó, đồng dư x2 ≡ a(mod p) vô
 p
nghiệm. Với mỗi i sao cho 1 ≤ i ≤ p − 1 , tồn tại duy nhất j, 1 ≤ j ≤ p − 1 để ij≡a (mod
p). Rõ ràng i ≠ j , nên ta có thể nhóm các số 1,…, p-1 thành

p −1
cặp với tích từng
2


cặp đồng dư a modulo p. Nhân các cặp này với nhau ta được:

(

p − 1) ! ≡ a

p −1
2

( mod p ) .

Từ định lý Wilson ta có:
−1 ≡ a

p −1
2

( mod p ) .

Định lý được chứng minh. ■
Những tính chất sau đây cho phép tính được dễ dàng ký hiệu Legendre.
1.2.3. Định lý . Giả sử p là một số nguyên tố lẻ, a và b là các số nguyên không chia
hết cho p. Khi đó:
(mod p) thì  a 

(i)

Nếu

(ii)


 a  b   ab
 p  p =  p  ;
    

(iii)

a 2 
 p  = 1.
 

a≡b

b 
=
 p  p ;
   


7
Chứng minh. (i). Nếu a ≡ b(mod p ) thì x 2 ≡ a (mod p ) có nghiệm nếu và chỉ nếu

a 

b 

x 2 ≡ b(mod p ) có nghiệm. Do đó   =   .
 p  p
(ii). Từ tiêu chuẩn Euler ta có


p −1
a 
2
 p  ≡ a ( mod p ) ,
 

p −1
b 
2
 p  ≡ b ( mod p ) ,
 

p −1
 ab 
2
 p  ≡ ab ( mod p ) .
 

Như vậy,
p −1 p −1
p −1
a  b 
 ab 
2
2
2 ≡

a
b
=

ab
(
)
 p  p
 p  ( mod p ) .
  
 

Vì giá trị của ký hiệu Legendre chỉ có thể là ±1 nên ta có đẳng thức cần
chứng minh.
a 

(iii). Vì   = ±1 nên từ phần trên ta có
 p
a 2  a  a 
  =  p   p  = 1.
p    

Định lý được chứng minh. ■
Định lý trên cho thấy rằng tích của hai thặng dư bình phương hoặc hai không
thặng dư bình phương là một thặng dư bình phương, tích của một thặng dư bình
phương và một không thặng dư bình phương là một không thặng dư bình phương.
Tiêu chuẩn Euler cho biết khi nào thì các số nguyên lẻ nhận -1 là thặng dư
bình phương.
1.2.4. Định lý. Nếu p là số nguyên tố lẻ thì

 −1  1, khi p ≡ 1(mod 4)
 p  =  −1,
  



8
khi p ≡ -1(mod 4).
Chứng minh. Theo tiêu chuẩn Euler ta có:
p −1
 −1
2


1
(
)
( mod p ) .
p 
 

Nếu p ≡ 1(mod 4) thì p = 4k+1 với k nguyên nào đó. Như vậy,

( −1)

p −1
2

= ( −1)

2k

= 1.

Nếu p ≡ -1(mod 4) thì p = 4k -1 với k nguyên nào đó. Như vậy,


( −1)

p −1
2

= ( −1)

2 k −1

= −1.

 −1
Tức là   = −1. ■
p 
1.2.5. Định lý (Bổ đề Gauss). Giả sử p là số nguyên tố lẻ và (a,p) =1. Nếu s là số
các thặng dư dương bé nhất của các số nguyên a, 2a…,

p −1
p
a lớn hơn , thì
2
2

a 
s
 p  = ( −1) .
 
Chứng minh. Trong số các thặng dư dương bé nhất của các số nguyên a, 2a…,
p −1

p
a , giả sử u1, u2,…us là các thặng dư lớn hơn
, và v1, v2,…vt là các thặng dư
2
2

nhỏ hơn

p
p−2
, nên tất cả các thặng dư dương bé
. Vì (ja,p)=1 với mọi j, 1 ≤ j ≤
2
2

nhất nói trên đều nằm trong tập hợp 1,2,…p-1.


9

Ta sẽ chứng tỏ rằng, p – u1, p – u2, p – us, v1,v2,…, vt, chính là tập hợp các số
1, 2, …,

p −1
p −1
p −1
xếp theo thứ tự nào đó. Có cả thảy
số không vượt quá
,
2

2
2

nên chỉ còn phải chứng minh rằng không có hai số nào đồng dư với nhau.
Rõ ràng không có hai số ui nào, cũng như không có hai số vj nào đồng dư với
nhau modulo p. Thật vậy, nếu ngược lại, ta sẽ có đồng dư ma ≡ na(mod p) với m, n
dương nào đó không vượt quá

p −1
. Vì (a,p) = 1 nên từ đó suy ra m ≡ n(mod p).
2

Điều này mâu thuẫn.
Tương tự như trên, có thể thấy rằng không có p – ui nào đó đồng dư với v1.
Vậy ta có:

( p − u ) ( p − u ) ... ( p − u ) v ...v
1

2

s

1

t

 p −1
≡
÷! ( mod p ) .

 2 

Từ đó suy ra:

( −1)

s

 p −1
u1u2 ...us v1v2 ...vt ≡ 
÷! ( mod p ) .
 2 

Mặt khác, vì u1, u2,…,us, v1, v2,…,vt là các thặng dư dương bé nhất của a, 2a,
…,

p −1
a nên:
2

u1u2 ...us v1v2 ...vl ≡ a

p −1
2

 p −1

÷! ( mod p ) .
 2 


Như vậy ta có:

( −1)

s

a

p −1
2

 p −1  p −1

÷! ≡ 
÷! ( mod p ) .
 2   2 

  p −1 
Vì  p, 
÷!÷ = 1 nên suy ra
2





10

( −1)


s

a

p −1
2

≡ 1 ( mod p ) .

Tức là:

a

p −1
2

≡ ( −1)

s

( mod p ) .

Định lý suy ra từ tiêu chuẩn Euler. ■
1.2.6. Định lý. Nếu p là một số nguyên tố lẻ thì
p −1
2 
8
 p  = ( −1) .
 
2


Như vậy, 2 là thặng dư bình phương của mọi số nguyên tố dạng p ≡ ± 1(mod
8) và là không thặng dư bình phương của mọi số nguyên tố dạng p ≡ ± 3(mod 8).
Chứng minh. Áp dụng tiêu chuẩn Gauss, ta cần tính số thặng dư dương bé nhất lớn
hơn p của dãy số
2

1.2, 2.2,...,

p −1
.2.
2

Vì các số đều nhỏ hơn p nên các thặng dư dương bé nhất của mỗi số trùng
với chính nó. Như vậy, ta chỉ cần tính số của dãy lớn hơn

s=

p
. Số các số đó là:
2

p −1  p
− 
2
4

(trong đó [ ] chỉ phần nguyên). Như vậy ta có:
p −1  p 
2 


2  4  .
 p  = ( −1)
 

Ta kiểm tra đồng dư thức sau đây bằng cách phân ra các trường hợp p ≡ 1, 3,
5, 7(mod 8)


11

p − 1  p  p2 − 1
− ≡
( mod 2 ) .
2
8
4

Từ đó ta có:
p −1
2 
8
 p  = ( −1) .
 
2

p2 − 1
Bằng cách tính lớp đồng dư của
(mod 2) ta suy ra:
8

2 
 p  = 1 , nếu p ≡ ±1(mod8),
 

2 
 p  = −1 , nếu p ≡ ±3(mod8). ■
 

1.3. Luật thuận nghịch bình phương
 p

q 

Định lý sau đây cho ta mối liên hệ giữa các ký hiệu Legendre   và   .
q 
 p
Định lý này thường được sử dụng khi tính toán với các ký hiệu Legendre.
1.3.1. Định lý. (Luật thuận nghịch bình phương). Giả sử p và q là các số nguyên tố
lẻ, khi đó ta có:
p −1 q −1
 p  q 
.
2 2 .
=

1
(
)
q   p
  


Trước hết ta chứng minh bổ đề sau.
1.3.2. Bổ đề. Giả sử p là một số nguyên tố lẻ, a là một số lẻ không chia hết cho p.
Khi đó:
a 
T ( a, p)
=

1
.
(
)
 p
 


12

Trong đó:
p −1
2

 ja 
T ( a, p ) = ∑  .
j =1  p 

Chứng minh. Xét các thặng dư dương bé nhất của các số nguyên a, 2a,…
sử u1,u2,…,us, v1, v2,…,vt tương ứng là các thặng dư lớn hơn và bé hơn

p −1

. Giả
2

p
. Ta có:
2

 ja 
ja = p   + phần dư.
 p
Trong đó phần dư là một trong các số u1 hoặc vj. Cộng từng vế

p −1
phương
2

trình ta được:
p −1
2

p −1
2

t
 ja  s
ja
=
p
+
u

+
vj.



j
 p ∑
j =1
j =1
j
=
1
j
=
1
 

Như đã chứng tỏ trong chứng minh Bổ đề Gauss, các số nguyên p – u1, p –
u2,…,p – us,v1, v2,…,vt chính là tập hợp các số 1,2,…,

p −1
, xếp theo thứ tự nào đó.
2

Vậy ta có:
p −1
2


j =1


S

t

s

t

j =1

j =1

j =1

j =1

j = ∑ ( p − u j ) + ∑ v j = ps − ∑ u j + ∑ v j .

Từ đó suy ra:
p −1
2


j =1

p −1
2

p −1

2

s
 ja 
ja = ∑ j + ∑ p   − ps + 2∑ u j .
j =1
j =1
j =1
 p

Từ công thức của T(a,p), ta nhận được:


13

p −1
2

s

j =1

j =1

( a − 1) ∑ j = pT ( a, p ) − ps + 2∑ u .
j

Vì a, p lẻ nên:
T(a,p) ≡ s (mod 2).
Bổ đề được chứng minh bằng cách áp dụng bổ đề Gauss.

Bây giờ ta chứng minh Luật thuận nghịch bình phương.
Xét các cặp số nguyên (x,y) với 1 ≤ x ≤

p −1
q −1
và 1 ≤ y ≤
. Có tất cả
2
2

 p − 1  q − 1 


 cặp như vậy. Ta sẽ chia các cặp đó thành hai nhóm tùy thuộc độ lớn
 2  2 

của qx và py. Trước tiên, dễ thấy rằng qx ≠ py đối với mọi cặp. Để đánh số các cặp
số nguyên (x,y) với 1 ≤ x ≤

p −1
q −1
, 1≤ y ≤
và qx > py, ta chú ý rằng chúng chính
2
2

là các cặp với: 1 ≤ x ≤ p − 1 , 1 ≤ y ≤ qx .
p
2
Với mỗi giá trị cố định của x, 1 ≤ x ≤


 qx 
p −1
, tồn tại   số nguyên thỏa mãn
2
 p

qx
1≤ y ≤
. Như vậy số các cặp thỏa mãn tính chất đang xét là
p

xét các cặp thỏa mãn 1 ≤ x ≤

cho thấy, số các cặp là

q −1
2

 pj 


 qj 

∑  p  . Tiếp theo, ta
j =1






p −1
q −1
, 1≤ y ≤
và qx < py. Lý luận tương tự như trên
2
2

∑ q .
j =1

p −1
2




14

 p − 1  q − 1 

 cặp, ta nhận được đẳng thức sau:
 2  2 

Vì có tất cả là 

p −1
2

q −1


 qj  2  pj   p − 1   q − 1 

 +∑
  =  2 ÷ 2 ÷.
j =1  p 
j =1  q 




Từ định nghĩa của hàm T, ta có:

( −1)

T ( p , q ) +T ( q , p )

 p −1  q −1 
÷
÷
2  2 

= ( −1) 

.

Định lý được suy ra từ Bổ đề 1.3.2. ■
Nhận xét. Định lý trên đây (Luật thuận nghịch bình phương) thường được dùng để
tính ký hiệu Legendre.
 p  q 


Chẳng hạn, từ định lý có thể suy ra rằng,     = −1 nếu p ≡ q ≡ 3(mod 4)
q   p 

 p

q 

và bằng 1 trong các trường hợp còn lại, tức là   = −   nếu p ≡ q ≡ 3(mod 4)
q 
 p
 p

q 

và   =   trong các trường hợp có ít nhất một trong hai số p hoặc q đồng dư với
q   p 
1 modulo 4.
713 

Ta xét một ví dụ bằng số: tính 
. Trước hết ta lưu ý rằng
1009




713   23.31  23  31 
1009  = 1009  = 1009  1009  .


 
 


Vì 1009 ≡ 1(mod 4) nên ta có:
 23  1009 
1009  =  23  ,

 

Mặc khác,

 31  1009 
1009  = 31  .

 



15

2
2
1009  20  2 5  2  5  5 
 23  =  23 =  23  =  23  23 =  23

         

 23 3 5  2 
=   =   =   =   = −1.

5  5  3 3 
1009  17  31 14   2  7  7  17 
31  = 31 = 17  = 17  = 17  17 = 17  =  7 

             
22 
3 
7
4
=   = −   = −   = −   = −1.
7 
3
3 
3 
713 
Vậy 
 = −1.
1009


Luật thuận nghịch bình phương còn được dùng trong kiểm tra nguyên tố. Ta
có định lý sau:
1.3.3. Định lý (Kiểm tra Pepin). Số Fermat Fm là số nguyên tố khi và chỉ khi

3

Fm −1
2

≡ −1 ( mod Fm ) .


Chứng minh. Ta nhắc lại định nghĩa số Fermat: Fm = 22 + 1 . Giả sử đồng dư thức
m

phát biểu trong định lý được thỏa mãn. Khi đó, ta có:
3F −1 ≡ 1 ( mod Fm ) .
m

Như vậy, nếu Fm có ước nguyên tố p thì:
3F −1 ≡ 1 ( mod p ) .
m

Do đó, ordp 3 phải là một ước của Fm -1, tức phải là một lũy thừa của 2. Từ
giả thiết suy ra ordp3 không chia hết

Fm − 1
= 22 −1 . Vậy ordp3 chỉ có thể là 2 2 tức
2
m

m

là ordp3 = Fm – 1. Từ đó suy ra Fm − 1 ≤ p − 1 , nhưng vì p là ước của Fm nên có
nghĩa là Fm = p, do đó Fm là số nguyên tố.


16

Ngược lại, giả sử Fm nguyên tố. Theo luật thuận nghịch bình phương ta có:
3   Fm   2 

 F  = 3  = 3  = −1.
 m    

Mặt khác, theo tiêu chuẩn Euler ta có:
F −1
3 
2
 F  ≡ 3 ( mod Fm ) .
 m
m

Định lý đã được chứng minh . ■
Nhận xét. Dùng tiêu chuẩn Pepin, dễ kiểm tra được rằng F1 , F2 , F3 , F4 là các số
nguyên tố, F5 là hợp số.

CHƯƠNG 2
KÝ HIỆU JACOBI

2.1. Ký hiệu Jacobi
Ký hiệu Jacobi là một mở rộng của ký hiệu Legendre và được sử dụng trong
việc tính ký hiệu Legendre, cũng như trong vấn đề nghiên cứu các số giả nguyên tố.
2.1.1. Định nghĩa. Giả sử n là số nguyên dương lẻ, a nguyên tố cùng nhau với n.
t
t
t
Nếu n có phân tích ra thừa số nguyên tố là p1 p2 ... pm , ta định nghĩa ký hiệu Jacobi
1

2


m

như sau:
t1

t2

tm

a  a  a  a 
 n  =  p   p  ...  p  ,
   1  2   m 
trong đó ở vế phải là các ký hiệu Legendre.
Như vậy, trong trường hợp n là số nguyên tố thì ký hiệu Jacobi trùng với ký
hiệu Legendre. Tuy nhiên cần chú ý rằng, khác với ký hiệu Legendre, khi n là hợp


17
số, ký hiệu Jacobi không cho ta biết phương trình đồng dư x 2 ≡ a( mod p ) có nghiệm
hay không. Mặc dầu vậy, ký hiệu Jacobi có nhiều tính chất tương tự với ký hiệu
Legendre.
2.1.2. Định lý. Giả sử n là số nguyên dương lẻ, a và b là các số nguyên tố cùng
nhau với n. Khi đó:
(i)

Nếu a ≡b (mod n) thì  a  =  b  ;
n  n 
   

(ii)


 ab   a   b 
n  = n  n  ;
    

(iii)

n −1
 −1
2
 n  = ( −1) ;
 
n −1
2 
8 .
=

1
(
)
n 
 
2

(iv)

Chứng minh. Hai đẳng thức đầu tiên dễ suy ra từ định nghĩa ký hiệu Jacobi và tính
chất của ký hiệu Legendre.
Để chứng minh tính chất (iii), ta nhận xét rằng, do pi − 1 chẵn nên


( 1 + ( p − 1) )
i

ti

≡ 1 + ti ( pi − 1) ( mod 4 ) ,

( 1 + t ( p − 1) ) ( 1 + t ( p
i

i

j

j

)

− 1) ≡ 1 + ti ( pi − 1) + t j ( p j − 1) ( mod 4 ) .

Từ đó suy ra:
n ≡ 1 + t1 ( p1 − 1) + t2 ( p2 − 1) + ... + tm ( pm − 1) ( mod 4 ) .
Tức là

t ( p − 1)
n − 1 t1 ( p1 − 1) t2 ( p2 − 1)

+
+ ... + m m
( mod 2 ) .

2
2
2
2


18

Hệ thức này cùng với định nghĩa cho ta đẳng thức (iii)
Chứng minh (iv). Ta có:
t
t
t
t ( p −1) t ( p −1)
t ( p −1)
2  2  2   2 
+
+...+
8
8
8
.
 n  =  p   p  ...  p  = ( −1)
   1  2   m 
1

m

2


2
1

1

2

2
2

m

2
m

Lập luận tương tự như trong chứng minh phần trên, ta có:

n 2 ≡ 1 + t1 ( p12 − 1) + t2 ( p22 − 1) + ... + tm ( pm2 − 1) ( mod 64 ) .
Suy ra

n2 − 1
p12 − 1
p22 − 1
pm2 − 1
≡ t1
+ t2
+ ... + tm
( mod 8 ) .
8
8

8
8
Khi đó (iv) được suy ra từ định nghĩa. ■
2.1.3. Định lý. (Luật thuận nghịch bình phương đối với ký hiệu Jacobi). Giả sử m,
n là các số nguyên dương lẻ, nguyên tố cùng nhau. Khi đó:
m −1 n −1
n  m
.
2 2 .
=

1
(
)
m  n 
  

Chứng minh. Giả sử m, n có phân tích ra thừa số nguyên tố dạng
m = p1a p2a ... psa ,
1

2

m = p1b p2b ... prb .

s

1

2


r

Dùng định nghĩa và luật thuận nghịch bình phương của lý hiệu Legendre, ta
được:
n  m r s
a
=

1
(
)
∏∏
 m   n  i =1 j =1
  

j

p j −1 qi −1
bi
2
2

= ( −1)

Như trong chứng minh định lý 2.1.2 phần (iii), ta có:
pj −1 m −1

( mod 2 ) ,
2

2

s

∑a
j =1

j

r

∑b
i =1

i

qi − 1 n − 1

( mod 2 ) .
2
2

r

s

∑∑ a j
i =1 j =1

p j −1 qi −1

bi
2
2

.


19

Từ đó suy ra định lý. ■


20

2.2. Thuật toán tính ký hiệu Jacobi
Giả sử a, b là hai số nguyên dương nguyên tố cùng nhau, a>b. Đặt
R0 = a, R1 = b . Dùng thuật chia Euclid và tách lũy thừa cao nhất của 2 trong phần dư

ta được:
R0 = R1q1 + 2 s R2
1

R1 = R2 q2 + 2 s R3
2

………………..
Rn −3 = Rn −2 qn −2 + 2 s Rn −1
n −2

Rn −2 = Rn−1qn−1 + 2 s .1

n −1

trong đó sj là các số nguyên không âm, Rj là số nguyên lẻ bé hơn Rj-1.
Ta chú ý rằng, số các phép chia đòi hỏi trong thuật toán trên là không vượt
quá số phép chia cần thiết khi dùng thuật toán Euclid để tìm ước chung lớn nhất
của hai số a và b.
Đặt
R2 − 1
R12 − 1
R2 − 1
+ s2 2
+ ... + sn −1 n−1
8
8
8
R −1 R −1
R − 1 Rn−1 − 1
+ 1 . 2
+ ... + n− 2
.
.
2
2
2
2
R ( a, b ) = s1

Ta có định lý sau
2.2.1. Định lý. Giả sử a,b là các số nguyên dương và a>b. Khi đó ta có
a 

R ( a ,b )
=

1
.
(
)
b 
 
Chứng minh. Theo các phần (i), (ii) và (iv) của định lý 2.1.2 ta có
s1

s
R −1 R
 2
 a   R0   2 R2   2   R2 
s
8
=
=
=
=

(
)


R .
R  R 
b   R  R

   1   1   1  1 
 1
1

1

2
1


21

Dùng luật thuận nghịch bình phương của ký hiệu Jacobi ta được
R −1 R −1 R
 R2 
 1
.
2
2
=

1
(
)
R 
R .
 1
 2
1


2

Như vậy
R −1 R −1
R −1 R
 1
a 
.
+s
2
2
8
=

1
(
)
R .
b 
 
 2
1

2

1

2
1


Tiếp tục quá trình đó, ta đi đến công thức cần chứng minh. ■
2.2.2. Hệ quả. Giả sử a và b là các số nguyên dương nguyên tố cùng nhau, a>b.
Khi đó, ký hiệu Jacobi   có thể tính được với O( ( log 2 b ) 3 ) phép tính bit.
b
a 
 

Chứng minh. Như ta đã nhận xét, số các phép chia trong thuật toán xác định R(a,b)
không vượt quá số phép chia trong thuật toán Euclid để tính ước chung lớn nhất
của a và b. Theo định lý Lamé, cần có O(log 2b) phép chia. Mỗi phép chia cần
không quá O(log2b)2) phép tính bit. Sau mỗi phép chia, cặp số R j, sj tìm được bởi
O(log2b) phép tính bit (chỉ cần là các phép dịch chuyển). Như vậy, khi biết a,b chỉ
cần O(log2b)3) phép tính bit để xác định các số R j, sj. Để nâng (-1) lên lũy thừa
R(a,b) như trong định lý, ta chỉ cần sử dụng 3 chữ số nhị phân cuối cùng của R j và
chữ số nhị phân cuối cùng của sj, vì giá trị lũy thừa của (-1) chỉ phụ thuộc vào tính
a 
chẵn lẻ của số mũ. Như vậy, khi đã có Rj, sj, ta chỉ cần O(log2b) để xác định   .
b 
Hệ quả được chứng minh. ■
Ta có thuật toán sau đây để tính ký hiệu Jacobi dựa vào các định lý vừa
chứng minh.
1. Thuật toán tính ký hiệu Jacobi
(và trong trường hợp riêng tính ký hiệu Legendre)


22

J1. (Kiểm tra b ≠ 0). Nếu b = 0, in ra 0 nếu |a| ≠ 1, in ra 1 nếu |a| = 1 và kết
thúc thuật toán.
J2. (Tách các lũy thừa của 2 khỏi b). Nếu a và b đều chẵn, in ra 0 và kết thúc

thuật toán. Ngược lại, đặt v  0, và khi b chẵn, đặt v  v+1, b  b/2. Sau đó, nếu
v chẵn, đặt k 1, ngược lại, đặt b  ( −1)

a 2 −1
8

. Cuối cùng, nếu b<0, đặt b -b và

nếu hơn nữa, a < 0, đặt k -k.
J3. (Kết thúc?) (ở bước này, ta có b lẻ và b > 0). Nếu a=0, in ra 0, nếu b > 1,
in ra k nếu b = 1 và kết thúc thuật toán. Ngược lại, đặt v 0 và nếu a chẵn, đặt v
a −1
a
v+1, a . Nếu v lẻ, đặt k  ( −1) 8 k.
2
2

J4. (Sử dụng luật thuận nghịch). Đặt k  ( −1)

( a −1) ( b −1)
4

k.

Ở đay, ta cần lưu ý một điều. Mặc dù trong thuật toán có xuất hiện các phép
a 2 − 1 b2 − 1 ( a − 1) ( b − 1)
chia
, và phép nâng (-1) lên lũy thừa đó, ta không cần
,
,

8
8
4

làm các phép chia cũng như nâng lên lũy thừa, vì đòi hỏi quá nhiều phép tính bit.
Vì giá trị lũy thừa của (-1) chỉ phụ thuộc vào tính chẵn lẻ của các đại lượng trên,
nên chẳng hạn đối với ( −1)

a 2 −1
8

, giá trị đó chỉ phụ thuộc a mod 8 và bằng một trong

những số của dãy sau đây:
{0,1,0,-1,0,-1,0,1}
2. Thuật toán tính căn bậc 2 modulo p
Trong nhiều ứng dụng, ta cần tính căn bậc 2 modulo p, khi biết nó tồn tại.
Tất nhiên, một trong các phương pháp để giải phương trình đồng dư x2 ≡ a (modp),


23

(a, p) = 1 là kiểm tra tất cả các số từ 1 đến p – 1. Tuy nhiên, khi làm việc với p lớn,
phương pháp này không thể áp dụng được (thời gian đòi hỏi là O(p)).
Với những số nguyên tố dạng p ≡ 3 ( mod 4 ) , bài toán khá đơn giản. Ta có
x≡a

p +1
4


( mod p ) .

Thật vậy,
x ≡a
2

p +1
2

p −1
2

≡ a.a

( mod p ) ≡ a (mod p ) .

Khi p ≠ 3 ( mod 4 ) , ta có p ≡ 1( mod 8 ) hoặc p ≡ 5 ( mod 8 ) . Trong trường
hợp p ≡ 5 ( mod 8 ) , lời giải cũng có thể tìm được không khó khăn. Thật vậy, ta có
a

p −1
2

≡ 1 ( mod p ) ,

do đó

a

p −1

4

≡ ±1( mod p ) .

Dễ kiểm tra được rằng, trong trường hợp đồng dư thỏa mãn với dấu cộng,
nghiệm phải tìm là
x≡a

p +3
8

( mod p ) .

Nếu đồng dư thỏa mãn với dấu trừ, dùng Định lý 1.2.6 ta có
2

p −1
2

≡ −1( mod p ) .

Từ đó nghiệm phải tìm là
x = 2a (4a )

p −5
8

(mod p ) .

Như vậy chỉ còn xét trường hợp p ≡ 1(mod8) . Cho đến nay, mới chỉ có một

thuật toán (thuật toán Shoof sử dụng đường cong elliptic) với thời gian đa thức.


24

Tuy nhiên, trong thực tế, thuật toán đó rất khó sử dụng. Sau đây chúng ta tìm hiểu
thuật toán xác suất của Toneli và Shanks.
Thuật toán Toneli – Shanks chính là một mở rộng tự nhiên của các trường
hợp riêng đã xét trên đây.
Ta luôn luôn viết p – 1 = 2eq, với q lẻ. Nếu ta tìm được phần tử z và số
nguyên chẵn k sao cho
a q z k ≡ 1(mod p )

thì nghiệm cần tìm sẽ được cho bởi
q +1

k

x = a 2 z2 .
Ta sẽ tìm phần tử z dưới dạng z = nq. Ta chỉ cho rằng, phần tử z như vậy thỏa
mãn điều kiện đặt ra khi và chỉ khi n là một không thặng dư bình phương modulo
p. Ta có
( a q ) 2 = a p −1 = a Φ ( p ) ≡ 1(mod p ).
e

Do đó aq thuộc vào nhóm G các phần tử cấp là một ước số của 2 e. Như vậy,
để tồn tại k, chỉ cần chọn n là phần tử sinh của nhóm G (khi đó, do a là một không
thặng dư bình phương nên số mũ k phải là chẵn). Số nguyên n sẽ là một phần tử
sinh của nhóm G khi và chỉ khi n, n2, n4,…, n 2 , (≡ 1(mod p)) không đồng dư với
e


nhau modulo p. Dễ thấy rằng, điều đó xảy ra khi và chỉ khi n là một không thặng
dư bình phương modulo p.
Để xây dựng thuật toán, ta cần giải quyết hai vấn đề: Tìm phần tử z, và tìm
số mũ k.
Phần thứ nhất được giải quyết bằng thuật toán xác suất. Ta chọn ngẫu nhiên
n
một số n, và tính ký hiệu Legendre   . Khi đó, nếu
 p

n
q
 p  = −1 , ta đặt z = n . Trong
 


25

trường hợp ngược lại, ta tiếp tục làm như trên với một số ngẫu nhiên khác cho đến
khi tìm được một số n thích hợp. Vì số các thặng dư bình phương bằng

p −1
nên
2

n
1
mỗi lần chọn ngẫu nhiên một số n, xác suất để có   = −1 là . Trong thực tế, ta
2
 p

có thể tìm ra một không thặng dư bình phương rất nhanh. Chẳng hạn, xác suất hai
mươi lần thất bại liên tiếp nhỏ hơn 10-6. Số mũ k khó tìm hơn. Thật ra, ta không cần
q +1

k

biết số mũ k, mà cần biết a 2 z 2 .
Thuật toán. Giả sử p là một số nguyên tố lẻ, n ∈ Z . Ta viết p – 1 = 2eq với q lẻ.
n
1. (Tìm phần tử sinh). Chọn ngẫu nhiên số n cho đến khi thỏa mãn   = −1 .
 p
Sau đó đặt z ¬ n q (mod p ) .
2. (Xuất phát). Đặt y ¬ z , r ¬ e , x ¬ a

p −1
2

2
(mod p ) , b ¬ ax (mod p ) ,

x ¬ ax (mod p ).
3. (Tìm số mũ). Nếu b ≡ 1(mod p ) in ra x và kết thúc thuật toán. Trong trường
hợp ngược lại, tìm số m nhỏ nhất sao cho m ≥ 1 , b 2 ≡ 1 ( mod p ) . Nếu m = r,
m

in ra thông báo nói rằng a không phải là thặng dư bình phương modulo p.
4. (Thu hẹp số mũ). Đặt t ¬ y 2

r − m −1


, y ¬ t 2 , r ¬ m , x ¬ xt (mọi phép tính đều

modulo p) và chuyển sang Bước 3.
Chú ý rằng từ khi bắt đầu Bước 3, ta luôn luôn có các đồng dư theo modulo p
r −1

ax ≡ x 2 , y 2 ≡ −1 , b2 ≡ 1 .
r −1

Từ đó suy ra rằng, nếu nhóm con G r các phần tử cấp là một ước của 2 r, thì y
là phần tử dinh của nhóm G r, b ∈ Gr −1 , tức là p chính phương trong Gr. Vì r thực sự


×