Quantumcryptografie Systemen brekende algoritmes
|
|
|
- Clara van der Meer
- 8 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica Quantumcryptografie Systemen brekende algoritmes Auteur: Sandra van Dijk ( ) Begeleider: Wieb Bosma Versie 2 27 augustus 2014
2 Inhoudsopgave Samenvatting 3 1 Klassieke cryptografie RSA Priemfactorisatie Diffie-Hellman Sleuteluitwisselingsprotocol Discrete logaritme probleem Quantumberekeningen Qubits Metingen en transformaties Hadamard transformatie Query Quantum-Fouriertransformaties Discrete Fouriertransformatie QFT Complexiteit Shor s algoritme Periode zoeken Eerste deel Shor s algoritme Kettingbreuken Tweede deel Shor s algoritme Periode vinden als r een deler is van Periode vinden als r geen deler is van Periode vinden al genoeg om berichten in RSA te lezen Discrete logaritme probleem Eerste deel algoritme Kans Voorwaarden Tellen van paren Effectiviteit Efficiëntie Slot 30 Bibliografie 31 2
3 Samenvatting Quantumcyptografie is de titel van deze scriptie en hierin zal dan ook bekeken worden wat er gebeurt met de klassieke cryptografie als de uantumcomputer zou bestaan. Er worden hierin twee klassieke cryptografie systemen besproken en daarnaast de redenen waarom deze in gevaar zouden komen. Het eerste systeem is RSA. Een asymmetrisch cryptografie systeem dat zijn veiligheid kan garanderen door de moeilijkheidsgraad van de priemfactorisering van grote gehele getallen. Peter Shor, een Amerikaanse wiskundige, heeft een uantumalgoritme geschreven dat het factoriseren uitvoert binnen polynomiale tijd. Shor s algoritme voor factoriseren kan hiermee meerdere systemen breken die van dit principe afhangen. Het tweede systeem dat wordt besproken is het Diffie-Hellman sleuteluitwisselingsprotocol. Ook dit is een asymmetrisch cryptografie systeem, maar hierbij wordt de veiligheid door iets anders gegarandeerd. Het maakt gebruik van het feit dat discrete logaritmes moeilijk te berekenen zijn. Shor heeft hiervoor een uantumalgoritme geschreven waarbij deze weer binnen polynomiale tijd het mogelijk maakt om de discrete logaritmes te vinden. Er zal alleen een schets van het algoritme worden gegeven. Van beide systemen worden de algoritmes besproken en vervolgens de uantumalgoritmes stap voor stap uitgelegd. Daarnaast worden er verschillende stellingen, lemma s en onderwerpen besproken die nodig zijn om de uantumalgoritmes te begrijpen. 3
4 1 Klassieke cryptografie Cryptografie is het versleutelen en ontsleutelen van informatie zodat een ongewenste afluisteraar het bericht niet kan begrijpen. Deze berichten gaan van een zender naar een ontvanger die berichten willen uitwisselen. Traditioneel gezien heten deze hoofdpersonen in de cryptografie Alice en Bob die geheime berichten naar elkaar willen versturen. Als buitenstaander die heel graag wil weten wat zij elkaar sturen, is er Eve. De cryptografie systemen zijn ervoor bedoeld dat zij deze berichten niet kan lezen. Hieronder staan de algoritmes van twee asymmetrische cryptografie systemen. Het asymmetrische hieraan is dat er gebruik wordt gemaakt van twee sleutels; één voor het versleutelen van het bericht en een tweede voor het ontsleutelen. Beide systemen worden als veilig beschouwd door de moeilijkheidsgraad van priemfactorisering of het vinden van een discrete logaritme. 1.1 RSA Het veelgebruikte cryptografie systeem RSA is een asymmetrische encryptiealgoritme dat gebruik maakt van publieke en geheime sleutels. Het algoritme werd ontworpen door Ron Rivest, Adi Shamir en Len Adleman in 1977 en wordt veel gebruikt in handel via internet. Er wordt gebruik gemaakt van het feit dat het moeilijk is om erg grote getallen op te breken in priemfactoren. Voor verdere verwijzingen wordt het algoritme eerst zelf bekeken. Algoritme 1.1 Kies twee grote priemgetallen p, N, waarbij p. Bereken N = p. Kies een geheel getal 1 < e < ϕ(n) dat relatief priem is met ϕ(n) = (p 1)( 1). Dit is mogelijk met het uitgebreid Euclidisch algoritme. Bereken d zodanig dat e d 1 mod (p 1)( 1). Ook dit is mogelijk door het uitgebreid Euclidisch algoritme. Combinatie (N, e) wordt de publieke sleutel, die over onbeveiligde systemen verstuurd kan worden. De combinatie (N, d) wordt de geheime sleutel. Deze zal gebruikt worden voor het ontcijferen van de vercijferde berichten. Stel Bob wil een geheim bericht naar Alice sturen. Alice wil hiervoor RSA gebruiken en gebruikt eerst het algoritme om aan de juiste sleutels te komen. Bob zal de combinatie (N, e) hebben en kan hiermee zijn bericht versleutelen en doorsturen. Alice kan met de geheime sleutel het bericht ontcijferen. 4
5 Dit werkt als volgt: Bob wil bericht m versturen en vercijfert deze als n m e mod N. Bob verstuurt n naar Alice. Alice ontvangt n en ontcijfert deze: n d (m e ) d m (e d) m mod N. Omdat e en d inverses zijn modulo (p 1)( 1), werkt dit algoritme. Want als e d 1 mod (p 1)( 1) dan e d 1 mod p 1 en e d 1 mod 1. Dan geldt volgens de Kleine stelling van Fermat: n e d n mod p en n e d n mod. En omdat p en verschillende priemgetallen zijn, geldt: n e d n mod p. Het algoritme in gebruik, is te zien in onderstaand voorbeeld. Voorbeeld 1.2 Neem priemgetallen p = 11 en = 37. Dat betekent dat N = p = = 407 en (p 1)( 1) = = 360. Neem een e die copriem is ten opzichte van 360, bijvoorbeeld e = 7. Dan wordt er een d gezocht, zodat e d 1 mod 360. d = 103 voldoet hieraan. Stel Bob wil het bericht m = 104 naar Alice versturen. Deze vercijfert hij door m e = mod 407. Dus hij verstuurt het bericht n = 3. Alice ontvangt dit en ontcijfert dit als volgt: n d = mod 407. En krijgt hiermee het originele bericht m = 104 terug Priemfactorisatie Volgens de hoofdstelling van de rekenkunde is het mogelijk om elk positief geheel getal groter dan 1, te schrijven als een uniek product van priemgetallen. Als men een dergelijk getal schrijft als product van priemgetallen, noemt men dat priemfactorisatie. Voor deze ontbinding is er geen snel algoritme. In het RSA systeem wordt hier dan ook gebruik van gemaakt. Een eventuele afluisteraar Eve, kan alleen meeluisteren als zij ook de geheime sleutel weet. Stel dat zij N kan factoriseren in de priemgetallen p en, dan zou zij dezelfde berekeningen kunnen doen als Alice en zo achter de geheime sleutel komen. Dit zorgt ervoor dat alle versleutelde berichten die over het gedeelde netwerk worden verstuurd, ontsleuteld kunnen worden door Eve. Omdat het te moeilijk is om het openbare getal N te factoriseren in priemgetallen, wordt dit systeem bestempeld als een veilig systeem. Hiervoor wordt er wel aangeraden om erg grote priemgetallen p en te gebruiken. Als de priemgetallen te dicht bij elkaar liggen, of als N te klein is, is het wel mogelijk om snel achter de priemfactoren te komen. 5
6 Stel dat het op een snelle manier mogelijk wordt om een priemfactorisatie te realiseren voor grote gehele getallen, dan is dit systeem niet meer betrouwbaar. In hoofdstuk 3 wordt een uantumalgoritme bekeken die dat mogelijk kan maken. Als een uantumcomputer zou bestaan, zou RSA niet meer veilig gebruikt kunnen worden. 1.2 Diffie-Hellman Sleuteluitwisselingsprotocol Dit cryptografie systeem werd voor het eerst gepubliceerd door Whitfield Diffie en Martin Hellman in Het is een asymmetrisch sleuteluitwisselingsprotocol waarbij de veiligheid gebaseerd is op het feit dat het moeilijk is om een discrete logaritme van een getal te berekenen. Voor verdere verwijzingen, volgt hieronder eerst het algoritme zelf. Algoritme 1.3 Alice en Bob kiezen een priemgetal p en een basisgetal g binnen een multiplicatieve groep G van gehele getallen modulo p. Deze p en g zijn openbaar. Alice kiest een geheime a Z en berekent A g a mod p en verstuurt deze naar Bob. Bob kiest een geheime b Z en berekent B g b mod p en verstuurt deze naar Alice. Alice ontvangt B en berekent s B a mod p dit wordt de geheime sleutel. Bob ontvangt A en berekent s A b mod p, waarbij dit dezelfde geheime sleutel is. De geheime sleutel s is hetzelfde omdat s A b (g a ) b g (a b) g (b a) (g b ) a B a mod p. Een eventuele Eve, afluisteraar, kan alleen g a en g b gezien hebben, naast de openbare p en g. Hieruit is het niet mogelijk om s g a b mod p te berekenen. Dit sleuteluitwisselingsprotocol kan gebruikt worden voor een bericht m door het bericht te vermenigvuldigen met de geheime sleutel: mg a b. Als de andere persoon dit bericht ontvangt, moet het natuurlijk ontsleuteld kunnen worden. Bob weet bijvoorbeeld G (het aantal elementen van G), b en g a en heeft voor het ontsleutelen (g a b ) 1 nodig. Om deze te berekenen wordt gebruik gemaakt van het feit dat geldt x G 1 voor alle x G. In dit geval geldt dat G = p 1. Het berekenen van de (g a b ) 1 is mogelijk omdat (g a ) G b = g a( G b) = g a G ab = g a G g ab = (g G ) a g ab = 1 a (g ab ) 1 = (g ab ) 1. Dan kan een versleuteld bericht ontsleuteld worden door mg a b (g a b ) 1 = m. Voor nog meer duidelijkheid volgt hieronder een voorbeeld van het Diffie-Hellman sleuteluitwisselingsprincipe. Voorbeeld 1.4 Alice en Bob bepalen als priemgetal p = 37, groep G = Z/37Z en basis g = 7. 6
7 Alice neemt als willekeurige a = 8, dan is A = g a = mod 37. Bob neemt als willekeurige b = 25, dan is B = g b = mod 37. Alice ontvangt B en Bob ontvangt A. Hierdoor kunnen ze beide de geheime sleutel s berekenen: s mod 37 en s mod 37. Stel dat Alice het bericht m = 24 wilt versturen. Zij vercijfert dit in het bericht n = ms = mod 37. Bob ontvangt het bericht n = 29 en gaat deze ontcijferen. Hiervoor gaat hij eerst (g ab ) 1 berekenen: (g ab ) 1 = (g a ) G b = 16 φ(p) 25 = 16 (p 1) 25 = mod 37. Het ontcijferde bericht wordt dan: n(g ab ) 1 = mod 37 = m Discrete logaritme probleem De veiligheid van het Diffie-Hellman sleuteluitwisselingsprotocol is gebaseerd op het feit dat het moeilijk is om een discrete logaritme te vinden. Er wordt gebruik gemaakt van het volgende principe: zij p een priemgetal, dan is de multiplicatieve groep Z/pZ een cyclische groep. Dat wil zeggen g Z/pZ zodat het rijtje 1, g, g 2, g 3,..., g p 2 alle niet-nul residuen afgaat modulo p. Hiermee kan een discrete logaritme worden gedefinieerd. Definitie 1.5 Stel p priemgetal en g de voortbrenger van de groep Z/pZ. Het discrete logaritme van x Z/pZ met betrekking tot p en g is het gehele getal r met 0 r < p zodanig dat g r x mod p. Een eventuele afluisteraar Eve krijgt in het sleuteluitwisselingsprotocol de getallen g a en g b mee, maar kan hier niet de geheime sleutel g (ab) van maken. Stel dat Eve wel het discrete logaritme, bijvoorbeeld a kan berekenen, dan is het wel mogelijk om de sleutel te bepalen uit g b en a. Net als bij RSA hangt dit systeem af van een erg moeilijke berekening. En net als bij het priemfactoriseren is er geen algoritme voor die met voldoende snelheid dit probleem kan oplossen. In hoofdstuk 4 wordt een uantumalgoritme behandeld dat er op een snelle manier voor zorgt dat het discrete algoritme wordt berekend. Als een uantumcomputer zou bestaan, zou het Diffie-Hellman sleuteluitwisselingsprotocol niet meer veilig gebruikt kunnen worden. 7
8 2 Quantumberekeningen De klassieke cryptografie wordt in de praktijk erg vaak gebruikt. Banken en veiligheidssystemen kunnen hierdoor bepaalde garanties geven op de veiligheid van hun systemen. Wetenschappers zijn nu bezig met het ontwerpen van uantumcomputers die op een andere manier algoritmes uitvoeren dan mogelijk is op klassieke computers. Deze berekeningen worden op een heel andere manier tot stand gebracht. Het priemfactoriseren en het berekenen van een discrete logaritme zijn voorbeelden van berekeningen die door een uantumcomputer misschien wel uitgevoerd kunnen worden. Later zullen er twee algoritmes bekeken worden die laten zien dat dit inderdaad mogelijk wordt gemaakt. Maar eerst is het handig om uantumberekeningen beter te begrijpen. Hiervoor moet eerst nog even benadrukt worden dat uantumcomputers nog niet bestaan in de hoedanigheid dat zulke algoritmes toegepast kunnen worden. 2.1 Qubits Alle uantumberekeningen worden gedaan met behulp van uantumbits, deze worden ubits genoemd. Deze ubits kunnen het beste vergeleken worden met vectoren. Bekijk de complexe vectorruimte C 2. Deze wordt opgespannen door twee orthonormale vectoren, in dit geval door 0 en 1. Elke vector in deze complexe vectorruimte kan vervolgens geschreven worden als α 0 + β 1 waarbij α en β complexe getallen zijn. Een ubit is precies een vector van de vorm α 0 + β 1 met α en β complexe getallen, maar met als extra eis dat er moet gelden α 2 + β 2 = 1. Dit betekent dat al deze vectoren dus van lengte 1 zijn. De vectoren 0 en 1 zijn de basistoestanden, een vector van lengte 1 in C 2 heet een superpositie van de basistoestanden en vele ubits samen zijn een register. Als er een register van n ubits is, kan deze in een superpositie verkeren van 2 n basistoestanden. Wat dus eigenlijk een lineaire combinatie is van de 2 n basistoestanden van lengte 1. Deze wordt genoteerd met behulp van alle basistoestanden 0 tot en met 2 n 1 met een amplitude α i C van i ervoor. Een dergelijk register van n ubits ziet er dan als volgt uit α α α 2 n 1 2 n 1, met 2 n 1 j=0 α j 2 = 1. 8
9 Deze 0 tot en met 2 n 1 vormen dan een orthonormale basis voor een 2 n - dimensionale Hilbertruimte. Waarbij de Hilbertruimte een 2 n -dimensionale vector ruimte is waar het inproduct op geldt. Een uantumtoestand is dan een vector van lengte 1 in deze ruimte. 2.2 Metingen en transformaties De net gedefinieerde ubits kunnen worden gebruikt in twee verschillende operaties: metingen of transformaties. Bij een meting van een ubit van de vorm α 0 + β 1 kan er niet die superpositie worden gemeten. De meting kan en zal alleen één van de basistoestanden waarnemen. De basistoestanden kunnen worden waargenomen met een bepaalde kans, waarbij de 0 wordt waargenomen met een kans van α 2 en 1 wordt waargenomen met een kans van β 2. Zo ook bij de grotere ubits, de kans dat basistoestand i wordt waargenomen zal α i 2 zijn. Als een uantumtoestand wordt gemeten en basistoestand j wordt gemeten, dan verdwijnt de originele superpositie met alle amplitudes. Daarnaast is het ook mogelijk om maar een deel van een register te meten. Dit zorgt voor het unieke natuurkundige fenomeen uit de uantummechanica: uantumverstrengeling. Hierbij zijn twee objecten, in dit geval ubits zodanig met elkaar verbonden, dat het ene object niet meer volledig beschreven kan worden zonder het andere ook specifiek te noemen. Zoals net beschreven kunnen deze deeltjes zich in meerdere staten bevinden, zolang ze niet gemeten worden. De verstrengeling geeft dan een relatie aan tussen de metingen en de deeltjes. Verder zijn er meerdere lineaire transformaties mogelijk. Deze transformaties worden beschreven door unitaire matrices. Een matrix U is unitair als de inverse U 1 gelijk is aan de geconjugeerde getransponeerde matrix U. Deze matrices behouden lengtes en aangezien de ubits gezien kunnen worden als vectoren met lengte 1, is dit een nodige eis. Daarnaast zijn unitaire matrices inverteerbaar, waardoor de operaties omkeerbaar zijn. Uiteraard met uitzondering van de metingen, aangezien vanuit een gemeten basistoestand niet de superpositie terug te krijgen is. Hieronder volgen wat voorbeelden van zulke transformaties Hadamard transformatie Een belangrijk en bekend voorbeeld van een transformatie is de Hadamard transformatie, bedacht door de Franse wiskundige Jacues Hadamard. Als matrix wordt deze transformatie gegeven als: H = 1 ( ) Als H wordt toegepast ( op ) de basistoestanden ( ) 0 en 1, die worden gerepresenteerd door vectoren resprensievelijk en vervolgens worden gemeten, is er gelijke kans op beide basistoestanden: 9
10 H 0 = H 1 = Veralgemeniseerd geeft dit: H n : C N C N (2.1) i 1 ( 1) i j j. (2.2) 2 n j {0,1} n Met i, j {0, 1} n, i j = n k=1 i kj k het inproduct van een register met n ubits en N = 2n Query Een andere vaak gebruikte transformatie in de uantumberekeningen heet een uery. Neem een functie f : {0, 1} n {0, 1} m, dan kan er een transformatie O gegeven worden door: O f : i 0 i f(i). Daarbij bestaat register i uit n ubits en registers 0 en f(i) uit m ubits. Vervolgens kan deze afbeelding O f worden uitgebreid naar een transformatie op C n+m : O f : i k i f(i) k. Hierbij is f(i) k de componentsgewijze optelling modulo 2. Bekijk nu het rijtje (x 1,..., x N ) {0, 1} N, waarbij N = 2 n. Dan kan de functie f(i) = x i bekeken worden die de volgende unitaire transformatie geeft: O : i, b i, x i b (= i, f(i) b ), met b {0, 1}. Dan kan een transformatie van de volgende vorm gemaakt worden door te kijken naar het beeld van i, α onder O. Hierbij is α = 1 2 ( 0 1 ). O ± : i ( 1) xi i. 2.3 Quantum-Fouriertransformaties Bovenstaande transformaties, ueries en metingen worden gebruikt in de algoritmes die later worden besproken. Echter is één van de belangrijkste gebruikte tranformaties de uantum-fouriertransformatie (QFT). Deze zal eerst besproken worden voordat de algoritmes bekeken kunnen worden. De uantum-fouriertransformatie gedraagt zich als een discrete Fouriertransformatie. Deze transformatie wordt daarom hieronder eerst uitgelegd. 10
11 2.3.1 Discrete Fouriertransformatie Bekijk eerst de definitie van een discrete Fouriertransformatie: Definitie 2.1 Zij f = (f 0, f 1,..., f N 1 ) een vector in C N. Dan is de discrete Fouriertransformatie een functie: gedefinieerd door: F :C N C N f f f j := 1 N 1 ζ jk f k, N k=0 met ζ = exp ( 2πi N ) een primitieve N-de eenheidswortel. (Oftewel, een complex getal dat na een n-de machtsverheffing 1 oplevert). De discrete Fouriertransformatie (DFT) is inverteerbaar. De matrix representatie van F op de standaard basis is een Vandermonde matrix: F 1 1 ζ 1 ζ 2 ζ (N 1) 1 ζ 2 ζ 4 ζ 2(N 1). N ζ (N 1) ζ 2(N 1) ζ (N 1) QFT De uantum-fouriertransformaties zijn lineaire transformaties toegespast op ubits. Het is een uantumparallel van de discrete Fouriertransformatie. Hieronder zal eerst de definitie besproken worden. Definitie 2.2 Zij { 0, 1,..., N 1 } een orthonormale basis voor een uantumsysteem en zij φ = N 1 j=0 j een uantumtoestand. Dan is een uantum- Fouriertransformatie F N een functie gedefineerd door: φ = N 1 j=0 j N 1 j=0 N 1 1 ζ jk k. N k=0 Een basistoestand wordt dan getransformeerd als j 1 N 1 ζ jk k. N k=0 Waardoor de representatie voor F N wordt F N = 1 N 1 N j,k=0 ζ jk k j, 11
12 met j als notatie voor een dubbele rij vector. Er geldt: ζ = ζ 1, hierdoor is de geadjugeerde: F N = 1 N 1 ζ jk k j. N j,k=0 Deze uantum-fouriertransformatie is unitair. Bekijk: F N F N = 1 N = 1 N = 1 N = 1 N = = N 1 k,s=0 N 1 k=0 N 1 j,k=0 N 1 j,k,r,s=0 j,k,r,s=0 N 1 k,s=0 ζ jk k j N 1 r,s=0 ζ rs jk k j r s ζ rs r s 6N 1ζ rs jk δ jr k s ( N 1 r=0 δ ks k s k k = I. ζ r(s k) ) k s Hierbij is gebruik gemaakt van het feit dat N 1 2πir(s k) r=0 exp ( N ) = Nδ sk. Toepassingen van uantum-fouriertransformaties zijn te vinden in de algoritmes die later behandeld worden Complexiteit Het toevoegen van de uantumberekeningen binnen de wiskunde, zorgt voor een nieuwe complexiteitsklasse. De klasse BQP, in het Engels de Boundederror Quantum Polynomial time. Deze klasse bestaat uit talen die herkend kunnen worden met een kans van minstens 2/3 door het uniforme polynomiale uantumcircuit. Het is hiermee de uantumanaloog voor de complexiteitsklasse BPP, de Bounded-error Probabilistic Polynomial time. Aangezien deze klasse net als de uantumberekeningen en algoritmes behoorlijk nieuw is, zijn er nog veel onduidelijkheden over. Het algoritme van Shor in het volgende hoofdstuk, lost met uantumberekeningen een probleem op die voorheen in de NP-klasse hoorde. De priemfactorisering is met klassieke methodes en algoritmes niet op te lossen binnen polynomiale tijd. Maar met het uantumalgoritme is dit wel mogelijk en behoort hierdoor in een andere klasse dan waar hij eerst in stond. 12
13 Figuur 2.1: Verwachte relatie BQP met andere complexiteitsklassen Bron: Aaronson, Scott Quantum Complexity Theory, Fall (MIT OpenCourseWare: Massachusetts Institute of Technology), (Accessed 13 Aug, 2014). License: Creative Commons BY-NC-SA Het onopgeloste P NP probleem wordt hiermee nog een stukje uitgebreid. Of misschien wel makkelijker gemaakt. Er ontstaat een verschuiving in de verschillende klassen, zodat ze niet netjes op elkaar aansluiten. In figuur 2.1 is een representatie te zien van de verwachte relatie die BQP heeft met overige complexiteitsklassen. Om verder in te gaan op de complexiteit is hier niet mogelijk, aangezien dit een volledig onderwerp op zichzelf is. 13
14 3 Shor s algoritme Zoals in de vorige hoofdstukken is uitgelegd, zijn sommige cryptografie systemen te breken met uantumcomputers. Het cryptografie systeem RSA wordt gezien als veilig omdat men ervan uit gaat dat een vermenigvuldiging van grote priemgetallen moeilijk te factoriseren is. Maar stel dat het factoriseren met een uantumcomputer binnen polynomiale tijd te realiseren is, zal het systeem dan gebroken worden? De Amerikaanse wiskundige Peter Shor heeft in 1994 een uantumalgoritme gemaakt voor het factoriseren van gehele getallen. Het probleem dat het algoritme oplost is als volgt: Gegeven een geheel getal N, vind zijn priemfactoren. Het factorisatieprobleem wordt hier op een klassieke manier omgezet naar een ander probleem. Dit probleem is het vinden van de periode van een willekeurig getal, dat relatief priem is ten opzichte van het originele gehele getal. Het omzetten van dit probleem en het oplossen van het periodeprobleem is beide mogelijk binnen polynomiale tijd en is daarom een goede manier om bijvoorbeeld RSA te kraken. 3.1 Periode zoeken Voordat het eerste deel van het algoritme van Shor wordt bekeken, is het handig om het begrip orde duidelijk te hebben. Definitie 3.1 De orde van een willekeurige 0 < x n is het kleinste natuurlijke getal 0 < r n zodat x r 1 mod n. In definitie 1.5 van het discrete logaritme wordt een voorbrenger van een multiplicatieve groep uitgelegd. Deze voortbrenger heeft dus de maximale orde van een groep. Voor het algoritme van Shor, zijn er getallen nodig die een even orde r hebben en waarbij geldt dat x r/2 + 1 en x r/2 1 geen veelvouden van n zijn. Om te laten zien dat een dergelijke orde bij een willekeurige x gevonden kan worden met een relatief grote kans, zijn eerst de volgende lemma en stelling nodig. Lemma 3.2 Als n een oneven geheel getal is, dan heeft minstens de helft van de elementen van Z/nZ een even orde. 14
15 Bewijs: Stel een oneven r is de orde van x. Dan geldt: ( x) r = ( 1) r x r = ( 1) r 1 mod (n). Dit betekent dat x orde 2r heeft en dus even is. Oftewel, voor elke x Z/nZ met oneven orde is er een x met even orde. Stelling 3.3 Zij n een oneven geheel getal en zij n = p e1 1 pe2 2 pe k k de priemfactorisatie van n. Als x Z/nZ een willekeurig element is, dan is de kans dat x een even orde r heeft èn x r/2 1 mod n minstens 1 1 k 1 2 Bewijs: Het kiezen van een willekeurige x Z/nZ is volgens de Chinese Reststelling gelijk aan het willekeurig kiezen van x i Z/p ei i Z voor elke p i. Zij nu r de orde van x en r i de orde van x i. Hierbij zal x r/2 nooit 1 modulo n zijn. Het handigste is om te laten zien dat de kans van òf r oneven òf x r/2 1 mod n hoogstens (1/2) k 1 is. Merk ook op dat geldt: r = kgv(r 1, r 2,..., r k ) met kgv het kleinste gemeenschappelijke veelvoud. Want: als x r 1 mod n, dan geldt ook x r 1 mod p ei i. Stel r is oneven. Dit kan alleen als alle r i s ook oneven zijn. Volgens lemma 3.2 is r i oneven met kans minstens 1/2, dus r is oneven met kans hoogstens (1/2) k. Stel r is even, dan kan het nog steeds zijn dat x r/2 ±1 mod n. Met de Chinese reststelling geldt dan ook dat x r/2 ±1 mod p ei i voor alle p i. Deze situatie moet omzeild zien te worden. Want als er geldt dat x r/2 1 mod n, dan is r niet de orde. En als 1 mod n, dan geeft het algoritme geen goede factorisatie. De kans dat men een dergelijke x kiest, zodat beide gevallen voorkomen is: 2 2 k = 2 k+1. Het combineren van de kansen, zorgt ervoor dat men een goede x kiest met kans minstens (1 2 k )(1 2 k+1 ) k Eerste deel Shor s algoritme k 1. Stel geheel getal n moet gefactoriseerd worden. Kies een x 2,..., n 1 willekeurig zodat x copriem is tot n. Bekijk de volgende rij: 1 = x 0 mod n, x 1 mod n, x 2 mod n,..., etc. Dan bestaat er een r N met 0 < r n zodanig dat x r 1 mod n. Deze r is dus de periode van x binnen de ring Z/nZ. Volgens stelling 3.3 en lemma
16 is r met kans 1 4 even én zijn xr/2 + 1 en x r/2 1 geen veelvouden van n. Er geldt als r even is: x r 1 mod n (x r/2 ) 2 1 mod n (x r/2 + 1)(x r/2 1) 0 mod n (x r/2 + 1)(x r/2 1) = kn voor een zekere k. Uit het feit dat x > 0, volgt dat x r/2 1 > 0 en x r/2 + 1 > 0. Hieruit kan geconcludeerd worden dat k > 0. Met het algoritme van Euclides kunnen de ggd(x r/2 1, n) en ggd(x r/2 +1, n) berekend worden (met ggd de grootste gemene deler). Deze getallen zijn vervolgens twee niet triviale delers van n en daarmee factoren van n. Voorbeeld 3.4 zal laten zien dat dit daadwerkelijk werkt met kleine getallen zonder hulp van een uantumcomputer. Voorbeeld 3.4 Zij n = 35. Kies x = 13, aangezien deze relatief priem is met n = 35. Bekijk vervolgens het rijtje 1 = x 0 mod n, x 1 mod n, x 2 mod n,..., etc tot er een periode r is gevonden mod 35, mod 35, mod 35, mod 35. Oftewel de orde van 13 is r = 4. Deze voldoet aan de eisen dat r even is en 13 4/2 + 1 = 170 en 13 4/2 1 = 168 zijn geen veelvouden van n = 35. Berekenen van de grootste gemene delers geeft: ggd(13 4/2 + 1, 35) = ggd(170, 35) = 5 en ggd(13 4/2 1, 35) = ggd(168, 35) = 7. En 5 en 7 zijn inderdaad de priemfactoren van n = 35. Hierdoor is het factorisatieprobleem dus omgezet in een periode-bepaling probleem. Het tweede deel van het algoritme van Shor geeft een oplossing voor dit probleem dat werkt binnen uantumpolynomiale tijd. 3.3 Kettingbreuken Voor een klein onderdeel van Shor s algoritme zijn kettingbreuken nodig. Om hier bekend mee te raken, volgt eerst de definitie. Definitie 3.5 Een eindige kettingbreuk, met notatie [a 0 ; a 1, a 2,..., a n ], is een breuk die zich blijft herhalen. Deze ziet er als volgt uit: x = a 0 + a a a n waarbij alle a i Z, met a i 1 als i 1. Elk rationaal getal heeft nu 2 kettingbreukontwikkelingen; één ontwikkeling die op een 1 eindigt en een ontwikkeling die dat niet doet. Soms eist men uniciteit door a n 2 te verlangen., 16
17 Een z = p/ Q kan geschreven worden als een kettingbreuk [a 0 ; a 1, a 2,..., a n ]. Alle rationale getallen daarvoor; [a 0 ], [a 0 ; a 1 ],..., [a 0 ; a 1, a 2,..., a n ] worden de convergenten van p/ genoemd. Een kettingbreuk is oneindig als het bijbehoorende getal x irrationaal is. Voor de verduidelijking volgt hieronder een voorbeeld. Voorbeeld 3.6 Stel breuk 804/137 wordt omgezet naar een kettingbreuk. Er wordt gekeken naar de gehele getallen en de resten die de breuk geeft. Er volgt een reeks van vergelijkingen die iets weghebben van het algoritme van Euclides: = = = = = Gezien de resten steeds een breuk zijn en het omgekeerde weer geschreven kan worden als gehele getallen met rest-breuken, kan deze breuk geschreven worden als de volgende kettingbreuk: = Gebruikmakend van de makkelijkere en kortere notatie geeft dit: 804 = [5; 1, 14, 1, 7]. 137 Voor het algoritme van Shor zal nodig zijn om breuken binnen een bepaalde afstand van elkaar te bepalen. Dit kan met behulp van het ontwikkelen van een kettingbreuk. Dat er ook daadwerkelijk een breuk gevonden kan worden binnen een bepaalde afstand, zal duidelijk worden aan de hand van stelling 3.7 en lemma 3.8. Later zullen deze gebruikt worden in het algoritme. Stelling 3.7 Zij x R. Als p/ Q voldoet aan: x p < Dan is p/ = p k / k voor een convergent p k / k van x. 17
18 Bewijs: Ontwikkel p/ in een eindige kettingbreuk van oneven lengte n. Hierbij geldt: p/ = p n / n en: p n x = δ n n 2 met δ < 1 2. Vervolgens bestaat er een y > 0 zodanig dat: Dan geldt: x = yp n + p n 1 y n + n 1. δ 2 n = p n x = p n n 1 p n 1 n ( 1) n+1 = n n (y n + n 1 ) n (y n + n 1 ). Dus: δ = n y n + n 1 en y = 1 δ n 1 n > 1. Uit onderstaand lemma 3.8 volgt dat p n 1 / n 1 en p n / n = p/ opvolgende convergenten van x zijn. Lemma 3.8 Als x = py + r y + s met y R en p,, r, s Z zodat y > 1, > s > 0 en ps r = ±1. Dan is er een n 0 zodat er geldt: y = x n+1 p = p n n en r s = p n 1 n 1, met x = [a 0 ; a 1,... ], x i = [a i ; a i+1,..., a n ] en p i / i = [a 0 ; a 1,..., a i ] voor i 0. Bewijs: Ontwikkel p/ in een kettingbreuk: p/ = [A 0 ; A 1,..., A n ] = v n /w n en laat v n 1 /w n 1 = [A 0 ; A 1,..., A n 1 ]. Deze kettingbreuk is zo aangepast dat voor de lengte n geldt: ( 1) n+1 = v n w n 1 v n 1 w n = ps r = ±1. Dan is: v n w n 1 v n 1 w n = v n s w n r waaruit volgt: v n (w n 1 s) = w n (v n 1 r) Omdat v n, w n onderling ondeelbaar zijn en v n > v n 1, geldt dat s = w n 1 en r = v n 1 Maar de kettingbreukontwikkeling van v n y + v n 1 w n y + w n 1 = [A 0 ; A 1,..., A n, y]. Dus is [A 0 ; A 1,..., A n ] het beginstuk van de kettingbreuk voor x en is y de staart, waardoor geldt: [A 0 ; A 1,..., A n ] = [a 0 ; a 1,..., a n ] en y = [A n+1 ; A n+2,... ] = [a n+1 ; a n+2,... ]. 18
19 3.4 Tweede deel Shor s algoritme Definieer de volgende functie: f : N [n], met [n] een ring met n elementen, met de eigenschap: er bestaat een r [n] met: f(a) = f(b) a b mod r. Hiermee geldt f(a) x a mod n. Waarbij het doel is om r te vinden. Definieer ook de volgende uantum-fouriertransformatie: Voor een willekeurige 0 < < n, zij Z := {0,..., 1}. Voor alle a Z, definieer functie: χ a : Z C ab 2πi b e, die de standaardbasis { a a Z } omzet in de Fourierbasis { χ a a Z } met χ a = 1 b Z χ a (b) b. De uantum-fouriertransformatie wordt dan: QF T : a χ a. Het uitvoeren van de QFT op een m-bit basistoestand a = a 1... a m geeft een unentangled toestand: χ z = 1 2 m ( 0 +22πi(0.am) 1 )( 0 +e 2πi(0.am 1am) 1 ) ( 0 +e 2πi(0.a1...am) 1 ). Deze uantum-fouriertransformatie zal gebruikt worden in het vervolg van het algoritme. Dit vervolg wordt vervolgens opgedeeld in twee gevallen Periode vinden als r een deler is van Begin met twee registers met lengtes [log ] en [log n]: 0 0. Gebruik de uantum-fouriertransformatie op het eerste register. Als resultaat geeft dit een uniforme superpositie, waarbij het tweede register nog steeds alleen uit nullen bestaat: 1 1 a 0. a=0 Pas vervolgens de functie f(a) toe op de tweede register, nadat de uantum- Fouriertransformatie is uitgevoerd: 1 1 a f(a). a=0 Een observatie op het tweede register geeft een waarde f(s), met s < r per definitie. Want f(a) = f(s) a s mod r met r een deler van. Deze a zal 19
20 van de vorm zijn: a = jr + s met 0 j < /r, want dan is f(a) = f(s). Het eerste register zal vervallen naar de superpositie met waarden s, r + s, 2r + s,..., r + s. Het tweede register zal vervallen naar de klassieke toestand f(s), waarna deze genegeerd wordt. Er ontstaat de superpositie: r 1 jr + s. f=0 Opnieuw wordt de uantum-fouriertransformatie toegepast, waarbij de volgende superpositie ontstaat: r j=0 /r 1 j=0 1 b=0 (jr+s)b 2πi e r 1 b = j=0 b=0 sb 2πi x /r 1 ( j=0 x jrb 2πi ) b. Herschrijven met behulp van n 1 j=0 aj = (1 a n )/(1 a) voor a 1 geeft: /r 1 /r 1 rb jrb 2πi /r als e 2πi e = (e 2πi r ) j = 1 = 1 e 2πib rb 2πi als e 1 2πi rb 1 e rb 2πi Er geldt: e = 1, dan en slechts dan als rb/ is een rationaal getal, dan en slechts dan als b is een veelvoud van /r en dan geldt: b = c r, met b en bekend, c en r onbekend met 0 c < r. De kans dat c copriem is met r, is relatief groot. Bekijk hiervoor lemma 3.9. Vervolgens is r te vinden door de breuk b/ zo klein mogelijk te schrijven, mits c inderdaad copriem is met r. Lemma 3.9 De kans dat twee willekeurige getallen relatief priem zijn, is ongeveer 6/π 2. Beredeneren van de kans geeft de volgende benadering. Gegeven twee willekeurig gekozen getallen A en B. Er geldt dat A en B relatief priem zijn dan en slechts dan als geen enkel priemgetal deelt A of deelt B en de twee getallen zijn onderling ondeelbaar. De kans dat getal A deelbaar is door priemgetal p is intuïtief 1/p. Stel dat beide getallen, A en B, deelbaar zijn door p, dan is deze kans gelijk aan 1/p 2. Oftewel, de kans dat minstens één van de getallen ondeelbaar is door p, is 1 1/p 2. De kans dat de twee getallen relatief priem zijn wordt dan benaderd door het product over alle priemgetallen: (1 1 p 2 ) = p 2 = 1 ζ(2) = 6 π 2, p priem p priem waarbij ζ(s) de Riemann-zeta functie aanduidt. Leonhard Euler heeft daarbij bewezen dat geldt: 1 1 p s = 1 n s = ζ(s). p priem n 1 20
21 Algemener geldt dat k willekeurig gekozen, gehele getallen, relatief priem zijn met kans 1/ζ(k) Periode vinden als r geen deler is van Met grote kans, zal bovenstaand algoritme een b geven zodat: b c r 1 2. Met wederom b, bekend en c, r onbekend. De twee breuken hebben beide een noemer n en volgens lemma 3.10 zullen dus maximaal 1/n 2 > 1/ van elkaar verwijderd liggen. Lemma 3.10 Twee breuken x/y en x /y, beide met de noemer kleiner dan N, zullen maximaal 1/N 2 van elkaar vandaan liggen. Bewijs: Zij z = x/y en z = x /y, met y, y N en z z. Dan is xy x y 1. Waaruit volgt dat z z = (xy x y)/yy 1/N 2. Hierdoor zal c/r de enige breuk zijn met noemer n op afstand 1/2 van b/. Dankzij stelling 3.7 is bekend dat een breuk op deze afstand in de kettingbreuk ontwikkeling van b/ moet liggen. Deze kettingbreuk ontwikkeling zal de breuk c/r geven. Aangezien de kans weer 6/π 2 is dat c copriem is tot r volgens lemma 3.9, geeft het kleiner schrijven van de breuk de gezochte r. 3.5 Periode vinden al genoeg om berichten in RSA te lezen Om één instantie van RSA te kraken moet het bericht m mod N gevonden worden. Hierbij zijn m e, e en N verzonden over het publieke netwerk en dus al bekend. Oftewel, het is nodig om een methode te vinden waarbij het mogelijk is om de e-de machtswortel te bepalen in de multiplicatieve groep van de gehele getallen modulo N. De oplossing die het algoritme van Shor gebruikt, zoekt juist de factorisatie van N en probeert zo algemeen het cryptografische systeem te breken. Stel dat N = p dan kan φ(n) = (p 1)( 1) gemakkelijk berekend worden. Waarbij het mogelijk is om een d te vinden zodat ed 1 mod φ(n) zodat men het originele bericht m ed m mod N kan vinden. Maar voor één bericht in RSA is het al voldoende om een d te vinden die voldoet aan ed 1 mod r waarbij r staat voor de orde van m modulo N. Zodat dus ed = rk + 1 voor een zekere k. Dan geldt er: (m e ) d m (ed) m rk+1 m mod N. Aangezien e relatief priem is ten opzichte van φ(n), is de orde van m gelijk aan de orde van m e. Als m e bekend is, kan de orde r berekend worden met behulp 21
22 van het algoritme van Shor. Vervolgens kan d berekend worden, waarbij deze voldoet aan ed 1 mod r door gebruik te maken van het uitgebreide algoritme van Euclides. Hierdoor is het niet nodig om het algoritme van Shor vaker te laten lopen over willekeurig gekozen a s om zo de priemfactoren te achterhalen. Het algoritme kan gebruikt worden om de orde van m e te vinden en deze op te lossen voor m, zonder dat de priemfactoren van N gevonden worden. Dit geldt alleen voor specifieke berichten m en dus niet voor het hele systeem. 22
23 4 Discrete logaritme probleem Voor alle priemgetallen p is de multiplicatieve groep van Z/pZ een cyclische groep. Dat wil zeggen g Z/pZ zodat het rijtje 1, g, g 2, g 3,..., g p 2 alle nietnul residuen afgaat modulo p. De orde van g is dus p 1. De definitie van een discrete logaritme, zoals eerder gegeven, wordt dan: Definitie 4.1 Stel p priemgetal en g de voortbrenger van de groep Z/pZ. Het discrete logaritme van x Z/pZ met betrekking tot p en g is het gehele getal r met 0 r < p zodanig dat g r x mod p. In 1993 heeft de Amerikaanse wiskundige Daniel M. Gordon hier een klassiek algoritme 1 voor geschreven, echter is deze te langzaam voor gebruik. Een jaar later, in 1994, is er door Shor een uantumalgoritme geschreven dat veel sneller is dan het klassieke algoritme. Binnen polynomiale tijd kan een discrete logaritme worden berekend door gebruik te maken van een uantumcomputer. Dit algoritme maakt gebruik van twee modulaire exponenties en twee uantum- Fouriertransformaties. De beschrijving van het algoritme hieronder is slechts een schets. Voor het uitgebreide algoritme zal de publicatie van Shor 2 het beste zijn. 4.1 Eerste deel algoritme Begin met drie registers en vindt een die een 2-macht is en dicht bij p ligt, oftewel p < < 2p. De eerste twee registers worden in de uantumcomputer gestopt en veranderen in een uniforme superpositie tussen de basisposities a en b (mod(p 1)). In het derde register wordt de berekening g a x b mod p uitgevoerd. Dit geeft de volgende toestand: 1 p 2 p 2 a, b, g a x b (modp). p 1 a=0 b=0 Vervolgens wordt er gebruik gemaakt van de uantum-fouriertransformatie A. Deze transformatie neemt een 0 a < en maakt van de basispositie a, de 1 Discrete logarithms in gf(p) using the number field sieve, Daniel M. Gordon, Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer, Peter W. Shor,
24 toestand 1 1 c exp (2πiac/). (4.1) 1/2 c=0 In deze transformatie wordt gebruik gemaakt van een unitaire matrix waarvan de invoer van (a, c) gelijk is aan 1 exp (2πiac/). In dit geval zorgt deze uantum-fouriertransformatie ervoor dat a c en b d met amplitude 1 exp (2πi(ac + bd)/). De toestand a, b wordt onder deze uantum-fouriertransformatie: 1 p 2 1 a,b=0 c,d=0 ( ) 2πi exp (ac + bd) c, d. Het toepassen van de uantum-fouriertransformatie op de registers waar mee begonnen was, geeft toestand: 1 (p 1) p 2 1 a,b=0 c,d=0 ( ) 2πi exp (ac + bd) c, d, g a x b (modp). Deze toestand kan een toestand zijn van de vorm c, d, y waarbij y g k mod p. De kans dat deze waarneming daadwerkelijk plaatsvindt is: 1 (p 1) a,b a rb k ( 2πi exp (ac + bd) 2 ), (4.2) waarbij de som genomen wordt over a, b zodanig dat a rb k mod p 1. Hierbij wordt er nu met twee moduli gerekend, namelijk met p 1 en. Dit wordt opletten, maar zal geen serieus probleem vormen. Er geldt vervolgens: a = br + k (p 1) br + k p 1, zodat a gesubstitueerd kan worden in vergelijking 4.2, waarmee de kans oftewel de amplitude van c, d, g k (modp) wordt: 1 p 2 (p 1) 4.2 Kans b=0 ( ( 2πi exp brc + kc + bd c(p 1) )) br + k. (4.3) p 1 De absolute waarde gekwadrateerd van bovenstaande vergelijking is de kans op het observeren van de toestand c, d, g k ( mod p). Nu is het dus belangrijk om te weten hoe vaak deze gezochte uantumtoestand voorkomt. Het analyseren van 24
25 deze kans 4.3 begint bij het weghalen van de factor exp 2πikc. Deze factor kan genegeerd worden aangezien dit de kans niet veranderd. De andere e-machten worden gescheiden in twee delen en b wordt hieruit gefactoriseerd. Hieruit volgt: 1 p 2 ( ) ( ) 2πi 2πi exp (p 1) bt exp V. (4.4) b=0 Met en V = T = rc + d ( br p 1 r p 1 {c(p 1)} (4.5) ) br + k {c(p 1)}. (4.6) p 1 Hierbij staat {z} voor het residu, dat congruent is aan z mod en in het bereik ligt van /2 < {z} /2. Alle mogelijke uitkomsten van het algoritme gaan gelabeld worden als goed of slecht. Als het algoritme voldoende goede uitkomsten geeft, zal er een grote kans zijn om de gezochte r af te leiden. Daarom zullen er eerst voorwaarden worden gesteld om te definieren wat een goede uitkomst is. 4.3 Voorwaarden Als er geldt: {T } = rc + d r p 1 {c(p 1)} j 1 2, (4.7) met j het gehele getal dat het dichtste bij T/ ligt, dan varieert de b in de eerste exponentiële term in som 4.4 tussen 0 en p 2. Deze term zal dan variëren over hoogstens de helft van de eenheidscirkel. Als er geldt: {c(p 1)} 12, (4.8) dan is V altijd hoogstens /12. Hierdoor zal de tweede exponentiële term in som 4.4 nooit verder dan exp (πi/6) afwijken van 1. Als voorwaarden 4.7 en 4.8 gelden, dan wordt een output bestempeld als goed. Daarbij geven ze allebei een bijdrage aan corresponderende termen die samen de amplitude voor de toestand vormen. Dit geeft voor voorwaarde 4.7 genoeg outputs voor c s zodat het algoritme een geschikte r kan vinden. Er zullen meer voorwaardes gesteld worden voor een goede output. Hiervoor zal er een ondergrens bepaald worden voor de kans op een goede output. Oftewel een output waarvoor voorwaarden 4.7 en 4.8 gelden. Hiervoor zal b variëren 25
26 tussen 0 en p 2, waardoor de eerste term exp ( 2πibT ) een bereik heeft van 0 tot 2πiW, waarbij W = p 2 ( rc + d r ) p 1 {c(p 1)} j. (4.9) Met j hetzelfde als in voorwaarde 4.7 (het gehele getal dat het dichtste bij T/ ligt). Hierdoor zal de eerste exponentiële term van som 4.4 in de richting exp (πiw ) minstens gelijk zijn aan cos (2π W 2 W b ). (4.10) (p 2) Bij voorwaarde 4.8 varieert de fase maximaal πi/6 door de tweede exponentiele term uit som 4.4: exp ( 2πiV ). In de richting exp (πiw ), zal deze term geminimaliseerd worden zodat deze minstens gelijk is aan cos (2π W 2 W b (p 2) + π ). (4.11) 6 Dit zorgt ervoor dat de absolute waarde van de amplitude 4.4 wordt: 1 p 2 ( cos 2π W (p 1) 2 W b (p 2) + π ). (4.12) 6 b=0 Deze som kan vervangen worden door een integraal. Dit geeft de volgende amplitude: 2 1/2 ( π ) ( ) W cos 6 + 2π W u du + O. (4.13) p 0 Hierbij is O( W p ) een fout-term die ontstaat uit voorwaarde 4.7 en als W 1/2. Term W varieert tussen 1/2 en 1/2, waarbij het integraal 4.13 minimaal is als W = 1/2. Dus de kans op het eindigen met een toestand c, d, y die voldoet aan de voorwaarden 4.7 en 4.8 is minstens ( 1 2 π 2π/3 π/6 ) 2 cos udu = ( 3 1) 2 π Tellen van paren 0, (4.14) Het is mogelijk om het aantal paren goede output te tellen, oftewel de paren (c, d) die voldoen aan de voorwaarden 4.7 en 4.8. Het aantal paren (c, d) dat voldoet aan voorwaarde 4.7 zijn precies het aantal mogelijke c s. Want voor elke c is er maar één mogelijke d zodat aan voorwaarde 4.7 wordt voldaan. Als de ggd(p 1, ) niet groot is, zal het aantal c s die aan voorwaarde 4.8 voldoen ongeveer gelijk zijn aan /6, met ggd de grootste gemeenschappelijke deler. Als de ggd(p 1, ) wel groot is, zal dit aantal minstens /12 zijn. Gecombineerd zijn er minstens /12 mogelijke paren die voldoen aan beide voorwaarden. 26
27 Voor y zijn er precies p 1 mogelijkheden, namelijk alle elementen in Z/pZ. Dit geeft ongeveer p/12 mogelijke staten voor c, d, y. Gecombineerd met de beredeneerde ondergrens 1/20 2 voor het observeren van de goede toestand, zorgt voor een kans van minstens (p/12)(1/20 2 ) = p/240 op het vinden van een goed paar. Daarnaast heeft iedere goede c een kans van minstens (p 1)/20 2 1/40 om geobserveerd te worden.het feit dat zo gekozen is dat < 2p, kan gesubstitueerd worden in deze kans. Dit zorgt voor een kans van 1/480 op het vinden van een goede uitkomst. De gezochte r kan uit de paren (c, d) worden gehaald waarvoor geldt: 1 2 d ( ) c(p 1) {c(p + r 1)} 1 mod 1. (4.15) (p 1) 2 Deze vergelijking ontstaat door vergelijking 4.7 te delen door. Aangezien een deler is van c(p 1) {c(p 1)} zal r een breuk moeten zijn met noemer (p 1). Dus als d/ wordt afgerond tot het dichtstbijzijnde veelvoud van 1/( 1) en vervolgens wordt gedeeld door een geheel getal mod(p 1) om een r te vinden, wordt een goede afschatting van c de volgende: c = c(p 1) {c(p 1)}. (4.16) Om te laten zien dat deze uatum berekening alleen een polynomiaal aantal keren herhaald hoeft te worden, zal de effectiviteit nog besproken moeten worden. Hierbij is het grootste probleem dat c s die niet copriem zijn ten opzichte van p 1, niet gebruikt kunnen worden om te delen. 4.5 Effectiviteit Bij dit algoritme is het onbekend of alle mogelijke waarden van c als output worden gegeven met gelijke waarschijnlijkheid. Dit is alleen bekend bij 1/12e deel. Dit maakt het volgende deel lastiger dan het vergelijkbare deel in het priemfactorisatie algoritme. Als van r alle resten modulo alle priemfactoren van p 1 bekend waren, kan de Chinese reststelling toegepast worden om r te vinden. Er kan alleen bewezen worden dat deze resten gevonden kunnen worden voor priemgetallen groter dan 18, maar met extra werk is het toch nog mogelijk om r tevoorschijn te halen. Elke goede paar (c, d) ontstaat dus met een kans van minstens 1/(20 2 ) en dat minstens een twaalfde van de mogelijke c s in een goed paar zitten. Uit vergelijking 4.16 volgt dat deze c s liggen van c/ tot c /(p 1) door af te ronden naar de dichtstbijzijnde gehele veelvoud van 1/(p 1). Verder zijn de goede c s precies degene zodat c/ dichtbij c /(p 1) ligt. Oftwel, elke goede c correspondeert met precies één c. Voor elke priemmacht p αi i die een deler is van p 1, zal met grote waarschijnlijkheid een willekeurige c geen p i bevatten. Dit zal later worden aangetoond. Daarnaast worden grote constanten geaccepteerd, want dan negeert het algoritme alle priemmachten onder de 18. Als r modulo alle priemmachten bekend 27
28 is boven de 18, dan kunnen alle mogelijke resten voor priemgetallen onder de 18 geprobeerd worden. Dit zorgt voor een verhoging van de looptijd van het algoritme met een constante factor. Omdat minstens 1/12e van de c s in een goed paar (c, d) zit, is minstens een twaalfde van de c s goed. Dus voor een priemmacht p αi i, zal een willekeurige c deelbaar zijn door p αi i met kans hoogstens 12/p αi i. Als er t goede c s zijn, is de kans op een priemmacht boven de 18 die alle c s deelt, hoogstens: ( ) t <p α i i (p 1) p αi i Deze som covergeert voor t = 2 en wordt bij een verhoging van t met 1, verlaagd met een factor 2/3. Dus voor een constante grotere t is deze lager dan 1/2. Elke goede c is verkregen met een kans kleiner dan 1/(40) voor elk experiment. Er zijn /12 goede c s, dus na 480t experimenten, zijn er naar waarschijnlijkheid t goede c s gekozen met gelijke kans uit alle goede c s. Dus er zal een verzameling van c s gevonden worden zodat alle priemmachten p αi i > 20 die p 1 delen, relatief priem zijn tot minstens één van de c s. Om een algoritme te verkrijgen dat werkt binnen polynomiale tijd, zal het nodig zijn om alle mogelijke verzamelingen met t aantal c s te proberen. Al is het hier handiger om een algoritme te hebben die de verzameling met c s zoekt met de meeste gemene factoren. Deze verzameling zal de resten van r geven voor alle priemgetallen groter dan 18. Voor elk priemgetal p i kleiner dan 18, zijn er maximaal 18 mogelijkheden voor de rest modulo p αi i. Er kunnen dus alle mogelijke resten geprobeerd worden modulo priemmachten lager dan 18. Voor elke mogelijkheid kan er de bijbehorende r berekend worden met de Chinese reststelling, waarna gekeken kan worden of het de gezochte discrete logaritme is. 4.6 Efficiëntie Als dit algoritme daadwerkelijk gebruikt gaat worden, zijn er nog genoeg manieren om het veel efficiënter te maken dan hier beschreven staat. De schatting voor het aantal goede c s is waarschijnlijk veel te laag, zeker aangezien zwakkere voorwaarde dan 4.7 en 4.8 zullen voldoen. Hierdoor zal het aantal keren draaien van het experiment verminderd kunnen worden. Ook is het onwaarschijnlijk dat de verdeling van slechte waardes van c een relatie hebben met priemgetallen onder de 18. Als het niet zo is, is het onnodig om kleine priemgetallen apart te behandelen. Daarnaast gebruikt dit algoritme geen eigenschappen van Z p, dus kan hetzelfde algoritme gebruikt worden voor het vinden van discrete logaritmes over lichamen als Z p α, zolang deze ook een cyclische multiplicatieve groep bevat. Hiervoor zijn de orde van de generator nodig, vermenigvuldiging en het nemen van inverses moet mogelijk zijn binnen polynomiale tijd in deze lichamen. Daarbij is de orde 28
29 van de generator te vinden met behulp van Shor s algoritme zoals te lezen is in hoofdstuk 3. Het discrete logaritme algoritme is door Boneh en Lipton in 1995 gegeneraliseerd zodat het algoritme gebruikt kan worden om het discrete logaritme te bepalen als de groep abels is, maar niet cyclisch 3. 3 Quantum cryptoanalysis of hidden linear functions, D. Boneh, R.J. Lipton,
30 Slot De behandelde algoritmes maken het dus mogelijk om van grote gehele getallen de priemfactoren te vinden en om discrete logaritmes te achterhalen. Dit alles binnen polynomiale tijd waardoor ze bruikbaar kunnen zijn in de praktijk. Echter zal het dan eerst nodig zijn om de uantumcomputer beter te ontwikkelen dat deze de berekeningen ook daadwerkelijk aankan. Voor geïnteresseerden is het aan te raden zich verder te verdiepen in de complexiteit van het uantumgedeelte van deze scriptie. De uantumalgoritmes zijn tot dan toe nog steeds interessant om te bekijken en te zien waarom het hierin wel lukt maar niet in de klassieke algoritmes op klassieke computers. Het verschil werd mij ooit uitgelegd met een bijzonder voorbeeld: Stel een kamer voor met tien deuren. Er wordt verteld dat er achter één van deze deuren een geit staat. Deze geit wil je graag hebben. Een klassieke computer zal bij deur 1 beginnen, deze open maken en vervolgens een conclusie trekken. Als achter de deur geen geit staat, gaat deze computer verder naar deur 2. Dit gaat zo door totdat de geit uiteindelijk gevonden is. Stel dat het achter deur 8 staat, zal deze computer 8 keer een deur moeten openen en een conclusie trekken voordat hij weet waar de geit staat. Een uantumcomputer kan alle deuren tegelijk openen, door middel van de superpositie die de computer kan aannemen. Hierbij kan hij gelijk concluderen dat de geit achter deur 8 zit en bij een meting dat als output leveren. Deze computer zal binnen 1 stap kunnen vertellen waar de geit staat. De snelheid en effectiviteit van een dergelijke computer wordt hiermee duidelijk. Ze zijn direct en doelmatig en blijven daarom fascinerend. De mogelijkheden die ze eventueel in de toekomst kunnen hebben zou de cryptografie veranderen. 30
31 Bibliografie [1] P. Shore Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer, 1996 [2] R. de Wolf, Quantum Computing and Communication Complexity, Universiteit van Amsterdam 2010, pp. [3] F. Xi Lin, Shor s Algorithm and the Quantum Fourier Transform, McGill University [4] R. Cleve, A. Ekert, C. Macchiavello and M. Mosca, Quantum algorithms revisited, The Royal Society, 1998 [5] D. Bacon, Quantum Computing Shor s Algorithm, University of Washington 31
RSA. F.A. Grootjen. 8 maart 2002
RSA F.A. Grootjen 8 maart 2002 1 Delers Eerst wat terminologie over gehele getallen. We zeggen a deelt b (of a is een deler van b) als b = qa voor een of ander geheel getal q. In plaats van a deelt b schrijven
OPLOSSINGEN VAN DE OEFENINGEN
OPLOSSINGEN VAN DE OEFENINGEN 1.3.1. Er zijn 42 mogelijke vercijferingen. 2.3.4. De uitkomsten zijn 0, 4 en 4 1 = 4. 2.3.6. Omdat 10 = 1 in Z 9 vinden we dat x = c 0 +... + c m = c 0 +... + c m. Het getal
Zwakke sleutels voor RSA
Zwakke sleutels voor RSA Benne de Weger, Mike Boldy en Hans Sterk 23 juni 2008 Zwakke sleutels voor RSA Benne de Weger, Mike Boldy en Hans Sterk 23 juni 2008 RSA: beroemd cryptosysteem Genoemd naar Rivest,
Bijzondere kettingbreuken
Hoofdstuk 15 Bijzondere kettingbreuken 15.1 Kwadratische getallen In het vorige hoofdstuk hebben we gezien dat 2 = 1, 2, 2, 2, 2, 2, 2,.... Men kan zich afvragen waarom we vanaf zeker moment alleen maar
Hoe je het cryptosysteem RSA soms kunt kraken. Benne de Weger
Hoe je het cryptosysteem RSA soms kunt kraken Benne de Weger 28 aug. / 4 sept. RSA 1/38 asymmetrisch cryptosysteem versleutelen met de publieke sleutel ontsleutelen met de bijbehorende privé-sleutel gebaseerd
7.1 Het aantal inverteerbare restklassen
Hoofdstuk 7 Congruenties in actie 7.1 Het aantal inverteerbare restklassen We pakken hier de vraag op waarmee we in het vorige hoofdstuk geëindigd zijn, namelijk hoeveel inverteerbare restklassen modulo
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.
4 Modulair rekenen Oefening 4.1. Merk op dat 2 5 9 2 2592. Bestaat er een ander getal van de vorm 25ab dat gelijk is aan 2 5 a b? (Met 25ab bedoelen we een getal waarvan a het cijfer voor de tientallen
FACTORISATIE EN CRYPTOGRAFIE
FACTORISATIE EN CRYPTOGRAFIE COMPUTERPRACTICUM UvA-MASTERCLASS WISKUNDE 1993 G.C.M. Ruitenburg Faculteit Wiskunde en Informatica Universiteit van Amsterdam 1993 INLEIDING In dit computer prakticum volgen
De impact van het kwantumalgoritme van Shor op het RSA-algoritme zoals voorgeschreven door NIST
RADBOUD UNIVERSITEIT BACHELORSCRIPTIE De impact van het kwantumalgoritme van Shor op het RSA-algoritme zoals voorgeschreven door NIST Auteur: Sanne VEENSTRA (s4305329) Begeleiders: Assoc. Prof. Wieb BOSMA
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.
4 Modulair rekenen Oefening 4.1. Merk op dat 2 5 9 2 = 2592. Bestaat er een ander getal van de vorm 25ab dat gelijk is aan 2 5 a b? (Met 25ab bedoelen we een getal waarvan a het cijfer voor de tientallen
1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12
Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal
Getaltheorie II. ax + by = c, a, b, c Z (1)
Lesbrief 2 Getaltheorie II 1 Lineaire vergelijkingen Een vergelijking van de vorm ax + by = c, a, b, c Z (1) heet een lineaire vergelijking. In de getaltheorie gaat het er slechts om gehele oplossingen
Opgaven Getaltheorie en Cryptografie (deel 4) Inleverdatum: 13 mei 2002
Opgaven Getaltheorie en Cryptografie (deel 4) Inleverdatum: 13 mei 2002 19.a) Laat zien dat 5 een voortbrenger is van F 37. b) In het sleuteldistributiesysteem van Diffie en Hellman (met G = F 37, α =
7 Deelbaarheid. 7.1 Deelbaarheid WIS7 1
WIS7 1 7 Deelbaarheid 7.1 Deelbaarheid Deelbaarheid Voor geheeltallige d en n met d > 0 zeggen we dat d een deler is van n, en ook dat n deelbaar is door d, als n d een geheel getal is. Notatie: d\n k
Getaltheorie I. c = c 1 = 1 c (1)
Lesbrief 1 Getaltheorie I De getaltheorie houdt zich bezig met het onderzoek van eigenschappen van gehele getallen, en meer in het bijzonder, van natuurlijke getallen. In de getaltheorie is het gebruikelijk
Probabilistische aspecten bij public-key crypto (i.h.b. RSA)
p. 1/21 Probabilistische aspecten bij public-key crypto (i.h.b. RSA) Herman te Riele, CWI Amsterdam Nationale Wiskunde Dagen Noordwijkerhout, 31 januari 2015 p. 2/21 verzicht Binair exponentiëren RSA Factorisatie-algoritmen
Public Key Cryptography. Wieb Bosma
Public Key Cryptography de wiskunde van het perfecte kopje koffie Wieb Bosma Radboud Universiteit Nijmegen Bachelordag 2 april 2011 Nijmegen, 6 november 2010 0 Nijmegen, 6 november 2010 1 cryptografie
PG blok 4 werkboek bijeenkomst 4 en 5
2015-2015 PG blok 4 werkboek bijeenkomst 4 en 5 Inhoud Kenmerken van deelbaarheid (herhaling)...1 Ontbinden in factoren...1 Priemgetallen (herhaling)...2 Ontbinden in priemfactoren...2 KGV (Kleinste Gemene
FACTORISATIE EN CRYPTOGRAFIE
FACTORISATIE EN CRYPTOGRAFIE UvA-MASTERCLASS WISKUNDE 1993 P. Stevenhagen Faculteit Wiskunde en Informatica Universiteit van Amsterdam 1993 INLEIDING In deze masterclass zullen we ons voornamelijk bezighouden
Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.
Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht
Opgeloste en onopgeloste mysteries in de getaltheorie
Opgeloste en onopgeloste mysteries in de getaltheorie Jan De Beule, Tom De Medts en Jeroen Demeyer Voorwoord 1 Voorwoord Beste leerling, Deze nota s zijn bedoeld als begeleiding bij 6 lesuren Opgeloste
Getallen, 2e druk, extra opgaven
Getallen, 2e druk, extra opgaven Frans Keune november 2010 De tweede druk bevat 74 nieuwe opgaven. De nummering van de opgaven van de eerste druk is in de tweede druk dezelfde: nieuwe opgaven staan in
Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens
Algoritmes in ons dagelijks leven Leve de Wiskunde! 7 April 2017 Jacobien Carstens Wat is een algoritme? Een algoritme is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd
De cryptografie achter Bitcoin
De cryptografie achter Bitcoin Benne de Weger [email protected] augustus 2018 digitale handtekeningen 1 doel: authenticatie sterke verbinding aanleggen tussen een document en een identiteit wordt doorgaans
2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s.
Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal is een natuurlijk getal groter dan 1 dat slechts deelbaar is door 1 en door zichzelf. Om technische redenen wordt
Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege.
Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege. Kijk het huiswerk van je collega s na en schrijf de namen van de nakijkers linksboven en het totaalcijfer rechts onder de namen
1.5.1 Natuurlijke, gehele en rationale getallen
46 Getallen 1.5 Getaltheorie 1.5.1 Natuurlijke, gehele en rationale getallen De getallen 0,1,2,3,4,... enz. worden de natuurlijke getallen genoemd (de heleverzamelingvanaldezegetallenbijelkaarnoterenwemethetteken:
Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte
Getallenleer Inleiding op codeertheorie Liliane Van Maldeghem Hendrik Van Maldeghem Cursus voor de vrije ruimte 2 Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal
Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA?
Algoritmes en Priemgetallen Hoe maak je een sleutelpaar voor RSA? Het recept van RSA Kies p q priemgetallen en bepaal N = pq Kies e Z N (publieke sleutel) Bepaal d e 1 mod φ N (privésleutel) x ed x kφ
niet: achterop een ansichtkaart schrijven postbode (en wie al niet meer) leest mee
Het geheim van goede koffie Benne de Weger oktober 2013 [email protected] http://www.win.tue.nl/~bdeweger versturen van geheimen hoe moet je een geheim opsturen als onderweg iemand kan afluisteren?
6 Ringen, lichamen, velden
6 Ringen, lichamen, velden 6.1 Polynomen over F p : irreducibiliteit en factorisatie Oefening 6.1. Bewijs dat x 2 + 2x + 2 irreducibel is in Z 3 [x]. Oplossing 6.1 Aangezien de veelterm van graad 3 is,
Universiteit Gent. Academiejaar Discrete Wiskunde. 1ste kandidatuur Informatica. Collegenota s. Prof. Dr.
Universiteit Gent Academiejaar 2001 2002 Discrete Wiskunde 1ste kandidatuur Informatica Collegenota s Prof. Dr. Frank De Clerck Herhalingsoefeningen 1. Bepaal het quotiënt en de rest van de deling van
Cryptografie: de wetenschap van geheimen
Cryptografie: de wetenschap van geheimen Benne de Weger [email protected] augustus 2018 Cryptografie als Informatiebeveiliging 1 beveiliging: doe iets tegen risico s informatie-risico s en eisen: informatie
Inleiding tot de Problem Solving - deel 1: Combinatoriek en getaltheorie
Inleiding tot de Problem Solving - deel 1: Combinatoriek en getaltheorie Jan Vonk 1 oktober 2008 1 Combinatoriek Inleiding Een gebied dat vandaag de dag haast niet onderschat kan worden binnen de wiskunde
Overzicht Fourier-theorie
B Overzicht Fourier-theorie In dit hoofdstuk geven we een overzicht van de belangrijkste resultaten van de Fourier-theorie. Dit kan als steun dienen ter voorbereiding op het tentamen. Fourier-reeksen van
Cryptografische beveiliging op het Internet
Cryptografische beveiliging op het Internet Benne de Weger [email protected] augustus 2018 hybride cryptografie 1 klare symmetrische versleuteling geheimschrift versturen geheimschrift symmetrische
Geldwisselprobleem van Frobenius
Geldwisselprobleem van Frobenius Karin van de Meeberg en Dieuwertje Ewalts 12 december 2001 1 Inhoudsopgave 1 Inleiding 3 2 Afspraken 3 3 Is er wel zo n g? 3 4 Eén waarde 4 5 Twee waarden 4 6 Lampenalgoritme
Getaltheorie groep 3: Primitieve wortels
Getaltheorie groep 3: Primitieve wortels Trainingsweek juni 2008 Inleiding Voor a relatief priem met m hebben we de orde van a modulo m gedefinieerd als ord m (a) = min { n Z + a n 1 (mod m) }. De verzameling
Kwadraatrepresentatie
Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica. Kwadraatrepresentatie Het representeren van natuurlijke getallen als som van kwadraten. Bachelorscriptie Auteur:
Hoofdstuk 1. Inleiding. Lichamen
Hoofdstuk 1 Lichamen Inleiding In Lineaire Algebra 1 en 2 heb je al kennis gemaakt met de twee belangrijkste begrippen uit de lineaire algebra: vectorruimte en lineaire afbeelding. In dit hoofdstuk gaan
Definitie 5.1. Cyclische groepen zijn groepen voortgebracht door 1 element.
Hoofdstuk 5 Cyclische groepen 5.1 Definitie Definitie 5.1. Cyclische groepen zijn groepen voortgebracht door 1 element. Als G wordt voortgebracht door a en a n = e, dan noteren we de groep als C n = a.
Het karakteristieke polynoom
Hoofdstuk 6 Het karakteristieke polynoom We herhalen eerst kort de definities van eigenwaarde en eigenvector, nu in een algemene vectorruimte Definitie 6 Een eigenvector voor een lineaire transformatie
1 Kettingbreuken van rationale getallen
Kettingbreuken van rationale getallen Laten we eens starten met een breuk bijvoorbeeld 37/3 Laten we hier ons kettingbreuk algoritme op los, We concluderen hieruit dat 37 3 3 + 3 + + 37 3 + + + hetgeen
We beginnen met de eigenschappen van de gehele getallen.
II.2 Gehele getallen We beginnen met de eigenschappen van de gehele getallen. Axioma s voor Z De gegevens zijn: (a) een verzameling Z; (b) elementen 0 en 1 in Z; (c) een afbeelding +: Z Z Z, de optelling;
Het RSA Algoritme. Erik Aarts - 1 -
Het RSA Algoritme Erik Aarts - 1 - 1 Wiskunde... 3 1.1 Het algoritme van Euclides... 3 1.1.1 Stelling 1... 4 1.2 Het uitgebreide algoritme van Euclides... 5 1.3 Modulo rekenen... 7 1.3.1 Optellen, aftrekken
Lineaire Algebra voor ST
Lineaire Algebra voor ST docent: Judith Keijsper TUE, HG 9. email: [email protected] studiewijzer: http://www.win.tue.nl/wsk/onderwijs/ds6 Technische Universiteit Eindhoven college 9 J.Keijsper (TUE)
Opgeloste en onopgeloste mysteries in de getaltheorie
Opgeloste en onopgeloste mysteries in de getaltheorie Jan De Beule, Tom De Medts en Jeroen Demeyer Voorwoord 1 Voorwoord Beste leerling, Deze nota s zijn bedoeld als begeleiding bij 6 lesuren Opgeloste
Dossier 3 PRIEMGETALLEN
Dossier 3 PRIEMGETALLEN atomen van de getallenleer Dr. Luc Gheysens Een priemgetal is een natuurlijk getal met twee verschillende delers, nl. 1 en het getal zelf. De priemgetallen zijn dus 2, 3, 5, 7,
Kwaliteit van ABC-drietallen
H.E. Reijngoud Kwaliteit van ABC-drietallen Bachelorscriptie, juni 00 Scriptiebegeleider: Dr. B. de Smit Mathematisch Instituut, Universiteit Leiden Inhoudsopgave Het ABC-vermoeden 3 ABC-drietallen maken
KETTINGBREUKEN VAN COMPLEXE GETALLEN MART KELDER
KETTINGBREUKEN VAN COMPLEXE GETALLEN MART KELDER 7 mei 2009 Inhoudsopgave Reële kettingbreuken 2. Voorwoord 2.2 Verschillende reële kettingbreuken 2.3 Roosters 2.3. Definities 2.4 Voorbeelden van Roosters
Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015
Je hebt twee uur de tijd voor het oplossen van de vraagstukken. Elk vraagstuk is maximaal 10 punten waard. Begin elke opgave op een nieuw vel papier. µkw uitwerkingen 12 juni 2015 Vraagstuk 1. We kunnen
Radboud Universiteit Nijmegen
Radboud Universiteit Nijmegen Faculteit der Natuurwetenschappen, Wiskunde en Informatica L(,1)-labeling van grafen Naam: Studentnummer: Studie: Begeleider: Myrte klein Brink 4166140 Bachelor Wiskunde Dr.
WISKUNDE 1. Aansluitmodule wiskunde MBO-HBO
WISKUNDE 1 Aansluitmodule wiskunde MBO-HBO Wat moet je aanschaffen? Basisboek wiskunde tweede editie Jan van de Craats en Rob Bosch isbn:978-90-430-1673-5 Dit boek gebruikt men ook op de Hanze bij engineering.
5.1 Constructie van de complexe getallen
Les 5 Complexe getallen Iedereen weet, dat kwadraten van getallen positieve getallen zijn. Dat is vaak erg praktisch, we weten bijvoorbeeld dat de functie f(x) := x 2 +1 steeds positief is en in het bijzonder
2.1 Bewerkingen [1] Video Geschiedenis van het rekenen ( 15 x 3 = 45
15 x 3 = 45 2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (http://www.youtube.com/watch?v=cceqwwj6vrs) 15 x 3 is een product. 15 en 3 zijn de factoren van het product. 15 : 3 = 5 15 : 3 is een
Oplossing van opgave 6 en van de kerstbonusopgave.
Oplossing van opgave 6 en van de kerstbonusopgave. Opgave 6 Lesbrief, opgave 4.5 De getallen m en n zijn verschillende positieve gehele getallen zo, dat de laatste drie cijfers van 1978 m en 1978 n overeenstemmen.
Complexe getallen. 5.1 Constructie van de complexe getallen
Les 5 Complexe getallen Iedereen weet, dat kwadraten van getallen positieve getallen zijn. Dat is vaak erg praktisch, we weten bijvoorbeeld dat de functie f(x) := x 2 +1 steeds positief is en in het bijzonder
Het programma ELGAMAL
Het programma ELGAMAL Gerard Tel Universiteit Utrecht, Departement Informatica 21 oktober 2005 Dit boekje is een inhoudelijke beschrijving van het programma ELGAMAL dat door Gerard Tel is geschreven voor
Uitwerkingen tentamen Algebra 3 8 juni 2017, 14:00 17:00
Uitwerkingen tentamen Algebra 3 8 juni 207, 4:00 7:00 Je mocht zoals gezegd niet zonder uitleg naar opgaven verwijzen. Sommige berekeningen zijn hier weggelaten. Die moest je op je tentamen wel laten zien.
FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie
FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie Lineaire Algebra, tentamen Uitwerkingen vrijdag 4 januari 0, 9 uur Gebruik van een formuleblad of rekenmachine is niet toegestaan. De
Ter Leering ende Vermaeck
Ter Leering ende Vermaeck 15 december 2011 1 Caleidoscoop 1. Geef een relatie op Z die niet reflexief of symmetrisch is, maar wel transitief. 2. Geef een relatie op Z die niet symmetrisch is, maar wel
Een Stelling over Priemgetallen Bewezen op een Schaakbord Seminar Combinatorial Algorithms (voorjaar 2010)
Een Stelling over Priemgetallen Bewezen op een Schaakbord Seminar Combinatorial Algorithms (voorjaar 2010) Johan de Ruiter, [email protected] 27 april 2010 1 De stelling van Fermat over de som
De Riemann-hypothese
De Riemann-hypothese Lars van den Berg 3 september 202 Laat ik je gelijk enthousiast maken om dit stukje te lezen: wie de Riemannhypothese oplost wint een miljoen. Wel zijn er waarschijnlijk eenvoudigere
Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen
Hoofdstuk 3 Equivalentierelaties SCHAUM 2.8: Equivalence Relations Twee belangrijke voorbeelden van equivalentierelaties in de informatica: resten (modulo rekenen) en cardinaliteit (aftelbaarheid). 3.1
3 De duale vectorruimte
3 De duale vectorruimte We brengen de volgende definitie in de herinnering. Definitie 3.1 (hom K (V, W )) Gegeven twee vectorruimtes (V, K) en (W, K) over K noteren we de verzameling van alle lineaire
Quantum computing. Dirk Nuyens. dept. computerwetenschappen KULeuven. [[email protected]]
Quantum computing Dirk Nuyens [[email protected]] dept. computerwetenschappen KULeuven qc-sim-intro.tex Quantum computing Dirk Nuyens 18/12/2001 21:25 p.1 Mijn thesis plannen Proberen een zo
Priemontbinding en ggd s
Hoofdstuk 3 Priemontbinding en ggd s 3.1 Priemgetallen Een getal > 1 dat alleen 1 en zichzelf als positieve deler heeft noemen we een priemgetal. De rij priemgetallen begint als volgt, 2, 3, 5, 7, 11,
Priemfactoren. Grote getallen. Geavanceerde methoden. Hoe ontbind je een getal N in priemfactoren?
Docentenhandleiding Inhoudsopgave Docentenhandleiding... 1 Inhoudsopgave... 2 Priemfactoren... 3 Grote getallen... 3 Geavanceerde methoden... 3 Primaliteit en factorisatie... 4 Literatuur... 4 Software...
met gehele getallen Voer de volgende berekeningen uit: 1.1 a. 873 112 1718 157 3461 + 1.2 a. 9134 4319 b. 4585 3287 b. 1578 9553 7218 212 4139 +
I Getall 0 e π 8 9 Dit deel gaat over het rek met getall. Ze kom in allerlei soort voor: positieve getall, negatieve getall, gehele getall, rationale irrationale getall. De getall, π e zijn voorbeeld van
6 Complexe getallen. 6.1 Definitie WIS6 1
WIS6 1 6 Complexe getallen 6.1 Definitie Rekenen met paren De vergelijking x 2 + 1 = 0 heeft geen oplossing in de verzameling R der reële getallen (vierkantsvergelijking met negatieve discriminant). We
Security. Eerste tentamen
Security Eerste tentamen Het tentamen normale rekenmachine mag mee. Gastpresentaties Weetvragen Lees je eigen aantekeningen goed door. Malware Weetvragen Introductiecollege Weetvragen! Kijk naar de lijst
2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (http://www.youtube.com/watch?v=cceqwwj6vrs) 15 x 3 = 45
15 x 3 = 45 2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (http://www.youtube.com/watch?v=cceqwwj6vrs) 15 x 3 is een product. 15 en 3 zijn de factoren van het product. 15 : 3 = 5 15 : 3 is een
Uitwerkingen toets 12 juni 2010
Uitwerkingen toets 12 juni 2010 Opgave 1. Bekijk rijen a 1, a 2, a 3,... van positieve gehele getallen. Bepaal de kleinst mogelijke waarde van a 2010 als gegeven is: (i) a n < a n+1 voor alle n 1, (ii)
Wiskunde 2 voor kunstmatige intelligentie (BKI 316) Bernd Souvignier
Wiskunde 2 voor kunstmatige intelligentie (BKI 316) Bernd Souvignier najaar 2004 Deel I Voortgezette Analyse Les 1 Complexe getallen Iedereen weet, dat kwadraten van getallen positieve getallen zijn. Dat
Combinatoriek groep 1 & 2: Recursie
Combinatoriek groep 1 & : Recursie Trainingsweek juni 008 Inleiding Bij een recursieve definitie van een rij wordt elke volgende term berekend uit de vorige. Een voorbeeld van zo n recursieve definitie
De wortel uit min één. Jaap Top
De wortel uit min één Jaap Top IWI-RuG & DIAMANT [email protected] 20 maart 2007 1 Marten Toonder, verhaal de minionen (1980) 2 3 4 5 Twee manieren om complexe getallen te beschrijven: algebraïsch, als uitdrukkingen
slides10.pdf December 5,
Onderwerpen Inleiding Algemeen 10 Cryptografie Wat is cryptography? Waar wordt cryptografie voor gebruikt? Cryptographische algoritmen Cryptographische protocols Piet van Oostrum 5 dec 2001 INL/Alg-10
Kies voor i een willekeurige index tussen 1 en r. Neem het inproduct van v i met de relatie. We krijgen
Hoofdstuk 95 Orthogonaliteit 95. Orthonormale basis Definitie 95.. Een r-tal niet-triviale vectoren v,..., v r R n heet een orthogonaal stelsel als v i v j = 0 voor elk paar i, j met i j. Het stelsel heet
Heron driehoek. 1 Wat is een Heron driehoek? De naam Heron ( Heroon) is bekend van de formule
Heron driehoek 1 Wat is een Heron driehoek? De naam Heron ( Heroon) is bekend van de formule = s(s a)(s b)(s c) met s = a + b + c 2 die gebruikt wordt om de oppervlakte van een driehoek te berekenen in
De Chinese reststelling
De Chinese reststelling 1 Inleiding 1. De Chinese reststelling is een stelling binnen de getaltheorie. De stelling werd voor het eerst beschreven in de vierde eeuw na Chr. door de Chinese wiskundige Sunzi
Profielwerkstuk Informatica en Wiskunde Is RSA-cryptografie nu veilig genoeg en wat betekent dit voor de toekomst van digitale beveiliging?
Profielwerkstuk Informatica en Wiskunde Is RSA-cryptografie nu veilig genoeg en wat betekent dit voor de toekomst van digitale beveiliging? Door Nahom Tsehaie en Jun Feng Begeleiders: David Lans en Albert
Vectorruimten en deelruimten
Vectorruimten en deelruimten We hebben al uitgebreid kennis gemaakt met de vectorruimte R n We zullen nu zien dat R n slechts een speciaal geval vormt van het (veel algemenere begrip vectorruimte : Definitie
cyclotomische polynomen
Coëfficiënten van cyclotomische polynomen Joris Luijsterburg Studentnummer: 0314137 Maart 2009 Bachelorscriptie Onder begeleiding van Dr. W. Bosma Wiskunde Faculteit der Natuurwetenschappen, Wiskunde en
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.
REKENEN VIJFDE KLAS en/of ZESDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Luc Cielen: Regels van deelbaarheid, grootste gemene deler en kleinste gemeen veelvoud 1 Deelbaarheid door 10, 100, 1000. Door
Kettingbreuken. 20 april 2010 1 K + 1 E + 1 T + 1 T + 1 I + 1 N + 1 G + 1 B + 1 R + 1 E + 1 U + 1 K + E + 1 N 1 2 + 1 0 + 1 A + 1 P + 1 R + 1 I + 1
Kettingbreuken Frédéric Guffens 0 april 00 K + E + T + T + I + N + G + B + R + E + U + K + E + N 0 + A + P + R + I + L + 0 + + 0 Wat zijn Kettingbreuken? Een kettingbreuk is een wiskundige uitdrukking
1. REGELS VAN DEELBAARHEID.
REKENEN VIJFDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Deelbaarheid door 10, 100, 1000 10: het laatste cijfer (= cijfer van de eenheden) is 0 100: laatste twee cijfers zijn 0 (cijfers van de eenheden
Lineaire algebra I (wiskundigen)
Lineaire algebra I (wiskundigen) Toets, donderdag 22 oktober, 2009 Oplossingen (1) Zij V het vlak in R 3 door de punten P 1 = (1, 2, 1), P 2 = (0, 1, 1) en P 3 = ( 1, 1, 3). (a) Geef een parametrisatie
TW2040: Complexe Functietheorie
TW2040: Complexe Functietheorie week 4.1, donderdag K. P. Hart Faculteit EWI TU Delft Delft, 21 april, 2016 K. P. Hart TW2040: Complexe Functietheorie 1 / 32 Outline 1 K. P. Hart TW2040: Complexe Functietheorie
Diophantische vergelijkingen
Diophantische vergelijkingen 1 Wat zijn Diophantische vergelijkingen? Een Diophantische vergelijking is een veeltermvergelijking waarbij zowel de coëfficiënten als de oplossingen gehele getallen moeten
Discrete Structuren voor Informatici
Discrete Structuren voor Informatici 1 Eenvoudige telproblemen Dit zijn aantekeningen voor het college Discrete Structuren voor Informatici, Blok A, herfst 2008. We behandelen een aantal telproblemen,
Worteltrekken modulo een priemgetal: van klok tot cutting edge. Roland van der Veen
Worteltrekken modulo een priemgetal: van klok tot cutting edge Roland van der Veen Modulorekenen Twee getallen a en b zijn gelijk modulo p als ze een veelvoud van p verschillen. Notatie: a = b mod p Bijvoorbeeld:
Zomercursus Wiskunde. Katholieke Universiteit Leuven Groep Wetenschap & Technologie. September 2008
Katholieke Universiteit Leuven September 008 Algebraïsch rekenen (versie 7 juni 008) Inleiding In deze module worden een aantal basisrekentechnieken herhaald. De nadruk ligt vooral op het symbolisch rekenen.
handleiding ontbinden
handleiding ontbinden inhoudsopgave inhoudsopgave de grote lijn 3 Bespreking per paragraaf 4 Applets 4 1 met gegeven product 4 ontbinden van getallen 4 3 vergelijkingen 5 4 onderzoek 6 tijdpad 9 materialen
Hoofdstuk 6. Congruentierekening. 6.1 Congruenties
Hoofdstuk 6 Congruentierekening 6.1 Congruenties We hebben waarschijnlijk allemaal wel eens opgemerkt dat bij vermenigvuldigen van twee getallen de laatste cijfers als het ware meevermenigvuldigen. Stel
TW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 11 Leo van Iersel Technische Universiteit Delft 25 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 1 / 28 Vandaag Vraag Voor welke problemen
Groepen, ringen en velden
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:
