Kinesiska restsatsen

Relevanta dokument
Några satser ur talteorin

Sats 2.1 (Kinesiska restsatsen) Låt n och m vara relativt prima heltal samt a och b två godtyckliga heltal. Då har ekvationssystemet

RSA-kryptering och primalitetstest

DEL I. Matematiska Institutionen KTH

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 22 augusti, 2001

1. (3p) Ett RSA-krypto har parametrarna n = 77 och e = 37. Dekryptera meddelandet 3, dvs bestäm D(3). 60 = = =

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

Om ordinaltal och kardinaltal

Mer om faktorisering

, S(6, 2). = = = =

Lösning till tentamensskrivning på kursen Diskret Matematik, moment B, för D2 och F, SF1631 och SF1630, den 1 juni 2011 kl

Sådana avbildningar kallar vi bijektioner mellan A och B (eller från A till B).

Lösning till tentamensskrivning på kursen Diskret Matematik, moment A, för D2 och F, SF1631 och SF1630, den 10 januari 2011 kl

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

Grupper och RSA-kryptering

En bijektion mellan två mängder A och B som har ändligt antal element kan finnas endast om mängderna har samma antal element.

Lösning av tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, tisdagen den 27 maj 2014, kl

DEL I. Matematiska Institutionen KTH

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

MA2047 Algebra och diskret matematik

Diofantiska ekvationer

Givet två naturliga tal a och b, som inte båda två är 0, hur räknar man ut största gemensamma delaren av a och b?

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

Övningshäfte 6: 2. Alla formler är inte oberoende av varandra. Försök att härleda ett par av de formler du fann ur några av de övriga.

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 20 december, 2001

Algebra och Diskret Matematik A (svenska)

Abstrakt algebra för gymnasister

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den 2 juni 2015, kl

NÅGOT OM KRYPTERING. Kapitel 1

En bijektion mellan två mängder A och B som har ändligt antal element kan endast finnas om mängderna har samma antal element.

MA2047 Algebra och diskret matematik

MS-A0409 Grundkurs i diskret matematik Sammanfattning, del II

Hela tal LCB 1999/2000

Lösning till tentamensskrivning i Diskret Matematik, SF1610 och 5B1118, torsdagen den 21 oktober 2010, kl

a = a a a a a a ± ± ± ±500

MITTUNIVERSITETET TFM. Tentamen Algebra och Diskret Matematik A (svenska) Skrivtid: 5 timmar. Datum: 9 januari 2007

σ 1 = (531)(64782), τ 1 = (18)(27)(36)(45), τ 1 σ 1 = (423871)(56).

Ändliga kroppar. Anna Boman. U.U.D.M. Project Report 2016:12. Department of Mathematics Uppsala University

Diskret matematik, lektion 2

Låt n vara ett heltal som är 2 eller större. Om a och b är två heltal så säger vi att. a b (mod n)

Definitionsmängd, urbild, domän

Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl

a n = A2 n + B4 n. { 2 = A + B 6 = 2A + 4B, S(5, 2) = S(4, 1) + 2S(4, 2) = 1 + 2(S(3, 1) + 2S(3, 2)) = 3 + 4(S(2, 1) + 2S(2, 2)) = = 15.

SF2703 Algebra grundkurs Lösningsförslag med bedömningskriterier till tentamen Måndagen den 9 mars 2009

Tentamen TMV210 Inledande Diskret Matematik, D1/DI2

MA2047 Algebra och diskret matematik

1. (3p) Ett RSA-krypto har de offentliga nycklarna n = 33 och e = 7. Dekryptera meddelandet 5. a b c d e. a a b c d e

Algebra och kombinatorik 28/4 och 5/ Föreläsning 9 och 10

TILLÄMPADE DISKRETA STRUKTURER. Juliusz Brzezinski och Jan Stevens

3. Bestäm med hjälpa av Euklides algoritm största gemensamma delaren till

Övningshäfte 3: Funktioner och relationer

Föreläsning 9: Talteori

Mängder och kardinalitet

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 11 april, 2002

MS-A0409 Grundkurs i diskret matematik Appendix, del II

SF1661 Perspektiv på matematik Tentamen 24 oktober 2013 kl Svar och lösningsförslag. z 11. w 3. Lösning. De Moivres formel ger att

Lösningar för tenta i TMV200 Diskret matematik kl. 14:00 18:00

Institutionen för matematik, KTH Mats Boij. Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 20 december, 2000

ALGEBRAISKA STRUKTURER. Juliusz Brzezinski

Hjalpmedel: Inga hjalpmedel ar tillatna pa tentamensskrivningen. 1. (3p) Los ekvationen 13x + 18 = 13 i ringen Z 64.

Uppgifter om funktioner

Lösningar för tenta i TMV200 Diskret matematik kl. 14:00 18: Svar: Ja, det gäller, vilket kan visas på flera sätt (se nedan).

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2

KTH, Matematik. Övningar till Kapitel , 6.6 och Matrisframställningen A γ av en rotation R γ : R 2 R 2 med vinkeln γ är

MA 11. Hur starkt de binder. 2 Reella tal 3 Slutledning 4 Logik 5 Mängdlära 6-7 Talteori 8 Diofantiska ekvationer 9 Fördjupning och kryptografi

MITTUNIVERSITETET TFM. Modelltenta Algebra och Diskret Matematik. Skrivtid: 5 timmar. Datum: 1 oktober 2007

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

Lite additioner till Föreläsningsanteckningarna. 1 Tillägg till kapitel 1.

1. (3p) Bestäm den minsta positiva resten vid division av talet med talet 31.

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

Linjär Algebra M/TD Läsvecka 2

Matematiska Institutionen KTH. Lösning till några övningar inför lappskrivning nummer 5, Diskret matematik för D2 och F, vt09.

EXAMENSARBETEN I MATEMATIK

Algebra II. Isac Hedén och Johan Björklund

Subtraktion. Räkneregler

Föreläsning 5: Kardinalitet. Funktioners tillväxt

ARITMETIK 3. Stockholms universitet Matematiska institutionen Avd matematik Torbjörn Tambour

ÄNDLIGT OCH OÄNDLIGT AVSNITT 4

Vi börjar med en viktig definition som inte finns i avsnitt 3.4 i [EG], den formella definitionen av kongruens modulo n:

Om relationer och algebraiska

Algebra och kryptografi Facit till udda uppgifter

10! = =

Moment Viktiga exempel Övningsuppgifter Ö , Ö1.25, Ö1.55, Ö1.59

MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Avd. Matematik Examinator: Daniel Bergh. Lösningsförslag Algebra och kombinatorik

K2 Något om modeller, kompakthetssatsen

Lösningar till utvalda uppgifter i kapitel 5

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

Om modeller och teorier

Föreläsning 6. SF1625 Envariabelanalys. Hans Thunberg, 9 november 2018

Föreläsning 9: Talteori

18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p.

Kap. 8 Relationer och funktioner

Algebraiska egenskaper hos R n i)u + v = v + U

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.

Om semantisk följd och bevis

Algebra och kryptografi

Linjära avbildningar. Låt R n vara mängden av alla vektorer med n komponenter, d.v.s. x 1 x 2. x = R n = x n

Lösningsförslag till tentamensskrivning i SF1610 Diskret Matematik för CINTE 30 maj 2018, kl

Offentlig kryptering

Abstract Vi betraktar ringen R = Z 2 [x 1,...,x n ]/(x 2 1 x 1,...,x 2 n x n ). Vi visar att det finns en naturlig 1-1-motsvarighet mellan elementen

Transkript:

Matematik, KTH Bengt Ek juli 2017 Material till kurserna SF1679 och SF1688, Diskret matematik: Kinesiska restsatsen Vi vet att för varje m Z + och varje a Z, ges alla x Z som uppfyller x a (mod m) av x = a + tm, för t Z. Det följer ju direkt av definitionen av kongruens: x a (mod m) m (x a) x a = tm för något t Z. Men antag nu att vi har flera sådana kongruenser och vill finna de heltal x som uppfyller dem allesammans. Dvs, vi söker alla lösningar x Z till följande system av kongruenser: x a 1 (mod m 1 ) x a 2 (mod m 2 ) ( ). x a k (mod m k ), där k, m 1,..., m k Z + och a 1,..., a k Z. I det enklaste fallet, när modulerna m i är parvis relativt prima, säger Kinesiska restsatsen (eng. the Chinese remainder theorem, CRT) att (för varje k Z + och) för varje val av heltal a 1, a 2,..., a k finns lösningar till systemet och satsen anger också hur olika lösningar förhåller sig till varandra. Den naturliga avbildningen Z (Z m1 Z m2... Z mk ) Låt Z m1 Z m2... Z mk som vanligt beteckna mängden av alla k-tupler (b 1, b 2,..., b k ), där b i Z mi, för i = 1,..., k. Vi definierar funktionen enligt F : Z (Z m1 Z m2... Z mk ) F (x) = ([x] m1, [x] m2,..., [x] mk ) där [x] mi = {y Z y x (mod m i )}, dvs [x] mi är x betraktat som ett element i Z mi. 1

2 Exempel. Om vi tar x = 718, m 1 = 5, m 2 = 6, m 3 = 7, finner vi F (718) = ([718] 5, [718] 6, [718] 7 ) = ([3] 5, [4] 6, [4] 7 ), vanligen skrivet (3, 4, 4). (Slut på exemplet.) Eftersom [x] mi = [a i ] mi x a i (mod m i ), uppfylls ( ) av x Z omm Dessutom gäller F (x) = ([a 1 ] m1, [a 2 ] m2,..., [a k ] mk ). F (x) = F (y) [x] mi = [y] mi för i = 1,..., k x y (mod m i ) för i = 1,..., k m i (x y) för i = 1,..., k mgm(m 1,..., m k ) (x y), så om x uppfyller ( ), gör y det omm x y (mod mgm(m 1,..., m k )). Antag nu att modulerna m i är parvis relativt prima och inför beteckningen m = m 1 m 2... m k. Då är mgm(m 1,..., m k ) = m, så F (x) = F (y) m (x y) [x] m = [y] m. Det betyder att F definierar en funktion f : Z m (Z m1 Z m2... Z mk ) enligt f([x] m ) = F (x). ovan visar att olika y [x] m har samma F (y), så f är väldefinierad., å andra sidan, visar att f([x] m ) = f([y] m ) [x] m = [y] m, så f är ett-tillett (en injektion). Eftersom Z m = m = m 1... m k = Z m1... Z mk och f tar olika element i Z m till olika element i Z m1... Z mk (och m är ändligt), antas alla värden i Z m1... Z mk, så f är ett-till-ett och på (en bijektion). Exempel. Med m 1 = 3, m 2 = 5 (relativt prima, ju), som ger m = 15, finner vi funktionen f : Z 15 Z 3 Z 5 (vi underförstår [.] 15, [.] 3, [.] 5): f(0) = (0, 0), f(5) = (2, 0), f(10) = (1, 0) f(1) = (1, 1), f(6) = (0, 1), f(11) = (2, 1) f(2) = (2, 2), f(7) = (1, 2), f(12) = (0, 2) f(3) = (0, 3), f(8) = (2, 3), f(13) = (1, 3) f(4) = (1, 4), f(9) = (0, 4), f(14) = (2, 4) och vi ser att varje element i Z 3 Z 5 antas som värde precis en gång. Isomorfin (Z m, +, ) = (Z m1... Z mk, +, ) Vi definierar addition och multiplikation komponentvis i Z m1... Z mk, ([x] m1,..., [x] mk ) + ([y] m1,..., [y] mk ) = ([x] m1 + [y] m1,..., [x] mk + [y] mk ), ([x] m1,..., [x] mk ) ([y] m1,..., [y] mk ) = ([x] m1 [y] m1,..., [x] mk [y] mk ), (observera att + och i vl:en definieras här, medan + och i hl:en är i de olika Z mi ) och minns att [x] n + [y] n = [x + y] n, [x] n [y] n = [x y] n (enligt definitionen av + och i Z n). Vi finner då för x, y Z m : f(x) + f(y) = f(x + y) och f(x) f(y) = f(x y). (+ och i vl:en är definierade ovan och + och i hl:en är i Z m.)

Det betyder att (Z m, +, ) och (Z m1... Z mk, +, ) (om m i:na är parvis relativt prima) är isomorfa (eng. isomorphic), betecknat (Z m, +, ) = (Z m1... Z mk, +, ). f är en isomorfi (eng. isomorphism) (strukturbevarande bijektion) mellan dem. Vi har därmed visat följande Sats: Om k, m 1,..., m k Z +, sgd(m i, m j ) = 1 då i j och m = m 1... m k, så definierar den naturliga avbildningen f : Z m Z m1... Z mk en isomorfi (Z m, +, ) = (Z m1... Z mk, +, ) Med denna isomorfi kan beräkningar och resonemang i Z m ofta förenklas. Om man t.ex. skall beräkna x y (eller x + y) kan man göra det genom att bestämma f(x) och f(y), beräkna f(x) f(y) = f(x y) (eller f(x)+f(y) = f(x+y)) (med enklare, oberoende beräkningar i Z mi :na, eventuellt parallellt) och sedan gå tillbaks (eftersom f är bijektiv) för att finna x y (eller x + y) i Z m. Eftersom f är en isomorfi och f(1) = ([1] m1,..., [1] mk ) ser vi också att x Z m är inverterbar det finns ett y Z m med x y = 1 det finns ett y Z m med f(x) f(y) = f(1) det finns ett y Z m med [x] mi [y] mi = [1] mi för i = 1,..., k [x] mi är inverterbart för i = 1,..., k, så x Z m är inverterbart (i Z m) omm [x] mi är inverterbart (i Z mi ) för i = 1,..., k och då är f(x 1 ) = ([x] 1 m 1,..., [x] 1 m k ). Exempel. Om vi åter tar m 1 = 3, m 2 = 5 och m = 15, kan vi beräkna 9 13 i Z 15 så här: Enligt tabellen ovan är f(9) = (0, 4), f(13) = (1, 3), så f(9 13) = f(9) f(13) = (0 1, 4 3) = (0, 2) = f(12) (sista = enligt tabellen). Eftersom f är injektiv ger det att 9 13 = 12 i Z 15. På samma sätt finner vi f(9+13) = (0, 4)+(1, 3) = (1, 2) = f(7), så 9+13 = 7 i Z 15. f(12) = (0, 2) visar också att 12 inte är inverterbart i Z 15 (ty 0 är inte inverterbart i Z 3) och f(13) = (1, 3) ger att 13 är inverterbart i Z 15 (ty [1] 3 och [3] 5 är inverterbara) och f(13 1 ) = (1 1, 3 1 ) = (1, 2) = f(7) ger 13 1 = 7 i Z 15. (Slut på exemplet.) Då man räknar med mycket stora tal (i Z), särskilt om många additioner och multiplikationer skall utföras i följd, kan metoden som beskrivits här användas för att snabba upp beräkningarna (snabb aritmetik). Man använder då m i :n av rimlig storlek och ett ganska stort k för att få ett mycket stort m. Beräkningarna i de olika Z mi kan (relativt snabbt) utföras parallellt och om man kan uppskatta att resultatet ligger i ett intervall av längd högst m, bestäms det av det beräknade värdet i Z m. För att detta skall vara praktiskt användbart, måste vi kunna beräkna värden för f och f 1 (dvs finna ett värde för x med givet ([x] m1,..., [x] mk )) någotsånär snabbt. I exemplet fann vi x med hjälp av tabellen för f, men det är förstås inte möjligt då m är jättelikt. f fås med division med (de inte så stora) m i, vilket går snabbt, och för f 1 skall vi finna en effektiv metod i nästa avsnitt. 3

4 Åter till Kinesiska restsatsen Existensen av bijektionen f : Z m (Z m1... Z mk ) uttryckt i termer av lösningar till systemet av kongruenser ( ) som vi utgick från ger Kinesiska restsatsen: Om k, m 1,..., m k Z +, sgd(m i, m j ) = 1 då i j, m = m 1... m k och a 1,..., a k Z, så har systemet av kongruenser x a 1 (mod m 1 ) x a 2 (mod m 2 ) ( ). x a k (mod m k ), en lösning och den är entydig modulo m (dvs om x är en lösning, ges alla lösningar av x + t m, t Z). Det återstår att finna en enkel metod för att få fram en lösning x Z till ( ), då m i :na och a i :na är givna, dvs att finna x med F (x) = (a 1,..., a k ). Vi beskriver två metoder: 1. Med användning av F :s linearitet: Antag att vi har heltal y i, i = 1,..., k som uppfyller F (y i ) = ( 1 0,..., 0, i 1, 0,..., k 0), med den enda 1:an i position i. Då är F (a 1 y 1 +... + a k y k ) = ([a 1 y 1 +... + a k y k ] m1,...) = ([a 1 ] m1,..., [a k ] mk ), så x = a 1 y 1 +... + a k y k är en lösning till ( ) (och y Z är en lösning omm y m x). Så, om vi har sådana y i kan vi finna alla lösningar till ( ) mycket effektivt. Om vi speciellt vill lösa många system ( ) med olika a i, räcker det att beräkna y i :na en gång för alla (eftersom de inte beror av a i :na). De kan lagras och användas varje gång de behövs (dvs när f 1 skall beräknas). För att finna y i, minns att det uppfyller ( ) med a i = 1, a j = 0 för j i. Om vi låter M i = m m i = m 1... m i... m k är M i b i ett möjligt y i om M i b i mi 1 och eftersom sgd(m i, m i ) = 1 finns sådana b i för i = 1,..., k. Exempel. I ett tidigare exempel använde vi m 1 = 5, m 2 = 6, m 3 = 7 (parvis relativt prima), så m = 5 6 7 = 210, och fann F (718) = (3, 4, 4). Det betyder för 719 = 89 Z 210 att f(89) = (4, 5, 5) och vi ser att f(89 1 ) = (4 1, 5 1, 5 1 ) = (4, 5, 3) (Z 5 Z 6 Z 7 ). (718 är inte inverterbart i Z 210 eftersom 4 inte är inverterbart i Z 6 ). För att finna 89 1 beräknar vi (ett möjligt val av) y 1, y 2, y 3 i detta fall: y 1 = 6 7 b 1 = 42b 1 5 1 2b 1 5 1 och vi kan ta b 1 = 3, så y 1 = 126. (Här fann vi b 1 med blotta ögat, men i ett realistiskt fall skulle man använda Euklides algoritm för att finna b 1 = M 1 1 i Z m1.) y 2 = 5 7 b 2 = 35b 2 6 1 b 2 6 1. Vi tar b 2 = 1, så y 2 = 35. y 3 = 5 6 b 3 = 30b 3 7 1 2b 3 7 1. Vi tar b 3 = 4, så y 3 = 30 4 = 120. Eftersom f(89 1 ) = (4, 5, 3) får vi 89 1 = 4y 1 + 5y 2 + 3y 3 = 4 126 + 5( 35) + 3 120 = 689 210 59 (i Z 210). (Slut på exemplet.)

Metoden i exemplet är antagligen mindre effektiv för att finna 89 1 Z 210 än Euklides algoritm, men exemplet illustrerar hur man kan beräkna f 1. Om man söker flera inverser i Z 210 kan den metoden kanske vara användbar (eftersom y 1, y 2, y 3 bara behöver beräknas en gång). För ett enda exempel går det dock ofta snabbare med en direkt metod: 2. Lösning av kongruenserna en och en: Vi tar samma exempel som ovan och vill lösa x 4 (mod 5) x 5 (mod 6) x 3 (mod 7). Den första ekvationen uppfylls omm x = 4 + 5s för något s Z. Dessa x uppfyller också den andra ekvationen omm 4 + 5s 6 5 s 6 1 s = 1 + 6t för något t Z, dvs omm x = 4 + 5( 1 + 6t) = 1 + 30t för något t Z. x uppfyller alla tre ekvationerna omm 1 + 30t 7 3 2t 7 4 t 7 2 t = 2 + 7n för något n Z (där sgd(2, 7) = 1 använts i näst sista steget). Så, alla tre kongruenserna uppfylls omm x = 1 + 30t = 1 + 30(2 + 7n) = 59 + 210n för något n Z. Det innebär att [89] 1 210 = [59] 210, som med metod 1. 5

6 Övningsexempel 1. Finn alla x Z sådana att x 2 (mod 3) x 3 (mod 5) x 5 (mod 7). Använd båda metoderna som presenteras i texten. Finn också alla y Z sådana att för alla lösningar x, x y 1 (mod 3), (mod 5) och (mod 7). 2. Finn alla heltal x med 0 x 3000 sådana att x 8 (mod 11) x 7 (mod 12) x 5 (mod 13). 3. Låt f : Z 315 (Z 5 Z 7 Z 9 ) vara som i texten. a. Finn f(3) och f(43). b. Finn f 1 ((1, 0, 0)), f 1 ((0, 1, 0)) och f 1 ((0, 0, 1)). c. Använd f och f 1 för att beräkna (186 + 212) 88 1 + 167 i Z 315. 4. Finn alla x Z sådana att x 2 (mod 4) x 3 (mod 5) x 5 (mod 6). 5. Finn alla k Z + sådana att a. 7834 k 1 (mod 8613). b. 7834 k 6850 (mod 8613). c. 7834 k 2703 (mod 8613). d. 7834 k 1318 (mod 8613). [8613 = 3 3 11 29].

7 Svar 1. x = 68 + 105m, m Z och y = 17 + 105n, n Z. 2. x = 811, 2527. 3a. (3, 3, 3) och (3, 1, 7), b. 126, 225 och 280, c. 193. 4. Det finns inga sådana x. 5a. k = 630n, n Z +, b. k = 213 + 630n, n Z +, c., d. Det finns inga sådana k. Lösningsanvisning till uppgift 5: Med vår isomorfi f : Z 8613 (Z 27 Z 11 Z 29 ) fås f(7834) = (4, 2, 4), f(1) = (1, 1, 1), f(6850) = (19, 8, 6), f(2703) = (3, 8, 6), f(1318) = (22, 9, 13). Potenser av [4] 27, [2] 11, [4] 29 : k 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 k 4 16 10 13 25 19 22 7 1... i Z 27 2 k 2 4 8 5 10 9 7 3 6 1... i Z 11 4 k 4 16 6 24 9 7 28 25 13 23 5 20 22 1... i Z 29 Villkoren på k blir: i a: k 9 0, 10 0, 14 0, i b: k 9 6, 10 3, 14 3, i c finns inget k sådant att 4 k = 3 i Z 27, i d: k 9 7, 10 6, 14 9.