Vietebooks Nguyn Hoàng Cương
Trang 1
Ch¬ng 4
KiÓm tra tÝnh nguyªn tè x¸c suÊt
§Ó thiÕt lËp hÖ mËt RSA, ta ph¶i t¹o ra c¸c sè nguyªn tè ngÉu
nhiªn lín (ch¼ng h¹n cã 80 ch÷ sè). Trong thùc tÕ, ph¬ng c¸ch thùc
hiÖn ®iÒu nµy lµ: tríc hÕt ph¶i t¹o ra c¸c sè ngÈu nhiªn lín, sau ®ã
kiÓm tra tÝnh nguyªn thuû cña chóng b»ng c¸ch dïng thuËt to¸n x¸c
suÊt Monte- Carlo thêi gian ®a thøc (ch¼ng h¹n nh thuËt to¸n
Miller- Rabin hoÆc lµ thuËt to¸n Solovay- Strasen). C¶ hai thuËt to¸n
trªn ®Òu ®îc tr×nh bµy trong phÇn nµy. Chóng lµ c¸c thuËt to¸n
nhanh (tøc lµ mét sè nguyªn n ®îc kiÓm tra trong thêi ®a thøc theo
log2n, lµ sè c¸c bÝt trong biÓu diÖn nhÞ ph©n cña n). Tuy nhiªn, vÉn cã
kh¶ n¨ng lµ thuËn to¸n cho r»ng n lµ sè nguyªn tè trong khi thùc tÕ n
lµ hîp lÖ sè. Bëi vËy, b»ng c¸ch thay ®æi thuËt to¸n nhiÒu lÇn, cã thÓ
gi¶m x¸c suÊt sai sè díi mét møc ngìng cho phÐp (sau nµy sÏ th¶o
luËn kü h¬n mét chót vÒ vÊn ®Ò nµy).
Mét vÊn ®Ò quan träng kh¸c: lµ cÇn ph¶i kiÓm tra bao nhiªu sè
nguyªn ngÉu nhiªn (víi kÝch th¬c x¸c ®Þnh)cho tíi khi t×m ®îc mét
sè nguyªn tè. Mét kÕt qu¶ nçi tiÕng trong lý thuyÕt sè (®îc gäi lµ
®Þnh lý sè nguyªn tè) ph¸t biÓu r»ng: sè c¸c sè nguyªn tè kh«ng lín
h¬n N xÊp xØ b»ng N/ln N. Bëi vËy, nÕu p ®îc chän ngÉu nhiªn th×
x¸c suÊt p lµ mét sè nguyªn tè sÏ vµo kho¶ng 1/ln p. Víi mét mo®un
512 bÝt, ta cã 1/ln p 1/77. §iÒu nµy cã nghÜa lµ tÝnh trung b×nh, c
177 sè nguyªn ngÉu nhiªn p víi kÝch thíc t¬ng øng sÏ cã mét sè lµ
sè nguyªn tè. DÜ nhiªn, nÕu chÜ h¹n chÕ xÐt c¸c sè nguyªn lÎ th× x¸c
suÊt sÏ t¨ng gÊp ®«i tíi kho¶ng 2/177). Bìi vËy trªn thùc tÕ, hoµn
toµn cã kh¶ n¨ng t¹o ®îc c¸c nguyªn tè ®ñ lín vµ do ®ã vÒ mÆt thùc
thÓ ta cã thÓ thiÕt lËp ®îc mét hÖ mËt RSA. Sau ®©y sÏ tiÕp tôc xem
xÐt ®iÒu nµy ®îc thùc hiªn nh thÕ nµo.
Mét bµi to¸n quyÕt ®Þnh lµ mét bµi to¸n to¸n trong ®ã mét c©u hái
cÇn ®îc tr¶ lêi “cã” hoÆc “kh«ng”. Mét thuËt to¸n x¸c suÊt lµ mét
thuËt to¸n bÊt kú cã sö dông c¸c sè ngÉu nhiªn (ngîc l¹i, thuËt to¸n
kh«ng sö dông c¸c sè ngÉu nhiªn sÏ ®îc gäi lµ mét thuËt to¸n tÊt
®Þnh). C¸c ®Þnh nghÜa sau cã liªn quan tíi c¸c thuËt to¸n x¸c suÊt cho
c¸c bµi to¸n quyÕt ®Þnh.
§Þnh nghÜa 4.1
ThuËt to¸n Monte Carlo ®Þnh híng “cã” lµ mét thuËt to¸n x¸c
suÊt cho mét bµi to¸n quyÕt ®Þnh, trong ®ã c©u tr¶ lêi “cã” lu«n lu«n
lµ ®óng cßn c©u tr¶ lêi “kh«ng” cã thÓ lµ sai. ThuËt to¸n Monte Carlo
®Þnh híng “kh«ng“ còng ®îc ®Þnh nghÜa theo c¸ch t¬ng tù.
Vietebooks Nguyn Hoàng Cương
Trang 2
Chóng ta nãi r»ng, mét thuËt to¸n Monte Carlo ®Þnh híng “cã” cã
x¸c suÊt sai b»ng ε nÕu víi bÊt kú mæt trêng hîp nµo mµ c©u tr¶ lêi
lµ “cã” th× thuËt to¸n cã c©u tr¶ lêi sai “kh«ng” víi x¸c suÊt kh«ng
lín h¬n ε (x¸c suÊt nµy ®îc tÝnh trªn mäi phÐp chon ngÉu nhiªn, cã
thÓ thùc hiªn bëi thuËt to¸n víi mét c©u vµo ®· cho).
Bµi to¸n quyÕt ®Þnh ë ®©y lµ bµi to¸n hîp lÖ sè m« t¶ ë h×nh
4.5.
CÇn chó ý r»ng mét thuËt to¸n quyÕt ®Þnh chØ cã c©u tr¶ lêi “cã” hoÆc
“kh«ng” ®Æc biÖt trong bµi to¸n hîp lÖ sè lµ ta kh«ng yªu cÇu thuËt
to¸n tÝnh tÝch thõa sè khi n lµ hîp lÖ sè.
Tríc tiªn ta sÏ m« t¶ thuËt to¸n Soloway- Strasson. §©y lµ
mét thuËt to¸n Monte- Carlo ®Þnh híng “cã” cho bµi to¸n hîp sè cã
Tríc tiªn ta sÏ m« t¶ thuËt to¸n Soloway- Strasson. §©y lµ mét
thuËt to¸n Monte-Carlo ®Þnh híng “cã” cho bµi to¸n hîp sè vµ x¸c
xuÊt sai 1/2. Bëi vËy, nÕu thuËt to¸n tr¶ lêi “cã” th× n lµ hîp sè;
ngîc l¹i nÕu n lµ hîp sè th× thuËt to¸n tr¶ lêi “cã” víi x¸c xuÊt tèi
thiÓu 1/2.
H×nh 4.5. Bµi to¸n hîp sè.
H×nh 4.6. Bµi to¸n vÒ c¸c thÆng d bËc hai.
MÆc dï thuËt to¸n Miller-Rabin (ta sÏ xÐt sau) nhanh h¬n
thuËt to¸n Soloway-Strasson (S-S) nhng ta sÏ xÐt thuËt to¸n S-S
tríc v× nã dÔ hiÓu h¬n vÒ kh¸i niÖm, ®ång thêi l¹i liªn quan tíi mét
sè vÊn ®Ò cña lý thuyÕt sè (mµ ta sÏ cßn dïng trong c¸c ch¬ng tr×nh
sau). Ta sÏ x©y dùng mét sè nÒn t¶ng s©u s¾c h¬n trong lý thuyÕt sè
tríc khi m« t¶ thuËt to¸n.
§Æc trng cña bµi to¸n: mét sè nguyªn d¬ng n 2
C©u hái: n cã ph¶i lµ hîp sè kh«ng ?
§Æc trng cña bµi to¸n: cho p lµ mét sè nguyªn tè lÎ vµ
mét sè nguyªn x sao cho 0 x p-1
C©u hái: x cã ph¶i lµ thÆng d bËc hai phÐp modulo p ?
Vietebooks Nguyn Hoàng Cương
Trang 3
§Þnh nghÜa 4.2.
Gi¶ sö p lµ mét sè nguyªn tè lÎ vµ x lµ mét sè nguyªn, 1 x
p-1. x ®îc gäi lµ thÆng d bËc hai theo modulo p nÕu ph¬ng tr×nh
®ång d y2 x (modulo p) cã mét nghiÖm yZp x ®îc gäi lµ thÆng
d kh«ng bËc hai theo modulo p nÕu x ??? 0 (mod p) vµ x kh«ng ph¶i
lµ thÆng d bËc hai theo modulo p.
VÝ dô 4.6.
C¸c thÆng d bËc hai theo modulo 11 lµ 1,3,4,5 vµ 9. CÇn ®Ó ý r»ng,
(±1)2=1, (±5)2=3, (±2)2=4, (±4)2=5, (±3)2=9 (ë ®©y tÊt c¶ c¸c phÐp sè
häc ®Òu thùc hiÖn trong Z11).
Bµi to¸n quyÕt ®Þnh thÆng d bËc hai ®îc tr×nh bµy trªn h×nh
4.6 sÏ ®îc thÊy mét c¸ch t¬nngf minh nh sau:
Tríc hÕt, ta sÏ chøng minh mét kÕt qu¶- tiªu chuÈn Euler
t¹o nªn thuËt to¸n tÊt ®Þnh theo thêi gian ®a thøc cho bµi to¸n vÒ c¸c
thÆng d bËc hai.
§Þnh lý 4.8. (Tiªu chuÈn Euler)
Gi¶ sö p lµ mét sè nguyªn tè, khi ®ã x lµ mét thÆng d bËc hai
theo modulo p khi vµ chØ khi:
x
(p-1)/2 1 (mod p)
Chøng minh:
Tríc hÕt gi¶ sö r»ng, xy2(mod p). Theo hÖ qu¶ 4.6, nÕu p lµ
sè nguyªn tè th× xp-11 (mod p) víi mäi x 0 (mod p). Bëi vËy ta cã :
x
(p-1)/2 (y2)(p-1)/2 (mod p)
yp-1(mod p)
1 (mod p)
Ngîc l¹i, gi¶ sö r»ng x(p-1)/21 (mod p). Cho p lµ mét phÇn tö
nguyªn thuû theo modulo p. Khi ®ã xbi (mod p) víi gi¸ trÞ i nµo ®ã.
Ta cã
x(p-1)/2 (bi)(p-1)/2 (mod p)
bi(p-1)/2(mod p)
V× p cã bËc b»ng p-1 nªn p-1 ph¶i lµ íc cña i(p-1)/2. Bëi vËy i lµ sè
ch½n vµ nh vËy c¨n bËc hai cña x lµ ±bi/2.
Vietebooks Nguyn Hoàng Cương
Trang 4
§Þnh lý 4.8 sÏ dÉn tíi mét thuËt to¸n thêi gian ®a thøc cho c¸c
thÆng d bËc hai nhê sö dông kü thuËt “b×nh ph¬ng vµ nh©n” cho
phÐp lÊy luü thõa theo modulo p. §é phøc t¹p cña thuËt to¸n kho¶ng
O((log p)3).
Sau ®©y tiÕp tôc ®a ra mét sè ®Þnh nghÜa tõ lý thuyÕt sè:
§Þnh nghÜa 4.3.
Gi¶ sö p lµ sè nguyªn tè lÎ. Víi mét sè nguyªn tè bÊt kú a 0,
ta
®Þnh nghÜa ký hiÖu Legendre nh sau:
0 nÕu a 0 (mod p)
= 1 nÕu lµ th¨ng d bËc hai theo modulo p
-1 nÕu lµ th¨ng d kh«ng bËc hai theo
modulo p
Ta ®· biÕt lµ a(p-1)/2 1 (mod p) khi vµ chØ khi a lµ mét thÆng d
bËc hai theo modulo p. NÕu a lµ béi cña p th× râ rµng a(p-1)/2 0(mod
p). Cuèi cïng, nÕu a lµ mét thÆng d kh«ng bËc hai theo modulo p th×
a(p-1) -1 (mod p) v× ap-11(mod p). Bëi vËy, ta cã kÕt qu¶ cho phÐp
x©y dùng mét thuËt to¸n h÷u hiÖu ®Ó ®¸nh gi¸ c¸c ký hiÖu Legendre
nh sau
§Þnh Lý 4.9.
Gi¶ sö p lµ mét sè nguyªn tè. Khi ®ã a(p-1)/2 (mod p).
Sau ®©y lµ mét ®Þnh nghÜa tæng qu¸t ho¸ cho ký hiÖu
Legendre.
§Þnh nghÜa 4.4.
Gi¶ sö n lµ mét sè nguyªn d¬ng lÎ vµ ph©n tÝch theo c¸c luü
thõa nguyªn tè cña n lµ p1e1 ....... pKek . Gi¶ sö a 0 lµ mét sè nguyªn.
Ký hiÖu
Jacobi ®îc ®Þnh nghÜa nh sau:
p
a
p
a
p
a
r
a
Vietebooks Nguyn Hoàng Cương
Trang 5
VÝ dô 4.7.
XÐt ký hiÖu Jacobi . Ph©n tÝch luü thõa nguyªn tè cña
9975 lµ: 9975=3 x 52 x 7 x 19. Bëi vËy ta cã:
=
=(-1)(-1)2(-1)(-1)
= -1.
Gi¶ sö n > 1 lµ mét sè lÎ. NÕu n lµ mét nguyªn th×
a(n-1)/2 (mod n) víi a bÊt kú. MÆt kh¸c nÕu n lµ mét hîp sè th× ®ång d
thøc trªn cã thÓ ®óng hoÆc kh«ng. NÕu ph¬ng tr×nh ®ã vÉn ®óng th×
a ®îc gäi
lµ sè gi¶ nguyªn tè Euler theo c¬ sè n. VÝ dô: 10 lµ sè gi¶ nguyªn tè
Euler
theo c¬ sè 91 v× :
= -1 = 1045 mod 91
Tuy nhiªn cã thÓ chøng tá r»ng, víi mét hîp sè lÎ n bÊt kú, sÏ
cãp nhiÒu nhÊt mét nöa c¸c sè nguyªn a (sao cho 1 a n-1) lµ c¸c
sè gi¶ nguyªn tè Euler c¬ sè n (xem c¸c bµi tËp). §iÒu ®ã chøng tá
r»ng, viÖc kiÓm tra tÝnh nguyªn tè theo thuËt to¸n Soloway-Strasson
ei
K
1i i
p
a
n
a
=
=
9975
6278
=
19
6278
7
6278
5
6278
3
6278
9975
6278 2
19
8
7
6
5
3
3
22
91
10
n
a