Đăng ký Đăng nhập
Trang chủ Kỹ thuật - Công nghệ Kỹ thuật viễn thông Giáo trình mật mã học - pgs.ts. nguyễn bình (chủ biên)...

Tài liệu Giáo trình mật mã học - pgs.ts. nguyễn bình (chủ biên)

.PDF
325
1584
68

Mô tả:

Lêi nãi ®Çu Trong sù ph¸t triÓn cña x· héi loµi ng−êi, kÓ tõ khi cã sù trao ®æi th«ng tin, an toµn th«ng tin trë thµnh mét nhu cÇu g¾n liÒn víi nã nh− h×nh víi bãng. Tõ thña s¬ khai, an toµn th«ng tin ®−îc hiÓu ®¬n gi¶n lµ gi÷ ®−îc bÝ mËt vµ ®iÒu nµy ®−îc xem nh− mét nghÖ thuËt chø ch−a ph¶i lµ mét ngµnh khoa häc. Víi sù ph¸t triÓn cña khoa häc kü thuËt vµ c«ng nghÖ, cïng víi c¸c nhu cÇu ®Æc biÖt cã liªn quan tíi an toµn th«ng tin, ngµy nay c¸c kü thuËt chÝnh trong an toµn th«ng tin bao gåm: Kü thuËt mËt m· (Cryptography), Kü thuËt nguþ trang (Steganography), Kü thuËt t¹o bãng mê (Watermarking - hay x¨m ®iÖn tö). Kü thuËt mËt m· nh»m ®¶m b¶o ba dÞch vô an toµn c¬ b¶n:BÝ mËt (Confidential), X¸c thùc (Authentication), §¶m b¶o tÝnh toµn vÑn (Integrity). Cã thÓ thÊy r»ng mËt m· häc lµ mét lÜnh vùc khoa häc réng lín cã liªn quan rÊt nhiÒu ®Õn to¸n häc nh−: §¹i sè tuyÕn tÝnh, Lý thuyÕt th«ng tin, Lý thuyÕt ®é phøc t¹p tÝnh to¸n…. N¾m b¾t ®−îc nhu cÇu t×m hiÓu vÒ mËt m· häc, Häc viÖn C«ng nghÖ B−u chÝnh ViÔn th«ng phèi hîp víi Nhµ xuÊt b¶n B−u ®iÖn xuÊt b¶n cuèn gi¸o tr×nh "MËt m· häc" do PGS.TS NguyÔn B×nh chñ biªn. Cuèn gi¸o tr×nh nµy sÏ giíi thiÖu víi b¹n ®äc vÒ c¸c kiÕn thøc to¸n häc c¬ b¶n nh−: lý thuyÕt sè, c¸c cÊu tróc ®¹i sè nh− vµnh nhãm, tr−êng...; mét sè thuËt to¸n mËt m· cæ ®iÓn vµ hiÖn ®¹i; c¸c thñ tôc vµ c¸c chuÈn øng dông trong thùc tÕ. Víi nhiÒu vÝ dô cô thÓ, cuèn s¸ch gióp cho b¹n ®äc thuËn tiÖn trong qu¸ tr×nh häc tËp nghiªn cøu ®Ó n©ng cao kiÕn thøc vÒ mËt m· häc. §©y lµ gi¸o tr×nh phôc vô ®µo t¹o t¹i Häc viÖn C«ng nghÖ B−u chÝnh ViÔn th«ng. Hy väng cuèn s¸ch sÏ lµ tµi liÖu tham kh¶o h÷u Ých cho gi¶ng viªn, sinh viªn c¸c tr−êng ®¹i häc vÒ kü thuËt vµ c«ng nghÖ. Xin tr©n träng giíi thiÖu cïng b¹n ®äc. Hµ Néi, ngµy 23 th¸ng 10 n¨m 2003 Häc viÖn c«ng nghÖ b−u chÝnh viÔn th«ng thuËt ng÷ viÕt t¾t DES Data Encryption Standard ChuÈn m· d÷ liÖu LAN Local Area Network M¹ng côc bé MDV M· dÞch vßng MTT M· thay thÕ MHV M· ho¸n vÞ ECB Electronic Code Book ChÕ ®é quyÓn m· ®iÖn tö CFB Cripher Feedback ChÕ ®é ph¶n håi m· CBC Cripher Block Chaining ChÕ ®é liªn kÕt khèi m· RSA Rivest - Shamir - Adleman MAC Message Authentication Code M· x¸c thùc th«ng b¸o OWHF Oneway Hash Funtion Hµm b¨m mét chiÒu CRHF Collision Resistant hash function Hµm b¨m khã va ch¹m MDC Manipulation Detection Code M· ph¸t hiÖn sù söa ®æi LSB Least Signification Bit Bit thÊp nhÊt (cã gi¸ trÞ nhá nhÊt Tiªu ®Ò Header IDEA International Data Encryption Algorithm ThuËt to¸n m· hãa d÷ liÖu quèc tÕ PGP Pretty Good Privacy ThuËt to¸n m· hãa PGP SET Secure Electronic Transaction Giao dÞch ®iÖn tö an toµn LFSR Linear Feedback Sequence Register Thanh ghi håi tiÕp tuyÕn tÝnh Firewall Bøc t−êng löa Server M¸y chñ Router Bé ®Þnh tuyÕn PhÇn I C¸c kiÕn thøc to¸n häc phô trî bæ tóc vÒ lý thuyÕt sè 1.1. Sè nguyªn TËp c¸c sè nguyªn {K, − 3, − 2, − 1, 0,1, 2, 3,K}= Z. 1.1.1. §Þnh nghÜa 1.1 Cho a, b ∈ Ζ a lμ −íc cña b nÕu ∃c ∈ Z : b = a.c. Ký hiÖu lμ a b. 1.1.2. C¸c tÝnh chÊt chia hÕt ∀ a, b, c ∈ Ζ ta cã: (i) a a. (ii) NÕu a b vμ b c th× a c. (iii) NÕu a b vμ a c th× a (bx + cy ) víi ∀x, y ∈ Z. (iv) NÕu a b vμ b a th× a = ± b. 1.1.3. §Þnh nghÜa 1.2 (ThuËt to¸n chia ®èi víi c¸c sè nguyªn) NÕu a vμ b lμ c¸c sè nguyªn víi b ≥ 1 th× a = qb + r; 0 ≤ r < b q vμ r lμ nh÷ng gi¸ trÞ duy nhÊt. 10 Gi¸o tr×nh MËt m· häc PhÇn d− cña phÐp chia a vμ b ®−îc ký hiÖu a mod b = r Th−¬ng cña phÐp chia a vμ b ®−îc ký hiÖu a div b = q ⎡a ⎤ ⎡a ⎤ Ta cã a div b = ⎢ ⎥, a mod b = a − b⎢ ⎥. ⎣b⎦ ⎣b⎦ VÝ dô: a = 73, b = 17. 73 div 17 = 4, 73 mod 17 = 5. 1.1.4. §Þnh nghÜa 1.3 (¦íc chung) c lμ −íc chung cña a vμ b nÕu c a & c b. 1.1.5. §Þnh nghÜa 1.4 (¦íc chung lín nhÊt (¦CLN)) Sè nguyªn d−¬ng d lμ ¦CLN cña c¸c sè nguyªn a vμ b (Ký hiÖu d = (a, b)) nÕu: (i) d lμ −íc chung cña a vμ b. (ii) NÕu cã c a vμ c b th× c d . Nh− vËy (a,b) lμ sè nguyªn d−¬ng lín nhÊt −íc cña c¶ a vμ b kh«ng kÓ (0,0) = 0. VÝ dô: C¸c −íc chung cña 12 vμ 18 lμ {± 1, ± 2, ± 3, ± 6} (12,18) = 6 1.1.6. §Þnh nghÜa 1.5 (Béi chung nhá nhÊt (BCNN)) Sè nguyªn d−¬ng d lμ BCNN cña c¸c sè nguyªn a vμ b (Ký hiÖu d = BCNN (a,b)) nÕu: (i) a d, b d. (ii) NÕu cã a c, b c th× d c. Nh− vËy d lμ sè nguyªn d−¬ng nhá nhÊt lμ béi cña c¶ a vμ b. Ch−¬ng 1: Bæ tóc vÒ lý thuyÕt sè 11 1.1.7. TÝnh chÊt BCNN (a , b) = a.b (a , b) VÝ dô: (12 ,18 ) = 6 ⇒ BCNN(12 ,18 ) = 12 .18 = 36 . 6 1.1.8. §Þnh nghÜa 1.6 Hai sè nguyªn d−¬ng a vμ b ®−îc gäi lμ nguyªn tè cïng nhau nÕu: (a,b) = 1. 1.1.9. §Þnh nghÜa 1.7 Sè nguyªn p ≥ 2 ®−îc gäi lμ sè nguyªn tè nÕu c¸c −íc d−¬ng cña nã chØ lμ 1 vμ p. Ng−îc l¹i p ®−îc gäi lμ hîp sè. 1.1.10. §Þnh lý c¬ b¶n cña sè häc Víi mçi sè nguyªn n ≥ 2 ta lu«n ph©n tÝch ®−îc d−íi d¹ng tÝch cña luü thõa cña c¸c sè nguyªn tè. n = p1e1 pe22 K pekk Trong ®ã pi lμ c¸c sè nguyªn tè kh¸c nhau vμ ei lμ c¸c sè nguyªn d−¬ng. H¬n n÷a ph©n tÝch trªn lμ duy nhÊt. 1.1.11. §Þnh nghÜa 1.8 Víi n ≥ 2, hμm Φ(n ) ®−îc x¸c ®Þnh lμ sè c¸c sè nguyªn trong kho¶ng [1 , n ] nguyªn tè cïng nhau víi n. 1.1.12. C¸c tÝnh chÊt cña hμm Φ(n) (i) NÕu p lμ c¸c sè nguyªn tè th× Φ(p) = p – 1. (ii) NÕu (m, n) = 1 th× Φ(m.n) = Φ(m). Φ(n). 12 Gi¸o tr×nh MËt m· häc (iii) NÕu n = p1e1 pe22 K pekk lμ ph©n tÝch ra thõa sè nguyªn tè cña n th×: ⎛ 1 ⎞⎛ 1 ⎞ ⎛ 1 ⎟⎟ K ⎜⎜1 − Φ (n ) = n⎜⎜1 − ⎟⎟ ⎜⎜1 − p1 ⎠ ⎝ p2 ⎠ ⎝ pk ⎝ ⎞ ⎟⎟ . ⎠ 1.1.13. §Þnh lý 1.1 Víi ∀n ≥ 5 th× Φ (n ) > n 6 ln (ln n ) 1.2. c¸c thuËt to¸n trong z Cho a vμ b lμ c¸c sè nguyªn kh«ng ©m vμ nhá h¬n hoÆc b»ng n. CÇn chó ý r»ng sè c¸c bit trong biÓu diÔn nhÞ ph©n cña n lμ [lgn] + 1 vμ sè nμy xÊp xØ b»ng lgn. Sè c¸c phÐp to¸n bit ®èi víi bèn phÐp to¸n c¬ b¶n trªn c¸c sè lμ céng, trõ, nh©n vμ chia sö dông c¸c thuËt to¸n kinh ®iÓn ®−îc tãm l−îc trªn b¶ng 1.1. C¸c kü thuËt tinh tÕ h¬n ®èi víi c¸c phÐp to¸n nh©n vμ chia sÏ cã ®é phøc t¹p nhá h¬n. B¶ng 1.1: §é phøc t¹p bit cña c¸c phÐp to¸n c¬ b¶n trong Z PhÐp to¸n §é phøc t¹p bit Céng a+b 0(lga + lgb) = 0(lgn) Trõ a–b 0(lga + lgb) = 0(lgn) Nh©n a.b 0((lga).(lgb)) = 0((lgn)2) Chia a = qb + r 0((lga).(lgb)) = 0((lgn)2) ¦CLN cña 2 sè nguyªn a vμ b cã thÓ ®−îc tÝnh theo ®Þnh lý sau: 1.2.1. §Þnh lý 1.2 NÕu a = p1e1 pe22 K pekk , b = p1f1 p2f2 ...p fkk trong ®ã e i ≥ 0, fi ≥ 0 (e2 , f2 ) (ek , fk ) K pmin th× − CLN(a , b) = p1min (e1 , f1 ) p min 2 k Ch−¬ng 1: Bæ tóc vÒ lý thuyÕt sè 13 (e2 ,f2 ) (ek ,fk ) vμ BCNN (a , b) = p1max (e1 ,f1 ) pmax K pmax . 2 k VÝ dô: Cho a = 4864 = 28.19; b = 3458 = 2.7.13.19. Khi ®ã: − CLN(a , b) = (4864, 3458 ) = 2.19 = 38 BCNN(a , b) = (4864, 3458 ) = 28.7.13.19 = 442624 . 1.2.2. §Þnh lý 1.3 NÕu a vμ b lμ c¸c sè nguyªn d−¬ng víi a > b th× ¦CLN(a,b) = ¦CLN (b,a mod b). ThuËt to¸n Euclide sau sÏ cho ta c¸ch tÝnh ¦CLN rÊt hiÖu qu¶ mμ kh«ng cÇn ph¶i ph©n tÝch ra thõa sè nguyªn tè. 1.2.3. ThuËt to¸n Euclide TÝnh ¦CLN cña 2 sè nguyªn Vμo : Hai sè nguyªn kh«ng ©m a vμ b víi a > b Ra : ¦CLN cña a vμ b. (1) While b ≠ 0 do r ← a mod b, a ← b, b ← r (2) Return (a). 1.2.4. §Þnh lý 1.4 ThuËt to¸n trªn cã thêi gian ch¹y chõng 0 ( (lg n ) ) c¸c phÐp 2 to¸n bit. VÝ dô: Sau ®©y lμ c¸c b−íc chia cña thuËt to¸n trªn khi tÝnh: (4864, 3458 ) = 38 4864 = 1.3458 + 1406 3458 = 2.1406 + 646 1406 = 2.646 + 76 646 = 5.114 + 38 76 = 2.38 + 0 14 Gi¸o tr×nh MËt m· häc ThuËt to¸n trªn cã thÓ ®−îc më réng ®Ó kh«ng nh÷ng chØ tÝnh ®−îc ¦CLN cña 2 sè nguyªn a vμ b mμ cßn tÝnh ®−îc c¸c sè nguyªn x vμ y tho¶ m·n ax + by = d . 1.2.5. ThuËt to¸n Euclide më réng Vμo : Hai sè nguyªn kh«ng ©m a vμ b víi a ≥ b Ra : d = ¦CLN(a,b) vμ c¸c sè nguyªn x vμ y tháa m·n ax + by = d . (1) NÕu b= 0 th× ®Æt d ← a , x ← 1 , y ← 0 vμ return (d, x, y) (2) §Æt x 2 ← 1, x1 ← 0, y 2 ← 0 , y1 ← 1 (3) While b > 0 do (3.1) q ← ⎣a / b⎦ , r ← a − qb , x ← x 2 − qx1 , y ← y 2 − qy1 (3.2) a ← b, b ← r, x 2 ← x1 , x1 ← x, y 2 ← y1 , y1 ← y (4) §Æt d ← a, x ← x 2 , y ← y 2 vμ vμ return (d, x, y). 1.2.6. §Þnh lý 1.5 ThuËt to¸n trªn cã thêi gian ch¹y cì 0((lgn)2) c¸c phÐp to¸n bit. VÝ dô: B¶ng 1.2 sau chØ ra c¸c b−íc cña thuËt to¸n trªn víi c¸c gi¸ trÞ vμo a = 4864 vμ b = 3458 B¶ng 1.2: ThuËt to¸n Euclide më réng Q r x y a b x2 x1 y2 y1 − − − − 4864 3458 1 0 0 1 1 1406 1 −1 3458 1406 0 1 1 −1 2 646 −2 3 1406 646 1 −2 −1 3 2 114 5 −7 646 114 −2 5 3 7 5 76 −27 38 114 76 5 −27 −7 38 1 38 32 −45 76 38 −27 32 38 −45 2 0 −91 128 38 0 32 −91 −45 128 Ch−¬ng 1: Bæ tóc vÒ lý thuyÕt sè 15 Víi c¸c ®Çu vμo a = 4864 vμ b = 3458 Bëi vËy ta cã: ¦CLN(4864,3458) = 38 vμ (4864)(32) + (3458)(-45) = 38. 1.3. C¸c sè nguyªn modulo n 1.3.1. §Þnh nghÜa 1.9 NÕu a vμ b lμ c¸c sè nguyªn th× a ®−îc gäi lμ ®ång d− víi b theo modulo (ký hiÖu lμ a = b mod n) nÕu n (a − b) . Sè nguyªn n ®−îc gäi lμ modulo ®ång d−. VÝ dô: 24 ≡ 9 mod 5 v× 24 – 9 = 3.5 − 11 ≡ 17 mod 7 v× − 11 − 17 = −4.7 . 1.3.2. C¸c tÝnh chÊt §èi víi a, a1 , b, b1 , c ∈ Ζ ta cã: (1) a ≡ b(mod n ) nÕu vμ chØ nÕu a vμ b còng cã phÇn d− khi chia cho n. (2) TÝnh ph¶n x¹: a ≡ a(mod n ) . (3) TÝnh ®èi xøng: NÕu a ≡ b(mod n ) th× b ≡ a(mod n ) (4) TÝnh b¾c cÇu: NÕu a ≡ b(mod n ) vμ b ≡ c(mod n ) th× a ≡ c(mod n ) (5) NÕu a ≡ a1 (mod n ) vμ b ≡ b1 (mod n ) th× a + b ≡ a1 + b1 (mod n ) vμ a.b ≡ a1 .b1 (mod n ) Líp t−¬ng ®−¬ng cña mét sè nguyªn a lμ tËp c¸c sè nguyªn ®ång d− víi a modulo n. Tõ c¸c tÝnh chÊt (2), (3) vμ (5) ë trªn ta cã thÓ thÊy r»ng ®èi víi n cè ®Þnh, quan hÖ ®ång d− theo modulo n sÏ ph©n ho¹ch Z thμnh c¸c líp t−¬ng ®−¬ng. 16 Gi¸o tr×nh MËt m· häc NÕu a = qn + r víi 0 ≤ r ≤ n th× a ≡ r(mod n ) . Bëi vËy mçi sè nguyªn a lμ ®ång d− theo modulo n víi mét sè nguyªn duy nhÊt n»m trong kho¶ng tõ 0 tíi n - 1, sè nμy ®−îc gäi lμ thÆng d− tèi thiÓu cña a mod n. Nh− vËy a vμ r cã thÓ ®−îc dïng ®Ó biÓu thÞ cho líp t−¬ng ®−¬ng nμy. 1.3.3. §Þnh nghÜa 1.10 C¸c sè nguyªn modulo n (ký hiÖu Zn) lμ tËp (c¸c líp t−¬ng ®−¬ng) cña c¸c sè nguyªn {0,1, 2,K, n − 1}. C¸c phÐp céng, trõ, nh©n trong Zn ®−îc thùc hiÖn theo modulo n. VÝ dô: Z25 = {0,1,K, 24}. Trong Z 25 ta cã: 13 + 16 = 4 v× 13 + 16 = 29 ≡ 4 (mod 25 ) T−¬ng tù 13.16 = 8 trong Z25. 1.3.4. §Þnh nghÜa 1.11 (PhÇn tö nghÞch ®¶o) Cho a ∈ Z n , PhÇn tö nghÞch ®¶o (ng−îc theo phÐp nh©n) cña a mod n lμ mét sè nguyªn x ∈ Z n sao cho: ax ≡ 1(mod n ) NÕu x tån t¹i th× nã lμ duy nhÊt, a ®−îc gäi lμ kh¶ nghÞch. PhÇn tö nghÞch ®¶o cña a ®−îc ký hiÖu lμ a−1. 1.3.5. §Þnh nghÜa 1.12 PhÐp chia cña a cho b mod n lμ tÝch cña a vμ b−1 mod n tÝch nμy ®−îc x¸c ®Þnh nÕu b lμ phÇn tö kh¶ nghÞch 1.3.6. §Þnh lý 1.6 Cho a ∈ Z n , khi ®ã a lμ kh¶ nghÞch nÕu vμ chØ nÕu: (a, n ) = 1 VÝ dô: C¸c phÇn tö kh¶ nghÞch trong Z9 lμ 1, 2, 3, 4, 5, 7 vμ 8. Ch¼ng h¹n 4 − 1 = 7 v× 4 . 7 ≡ 1 (mod 9 ) . Ch−¬ng 1: Bæ tóc vÒ lý thuyÕt sè 17 1.3.7. §Þnh lý 1.7 Cho d = (a,n). Ph−¬ng tr×nh ®ång d− ax ≡ b(mod n ) cã nghiÖm x nÕu vμ chØ nÕu d b , trong tr−êng hîp nμy cã ®óng d nghiÖm n»m gi÷a 0 vμ n - 1, nh÷ng nghiÖm nμy lμ tÊt c¶ c¸c ®ång d− theo modulo n d . 1.3.8. §Þnh lý 1.8 (PhÇn d− China) NÕu c¸c sè nguyªn n1 , n 2 ,K, n k lμ nguyªn tè cïng nhau tõng ®«i mét th× hÖ c¸c ph−¬ng tr×nh ®ång d−: x ≡ a 1 (mod n 1 ) x ≡ a 2 (mod n 2 ) .......... .......... .... x ≡ a k (mod n k ) sÏ cã nghiÖm duy nhÊt theo modulo n (n = n 1 . n 2 K n k ) . 1.3.9. ThuËt to¸n Gausse NghiÖm x cña hÖ ph−¬ng tr×nh ®ång d− trong ®Þnh lý phÇn d− China cã thÓ ®−îc tÝnh b»ng: x= k ∑a N M i i i mod n i =1 Trong ®ã: N i = n / n i vμ M i = N i− 1 mod n i C¸c tÝnh to¸n nμy cã thÓ ®−îc thùc hiÖn trong 0 ( (lg n ) ) c¸c 2 phÐp to¸n trªn bit. VÝ dô: CÆp ph−¬ng tr×nh ®ång d− x ≡ 3 (mod 7 ), x ≡ 7 (mod 13 ) cã nghiÖm duy nhÊt x ≡ 59 (mod 91 ) . 18 Gi¸o tr×nh MËt m· häc 1.3.10. §Þnh lý 1.9 NÕu (n1 , n 2 ) = 1 th× cÆp ph−¬ng tr×nh ®ång d−. x ≡ a (mod n 1 ) , x ≡ a (mod n 2 ) cã mét nghiÖm duy nhÊt x ≡ a (mod n 1 , n 2 ) . 1.3.11. §Þnh nghÜa 1.13 Nhãm nh©n cña Z n lμ Z *n = {a ∈ Z n (a, n ) = 1} §Æc biÖt, nÕu n lμ sè nguyªn tè th× Z *n = {a 1 ≤ a ≤ n − 1}. 1.3.12. §Þnh nghÜa 1.14 CÊp cña Z *n lμ sè c¸c phÇn tö trong Z *n (ký hiÖu Z *n ) Theo ®Þnh nghÜa cña hμm Phi-Euler ta thÊy: Z *n = Φ(n ) CÇn ®Ó ý r»ng nÕu a ∈ Z *n vμ b ∈ Z *n th× a, b ∈ Z *n vμ bëi vËy Z *n lμ ®ãng ®èi víi phÐp nh©n. 1.3.13. §Þnh lý 1.10 Cho p lμ mét sè nguyªn tè: (1) §Þnh lý Euler: NÕu a ∈ Z *n th× a Φ (n ) ≡ 1 (mod n ) . (2) NÕu n lμ tÝch cña c¸c sè nguyªn kh¸c nhau vμ nÕu r ≡ s (mod Φ (n )) th× a r ≡ as (mod n ) ®èi víi mäi sè nguyªn a. Nãi mét c¸ch kh¸c khi lμm viÖc víi modulo n th× c¸c sè mò cã thÓ ®−îc rót gän theo modulo Φ(n ). Ch−¬ng 1: Bæ tóc vÒ lý thuyÕt sè 19 1.3.14. §Þnh lý 1.11 Cho p lμ mét sè nguyªn tè: (1) §Þnh lý Ferma: NÕu (a, p) = 1 th× a p −1 ≡ 1 (mod p ) . (2) NÕu r ≡ s (mod p − 1 ) th× a r ≡ a s (mod p ) ®èi víi mäi sè nguyªn a. Nãi mét c¸ch kh¸c khi lμm viÖc víi modulo cña mét sè nguyªn tè p th× c¸c luü thõa cã thÓ ®−îc rót gän theo modulo p - 1. (3) §Æc biÖt a p ≡ a (mod p ) víi mäi sè nguyªn a. 1.3.15. §Þnh nghÜa 1.15 Cho a ∈ Z *n . CÊp cña a (ký hiÖu lμ ord(a ) ) lμ sè nguyªn d−¬ng nhá nhÊt t sao cho a t ≡ 1 (mod n ) . 1.3.16. §Þnh nghÜa 1.16 Cho a ∈ Z *n , ord(a ) = t vμ a s ≡ 1 (mod n ) khi ®ã t lμ −íc cña s. §Æc biÖt t Φ (n ) . VÝ dô: Cho n = 21, khi ®ã Z *21 = {1, 2, 4 , 5, 8 , 10 , 11 , 13 , 16 , 17 , 19 , 20 } Chó ý r»ng Φ (21 ) = Φ (7 ) Φ (3 ) = 12 = Z *21 . CÊp cña c¸c phÇn tö trong Z *21 ®−îc nªu trong b¶ng sau: B¶ng 13: CÊp cña c¸c phÇn tö trong Z *21 * a ∈ Z 21 1 2 4 5 8 10 11 13 16 17 19 20 Ord(a) 1 6 3 6 2 6 6 2 3 6 6 2 20 Gi¸o tr×nh MËt m· häc 1.3.17. §Þnh nghÜa 1.17 Cho α ∈ Z *n . NÕu cÊp cña α lμ Φ(n ) th× α ®−îc gäi lμ phÇn tö sinh hay phÇn tö nguyªn thñy cña Z *n . NÕu Z *n cã mét phÇn tö sinh th× Z *n ®−îc gäi lμ cyclic. 1.3.18. C¸c tÝnh chÊt cña c¸c phÇn tö sinh cña (1) Z*n Z*n cã phÇn tö sinh nÕu vμ chØ nÕu n = 2, 4, p k hoÆc lμ 2p k , trong ®ã p lμ mét sè nguyªn tè lÎ vμ k ≥ 1 . §Æc biÖt, nÕu p lμ * mét sè nguyªn tè th× Z n cã phÇn tö sinh. * (2) NÕu α lμ mét phÇn tö sinh cña Z n th×: Z *n = { α i mod n 0 ≤ i ≤ Φ(n ) − 1 } (3) Gi¶ sö r»ng α lμ mét phÇn tö sinh cña b = α i mod n còng lμ mét phÇn tö sinh cña (i, Φ(n )) = 1 . Tõ ®ã ta rót ra r»ng nÕu Z*n tö sinh lμ Φ(Φ(n )) . Z*n Z*n , khi ®ã nÕu vμ chØ nÕu lμ cyclic th× sè c¸c phÇn (4) α ∈ Zn lμ mét phÇn tö sinh cña Z n nÕu vμ chØ nÕu * * α Φ (n ) / p ≠ 1(mod n ) ®èi víi mçi nguyªn tè p cña Φ(n ) . VÝ dô: Z*21 kh«ng lμ cyclic v× nã kh«ng chøa mét phÇn tö cã cÊp Φ(21) = 12 (Chó ý r»ng 21 kh«ng tháa m·n ®iÒu kiÖn (1) ë trªn). Z *25 lμ cyclic vμ cã mét phÇn tö sinh α = 2 . Ch−¬ng 1: Bæ tóc vÒ lý thuyÕt sè 21 1.3.19. §Þnh nghÜa 1.18 Cho a ∈ Z*n , a ®−îc gäi lμ thÆng d− bËc hai modulo n (hay b×nh ph−¬ng cña modulo n) nÕu tån t¹i x ∈ Z*n sao cho x 2 ≡ a(mod n ) . NÕu kh«ng tån t¹i x nh− vËy th× a ®−îc gäi lμ thÆng d− kh«ng bËc hai mod n. TËp tÊt c¶ c¸c thÆng d− bËc hai modulo n ®−îc ký hiÖu lμ Qn, cßn tËp tÊt c¶ c¸c thÆng d− kh«ng bËc hai ®−îc ký hiÖu lμ Q n . CÇn chó ý r»ng theo ®Þnh nghÜa 0 ∉ Z*n . Bëi vËy 0 ∉ Q n vμ 0 ∉ Qn . 1.3.20. §Þnh lý 1.12 Cho p lμ mét sè nguyªn tè lÎ vμ α lμ mét phÇn tö sinh cña Z*p . Khi ®ã a ∈ Z*p lμ mét thÆng d− bËc hai modulo p nÕu vμ chØ nÕu a = α i mod p , trong ®ã i lμ mét sè nguyªn ch½n. Tõ ®ã rót ra r»ng Q p = (p − 1) 2 vμ Q p = (p − 1) , tøc lμ mét nöa sè phÇn tö trong 2 Z*p lμ c¸c thÆng d− bËc hai vμ nöa cßn l¹i thÆng d− kh«ng bËc hai. * VÝ dô: α = 6 lμ mét phÇn tö sinh cña Z13 . C¸c lòy thõa cña α ®−îc liÖt kª ë b¶ng sau: i 0 1 2 3 4 5 6 7 8 9 10 11 αi mod 13 1 6 10 8 9 2 12 7 3 5 4 11 Bëi vËy Q13 = { 1, 3, 4, 9, 10,12 }, Q13 = { 2, 5, 6, 7, 8,11 } . 1.3.21. §Þnh lý 1.13 Cho n lμ tÝch cña hai sè nguyªn tè lÎ kh¸c nhau q vμ p, n = p.q, khi ®ã a ∈ Z*n lμ mét thÆng d− bËc hai modulo n nÕu vμ chØ nÕu a ∈ Q p vμ a ∈ Q p . §iÒu ®ã dÉn tíi Q n = Q q . Q p = (p − 1)(q − 1) 4 22 Gi¸o tr×nh MËt m· häc vµ Qn = 3(p − 1)(q − 1) 4 VÝ dô: Cho n = 21. Khi ®ã Q 21 = { 1, 4,16 } Q 21 = {2,5, 8,10,11,13,17,19, 20} 1.3.22. §Þnh nghÜa 1.19 Cho a ∈ Q n . NÕu x ∈ Z*n tháa m·n x 2 ≡ a(mod n ) th× x ®−îc gäi lμ c¨n bËc hai cña a mod n. 1.3.23. §Þnh lý 1.14 (Sè c¸c c¨n bËc hai) (1) NÕu p lμ mét sè nguyªn tè lÎ vμ a ∈ Q n th× a ®−îc gäi lμ c¨n bËc hai theo modulo p. (2) Tæng qu¸t h¬n, cho n = p1e1 pe22 K pekk , trong ®ã pi lμ c¸c sè nguyªn tè lÎ ph©n biÖt vμ e i ≥ 1 . NÕu a ∈ Q n th× cã ®óng 2k c¨n bËc hai kh¸c nhau theo modulo n. VÝ dô: C¸c c¨n bËc 2 cña 12 mod 37 lμ 7 vμ 30. C¸c c¨n bËc 2 cña 121 mod 315 lμ 11, 74, 101, 151, 164, 214, 241 vμ 304. 1.4. C¸c thuËt to¸n trong Zn Cho n lμ mét sè nguyªn d−¬ng. C¸c phÇn tö cña Zn sÏ ®−îc biÓu thÞ bëi c¸c sè nguyªn Q 21 = {0,1, 2,..., n − 1}. Ta thÊy r»ng, nÕu a, b ∈ Z n th× a+b ⎩a + b − r (a + b)mod n = ⎧⎨ a+b 1 th× a−1 mod n kh«ng tån t¹i. Ng−îc l¹i return (x). PhÐp lòy thõa theo modulo cã thÓ ®−îc thùc hiÖn cã hiÖu qu¶ b»ng thuËt to¸n nh©n vμ b×nh ph−¬ng cã lÆp. §©y lμ mét thuËt to¸n rÊt quan träng trong nhiÒu thñ tôc mËt m·. Cho biÓu diÔn nhÞ ph©n cña k lμ: t k i 2 i trong ®ã mçi k i ∈ {0,1} khi ®ã ∑ i =0 a k 2 i = (a 2 ∏ i =0 t a = k i 0 ) (a ) K (a ) k0 21 k1 2t kt 1.4.2. ThuËt to¸n nh©n vμ b×nh ph−¬ng cã lÆp ®Ó lÊy luü thõa trong Zn Vμo: a ∈ Z n vμ sè nguyªn k, (0 ≤ k < n ) cã biÓu diÔn nhÞ ph©n: k= t k i 2i ∑ i =0 Ra: ak mod n. (1) §Æt b ← 1 . NÕu k = 0 th× return (b). (2) §Æt A ← a . 24 Gi¸o tr×nh MËt m· häc (3) NÕu k0 = 1 th× ®Æt b ← a . (4) For i from 1 to t do (4.1) §Æt A ← A 2 mod n (4.2) NÕu k i = 1 th× ®Æt b ← A.b mod n (5) Return (b). VÝ dô: B¶ng 1.4 sau chØ ra c¸c b−íc tÝnh to¸n 5596 mod 1234 = 1013 B¶ng 1.4: TÝnh 5596 mod 1234 i 0 1 2 3 4 5 6 7 8 9 ki 0 0 1 0 1 0 1 0 0 1 A 5 25 625 681 1011 369 421 779 947 925 b 1 1 625 625 67 67 1059 1059 1059 1013 Sè c¸c phÐp to¸n bit ®èi víi phÐp to¸n c¬ b¶n trong Zn ®−îc tãm l−îc trong b¶ng 1.5. B¶ng 1.5: §é phøc t¹p bit cña c¸c phÐp to¸n c¬ b¶n trong Zn PhÐp to¸n §é phøc t¹p bit Céng modulo a+b 0(lgn) Trõ modulo a-b 0(lgn) Nh©n modulo a.b 0((lgn)2) a-1 mod n 0((lgn)2) ak mod n, k < n 0((lgn)3) NghÞch ®¶o modulo Lòy thõa modulo 1.5. c¸c ký hiÖu legendre vμ jacobi Ký hiÖu Legendre lμ mét c«ng cô h÷u Ých ®Ó xem xÐt liÖu mét sè nguyªn a cã lμ mét thÆng d− bËc hai theo modulo cña mét sè nguyªn tè p hay kh«ng?
- Xem thêm -

Tài liệu liên quan