b + mt, t ∈ Z§•=m | a − b Example (ò Ø'X=C•Ó{ª) a ≡ b (modm) ↔ a − b ≡ 0 (modm) ↔ m | a − b • 7 ≡ 4 (mod3) ↔ 3 | (7 − 4) Property 2 Ó{'X÷ve 5Ƶ • g‡Æµé?Û mÑka ≡ a (modm) • 顯µea ≡ b (modm)§Kb ≡ a (modm) • D4Ƶea ≡ b (modm)§b ≡ c (modm)§Ka ≡ c (modm) vici Number Theory
= 1, 2, ..., s§K a1 + a2 + ... + as ≡ b1 + b2 + ... + bs (modm) íØµ k´ ê§n´ ê • ea + b ≡ c (modm)§Ka ≡ b − c (modm) • ea ≡ b (modm)§ Ka + mk ≡ a (modm) , ak ≡ bk (modm) , an ≡ bn (modm) Conclusion 5Ÿ39íØL²§éu\!~!¦9¦• ó§Ó{ª† ª $Ž5Æ´˜— µŒ±£‘§Œ±Ó¦˜ ê§•Œ±¦• vici Number Theory
1§Ka ≡ b (modm) Property 6 ea ≡ b (modm)§…d | a§d | b§d | m§Ka d ≡ b d mod m d Property 7 ea ≡ b (modm)§…m1 | m§Ka ≡ b (modm1) Property 8 ea ≡ b (modmi) , i = 1, 2, ..., s§Ka ≡ b(mod [m1, m2, ..., ms] vici Number Theory
(b, a mod b) d = gcd (a, b)§Kd | a…d | b q = a b §Ka mod b = a − qb dd | ax + by§ d | (a mod b) ¤±d | gcd (b, a mod b) • gcd (b, a mod b) | gcd (a, b) d = gcd (b, a mod b) Kd | b…d | (a mod b) q = a b §Ka = qb + (a mod b) d | a ¤±d | gcd (b, a mod b) Ïd gcd (a, b) = gcd (b, a mod b) vici Number Theory
+ by§@oExtended-EuclidŽ{òÏL˜ éšK ꈣ˜‡n ª(d, x, y)" • (E,݆ECULIDÄ ƒÓ) Algorithm EXTENDED−EUCLID(a, b) if b = 0 then return(a, 1, 0) (d , x , y ) = EXTENDED−EUCLID(b, a mod b) (d, x, y) = (d , y , x − [a / b] · y ) return(d, x, y) vici Number Theory
= 0 -x = 1, y = 0§K÷va = 1 · a + 0 · b • eb = 0 K d = gcd (b, a mod b) d = bx + (a mod b) y d = gcd (a, b) = d = gcd (b, a mod b) d = bx + (a − [a/b] b) y = a y +b(x − [a/b] y ) - x = y y = x − [a/b] y K÷vd = ax + by vici Number Theory
∈ S§ka ⊕ b ∈ S" • ü µ•3˜‡ ƒe ∈ S§¡•+ ü §÷vé¤ ka ∈ S§e ⊕ a = a ⊕ e = a" • (ÜÆµé¤ka, b, c ∈ S§k(a ⊕ b) ⊕ c = a ⊕ (b ⊕ c)" • _ µ éz‡a ∈ S§•3•˜ ƒb ∈ S§¡•a _ § ÷va ⊕ b = b ⊕ a = e" Definition ( †+) XJ+(S, ⊕)÷v †Æ§é¤ka, b ∈ S§ka ⊕ b = b ⊕ a §K §´˜‡ †+" vici Number Theory
½Â ¦{+(Z∗ n , ·n)§T+ ƒ•Zn ¥†npƒ ƒ|¤ 8ÜZ∗ n µ Z∗ n = {[a]n ∈ Zn : gcd (a, n) = 1} Zn †Z∗ n Ñ´k•Œ †+" Definition (f+) ˜‡k•+ š˜µ4f8´˜‡f+" Property XJ(S, ⊕)´˜‡k•+§S ´S ˜‡?¿š˜f8§¿÷v é¤ka, b ∈ S §ka ⊕ b ∈ S §K(S , ⊕)´(S, ⊕) ˜‡f+" vici Number Theory
|´|S| ˜‡ ê" • 阇+S f+S §XJS = S§Kf+S ¡•+S ýf+" Inference XJS.´k•+S ýf+§K|S | ≤ |S| 2 " Definition ék ≥ 1½Âa(k)Xeµ a(k) = a ⊕ a ⊕ ... ⊕ a £k‡a¤ 3+Zn ¥§ka(k) = ka mod n¶3+Z∗ n ¥§ka(k) = ak mod n" da)¤ f+^ a ½( a , ⊕)L«§Ù½ÂXeµ a = a(k) : k ≥ 1 +S¥a d^ord (a)L«§½Â•÷va(t) ≡ e • êt" vici Number Theory
£Ù¥a > 0, n > 0¤ Theorem 1 é?¿ êaÚn§XJd = gcd (a, n)§K 3Zn ¥ a = d = 0, d, 2d, ..., n d − 1 d §Ïdk| a | = n d " Example (3 mod 5) 3 = gcd (3, 5) = 1 1 = 1(x) mod 5 (x = 0, 1, 2, 3, 4) = {0, 1, 2, 3, 4} vici Number Theory
+ ny = d Kax ≡ d (modn) ¤±d ∈ a §Óž(kd mod n) ∈ a " = d ⊆ a • a ⊆ d m ∈ a m = ax mod n Kkm = ax + ny Ï•d | a…d | n§Kkd | m ¤±m ∈ d §? a ⊆ d vici Number Theory
…= gcd (a, n) | b" • •§ax ≡ b (modn)½ökd‡ØÓ )§Ù ¥d = gcd (a, n)¶½öÃ)" Proof (Theorem 1 Inference). • éuax ≡ b (modn)ek)§Kb ∈ a S ai mod näk±Ï5§±Ï•| a | = n d Kb3ai mod n¥Ñydg" vici Number Theory
Úy §kd = ax + ny "X Jd | b§Kax0 ≡ ax b d (modn) ≡ d b d (modn) ≡ b (modn)" Proof (Theorem 2). éux0 = x b d mod n§d = gcd (a, n) Kkd | b, d = ax + ny -x0 = x b d mod n ax0 ≡ ax b d mod n ≡ d b d mod n ≡ b mod n Kx0 ••§ ˜‡)" vici Number Theory
MODULAR−LINEAR−EQUATION−SOLVER(a, b, n) (d, x , y ) = EXTENDED−EUCLID(a, n) if d | b then x0 = x · (b / d) mod n for i = 0 to d − 1 do print (x0 + i · (n / d)) mod n else print ”no solution” vici Number Theory
nk §Ù¥Ïfni üüpŸ"k±eéA'Xµ a ↔ (a1, a2, ..., ak) Ù¥a ∈ Zn, ai · n ∈ Zni § …éi = 1, 2, ..., kµ ai = a mod ni éZn ¥ ƒ¤‰1 $ŽŒ± d Š^uéA k |§=3 · XÚ¥Õá éz‡‹I ˜‰1¤I $Ž" XJ a ↔ (a1, a2, ..., ak) b ↔ (b1, b2, ..., bk) K (a + b) mod n ↔ ((a1 + b1) mod n1, ..., (ak + bk) mod nk) (a − b) mod n ↔ ((a1 − b1) mod n1, ..., (ak − bk) mod nk) (a · b) mod n ↔ ((a1 · b1) mod n1, ..., (ak · bk) mod nk) vici Number Theory
∈ Z∗ n Ѥá" Example Ï•4 ∈ Z∗ 9 §¤±4ϕ(9) ≡ 1 (mod9) Theorem (¤ê½n) XJp´ƒê§Kap−1 ≡ 1 (modp)é¤ka ∈ Z∗ p Ѥá" • p•ƒêž§kϕ (p) = p − 1§¤±¤ê½n´î.½n AÏœ¹" vici Number Theory
b, n) c = 0, d = 1 let bk, bk−1, ..., b0 be the binary representation of b for i = k downto 0 do c = 2c d = (d · d) mod n if bi = 1 then c = c + 1 d = (d · a) mod n return d vici Number Theory
2tu, where t ≥ 1 and u is odd x0 = MODULAR − EXPONENTIATION(a, u, n) for i = 1 to t do xi = x2 i−1 mod n if xi = 1 and xi−1 = 1 and xi−1 = n − 1 then return true if xi−1 = 1 then return true return false vici Number Theory
5Interoduction To Algorithms6 ({)Ronald L.Graham, Donald E.Knuth, Oren Patashnik 5Concrete Mathematics6 ½˜§6 œ 5Ž{êØ6 o‘÷§o² 5p¥êÆ¿m ` §6 vici Number Theory