Groepen, ringen en velden



Vergelijkbare documenten
Hoofdstuk 1. Inleiding. Lichamen

OPLOSSINGEN VAN DE OEFENINGEN

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s.

We beginnen met de eigenschappen van de gehele getallen.

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte

Gehelen van Gauss. Hector Mommaerts

2.1 Bewerkingen [1] Video Geschiedenis van het rekenen ( 15 x 3 = 45

De hoofdstelling van de algebra en het veld van de complexe getallen

Complexe getallen: oefeningen

RSA. F.A. Grootjen. 8 maart 2002

Definitie 1.1. Een groep is een verzameling G, uitgerust met een bewerking waarvoor geldt dat:

Universiteit Gent. Academiejaar Discrete Wiskunde. 1ste kandidatuur Informatica. Collegenota s. Prof. Dr.

2.1 Bewerkingen [1] Video Geschiedenis van het rekenen ( 15 x 3 = 45

Wiskundige taal. Symbolen om mee te rekenen + optelling - aftrekking. vermenigvuldiging : deling

VAKANTIEWERK WISKUNDE

1 Rekenen met gehele getallen

Getaltheorie I. c = c 1 = 1 c (1)

Vector-en matrixvergelijkingen. Figuur: Vectoren, optellen

Inhoudsopgave. I Theorie 1

Algebra. Oefeningen op hoofdstuk Groepentheorie Cayleytabellen van groepen van orde Cyclische groepen

Zomercursus Wiskunde. Module 1 Algebraïsch rekenen (versie 22 augustus 2011)

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht.

Basisvaardigheden algebra. Willem van Ravenstein Den Haag

6 Ringen, lichamen, velden

Verzamelingen deel 2. Tweede college

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht.

Over de construeerbaarheid van gehele hoeken

Algebra. voor Informaticastudenten Getallen. Ernic Kamerich. Jean Delville: de school van Plato

Grafieken van veeltermfuncties

Kernbegrippen Handig met getallen 1, onderdeel Bewerkingen

Algebra, Les 18 Nadruk verboden 35

1 Complexe getallen in de vorm a + bi

Voorbereiding toelatingsexamen arts/tandarts. Wiskunde: veeltermfuncties en berekening parameters, stelsels. 16 september dr.

Definitie 5.1. Cyclische groepen zijn groepen voortgebracht door 1 element.

Lineaire Algebra 3 en 4. Wieb Bosma

Verzamelingen deel 3. Derde college

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

5.2.4 Varia in groepentheorie

5 Inleiding tot de groepentheorie

Eigenschap (Principe van welordening) Elke niet-lege deelverzameling V N bevat een kleinste element.

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.

Zomercursus Wiskunde. Katholieke Universiteit Leuven Groep Wetenschap & Technologie. September 2008

Het karakteristieke polynoom

OVER IRRATIONALE GETALLEN EN MACHTEN VAN π

Hoofdstuk 9. Vectorruimten. 9.1 Scalairen

WISNET-HBO. update aug. 2011

Numerieke aspecten van de vergelijking van Cantor. Opgedragen aan Th. J. Dekker. H. W. Lenstra, Jr.

8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde

De Chinese reststelling

7.1 Het aantal inverteerbare restklassen

Hoofdstuk 6. Congruentierekening. 6.1 Congruenties

Conflictmeetkunde, dominante termen, GGD s en = 1.

vandaag is Annie twee jaar jonger dan Ben en Cees samen

Functies van vectoren

Wiskunde voor relativiteitstheorie

Memoriseren: Een getal is deelbaar door 10 als het laatste cijfer een 0 is. Of: Een getal is deelbaar door 10 als het eindigt op 0.

Extra oefeningen Hoofdstuk 8: Rationale getallen

Kameel 1 basiskennis algebra

De wissel-eigenschap voor vermenigvuldigen Vermenigvuldigen kan in omgekeerde volgorde gebeuren, want voor ieder paar getallen a enbgeldt: a b=b a.

Polynomen. + 5x + 5 \ 3 x 1 = S(x) 2x x. 3x x 3x 2 + 2

8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde

Uitwerkingen toets 12 juni 2010

Opgeloste en onopgeloste mysteries in de getaltheorie

1. REGELS VAN DEELBAARHEID.

Bekijk nog een keer het stelsel van twee vergelijkingen met twee onbekenden x en y: { De tweede vergelijking van de eerste aftrekken geeft:

Veeltermen. Module Definitie en voorbeelden. Een veelterm met reële coëfficiënten in één veranderlijke x is een uitdrukking van de vorm

3.2 Basiskennis De getallenlijn Symbolen, tekens en getallen. 92 Algebra. Inhoofdstuk1zijnaandeordegeweest: Het=teken. =staat.

2. Optellen en aftrekken van gelijknamige breuken

II.3 Equivalentierelaties en quotiënten

Vakgroep CW KAHO Sint-Lieven

Kernbegrippen Kennisbasis wiskunde Onderdeel breuken

Introductie tot de p-adische getallen

Dossier 1 SYMBOLENTAAL

1 Hele getallen. Rekenen en wiskunde uitgelegd Kennisbasis voor leerkrachten basisonderwijs. Uitwerkingen van de opgaven bij de basisvaardigheden

x x x

Niveau 2F Lesinhouden Rekenen

Verzamelingen. Hoofdstuk 5

Uitwerkingen Rekenen met cijfers en letters

AXIOMATIEK VAN GETALLEN, vergezichten vanuit mijn ivoren toren

Extra oefeningen hoofdstuk 2: Natuurlijke getallen

7 Deelbaarheid. 7.1 Deelbaarheid WIS7 1

Voorbereiding toelatingsexamen arts/tandarts. Wiskunde: veeltermfuncties en berekening parameters. 23 juli dr.

OPLOSSINGEN PROEFEXAMEN LINEAIRE ALGEBRA donderdag 18 november 2010

Het RSA Algoritme. Erik Aarts - 1 -

PARATE KENNIS & VAARDIGHEDEN WISKUNDE 1 STE JAAR 1. TAALVAARDIGHEID BINNEN WISKUNDE. a) Begrippen uit de getallenleer ...

Programmeren met Arduino-software

Getallen, 2e druk, extra opgaven

6. Lineaire operatoren

1 Rekenen in eindige precisie

6 Ringen, lichamen, velden

Hoofdstuk 3: NEGATIEVE GETALLEN

Getallen 2. Doelgroep Rekenen en Wiskunde Getallen 2

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015

Lab Webdesign: Javascript 3 maart 2008

Willem van Ravenstein

Transcriptie:

Groepen, ringen en velden Groep Een groep G is een verzameling van elementen en een binaire operator met volgende eigenschappen: 1. closure (gesloten): als a en b tot G behoren, doet a b dat ook. 2. associativiteit: voor alle a, b en c in G geldt: a (b c)=(a b) c 3. neutraal element: voor elke a van G bestaat er een e in G zodat a e=e a=a 4. invers element: voor elke a van G bestaat er een a' zodat a a'=a' a=e De groep is abelian (commutatief) als ook geldt: 5. commutativiteit: voor elke a en b van G geldt: a b=b a Een voorbeeld van een groep is de verzameling van de gehele getallen met als operator de optelling. Ring Een (commutatieve) ring R is een commutatieve groep met twee operatoren: optelling + en vermenigvuldiging * met volgende eigenschappen: 1.-5. R moet een commutatieve groep zijn met de optelling als operator. Het neutrale element is 0 en het inverse element van a is -a. 6. closure (gesloten): voor elke a en b van R geldt dat a*b ook een element van R is. 7. associativiteit: voor elke a, b en c van R geldt: a*(b*c)=(a*b)*c 8. distributiviteit: voor elke a, b en c van R geldt: a*(b+c)=a*b+a*c en (a+b)*c=a*c+a*b De ring is commutatief als bovendien voldaan is aan: 9. commutativiteit: voor elke a en b van R geldt: a*b=b*a Integraal domein Een integraal domein is een commutatieve ring met volgende extra eigenschappen: 10. neutraal element voor de *: er bestaat een element 1 in R zodat a*1=1*a=a 11. geen delers van 0: voor alle a en b in R geldt er: als a*b=0 dan is a=0 of b=0 Velden Een veld F is een integraal domein met volgende extra eigenschap: 12. invers element: voor elke a in F (behalve 0) bestaat er een a -1 zodat a * a -1 = a -1 *a=1

Anders gesommeerd: een veld F is een verzameling met twee operatoren + en * die aan volgende eisen voldoen: 1. closure (gesloten): als a en b tot F behoren, doet a+b dat ook. 2. associativiteit: voor alle a, b en c in F geldt: a+(b+c)=(a+b)+c 3. neutraal element: voor elke a van F bestaat er een 0 in F zodat a+0=0+a=a 4. invers element: voor elke a van F bestaat er een -a zodat a+(-a)=(-a)+a=0 5. commutativiteit: voor elke a en b van F geldt: a+b=b+a 6. closure (gesloten): voor elke a en b van F geldt dat a*b ook een element van F is. 7. associativiteit: voor elke a, b en c van F geldt: a*(b*c)=(a*b)*c 10. neutraal element voor de *: er bestaat een element 1 in F zodat a*1=1*a=a 12. invers element: voor elke a in F (behalve 0) bestaat er een a -1 zodat a * a -1 = a -1 *a=1 9. commutativiteit: voor elke a en b van F geldt: a*b=b*a 8. distributiviteit: voor elke a, b en c van F geldt: a*(b+c)=a*b+a*c en (a+b)*c=a*c+a*b 11. geen delers van 0: voor alle a en b in F geldt er: als a*b=0 dan is a=0 of b=0 Men kan stellen dat een veld F een verzameling elementen is waarin men kan optellen, aftrekken, vermenigvuldigen en delen zonder de verzameling te verlaten. Voorbeelden van velden F kunnen zijn: de verzameling van breuken reële getallen complexe getallen telkens met de operatoren + en *.

Modulair rekenen Wanneer we een getal a delen door n, krijgt men een quotiënt q en een rest r, zodat: a = q*n + r waarbij de rest r steeds positief is. Een voorbeeld: -11 = -2*7 + 3 dus (-11) mod 7 = 3 11 = 1*7 + 4 dus (11) mod 7 = 4 Eigenschappen van de modulo operator: 1. ((a mod n) + (b mod n)) mod n = (a + b) mod n 2. ((a mod n) - (b mod n)) mod n = (a - b) mod n 3. ((a mod n) * (b mod n)) mod n = (a * b) mod n Men kan dus besluiten dat de rekenkundige regels ook gelden voor modulair rekenen. Men kan dan een verzameling Z n gaan definiëren als alle gehele getallen tussen 0 en n-1. Men kan een mapping gaan doen van alle gehele getallen op deze verzameling Z n door de modulo operator. Voor Z 8 zou bijvoorbeeld het getal 11 'geprojecteerd worden' op 3, zijnde de rest van de deling van 11 door 8 Soms moet men op zoek gaan naar de grootste gemene deler c van a en b. Hiervoor moet c voldoen aan: 1. c moet een deler zijn van a en b 2. elke deler van a en b moet ook een deler zijn van c. Een handig computeralgoritme is: ggd(a,b)=ggd(b, a mod b) en ggd(c,0)=c Men zou dus in C kunnen schrijven: int ggd (int a, int b) { if (b = = 0) return a; else return (ggd(b, a%b)); /* in C is % de mod operator */ } /* Hierbij veronderstellen we dat: - a groter is dan b - a en b positieve getallen zijn - Dit laatste is geen beperking, want voor de ggd is het teken van de getallen a en b irrelevant. */

Galois velden GF(p n ) Deze velden zijn belangrijk in cryptografiesystemen. Meer specifiek wanneer men gaat rekenen modulo p n, waarbij p een priemgetal is en n om het even welk positief geheel getal. Deze eindige velden (modulo p n ) noemt men Galois velden. Men noteert ze als GP(p n ) Hiervan zijn er twee speciale soorten: - p 1, of p: GF(p) - 2 n of GF(2 n ) GF(p) Nemen we als voorbeeld p gelijk aan 7. Men kan de verzameling van alle natuurlijke getallen projecteren op de verzameling {0, 1, 2, 3, 4, 5, 6} door de rest van de deling door 7 te gebruiken. Men heeft dan minstens een commutatieve ring. Maar wanneer men modulo een priemgetal gaat rekenen bestaat er ook een invers element voor elk element voor de vermenigvuldiging. Men heeft dan een veld. Een voorbeeld:

GF(2 n ) Wanneer men modulo p n gaat rekenen, heeft men geen veld. Voor p=8 en n = 1 heeft men namelijk: De inverse elementen bestaan dus niet altijd! Stel dat we encryptie willen doen op bytes, dit zijn 8 bits. Men heeft dan alle combinaties van 0 tot 255. 255 is echter geen priemgetal, 251 is het wel. Men zou dan modulo 251 kunnen rekenen en alle goede eigenschappen kunnen gebruiken van velden. Het nadeel is dan echter dat we enkele combinaties (251.. 255) niet gebruiken. Er bestaan echter wel velden van de vorm: GF(2 p ).

Nemen we als voorbeeld 2 3. Men gebruikt dan volgende rekenregels: De aandachtige lezer zal opmerken dat de sommatie eigenlijk op een EXOR functie van de verschillende bits neerkomt. Voor de vermenigvuldiging zijn de rekenregels op het eerste zicht niet zo duidelijk. We komen er iets verder op terug...

Rekenen met veeltermen Men kan gaan rekenen met veeltermen (optellen en vermenigvuldigen) waarvan de coëfficienten 0 of 1 zijn. (0 en 1 zijn de elementen modulo 2). AES gebruikt rekenkunde in GF(2 8 ) met als veelterm: m(x) = x 8 + x 4 + x 3 + x + 1 Een voorbeeld: f(x) = x 6 + x 4 + x 2 + x + 1 g(x) = x 7 + x + 1 dan is: f(x) + g(x) = x 7 + x 6 + x 4 + x 2 want 1 + 1 = 0 en dan is: f(x) * g(x) = x 13 + x 11 + x 9 + x 8 + x 6 + x 5 + x 4 + x 3 + 1 en : f(x) * g(x) mod m(x) = x 7 + x 6 + 1 door te delen door m(x). Om het veld GF(2 3 ) op te stellen moeten we een analoge berekening doen, maar dan met een veelterm van macht 3. Er zijn 2 goede kandidaten: x 3 + x 2 + 1 x 3 + x + 1. Met deze laatste krijgen we: Vergelijk de coëfficiënten van de veeltermen met de tabel voor rekenen in GF(2 3 ). Dit is de verklaring voor de eigenaardige rekenregels voor het vermenigvuldigen.

Praktisch in AES Zoals volgende figuur laat zien moet men kunnen vermenigvuldigen met 1, 2 en 3. Men kan opmerken dat een matrixvermenigvuldiging neerkomt op een reeks producten die gesommeerd worden. De optelling is een eenvoudige EXOR functie. Maar we moeten ook met 2 en 3 kunnen vermenigvuldigen. Met 3 vermenigvuldigen komt neer op vermenigvuldigen met 2 en dan nog eens het origineel sommeren. (3=2+1). We moeten dus met 2 kunnen vermenigvuldigen! Hiervoor kan men bewijzen dat : 2 * (b7 b6 b5 b4 b3 b2 b1 b0) = (b6 b5 b4 b3 b2 b1 b0 0) als b7 = 0 en dat: 2 * (b7 b6 b5 b4 b3 b2 b1 b0) = (b6 b5 b4 b3 b2 b1 b0 0) EXOR (00011011) als b7 = 1

AES sleutelexpansie Deze functie g doet in hoofdzaak 3 bewerkingen: een 'shift left' van 1 volledige byte. Dit wil zeggen dat 4 bytes: [b0 b1 b2 b3] worden vertaald in: [b1 b2 b3 b0] een bytesubstitutie op dezelfde manier en dezelfde matrix als het AES algoritme zelf. EXOR met een constante, die functie is van het rondenummer. De drie meest rechtse bytes zijn steeds 00. De andere, meest beduidende, byte is: ronde 1 2 3 4 5 6 7 8 9 10 constante 01 02 04 08 10 20 40 80 1B 36