Random Number Generators
|
|
- Jozef de Ruiter
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Random Number Generators Inés Carvajal Gallardo 20 juni Inleiding Deze paper gaat over random numbers in cryptografische toepassingen. Er is binnen de cryptografie grote vraag naar random number generators. Waarom zijn deze nodig en nog belangrijker, hoe komen we aan een goede random number generator? In deze paper zal ik uiteenzetten wat voor soort random number generators er zijn, hoe veilig ze zijn en hoe ze werken. 2 Random numbers Zoals gezegd zijn random numbers van groot belang in de cryptografie. Er zijn vele algoritmes die voor hun veiligheid vertrouwen op random numbers. Zo worden ze onder andere gebruikt als nonces, als salts, als sessiesleutel, of als bits voor stroomversleuteling die, zoals we al eerder in de cursus hebben gezien, zo willekeurig mogelijk moeten zijn [1] [2]. Verder zijn er in het speciaal ook vaak willekeurige priemgetallen nodig, voor bijvoorbeeld encryptiemethodes als RSA. In deze paper gaan we verder niet in op willekeurige priemgetallen. 3 Pseudo Random Number Generators Een Pseudo Random Number Generator, een PRNG, wordt veel gebruikt om ogenschijnlijk random numbers te genereren. Hoewel een PRNG een bitreeks kan genereren die er voor ons compleet willekeurig uitziet, is de bitreeks niet echt willekeurig. Er zijn hier meerdere oorzaken voor. Ten eerste heeft dit te maken met het feit dat een PRNG deterministisch is. Alle PRNG s maken gebruik van een beginwaarde waarvan alle volgende waarden in de reeks worden afgeleid. Deze beginwaarde wordt ook wel een seed value genoemd. De seed value gaat in een formule of algoritme die een reeks waarden uitrekent. De methode of formule die gebruikt wordt om aan de volgende bits in de reeks te komen is deterministisch: als we deze twee keer uitvoeren met dezelfde beginwaarde, krijgen we twee identieke bitreeksen terug. Dit houdt dus in dat de bitreeks, als we de initiële waarde weten, te voorspellen is. 1
2 Ten tweede hebben we te maken met periodiciteit. De periode van de bitreeks die door een PRNG gegenereerd kan worden, is de lengte van de bitreeks voordat we herhalingen gaan zien. Het moge duidelijk zijn, dat zodra we een herhaling in de bitreeks ontdekken, de reeks niet meer veilig is, omdat we dan alle waarden die gaan komen al weten, dit zijn namelijk dezelfde waarden als die we eerder hebben aangetroffen. In de praktijk zal dit niet altijd een groot probleem zijn, omdat er veel gecompliceerde PRNG s bestaan waarvan de periode dusdanig lang is, dat de periode in de praktijk geen hinder oplevert en daarom als argument tegen het gebruik van PRNG s genegeerd kan worden. De meeste PRNG s hebben dus imperfecties. Hun output is extrapoleerbaar, wat betekent dat als we een gedeelte van de bitreeks hebben opgevangen, we kunnen berekenen wat ervoor of erna komt. Ondanks de nadelen van PRNG s, worden ze toch vaak gebruikt. De vraag is: waarom dan? Een groot voordeel van PRNG s is dat ze erg snel zijn in het uitrekenen van pseudo-random numbers. Ze worden dan ook vaak gebruikt vanwege hun efficiëntie wanneer er ingeleverd mag worden aan willekeurigheid. Daarnaast is het soms ook juist gewenst dat een gegenereerde bitreeks deterministisch is, zodat deze nog eens geproduceerd kan worden. PRNG s worden daarom veel gebruikt in simulaties. 3.1 Lineaire congruentie generator In de talen Java en C# heeft men toegang tot de Random-klasse, met behulp waarvan er random numbers kunnen worden gegenereerd. Deze klasse geeft als object een PRNG die gebaseerd is op de lineaire congruentiegenerator. Omdat de Random-klasse een PRNG teruggeeft, zijn de getallen die gegenereerd worden niet werkelijk willekeurig. Het is daarom ook niet aan te raden om van Random gebruik te maken. In plaats daarvan is het mogelijk om de SecureRandom-klasse te gebruiken, die veiliger is dan Random. Verderop in deze paper zal worden uitgelegd hoe deze klasse werkt. De lineaire congruentiegenerator is een familie van algoritmen die gedefinieerd is door de volgende recurrente betrekking: x n+1 = (k x n + a) mod m Hierbij is er een waarde x 0 nodig die als seed-value functioneert, een getal k waarmee we vermenigvuldigen, een modulo m en een waarde a waarmee we ophogen. In de klasse Random wordt hierbij als x 0, de startwaarde, een getal van 48 bits gebruikt. Om te zien wat voor reeks getallen we hiermee zouden kunnen genereren, nemen we als voorbeeld m = 10, x 0 = a = k = 7. We krijgen de volgende reeks: 7, 6, 9, 0, 7, 6, 9, 0. [3] We zien hier een herhaling in. De reeks is dus niet zo willekeurig als we zouden willen, helemaal niet willekeurig zelfs. De willekeurigheid van de reeks hangt af 2
3 van onze startwaarde, de modulus m en van a en k. Maar hoe we deze waarden ook kiezen, uiteindelijk zullen we in de reeks getallen altijd een herhaling zien. Wat we dus zouden willen is om daarom onze periode zo hoog mogelijk te krijgen. Het is bewezen dat de periode van een lineaire congruentiegenerator ten hoogste m kan zijn [3]. Deze periode kunnen we krijgen als we onze getallen zo kiezen dat: m en a relatief priem zijn. Dit is een reden waarom men er meestal voor kiest om een priemgetal als de modulo m te kiezen. (k - 1) deelbaar is door alle priemfactoren van m. (k - 1) een veelvoud van 4 is, wanneer m dit ook is. Verder is het dan ook van belang dat we een grote m kiezen, zodat de periode zo groot mogelijk wordt [3, p. 17]. De lineaire congruentiegenerator is niet heel sterk tegen aanvallen. Wanneer we meerdere opeenvolgende getallen in de reeks weten, kunnen we de modulo m en het getal k met een acceptabele hoeveelheid werk berekenen [4]. Er bestaan nog meer PRNG s, waarvan er sommigen sterker zijn dan de lineaire congruentiegenerator, dat wil zeggen dat de reeks getallen die ze genereren willekeuriger is. Toch is het nu wel duidelijk waarom we het gebruik van PRNG s in cryptografische toepassingen niet zomaar kunnen goedkeuren en dat de klasse Random geen echte random numbers oplevert. Andere bekende PRNG s zijn ook wel het Linear Feedback Shift Register en de Mersenne Twister. 4 True random number generators We hebben gezien dat de meeste PRNG s niet veilig zijn, omdat de waarden in de reeks te voorspellen zijn. Een voor de hand liggend alternatief lijkt om dan op zoek te gaan naar random number generators die écht willekeurig zijn. Deze worden de True Random Number Generators genoemd. Dit zijn random number generators die gebruik maken van fysische processen die willekeurig zijn om random numbers te genereren, door de resultaten van de processen te meten en ze te digitaliseren. Een goed voorbeeld van een dergelijk proces is radioactief verval. Dit is het proces waarbij er energie wordt uitgezonden wanneer de kern van een instabiel atoom ioniserende deeltjes uitzendt. Volgens de kwantumtheorie is het moment waarop er radioactief verval op zal treden onmogelijk om te voorspellen, wat dit proces tot een goede kandidaat maakt voor een TRNG. Een Geiger-teller kan worden gebruikt om de straling die wordt uitgezonden te meten. De fysische processen die bij TRNG s worden gebruikt kunnen ook simpele processen zijn zoals de toetsaanslagen op je computer of de bewegingen die met de muis worden gemaakt. Het proces dat wordt gekozen maakt echter wel uit 3
4 voor de betrouwbaarheid van de willekeurigheid. Toetsaanslagen worden in de praktijk bijvoorbeeld vaak gebufferd door de computer. Daarom komen er op hetzelfde moment meerdere toetsaanslagen aan die niet op hetzelfde moment zijn gemaakt, wat de willekeurigheid vermindert. [1] Men zou ook een niet-fysisch proces kunnen gebruiken zoals het opgooien van een dobbelsteen, wat een willekeurig proces is, maar in het algemeen wordt de voorkeur aan fysische processen gegeven omdat deze makkelijker te meten en te digitaliseren zijn. Een voorbeeld van een dienst die true random numbers genereert is random.org. Deze TRNG maakt gebruikt van het geluid in de atmosfeer, dat al gemeten kan worden met een simpele radio, en de kleine variaties hierin om zijn getallen te genereren. Een argument tegen het gebruik van fysische processen voor het genereren van random numbers is dat zelfs deze processen deterministisch zouden kunnen zijn, maar als ze dit zijn, beschikken we in elk geval niet over de rekenkracht om er een aanval tegen op te stellen. Met een willekeurig proces bedoelen we daarom ook vooral dat het proces voor een waarnemer willekeurig is. TRNG s kunnen dus een goede uitkomst bieden voor cryptografische toepassingen. Toch worden ze er niet altijd in gebruikt. Dit komt doordat het genereren van bits met een TRNG erg langzaam is. Een betere optie is om true random numbers te gebruiken als seed-values in een PRNG. 5 Secure random number generators Als PRNG s niet veilig genoeg zijn en TRNG s niet genoeg bits per seconde kunnen leveren, moeten we ergens anders de oplossing zoeken. Deze oplossing kunnen we vinden in de Secure Random Number Generators, SRNG s. Dit zijn eigenlijk PRNG s, maar ze moeten aan extra eisen voldoen om cryptografisch veilig genoemd te kunnen worden. Vele SRNG s maken gebruik van entropie, een maat voor de onzekerheid of willekeurigheid van informatie. De SRNG zorgt er dan voor dat de entropie als het ware over meerdere bits wordt uitgesmeerd, zodat een grotere bitreeks (bijna) willekeurig wordt. 5.1 Statistische testen Hoe bepalen we nu of een SRNG getallen produceert die voldoende willekeurig zijn? Er bestaan statistische testen die een reeks getallen kunnen evalueren op willekeurigheid. Echter is het lastig om met volledige zekerheid te zeggen dat een reeks getallen geheel random is. Voor elke statistische test die op de reeks wordt uitgevoerd kunnen we wel met steeds meer zekerheid zeggen dat de reeks random is. Statistische testen worden onderverdeeld in theoretische en empirische testen. Enkele bekende empirische testen zijn de Chi-squared test en de seriële test. [3] Een bitreeks kan alleen willekeurig zijn als er ongeveer evenveel nullen als enen 4
5 in voorkomen. De seriële test kijkt naar deze eigenschap, maar test dit ook voor bitstrings van maar dan 1 bit. Wanneer er twee bits zijn, moeten namelijk de bitstrings 00, 10, 01 en 11 ook ongeveer even vaak voorkomen. Bij een random bitreeks zou dit voor subreeksen van alle lengtes zo moeten zijn. Natuurlijk is een gelijk aantal enen en nullen niet afdoende argument voor willekeurigheid. Een bitreeks zou de test kunnen doorstaan, maar is helemaal niet willekeurig. Vandaar dat het ook nodig is om meerdere tests te doen. [5]. De chi-squared test test de frequenties van bepaalde gebeurtenissen en vergelijkt deze dan met die van een van tevoren berekende distributie die willekeurig gedrag weergeeft. Met de chi-squared test is het dus mogelijk om de waarschijnlijkheid te berekenen dat je resultaten echt willekeurig zijn. Een eis voor veiligheid of willekeurigheid van een SRNG is dat hij de next-bit - test kan doorstaan. Het mag niet mogelijk zijn, gegeven k gegenereerde bits, om de k + 1 ste bit in polynomiale tijd te berekenen met meer dan 50% kans op slagen. Het is bewezen dat als een SRNG deze test kan doorstaan, hij alle andere statistische tests ook zal doorstaan. [6] 5.2 Blum Blum Shub De Blum Blum Shub is een PRNG die cryptografisch veilig is en daarmee tot de SRNG s behoort. Deze SRNG is ontworpen door Lenore Blum, Manuel Blum en Michael Shub in Het algoritme is een recurrente betrekking in de volgende vorm: x n+1 = x n 2 mod m Hierbij is m het product van twee grote priemgetallen p en q. Met deze methode kunnen bitreeksen worden gemaakt die veel willekeuriger zijn dan die die met bijvoorbeeld de lineaire congruentie generator worden gemaakt. De Blum Blum Shub is echter niet erg efficiënt. De veiligheid van de Blum Blum Shub is gegarandeerd zolang het factorisatieprobleem niet kan worden opgelost [2]. 5.3 SecureRandom SecureRandom is een klasse in Java die een SRNG levert [7]. SecureRandom implementeert zelf niet een PRNG, maar maakt gebruik van al bestaande PRNG implementaties uit andere klasses zodat het random numbers kan genereren. SecureRandom kan worden gebruikt in combinatie met meerdere algoritmen als onderliggende PRNG. Dit algoritme moet dan de Service Provider Interface hebben geïmplementeerd om hiervoor gebruikt te kunnen worden. Het is dus mogelijk om zelf een algoritme te specificeren en hiervoor een SecureRandomobject te krijgen. Een veelgebruikt algoritme is de SHA1PRNG, een SRNG gebaseerd op het SHA1-algoritme. SecureRandom probeert de interne staat van de random number generator willekeurig te houden. Dit wordt gedaan met behulp van een generateseed() methode, waarmee de klasse zichzelf voedt met random bits. Het is ook mogelijk 5
6 voor een gebruiker om zelf seed-bits mee te geven, maar deze vullen altijd de bestaande seed-bits aan, zodat de willekeurigheid niet verminderd kan worden. Wat belangrijk is bij het gebruik van deze klasse, is dat er vaak genoeg nieuw random materiaal wordt gegenereerd en men dus periodiek de generateseed() methode aanroept, omdat de interne staat van de PRNG random moet blijven. Hoe zorgt SecureRandom ervoor dat de interne staat van de prng willekeurig blijft? Hiervoor wordt een entropy pool gebruikt. Waar de entropie vandaan komt, hangt af van het OS dat gebruikt wordt en het OS weet waar het de entropie vandaan kan halen. Het OS verzamelt de entropie en SecureRandom gebruikt dit op zijn beurt. Op systemen met Linux wordt er vaak vanuit het bestand /dev/random gelezen. SecureRandom werkt dan als een laag om de /dev/random heen zodat we bij de entropie kunnen die door het OS wordt aangeboden. Wanneer we dan generateseed() aanroepen, wordt de entropie in de entropy pool verminderd. Het is dus mogelijk dat de entropy pool leegraakt. Op Windows wordt vaak de Crypt- GenRandom() API-call gebruikt. SecureRandom gebruikt de entropie om heel willekeurige seed -waarden te maken waarmee de interne prng wordt gevoed. [8] Entropie kan worden verzameld vanuit allerlei willekeurige gebeurtenissen op de computer. Denk hierbij aan tijden tussen toetsaanslagen, ruis die via een microfoon binnenkomt, tijden tussen interrupts, timing van threads die toegang tot de processor krijgen, cpu-gebruik en de temperatuur in de computer, etc. Het is wel belangrijk om je te beseffen dat sommige gebeurtenissen alsnog niet helemaal willekeurig zijn en dat er dus een verschil bestaat in kwaliteit van de bron van entropie. Op Linux worden onder andere de volgende bronnen gebruikt voor het verzamelen van entropie: De activiteit van de muis en het toetsenbord I/O operaties op de disk Bepaalde interrupts Wanneer er zich bepaalde gebeurtenissen voordoen, wordt er een 32-bits woord gemaakt dat de tijd van de gebeurtenis representeert en een 32-bits woord dat de attributen van de gebeurtenissen weergeeft. Bij een toetsaanslag zou dit bijvoorbeeld kunnen zijn welke toets er is ingedrukt. [9] Op Windows wordt vaak de CryptGenRandom() interface gebruikt, die onder andere de volgende bronnen gebruikt voor het verzamelen van entropie: [10] De tick-count sinds de laatste boot CPU-performance en de data van de CPU counter Het huidige procesid 6
7 Het huidige threadid Het OS maakt gebruik van meerdere gebeurtenissen om de entropie-pool te vullen, maar daarmee kan het ook zijn dat deze leeg is wanneer we teveel van de entropie opvragen. Dit is mede een goede reden voor de manier waarop SecureRandom en andere SRNG s werken: de entropie wordt als het ware over meerdere bits uitgesmeerd, omdat het te langzaam zou zijn om alleen maar entropie te gebruiken als bitreeks. In dat geval zouden we, wanneer de entropypool leeg is, moeten wachten tot er weer voldoende entropie door het systeem verzameld is. 6 Conclusie We hebben verschillende soorten random number generators gezien. De pseudo random number generators zijn cryptografisch niet zo veilig, maar worden wel gebruikt wanneer efficiëntie nodig is. De true random number generators genereren echt willekeurige getallen, maar leveren daarvoor op het gebied van efficiëntie veel in. Daarom worden ze voor de meeste toepassingen toch niet gebruikt. De secure random number generators zijn beter geschikt voor cryptografische toepassingen en moeten statistische testen doorstaan voordat ze veilig genoemd mogen worden. De klassen Random en SecureRandom zijn respectievelijk een pseudo random number generator en een secure random number generator. De klasse SecureRandom maakt gebruikt van de entropie die in het systeem beschikbaar is om willekeurige getallen te genereren. Hoe het systeem aan entropie komt, verschilt per systeem. 7
8 Referenties [1] random.org. Introduction to randomness and random numbers. [2] Brian Stack. Cryptographically secure random number generators [3] Donald Knuth. The art of computer programming, volume 2. Addison Wesley Longman, [4] Neal R Wagner. The laws of cryptography: Pseudo random number generation [5] Kroigard en Danielsen Geisler. About random bits. [6] Andrew C. Yao. Theory and applications of trapdoor functions. [7] SecureRandom. [8] Amit Sethi for Cigital. Proper use of java s securerandom. [9] Gutterman en Pinkas en Reinman. Analysis of the linux random number generator. [10] Microsoft. Cryptgenrandom function. 8
Random number generators
Random number generators Marijke Bodlaender 3137759 2 februari 2010 1 Inleiding 1.1 Doel Voor de cryptografie is het gebruik van goede random generators voor het genereren van keys cruciaal. Er zijn verschillende
Nadere informatieAlgoritmes 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φ
Nadere informatieles 2 toeval en waarschijnlijkheid
systemen ams blok 1 les 2 toeval en waarschijnlijkheid bestaat toeval? toevallig stond er deze week een artikel over toeval in de volkskrant maar was dit wel toeval? was het voorbestemd? wat is
Nadere informatieRandom-Getallen. Tristan Demont en Mark van der Boor en
Random-Getallen Tristan Demont en Mark van der Boor 0768931 en 0772942 18 januari 2013 Begeleider: Relinde Jurrius Opdrachtgever: Berry Schoenmakers Modelleren B, 2WH02 Technische Universiteit Eindhoven
Nadere informatieInterim-verslag Random-Getallen
Interim-verslag Random-Getallen Tristan Demont en Mark van der Boor 0768931 en 0772942 26 oktober 2012 Begeleider: Relinde Jurrius Opdrachtgever: Berry Schoenmakers Modelleren B, 2WH02 Technische Universiteit
Nadere informatieTweede 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
Nadere informatieJava Les 3 Theorie Herhaal structuren
Java Les 3 Theorie Herhaal structuren Algemeen Een herhaal structuur een is programmeertechniek waarbij bepaalde Java instructies worden herhaald net zo lang tot een bepaalde voorwaarde is bereikt. Een
Nadere informatieGetallenleer 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
Nadere informatieProbabilistische 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
Nadere informatieRSA. 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
Nadere informatieAlgoritmes 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
Nadere informatieOnafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms
Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie
Nadere informatie2 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
Nadere informatieTweede Toets Security 9 november 2016, , Educ-α.
Tweede Toets Security 9 november 2016, 8.30 10.30, Educ-α. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je
Nadere informatieProgrammeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:
Programmeren A Genetisch Programma voor het Partitie Probleem begeleiding: Inleiding Het Partitie Probleem luidt als volgt: Gegeven een verzameling van n positieve integers, vindt twee disjuncte deelverzamelingen
Nadere informatieOPLOSSINGEN 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
Nadere informatieFunctioneel programmeren
Functioneel programmeren Practicumopgave 2: Mastermind Het doel van deze opgave is het implementeren van het spel Mastermind; zie http://nl.wikipedia.org/wiki/mastermind voor een uitleg. Het spel is klein
Nadere informatieWillekeurige Getallen
Willekeurige Getallen Creatie en gebruik van willekeurige getallen door computers Eindwerk voorgedragen door Frederik De Paepe tot het behalen van het diploma Bachelor in Grafische en Digitale Media afstudeerrichting
Nadere informatie1 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
Nadere informatieOpgaven 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
Nadere informatieCombinatorische Algoritmen: Binary Decision Diagrams, Deel III
Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Sjoerd van Egmond LIACS, Leiden University, The Netherlands svegmond@liacs.nl 2 juni 2010 Samenvatting Deze notitie beschrijft een nederlandse
Nadere informatieElliptische krommen en digitale handtekeningen in Bitcoin
Elliptische krommen en digitale handtekeningen in Bitcoin Bas Edixhoven Universiteit Leiden KNAW Bitcoin symposium Deze aantekeningen zal ik op mijn homepage plaatsen. Bas Edixhoven (Universiteit Leiden)
Nadere informatieDe wiskunde achter de Bitcoin
De wiskunde achter de Bitcoin Bas Edixhoven Universiteit Leiden NWD, Noordwijkerhout, 2015/01/31 Deze aantekeningen zal ik op mijn homepage plaatsen. Bas Edixhoven (Universiteit Leiden) De wiskunde achter
Nadere informatieBij elkaar behorende instructies die een probleem oplossen of een taak uitvoeren.
1 Programma Structuur Diagram: Een gestructureerd programma is een programma dat we gemakkelijk kunnen begrijpen. Dit kunnen we bereiken door het programma op te bouwen uit drie programmacomponenten: Als
Nadere informatieOpgeloste 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
Nadere informatieConcept. Inleiding. Advies. Agendapunt: 04 Bijlagen: - College Standaardisatie
Forum Standaardisatie Wilhelmina v Pruisenweg 104 2595 AN Den Haag Postbus 84011 2508 AA Den Haag www.forumstandaardisatie.nl COLLEGE STANDAARDISATIE Concept CS07-05-04I Agendapunt: 04 Bijlagen: - Aan:
Nadere informatiePracticumopgave 3: SAT-solver
Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel
Nadere informatieVerzamelingen, Lijsten, Functioneel Programmeren
Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Lezing 4e Gymnasium, 19 november 2015 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen
Nadere informatieGeldwisselprobleem 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
Nadere informatieUitwerking tentamen Analyse van Algoritmen, 29 januari
Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4
Nadere informatieHoofdstuk 5: Functies voor getallen en teksten
Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, maart 2001 Hoofdstuk 5: Functies voor getallen en teksten
Nadere informatiePublic 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
Nadere informatieWorteltrekken 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:
Nadere informatie2.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
Nadere informatieslides10.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
Nadere informatieMaak zelf een algoritme wanneer je een auto kunt winnen en welke auto je wint.
Programmeeropdracht Versie 1 We spelen een soort Rad van fortuin : De computer kiest een getal van 1.. 50 Maak 3 tabellen: Tabel : Auto is gevuld met 5 auto s Tabel : Reizen is gevuld met 5 reizen, Tabel
Nadere informatieOverzicht. Random nummer generatie. Waarom? Waarom? VU Numeriek Programmeren 2.5
Overzicht Random nummer generatie VU Numeriek Programmeren 2. Charles Bos Vrije Universiteit Amsterdam c.s.bos@vu.nl, A4 Waarom? U[, ]: LCG Test verdeling Transformeer naar andere verdelingen 23 april
Nadere informatieVerzamelingen, Lijsten, Functioneel Programmeren
Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Stage Ignatiuscollege, 17 mei 2010 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen
Nadere informatieVBA voor doe het Zelvers deel 22. Handleiding van Helpmij.nl. Auteur: leofact
VBA voor doe het Zelvers deel 22 Handleiding van Helpmij.nl Auteur: leofact december 2015 Vorige aflevering In de vorige aflevering werden de regular expressions behandeld. Voor VBA zijn deze beschikbaar
Nadere informatieES1 Project 1: Microcontrollers
ES1 Project 1: Microcontrollers Les 5: Timers/counters & Interrupts Timers/counters Hardware timers/counters worden in microcontrollers gebruikt om onafhankelijk van de CPU te tellen. Hierdoor kunnen andere
Nadere informatieProfielwerkstuk 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
Nadere informatieFriendly Functions and Shared BDD s
Friendly Functions and Shared BDD s Bob Wansink 19 Juni 2010 Deze notitie behandelt pagina s 81 tot 84 van The Art of Computer Programming, Volume 4, Fascicle 1 van Donald E. Knuth. Inhoudelijk gaat het
Nadere informatieHet 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
Nadere informatiePG 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
Nadere informatieFACTORISATIE 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
Nadere informatieAlgoritmes voor Priemgetallen
Algoritmes voor Priemgetallen Tom van der Zanden Projectje Security, juni 2013 1 Introductie Voor cryptograe zijn priemgetallen erg belangrijk. Veel encryptiesystemen maken gebruik van hun eigenschappen
Nadere informatieOpdracht 1 Topics on Parsing and Formal Languages - fall 2010
Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 8 december 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]
Nadere informatie3. Structuren in de taal
3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we
Nadere informatieOpdracht 2. Deadline maandag 28 september 2015, 24:00 uur.
Opdracht 2. Deadline maandag 28 september 2015, 24:00 uur. Deze opdracht bestaat uit vier onderdelen; in elk onderdeel wordt gevraagd een Matlabprogramma te schrijven. De vier bijbehore bestanden stuur
Nadere informatieSERVICE LEVEL AGREEMENT SERVICE LEVEL AGREEMENT ADDENDUM VIRTUALISATIE VERSIE
SERVICE LEVEL AGREEMENT SERVICE LEVEL AGREEMENT ADDENDUM VIRTUALISATIE VERSIE 2014-05-28 Inhoudsopgave 1. Definities...3 1.1. Control Panel...3 1.2. CPU...3 1.3. CPU core...3 1.4. Dienst...3 1.5. I/O-operaties...3
Nadere informatieModulair rekenen en de Montgomery vermenigvuldiging
Modulair rekenen en de Montgomery vermenigvuldiging Inleiding door Theo Kortekaas Modulair rekenen is rekenen met resten. Als we een vliegreis maken van 31 uur en we vertrekken vandaag om 12:00 uur dan
Nadere informatieOplossingen Datamining 2II15 Juni 2008
Oplossingen Datamining II1 Juni 008 1. (Associatieregels) (a) Zijn de volgende beweringen juist of fout? Geef een korte verklaring voor alle juiste beweringen en een tegenvoorbeeld voor alle foute be-weringen:
Nadere informatieForum Standaardisatie. Expertadvies: Vervanging MD5 door SHA 2 op lijst met gangbare standaarden. Datum 5 augustus 2010
Forum Standaardisatie Expertadvies: Vervanging MD5 door SHA 2 op lijst met gangbare standaarden Datum 5 augustus 2010 Colofon Projectnaam Versienummer Locatie Organisatie Expertadvies: Vervanging MD5 door
Nadere informatieGetaltheorie 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
Nadere informatieZwakke 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,
Nadere informatiealgoritmiek - antwoorden
2016 algoritmiek - antwoorden F. Vonk versie 1 28-8-2016 inhoudsopgave eenvoudige algoritmes... - 3 - complexe algoritmes... - 7 - zoeken (vwo)... - 10 - sorteren (vwo)... - 12 - Dit werk is gelicenseerd
Nadere informatieTweede Deeltoets Security 3 juli 2015, 8.30 10.30, Educatorium-Γ.
Tweede Deeltoets Security 3 juli 2015, 8.30 10.30, Educatorium-Γ. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op
Nadere informatieUitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.
Uitleg Welkom bij de Beverwedstrijd 2006 Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Je krijgt 5 vragen van niveau A, 5 vragen van niveau B en 5 vragen van niveau C. Wij denken
Nadere informatieUitwerkingen oefeningen hoofdstuk 1
Uitwerkingen oefeningen hoofdstuk 1 1.4.1 Basis Oefeningen Romeinse cijfers 1 Op deze zonnewijzer staan achtereenvolgens de getallen: I (= 1) II (= 2) III (= 3) IV (= 4) V (= 5) VI (= 6) VII (= 7) VIII
Nadere informatieHoofdstuk 3: Processen: Beschrijving en Besturing. Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces?
Hoofdstuk 3: Processen: Beschrijving en Besturing Wat is een proces? Waarom processen? Wat moet het OS ervoor doen? Is het OS zelf een proces? 1 Wat is een proces? Een proces is een programma in uitvoering
Nadere informatieAndroid apps met App Inventor 2 antwoorden
2014 Android apps met App Inventor 2 antwoorden F. Vonk versie 1 11-11-2014 inhoudsopgave Mollen Meppen... - 2 - Schrandere Scholier... - 15 - Meteoor... - 21 - Dit werk is gelicenseerd onder een Creative
Nadere informatieCombinatoriek groep 1
Combinatoriek groep 1 Recursie Trainingsweek, juni 009 Stappenplan homogene lineaire recurrente betrekkingen Even herhalen: het stappenplan om een recurrente betrekking van orde op te lossen: Stap 1. Bepaal
Nadere informatieOpdracht 1 Topics on Parsing and Formal Languages - fall 2010
Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 13 november 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]
Nadere informatieAlgoritmen en programmeren: deel 2 - basis
Algoritmen en programmeren: deel 2 - basis Ruud van Damme Creation date: 25 april 2005 Update: 16 november 2006, 9 september 2007 Overzicht 1 Basisbenodigdheden voor alle problemen 2 Alles in stukjes op
Nadere informatieVerzamelingen, Lijsten, Functioneel Programmeren
Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Stage Ignatiuscollege, 20 mei 2008 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen
Nadere informatieCombinatoriek 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
Nadere informatieStoomboot & de toekomst
Stoomboot & de toekomst W. Verkerke (ATLAS) Wat is stoomboot Gebruikers definitie van concept stoomboot Op basis van gesprekken met ATLAS/LHCb/ALICE/Astro Lokale batch faciliteit met de volgende definierende
Nadere informatieDatacommunicatie Cryptografie en netwerkbeveiliging
Datacommunicatie Cryptografie en netwerkbeveiliging ir. Patrick Colleman Inhoud Voorwoord 1 1. Inleiding Wat 2 2. Model 5 3. Systemen 5 3.1 Substitutiesystemen 6 3.1.1 Caesar 6 3.1.2 Monoalfabetische vercijfering
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, mei 2007
Uitgebreide uitwerking Tentamen Complexiteit, mei 007 Opgave. a. Een beslissingsboom beschrijft de werking van het betreffende algoritme (gebaseerd op arrayvergelijkingen) op elke mogelijke invoer. In
Nadere informatieHoe 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
Nadere informatieHoofdstuk 9. Hashing
Hoofdstuk 9 Hashing Het zoeken in een verzameling van één object is in deze cursus al verschillende malen aan bod gekomen. In hoofdstuk 2 werd uitgelegd hoe men een object kan zoeken in een array die veel
Nadere informatieCover Page. The handle holds various files of this Leiden University dissertation.
Cover Page The handle http://hdl.handle.net/1887/20310 holds various files of this Leiden University dissertation. Author: Jansen, Bas Title: Mersenne primes and class field theory Date: 2012-12-18 Samenvatting
Nadere informatieBeste deelnemer, Wanneer we vanmiddag op het kampterrein aankomen, zullen we beginnen met een verkenningsrondje over het terrein. Dat is op zichzelf
Beste deelnemer, Wanneer we vanmiddag op het kampterrein aankomen, zullen we beginnen met een verkenningsrondje over het terrein. Dat is op zichzelf al best leuk, maar het wordt nog veel leuker als we
Nadere informatieOefening 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
Nadere informatieIn deze les. Het experiment. Hoe bereid je het voor? Een beetje wetenschapsfilosofie. Literatuuronderzoek (1) Het onderwerp.
In deze les Het experiment Bart de Boer Hoe doe je een experiment? Hoe bereid je het voor? De probleemstelling Literatuuronderzoek Bedenken/kiezen experimentele opstelling Bedenken/kiezen analysevorm Hoe
Nadere informatieOpgaven 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, α =
Nadere informatieHaskell: programmeren in een luie, puur functionele taal
Haskell: programmeren in een luie, puur functionele taal Jan van Eijck jve@cwi.nl 5 Talen Symposium, 12 juli 2010 Samenvatting In deze mini-cursus laten we zien hoe je met eindige en oneindige lijsten
Nadere informatieextra oefening algoritmiek - antwoorden
extra oefening algoritmiek - antwoorden opgave "Formule 1" Maak een programma dat de gebruiker drie getal A, B en C in laat voeren. De gebruiker zorgt ervoor dat er positieve gehele getallen worden ingevoerd.
Nadere informatieComputerarchitectuur en netwerken Toets 1 4 okt
11.00 13.00 De open vragen moet je beantwoorden op tentamenpapier. De multiple-choice antwoorden moet je op het vragenblad invullen in de rechtervakjes en dat blad inleveren. Schrijf je naam, studentnummer
Nadere informatieGetaltheorie 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
Nadere informatieRekenen: Getallen groep 5 en hoger. Rekenen en schattingen ontdekken. Algebra groep 5 en hoger. Patronen en relaties ontdekken.
Activiteit 4 Kaarten truc Fout opsporen & herstellen Samenvatting Wanneer data worden opgeslagen op een harde schijf of worden verzonden van de ene computer naar de andere, nemen we aan dat de data niet
Nadere informatieModule 3: Scratch programmeren: is het logisch of is het niet logisch?
Module 3: Scratch programmeren: is het logisch of is het niet logisch? Inhoudsopgave Module 3: Scratch programmeren: is het logisch of is het niet logisch?...1 Wat is een computerprogramma eigenlijk?...2
Nadere informatiePriemgetallen. van nutteloos tot staatsgevaarlijk? Wieb Bosma. Nijmeegse Tweedaagse Radboud Universiteit
Priemgetallen van nutteloos tot staatsgevaarlijk? Wieb Bosma Nijmeegse Tweedaagse Radboud Universiteit Nijmegen oktober 2008 Priemgetallen 2 Voorwoord Dit zijn de aantekeningen bij één van de twee onderwerpen
Nadere informatieCryptografie met krommen. Reinier Bröker. Universiteit Leiden
Cryptografie met krommen Reinier Bröker Universiteit Leiden Nationale Wiskundedagen Februari 2006 Cryptografie Cryptografie gaat over geheimschriften en het versleutelen van informatie. Voorbeelden. Klassieke
Nadere informatieOefening 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
Nadere informatieLab Webdesign: Javascript 3 maart 2008
H5: OPERATORS In dit hoofdstuk zullen we het hebben over de operators (of ook wel: operatoren) in JavaScript waarmee allerlei rekenkundige en logische bewerkingen kunnen worden uitgevoerd. Daarbij zullen
Nadere informatieInfo-books. Toegepaste Informatica. Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) AL20. Jos Gils Erik Goossens
Info-books AL20 Toegepaste Informatica Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) Jos Gils Erik Goossens Hoofdstuk 6 Lusstructuren of iteraties 6.1 Probleemstelling Het gebeurt dikwijls
Nadere informatiePraktische opdracht Wiskunde som van de ogen van drie dobbelstenen
Praktische opdracht Wiskunde som van de ogen van drie dobbelstenen Praktische-opdracht door een scholier 918 woorden 17 maart 2002 4,9 60 keer beoordeeld Vak Wiskunde Inleiding Wij hebben gekozen voor
Nadere informatieProgrammeermethoden NA. Week 5: Functies (vervolg)
Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Functies Vorige week bekeken we functies: def
Nadere informatieProjectplan. Joost Besseling Coen Boot Michiel Doorn Jorrit Dorrestijn Rens de Heer Joost Houben
Projectplan Joost Besseling Coen Boot Michiel Doorn Jorrit Dorrestijn Rens de Heer Joost Houben November 2013 1. Inhoud: 1. Inhoud:... 2 2. Inleiding... 3 3. Doel... 3 4. Analyse (Use Cases)... 3 4.1.
Nadere informatieRecursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40
Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N
Nadere informatieStoomcursus. wiskunde A. Rekenregels voor vereenvoudigen. Voorbereidende opgaven VWO ( ) = = ( ) ( ) ( ) = ( ) ( ) = ( ) = = ( )
Voorbereidende opgaven VWO Stoomcursus wiskunde A Tips: Maak de voorbereidende opgaven voorin in een van de A4-schriften die je gaat gebruiken tijdens de cursus. Als een opdracht niet lukt, werk hem dan
Nadere informatieZoek- en sorteeralgoritmen en hashing
Zoek- en sorteeralgoritmen en hashing Femke Berendsen (3689301) en Merel van Schieveen (3510190) 9 april 2013 1 Inhoudsopgave 1 Inleiding 3 2 Zoek- en sorteeralgoritmen 3 2.1 Grote O notatie..........................
Nadere informatieOpgaven Rekenen met Getallen Security, 2018, Werkgroep.
Opgaven Rekenen met 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 opgaven.
Nadere informatieGegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )
OI 2010 Finale 12 Mei 2010 Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub VOORNAAM :....................................................... NAAM :..............................................................
Nadere informatie1 Rekenen met gehele getallen
1 Inhoudsopgave 1 Rekenen met gehele getallen... 1.1 De gehele getallen... 1. Optellen... 1. Opgaven... 1. Aftrekken... 1. Opgaven... 1. Vermenigvuldigen... 1. Opgaven... 1.8 Delen... 9 1.9 Opgaven...9
Nadere informatieHET BESTURINGSSYSTEEM
HET BESTURINGSSYSTEEM Een besturingssysteem (ook wel: bedrijfssysteem, in het Engels operating system of afgekort OS) is een programma (meestal een geheel van samenwerkende programma's) dat na het opstarten
Nadere informatiePriemfactoren. 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...
Nadere informatieOver binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4
Over binaire beslissingsdiagrammen naar Donald E. Knuth s The Art of Computer Programming, Volume 4 Jonathan K. Vis 1 Inleiding (blz. 70 72) In dit essay behandelen we bladzijden 70 75 van Donald E. Knuth
Nadere informatieUniversiteit 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
Nadere informatie