Facit till Några extra övningar på moduloräkning, faktorisering, diskret invers och diskret logaritm 1. (a) 2 · 32 · 5 · 7 · 31 (testa successivt med 2, 3, 5 osv) (b) 181 · 1277 (med Fermats metod) (c) Fermats metod: 4 036 081 = 2 0092 Fermats metod: 2 009 = 41 · 49 där 49 = 72 och 41 primtal. Alltså är 4 036 081 = 74 · 412 (d) 112 · 13 · 17 · 19 (e) Detta är ett stort primtal. Om man gör Eratosthenes såll får man testa delbarhet med alla primtal ≤ 3 061. (Rätt många... En lista över de 50 miljoner första primtalen finns på http://primes.utm.edu/lists/small/millions.) Fermats faktoriseringsmetod tarvar också rätt många varv innan man kommer fram till faktoriseringen 1·9 382 717. Bästa sättet är att skriva ett program som implementerar Fermats algoritm. Med min i5 2.5 GHz processor tar det ca 20 sekunder för ett sådant program att göra denna faktorisering. (f) 24 · 33 · 7 · 11 · 13. (Successiv testning med 2, 3, . . .) (g) 32 · 67 · 389. (Med Fermats metod kommer man fram till 389 · 603. Faktorn har siffersumma delbar med 9, Därefter inses att 67 och 389 är primtal med Eratosthenes.) (h) Fermat ger 1 324 354 657 = 4 973 · 266 309 och 266 309 = 79 · 3 371. Sedan ger Eratosthenes att 79, 3 371 och 4 973 är primtal. 2. (a) 33333 ≡ (33 − 2 · 17)333 ≡ −1 + 17 = 16 mod 17. (b) 1221 + 2332 ≡ (127 − 465 348 · 77)3 + (234 − 3 634 · 77)8 ≡ (123 − 22 · 77) + (234 − 3 634 · 77)2 ≡ 24 mod 77. (c) 812311 − 132231 ≡ −(210 )31 · 2 − 0 ≡ −(126 − 135 726 · 22)5 · 24 ≡ −(255 − 11 310 · 22) · 24 ≡ 20 mod 22. 3. (a) Mha Euklides algoritm fås att gcd(51, 13) = 1. Nystar man upp den baklänges fås lösningen (x, y) = (−1, −4) till den diofantiska ekvationen 51x − 13y = 1. Därmed är den minsta positiva lösningen (x, y) = (−1+13, −4+51) = (12, 47). Alltså är x = 12 den diskreta inversen till 51 mod 13. (b) 11 (c) Eftersom gcd(52, 13) > 1 existerar det ingen diskret invers till 52 mod 13. (d) Eftersom gcd(51, 12) > 1 existerar det ingen diskret invers till 51 mod 12. (e) 1 649 (f) Eftersom gcd(7 521, 1 199) > 1 existerar det ingen diskret invers till 7 521 mod 1 199. (g) 55 (h) Eftersom gcd(234 567, 123 456) > 1 existerar det ingen diskret invers till 234 567 mod 123 456. 4. x ≡ 2 mod 4 ⇒ ∃ k så att x − 4k = 2 (∗). Ska bevisa att ∃n så att 51x − 12n = 6. (∗) ⇒ x = 2 + 4k ⇒ 51x − 12n = 51(2 + 4k) − 12n = 3 · 17 · 2(1 + 2k) − 6 · 2n = 6(17(1 + 2k) − 2n = 6, dvs 17(1 + 2k) − 2n = 1, dvs n = 21 (17(1 + 2k) − 1) = 8 + 17k. Alltså: eftersom x ≡ 2 (mod 4) så finns k så att x = 2 + 4k. Så låt n = 8 + 17k så är 51x − 12n = 6, dvs 51x ≡ 6 (mod 12). 5. (a) 3x ≡ 1 (mod 10) då 3x är ett tal som slutar på 1. 3-potenserna är 31 = 3, 32 = 9, 33 = 27, 34 = 81 slutar på 1! Alltså är x = 4 det minsta positiva heltalet så att 3x ≡ 1 (mod 10), dvs diskreta 3-log av 1 mod 10 är 4. (b) 332 har samma slutsiffra som 32 dvs 9, 333 har samma slutsiffra som 33 dvs 7, och 334 har samma slutsiffra som 34 dvs 1. Så även diskreta 3-log av 1 mod 10 är 4. (c) Samma argument som gällde i (b) gäller alla a-log av 1 mod 10 där a är ett tal som slutar på 3. Faktum är att man kan resonera på samma sått med alla tal a beroende på vilken slutsiffra de har då man räknar mod 10 eftersom vi använder 10-systemet (dvs basen 10). Alltså är den diskreta 743-log av 1 mod 10 också 4. (d) Den diskreta 343-log av 1 mod 7 existerar inte. Detta eftersom 343x ≡ (343 − 49 · 7)x = 0 6≡ 1 för något positivt heltal x. (e) Genom att bara sitta och testa sig fram kan man successivt beräkna 3-potenser (32 , 33 , osv). En indikation på att dessa ger rest 1 mod 17 är att de ger en 1 liten decimaldel (dvs 17 ) då man dividerar med 17. Alltså kan man successivt x beräkna 3 /17 − floor(3x /17) för x = 2, 3, 4, . . . Det visar sig då att x = 16 1 . Alltså är 316 ≡ 1 mod 17, dvs den diskreta 3-log av ger just decimaldelen 17 1 mod 17 är 16. (f) Den diskreta 2-log av 1 mod 2 existerar ej eftersom 2x ≡ (2 − 2)x = 0 (mod 2) för alla x > 0. (g) 34 ≡ 81 − 5 · 16 = 1 mod 16. Så diskreta 3-log av 1 mod 16 är 4. (h) Med resonemang liknande det i (e) fås att diskreta 335-log av 1 mod 7 är 2. 6. Låt gcd(a, n) = d. Om a och n är inte är relativt prima, är d > 1 och a = bd och n = md. Om x ska vara diskreta a-log av 1 mod n ska ax ≡ 1 mod n, dvs ax − kn = 1 för något heltal k, dvs (bd)x − kmd = d(bx dx−1 − km) = 1. Här kan d(bx dx−1 − km) bara bli 1 om båda heltalen d och bx dx−1 − km är 1. Men d > 1. Alltså kan det inte finnas någon diskret a-log 1 mod n, dvs ∃ a-log 1 mod n ⇒ gcd(a, n) = 1