Zoek- en sorteeralgoritmen en hashing

Maat: px
Weergave met pagina beginnen:

Download "Zoek- en sorteeralgoritmen en hashing"

Transcriptie

1 Zoek- en sorteeralgoritmen en hashing Femke Berendsen ( ) en Merel van Schieveen ( ) 9 april

2 Inhoudsopgave 1 Inleiding 3 2 Zoek- en sorteeralgoritmen Grote O notatie Zoekalgoritmen Sorteermethoden Hashfuncties Inleiding Herbruikbaar Onomkeerbaar Vaste Lengte Geen Collisions De output-lengte van MD5 (128 bit) Het Hexadecimaal systeem Het Binaire systeem Collision Het verjaardagsprobleem 9 6 Conclusie 11 7 Opgaven Opgave Opgave Opgave

3 1 Inleiding Het kan voorkomen dat je een enorme lijst met data hebt waarin je één bepaald gegeven zoekt. Dit kan zijn een lijst met namen van mensen, of een bepaald getal. Om zo n gegeven te zoeken zijn talloze mogelijkheden. In de informatica zijn verschillende algoritmen ontwikkeld om dit te doen. In dit verslag zullen we ingaan op deze zoek- en sorteeralgoritmen. Iedereen heeft er mee te maken: steeds meer dingen gebeuren via internet. Waar vroeger nog een brief gestuurd werd, wordt nu een mail verzonden. Zaken waar je vroeger nog voor naar de bank moest, zijn nu allemaal via internet te regelen. Dit is heel handig, maar ook enigszins gevaarlijk. Als er geen goede beveiliging is van deze zaken kan hier flink misbruik van gemaakt worden. Daarom is het noodzakelijk dat vertrouwelijke informatie die via internet verzonden wordt veilig versleuteld is. Ook moet er een goede manier zijn om wachtwoorden op te slaan: als bij een website wordt ingebroken, mag het niet zo zijn dat zomaar alle vertrouwelijke informatie of wachtwoorden zichbaar zijn. Wel moet het zo zijn dat een website kan herkennen of iemand het goede wachtwoord invoert. Hoe zorg je nou dat je met een wachtwoord veilig naar binnen kan, zonder dat het ergens opgeslagen staat? Hier liggen veel wiskundige methoden aan ten grondslag. In dit verslag zullen we uitleggen welke methoden hieraan ten grondslag liggen. 2 Zoek- en sorteeralgoritmen 2.1 Grote O notatie De grote O notatie wordt in de informatica gebruikt om een tijdsindicatie voor een bepaald algoritme te geven. Hierbij wordt uitgegaan van het slechtste geval. Stel dat een algoritme op zijn langst n stappen nodig heeft om tot een oplossing te komen, dan wordt de geschatte tijd voor dat algoritme gegeven door O(n). Bij de volgende algoritmen zullen we ook bekijken wat de tijd is die de algoritmen nodig hebben, en daarbij deze notatie gebruiken. 2.2 Zoekalgoritmen We zullen twee verschillende zoekalgoritmen bekijken, namelijk Lineair zoeken en Binair zoeken. 3

4 Bij Lineair zoeken bekijk je het eerste element in de lijst en bekijk je vervolgens elk volgend element totdat het gezochte element gevonden is. Wanneer de data n elementen bevatten is de benodigde tijd van dit algoritme O(n). Wanneer n heel groot is kan het zoekproces dus heel erg lang duren. Lineair zoeken kan worden gebruikt om een ongesorteerde lijst te doorzoeken. Wanneer een lijst wel gesorteerd is, wordt het zoekproces al een stuk eenvoudiger. Wanneer de lijst gesorteerd is kunnen we Binair zoeken. Bij dit algoritme zijn de data gesorteerd (bijvoorbeeld van klein naar groot, of van A naar Z) en wordt het gezochte gegeven gevonden door halvering van de data. We nemen een gesorteerde rij data en bekijken de middelste waarde. Wanneer deze kleiner is dan de gezochte waarde bekijken we de helft die groter is dan deze waarde, wanneer deze groter is dan de gezochte waarde bekijken we de helft die kleiner is dan deze waarde. Vervolgens voeren we op die helft weer hetzelfde uit. Zo krijg je een proces waarbij je steeds de zoekruimte halveert en uiteindelijk de goede waarde vindt. Omdat je elke keer halveert, is de tijd die het algoritme nodig heeft is maximaal log 2 (n) dus dit algoritme heeft tijd O(log n). 2.3 Sorteermethoden Voordat we binair kunnen zoeken moeten we eerst de rij data nog sorteren. Hiervoor zijn ook twee algoritmen die we zullen behandelen, namelijk Insertion sort en Merge sort. Bij Insertion sort bekijk je de twee eerste elementen en zet je die op volgorde. Vervolgens bekijk je het volgende element in de rij en kijk je waar deze in het gesorteerde rijtje moet, en zo verder met alle elementen. Voor ieder afzonderlijk element moet je het gesorteerde rijtje af om te kijken waar dit element hoort te staan, en dit moet je doen voor alle n elementen. Daarom is de tijd die dit algoritme nodig heeft O(n 2 ). Een ander sorteeralgoritme is Merge sort. Bij dit algoritme verdeel je de rij data in twee rijen, die twee rijen halveer je ook weer, en dit doe je net zo lang totdat je allemaal rijen met één element overhoudt. Vervolgens ga je deze rijen weer twee aan twee samenvoegen. Hiervoor bekijk je uit elk van de twee rijtjes het voorste element, om te bepalen welk element eerst moet. Zo voeg je alle rijen weer samen en krijg je uiteindelijk een gesorteerde rij met 4

5 data. Voor het bepalen welk element eerst moet bekijk je alle elementen, dit is dus O(n), en er moeten log(n) keer rijen samengevoegd worden dus de totale tijd van dit algoritme is O(n log n). 3 Hashfuncties 3.1 Inleiding Het is belangrijk om veilig te kunnen internetten. Er zijn veel hackers actief die op internet zoeken naar wachtwoorden van mensen, zodat ze bijvoorbeeld geld van hun bankrekening af kunnen halen. Daarom is het belangrijk dat er een goede beveiliging is op internet, en een goede manier om wachtwoorden op te slaan. Als een wachtwoord gewoon op internet opgeslagen wordt, is het voor hackers heel makkelijk om er achter te komen wat je wachtwoord is. Verder heeft de aanvaller dan niet alleen de wachtwoorden van alle geregisteerden op deze website, maar misschien ook de wachtwoorden van deze mensen voor andere websites, als mensen hetzelfde wachtwoord voor meerdere websites gebruiken. Daarom is het belangrijk dat een wachtwoord op zo n manier wordt opgeslagen, dat niet makkelijk (of helemaal niet) te achterhalen is wat het wachtwoord oorspronkelijk was. Het wachtwoord moet dus op zo n manier vervormd worden dat na vervorming niet meer te zien is wat het wachtwoord was. Functies die hiervoor gebruikt worden, worden hashfuncties genoemd. Maar aan welke eigenschappen moet zo n hashfunctie eigenlijk voldoen? 3.2 Herbruikbaar Ten eerste willen we dat de hashfunctie voor dezelfde input ook altijd dezelfde output, ook wel hash genoemd, geeft. Het orginele wachtwoord wordt namelijk niet opgeslagen, alleen de hash van het wachtwoord wordt opgeslagen. Dus als hetzelfde wachtwoord niet altijd dezelfde hashes geeft, wordt je wachtwoord niet geaccepteerd, en zul je niet kunnen inloggen. 3.3 Onomkeerbaar Een bekende versleuteling is de Caesarrotatie. Julius Caesar versleutelde zijn berichten door de A te vervangen door de D, de B door de E enzovoort. Deze manier van versleuteling kan weergegeven worden in de volgende formule: E(x) = (x + 3) mod 26 5

6 Hierbij is x de plaats van de letter in het alfabet, en E(x) de plaats in het alfabet van de versleutelde letter. Hierbij staat A op plaats 0 en Z op plaats 25. Dus voor het wachtwoord W ACHT W OORD, zal ZDF KW ZRRUG opgeslagen worden. Om deze manier van versleutelen te ontcijferen is echter niet moeilijk. Daarom wordt deze bekende methode ook niet meer gebruikt. Een andere belangrijke eigenschap van de hashfunctie is dus dat het versleutelde wachtwoord niet terug te rekenen is naar het orginele wachtwoord. 3.4 Vaste Lengte Wat in het voorbeeld over Caesarrotatie ook goed te zien is, is dat de lengte van het versleutelde wachtwoord informatie kan geven over de lengte van het originele wachtwoord. In het voorbeeld is namelijk de lengte van het versleutelde wachtwoord gelijk aan de lengte van het originele wachtwoord. We willen dus dat lengte van de hash (de output van de hashfunctie) geen enige informatie geeft over het originele wachtwoord. We stellen daarom de voorwaarde dat de hash altijd dezelfde lengte heeft, ongeacht de input. 3.5 Geen Collisions De laatste belangrijke eigenschap van een hashfunctie is dat er geen collisions mogen voorkomen. Dit betekent dat er niet dezelfde hash mag uitkomen voor verschillende wachtwoorden. Dit komt later nog uitgebreider aan bod. 4 De output-lengte van MD5 (128 bit) MD5 is een veelgebruikte hashfunctie met een 128 bit hashwaarde. MD5 is ontworpen door Ronald Rivest in 1991 om de voorgaande hashfunctie MD4 te vervangen. MD5 is een 128 bit functie, we zullen uitwerken wat dit precies inhoudt. 4.1 Het Hexadecimaal systeem MD5 gebruikt het hexadecimaal systeem. Het hexadecimaal systeem is een getalstelsel met niet 10 tekens als basis, wat het geval is bij ons normale getalstelsel, maar het heeft een basis van 16 tekens. De cijfers 0 tot en met 9 worden aangevuld met A tot en met F, die ook wel gezien kunnen worden als 10 tot en met 15. 6

7 Voorbeeld 53F 2A9C = = 4.2 Het Binaire systeem 88, 025, 756 De computer werkt echter met het binaire systeem, en niet met het hexadecimaal systeem. Met het binaire systeem, ookwel het tweetallige systeem genoemd, worden getallen weergegeven door een rijtje met alleen de tekens 0 en 1. In dit binaire systeem worden 0 en 1 ook wel bits genoemd. MD5 is een 128-bit hashfunctie, dit betekent dat de hashfunctie een output van 128 nullen of enen genereert. De output die uiteindelijk gegeven wordt, de hash, is echter in het hexadecimaal getalsysteem. De binaire output wordt dus nog omgezet naar een hexadecimaal getal. Nu is de vraag hoe we van het binaire getalstelsel naar het hexadecimaal getalstelsel omrekenen. Het hexadecimaal getalstelsel bestaat uit 0 tot en met 9 en A tot en met F, ofwel 0 tot en met 15. Het grootste getal 15 kun je schrijven als 15 = = ofwel 1111 in het binaire stelsel. Er zijn dus minstens 4 digits nodig om een teken van het hexadecimaal stelsel om te zetten in het binaire stelsel. Hoe de andere tekens van het hexadecimaal stelsel uitgedrukt kunnen worden in het binaire stelsel is weergegeven in de onderstaande tabel. 7

8 Binair Decimaal Hexadecimaal A B C D E F Voorbeeld = = 53F 2A9C Elke teken uit het hexadecimaalstelsel heeft dus 4 digits nodig, ofwel 4 bits. MD5 is een 128-bit hashfunctie en geeft als output dus 128 digits. Als deze 128 digits omgezet worden naar een hexadecimaal getal, zijn er dus = 32 tekens van het hexadecimaal systeem als output. De hash bestaat dus uit 32 tekens. 4.3 Collision Zoals hiervoor aangetoond bestaat een hash uit 32 tekens uit het hexadecimaalstelsel. Voor alle 32 plekken zijn dus 16 mogelijke tekens. Het aantal mogelijke hashes is dus: = 340, 282, 366, 920, 938, 463, 463, 374, 607, 431, 768, 211, 456 De kans dat twee verschillende inputs dezelfde output geeft zou dus bijna onmogelijk zijn. Maar dan moeten wel alle mogelijke hashes gebruikt worden. Een perfecte hashfunctie zou dus zo ontworpen moeten worden dat de 8

9 hashes uniform worden verdeeld over de output-ruimte. We hebben gezien dat er ontzettend veel mogelijke hash-waarden zijn, en dat daarom de kans dat twee verschillende wachtwoorden dezelde hash-waarden geven heel klein is. Wanneer dit toch het geval is, dan worden deze twee wachtwoorden een collision genoemd (letterlijke vertaling: botsing). Toch gebeurd het wel eens dat er sprake is van een collision. Hoe dit komt, zullen we uitleggen aan de hand van het verjaardagsprobleem. 5 Het verjaardagsprobleem Stel je hebt een groep van k mensen, en we gaan bekijken hoe groot de kans is dat twee van die mensen op dezelfde dag jarig zijn. Gegeven de functie f, willen we dus x en y vinden zodat f(x) = f(y) met f een functie die de dag aangeeft dat persoon x jarig is. Het paar (x, y) heet dan een collision. Wanneer er 366 mensen zijn, is de kans dat er twee mensen tegelijk jarig zijn 100%. Wanneer we een groep hebben van k mensen, hebben we ( ) k 2 verschillende combinaties van 2 mensen. De kans dat een persoon op een 1 bepaalde dag jarig is, is 365, we gaan er dus vanuit dat iedere dag evenveel kans heeft. Wat is de kleinste waarde van k, zodanig dat de kans dat ten minste twee mensen in een groep van k mensen op dezelfde dag jarig zijn, groter is dan 0, 5? We definieren P (n, k) = P [minstens één duplikaat per k items, waarbij elk item een waarde tussen 1 en n aan kan nemen die allen even waarschijnlijk zijn]. We zoeken dus naar de kleinste waarde van k zodat P (365, k) > 0, 5. De kans dat er geen duplikaten zijn definieren we als Q(365, k). Als k > 365 dan is het onmogelijk dat alle waarden verschillen. Daarom nemen we aan dat k 365. We beschouwen nu het aantal verschillende manieren N dat we k waarden zonder duplicaten kunnen hebben. We zien dat N = (365 k + 1) = 365! (365 k)!. Als we stellen dat er wel duplikaten mogen zijn dan is het aantal totale mogelijkheden 365 k. De kans dat er geen duplicaten zijn is dus Aantal manieren zonder duplicaten Q(365, k) = Totaal aantal manieren = N = 365!/(365 k)! 365! = 365 k 365 k (365 k)!365 k en P (365, k) = 1 Q(365, k) = 1 365! (365 k)!365 k. Voor k = 23 geldt dat P (365, 23) = Er zijn dus maar 23 mensen nodig om een kans van 0.5 te hebben dat twee mensen op dezelfde dag jarig zijn. Als k = 41 is deze kans al meer dan 0.9. We zien dus dat de kans op 9

10 twee mensen op dezelfde dag jarig al heel snel heel erg groot wordt, terwijl de groep mensen dan niet eens heel erg groot is. We kunnen het verjaardagsprobleem generaliseren tot het volgende probleem: gegeven een random variabele die een gehele waarde aanneemt tussen 1 en n, en k waarden (met k n) van de random variabele. Wat is de kans P (n, k) dat er minstens één duplikaat is? Het verjaardagsprobleem is een speciaal geval, met n = 365. Net als hiervoor hebben we weer n! P (n, k) = 1. We kunnen dit herschrijven als (n k)!n k P (n, k) = 1 n (n 1) (n k+1) n k = 1 ( n n n 1 n n (k 1) n ) = 1 (1 1 n ) (1 2 k 1 n )... (1 n ) Met de ongelijkheid (1 x) e x krijgen we dan: P (n, k) = 1 (1 1 n ) (1 2 k 1 n )... (1 n ) 1 e 1 n e 2 n... e k 1 n = 1 e ( 1 n + 1 k n n ) = 1 e k(k 1)/2n We willen nu weten voor welke k geldt dat P (n, k) > 0.5. Hiervoor lossen we de gelijkheid P (n, k) = 1 2 op. Dan geldt 1 2 = 1 e k(k 1)/2n 2 = e k(k 1)/2n ln(2) = k (k 1) 2n Voor grote k kunnen we k (k 1) vervangen door k 2 en krijgen we k = 2n ln 2 = 1, 18 n n. We kunnen dit controleren door ons verjaardagsprobleem weer in te voeren, als we n = 365 nemen krijgen we k = 1, = 22, 54, wat heel erg dicht bij 23 ligt. De verjaardagsaanval kunnen we nu ook toepassen op hashfuncties. We bekijken in het bijzonder weer MD5, dit is een 128 bit hashfunctie. Deze functie heeft dan mogelijke uitvoerwaarden. Als MD5 wordt toegepast op k willekeurige invoerwaarden, kunnen we bekijken wat k minimaal moet zijn om te zorgen dat er een kans van minstens één duplicaat bestaat. Met de benadering van hierboven vinden we dan dat k = = 2 128/2 = Je zou in eerste instantie denken dat een hashfunctie heel veilig is. Met 10

11 een bericht M heb je hash H(M), je moet dus een M zoeken waarvoor geldt H(M) = H(M ). Er zijn ontzettend veel hashwaarden, maar zoals we hierboven gezien hebben hoef je dus maar 2 64 waarden in te voeren om een redelijke kans op een collision te hebben. Gegeven een bepaalde hashwaarde, is het dus mogelijk om een wachtwoord te vinden met dezelfde hashwaarde. Hier kan dan misbruik van gemaakt worden. Oorschot en Wiener ontworpen in 1994 een 10 miljoen dollar kostende botsing-zoekmachine voor MD5. Deze machine was in staat om in 24 dagen een collision te vinden. Hierdoor was MD5 niet meer zo veilig als eerst gedacht. Er worden nog steeds nieuwe hashfuncties ontwikkeld om hackers voor te blijven. 6 Conclusie De beveiliging van wachtwoorden is tot op heden nog steeds in volle ontwikkeling. Hashfuncties worden steeds beter maar hackers slagen er toch steeds weer in om misbruik te maken van de imperfecties van deze functies. Door betere computers wordt de rekentijd ook steeds korter en is het voor hackers makkelijker om achter wachtwoorden te komen. Het is daarom belangrijk om voorzichtig te zijn op internet! 11

12 7 Opgaven 7.1 Opgave 1 Gegeven de volgende rij met getallen: 65, 81, 66, 74, 44, 79, 91, 59. Bekijk met welke zoekmethode je het snelst het getal 91 vind. Hoeveel stappen kost dit? Vergelijk de methoden lineair zoeken, en binair zoeken (waarbij je beide sorteermethoden insert sort en merge sort gebruikt). Leg precies uit hoeveel stappen deze methoden in dit geval kosten. Wat kun je voor conclusie(s) trekken? 7.2 Opgave 2 Gegeven is de volgende hash: 293C4E8F0A. Wat is de oorspronkelijke binaire hashcode? En wat is de waarde in ons tientallig stelsel? Geef je berekeningen. 7.3 Opgave 3 Brute krachtaanval: Bij een brute krachtaanval probeert een hacker alle mogelijke wachtwoorden om achter het goede wachtwoord te komen. Neem aan dat een wachtwoord lengte 6 heeft en dat zowel kleine letters, hoofdletters en cijfers gebruikt mogen worden. Hoe lang doe je er gemiddeld over met de brute krachtaanval om het wachtwoord te kraken, er vanuit gaande dat er geen collisions zijn, als: a) het 0.1 seconde duurt om een wachtwoord te testen? b) het 10 6 seconde duurt om een wachtwoord te testen? c) Wat gebeurt er als de wachtwoorden lengte 10 hebben? Vergelijk je antwoord met a) en b). 12

13 Referenties [1] Bruce Schneier, 1996, Applied Cryptography; Protocols, Algorithms, and Source Code in C, John Wiley & Sons, Inc. [2] William Stallings, 1999, Netwerkbeveiliging en cryptografie; Beginselen en praktijk, Academic Service, Schoonhoven. [3] Gerard Tel, 2002, Cryptografie; Beveiliging van de digitale maatschappij, Pearson Education Benelux. [4] Steve Friedl, 2005, An Illustrated Guide to Cryptographic Hashes, 13

De cryptografie achter Bitcoin

De cryptografie achter Bitcoin De cryptografie achter Bitcoin Benne de Weger b.m.m.d.weger@tue.nl augustus 2018 digitale handtekeningen 1 doel: authenticatie sterke verbinding aanleggen tussen een document en een identiteit wordt doorgaans

Nadere informatie

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

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

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking 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 informatie

Rekenen: Meten groep 4 en hoger. Het leren van simpele weegopdrachten.

Rekenen: Meten groep 4 en hoger. Het leren van simpele weegopdrachten. Activiteit 7 Lichtste en zwaarste Sorteer algoritmes Samenvatting Computers worden vaak gebruikt om lijsten in een bepaalde volgorde te zetten, bijvoorbeeld namen in alfabetische volgorde, e-mails of afspraken

Nadere informatie

Hexadecimale en binaire getallen

Hexadecimale en binaire getallen Bijlage G Hexadecimale en binaire getallen Binaire en andere talstelsels De getallen waar wij gewoonlijk mee werken zijn genoteerd volgens het decimale stelsel. Het decimale stelsel is een zogenoemd positiestelsel.

Nadere informatie

+ = Talstelsels. Maar wat is dan: -

+ = Talstelsels. Maar wat is dan: - Talstelsels Wie leert rekenen doet dat in het begin vaak met z n vingers erbij: 1 + 4 = Elke vinger krijgt een naam : één, twee,.tien. Eigenlijk is er helemaal geen sprake van rekenen, maar van tellen:

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 2 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Priority queue Priority queue ADT insert(q, x): voeg element x toe aan de queue maximum(q):

Nadere informatie

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Opdracht 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 informatie

Fig. 2. Fig. 1 5 4,5 4 3,5 3 2,5 2 1,5 U (V) 0,5. -20 0 20 40 60 80 100 temperatuur ( C)

Fig. 2. Fig. 1 5 4,5 4 3,5 3 2,5 2 1,5 U (V) 0,5. -20 0 20 40 60 80 100 temperatuur ( C) Deze opgaven en uitwerkingen vind je op https://www.itslearning.com en op www.agtijmensen.nl Wat je moet weten en kunnen gebruiken: Zie het boekje Systeembord.. Eigenschappen van de invoer-elementen (sensor,

Nadere informatie

Elke groep van 3 leerlingen heeft een 9 setje speelkaarten nodig: 2 t/m 10, bijvoorbeeld alle schoppen, of alle harten kaarten.

Elke groep van 3 leerlingen heeft een 9 setje speelkaarten nodig: 2 t/m 10, bijvoorbeeld alle schoppen, of alle harten kaarten. Versie 16 januari 2017 Sorteren unplugged Sorteren gebeurt heel veel. De namen van alle leerlingen in de klas staan vaak op alfabetische volgorde. De wedstrijden van een volleybal team staan op volgorde

Nadere informatie

Geldwisselprobleem van Frobenius

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

Nadere informatie

4,7. Praktische-opdracht door een scholier 1959 woorden 1 juni keer beoordeeld

4,7. Praktische-opdracht door een scholier 1959 woorden 1 juni keer beoordeeld Praktische-opdracht door een scholier 1959 woorden 1 juni 2001 4,7 331 keer beoordeeld Vak Wiskunde Tientallig stelsel In een tientallig stelsel heb je de getallen 0 t/m 9 tot je beschikking. Zoals je

Nadere informatie

Hoe je het cryptosysteem RSA soms kunt kraken. Benne de Weger

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

Nadere informatie

THEORIE TALSTELSELS. 1 x 10 0 = 1 (een getal tot de macht 0 = 1) 8 x 10 1 = 80 2 x 10 2 = x 10 3 = Opgeteld: 9281d(ecimaal)

THEORIE TALSTELSELS. 1 x 10 0 = 1 (een getal tot de macht 0 = 1) 8 x 10 1 = 80 2 x 10 2 = x 10 3 = Opgeteld: 9281d(ecimaal) THEORIE TALSTELSELS De binaire code Het geheugenelement van de computer kan slechts twee verschillende waarden bevatten. De schakelingen uit de computer werken daarom met een tweetallig ofwel binair stelsel.

Nadere informatie

Ieder tweetal heeft nodig: Een kopie van de slagschipspelletjes: 1. 1A, 1B voor spel A, 2B voor spel A, 3B voor spel 3

Ieder tweetal heeft nodig: Een kopie van de slagschipspelletjes: 1. 1A, 1B voor spel A, 2B voor spel A, 3B voor spel 3 Activiteit 6 Slagschepen Zoekalgoritme Samenvatting Computers zijn vaak nodig om informatie te vinden in grote hoeveelheden data. Ze moeten een snelle en efficiënte manier ontwikkelen om dit te doen. Deze

Nadere informatie

Activiteit 1. Tel de punten Binaire Getallen. Samenvatting. Kerndoelen. Vaardigheden. Leeftijd. Materiaal

Activiteit 1. Tel de punten Binaire Getallen. Samenvatting. Kerndoelen. Vaardigheden. Leeftijd. Materiaal Activiteit 1 Tel de punten Binaire Getallen Samenvatting Data in de computer worden opgeslagen als een serie van nullen en enen. Hoe kunnen we woorden en getallen weergeven met alleen deze twee symbolen?

Nadere informatie

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Opdracht 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 informatie

Code signing. Door: Tom Tervoort

Code signing. Door: Tom Tervoort Code signing Door: Tom Tervoort Wat is code signing? Digitale handtekening onder stuk software Geeft garanties over bron Voorkomt modificatie door derden Bijvoorbeeld met doel malware toe te voegen Ontvanger

Nadere informatie

De wiskunde achter de Bitcoin

De 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 informatie

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

Combinatorische 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 informatie

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

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

Nadere informatie

2 Elementaire bewerkingen

2 Elementaire bewerkingen Hoofdstuk 2 Elementaire bewerkingen 19 2 Elementaire bewerkingen 1 BINAIRE GETALLEN In het vorige hoofdstuk heb je gezien dat rijen bits worden gebruikt om lettertekens, getallen, kleuren, geluid en video

Nadere informatie

8. Complexiteit van algoritmen:

8. Complexiteit van algoritmen: 8. Complexiteit van algoritmen: Voorbeeld: Een gevaarlijk spel 1 Spelboom voor het wespenspel 2 8.1 Complexiteit 4 8.2 NP-problemen 6 8.3 De oplossing 7 8.4 Een vuistregel 8 In dit hoofdstuk wordt het

Nadere informatie

Binaire getallen? Werkboek. Doeblad

Binaire getallen? Werkboek. Doeblad Een computer is een soort grote rekenmachine. Hij bestaat uit een aantal onderdelen. Een belangrijk onderdeel is de harde schijf. Dit is het geheugen van de computer. Die bewaart alle informatie en documenten.

Nadere informatie

Hoofdstuk 9. Hashing

Hoofdstuk 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 informatie

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Recursion. 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 informatie

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.

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

Nadere informatie

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

Uitgebreide 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 informatie

Datastructuren en Algoritmen

Datastructuren en Algoritmen Datastructuren en Algoritmen Tentamen Vrijdag 6 november 2015 13.30-16.30 Toelichting Bij dit tentamen mag je gebruik maken van een spiekbriefje van maximaal 2 kantjes. Verder mogen er geen hulpmiddelen

Nadere informatie

Wouter Geraedts Processen & Processoren

Wouter Geraedts Processen & Processoren FACULTEIT DER NATUURWETENSCHAPPEN, WISKUNDE EN INFORMATICA Wouter Geraedts Overzicht Welkom op het werkcollege van Processen & Processoren! Gang van zaken Behandelen oefenopgaven w.geraedts@student.ru.nl

Nadere informatie

Zevende college Algoritmiek. 6 april Verdeel en Heers

Zevende college Algoritmiek. 6 april Verdeel en Heers Zevende college Algoritmiek 6 april 2018 Verdeel en Heers 1 Algoritmiek 2018/Backtracking Programmeeropdracht 2 Puzzel 2: D O N A L D G E R A L D + R O B E R T Elke letter stelt een cijfer voor (0,1,...,9)

Nadere informatie

RSA. F.A. Grootjen. 8 maart 2002

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

Nadere informatie

TRAINING HOUT WERKBLAD BINAIRE OMREKENMACHINE

TRAINING HOUT WERKBLAD BINAIRE OMREKENMACHINE 1 MENS & NATUUR TRAINING HOUT WERKBLAD BINAIRE OMREKENMACHINE De vader van Mieke en Toby werkt al 30 jaar bij hetzelfde bedrijf. Als dank krijgt de vader van Mieke en Toby van zijn baas een heel bijzonder

Nadere informatie

informatica. cryptografie. overzicht. hoe & wat methodes belang & toepassingen moderne cryptografie

informatica. cryptografie. overzicht. hoe & wat methodes belang & toepassingen moderne cryptografie informatica cryptografie overzicht hoe & wat methodes belang & toepassingen moderne cryptografie 1 SE is op papier hoe & wat vragen komen uit methode en verwijzingen die in de methode staan in mappen RSA

Nadere informatie

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j FLIPIT JAAP TOP Een netwerk bestaat uit een eindig aantal punten, waarbij voor elk tweetal ervan gegeven is of er wel of niet een verbinding is tussen deze twee. De punten waarmee een gegeven punt van

Nadere informatie

Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking

Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking 10 december 2013, 09:30 12:30 Dit tentamen bevat 5 opgaven; zie ook de ommezijde. Alle opgaven tellen even zwaar (10 punten); je cijfer is

Nadere informatie

Programmeermethoden NA. Week 6: Lijsten

Programmeermethoden NA. Week 6: Lijsten Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Getal opbouwen Stel je leest losse karakters (waaronder cijfers) en je moet daar een getal

Nadere informatie

Les A-03 Binaire en hexadecimale getallen

Les A-03 Binaire en hexadecimale getallen Les A-03 Binaire en hexadecimale getallen In deze les wordt behandeld hoe getallen kunnen worden voorgesteld door informatie die bestaat uit reeksen 0-en en 1-en. We noemen deze informatie digitale informatie.

Nadere informatie

Opgaven Hash Tabellen Datastructuren, 15 juni 2018, Werkgroep.

Opgaven Hash Tabellen Datastructuren, 15 juni 2018, Werkgroep. Opgaven Hash Tabellen Datastructuren, 15 juni 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 informatie

Kleuren met getallen Afbeeldingen weergeven

Kleuren met getallen Afbeeldingen weergeven Activiteit 2 Kleuren met getallen Afbeeldingen weergeven Samenvatting Computers slaan tekeningen, foto s en andere afbeeldingen op door het gebruik van getallen. De volgende opdracht laat zien hoe. Kerndoelen

Nadere informatie

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4:

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4: Katern 4 Bewijsmethoden Inhoudsopgave 1 Bewijs uit het ongerijmde 1 2 Extremenprincipe 4 3 Ladenprincipe 8 1 Bewijs uit het ongerijmde In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel

Nadere informatie

3. Structuren in de taal

3. 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 informatie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk

Nadere informatie

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2.

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2. opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): ℵ 0 #A, B = {b 0,..., b n 1 } voor een zeker natuurlijk getal

Nadere informatie

Fout detecterende en verbeterende codes

Fout detecterende en verbeterende codes Profielwerkstuk Fout detecterende en verbeterende codes Een compacte module over het onderwerp fouten detectie en verbetering Gemaakt door Roy van Schaijk, Boris Kloeg en Willy Mackus Inhoudsopgave. Introductie

Nadere informatie

talstelsels F. Vonk versie 1 30-7-2013

talstelsels F. Vonk versie 1 30-7-2013 2013 talstelsels F. Vonk versie 1 30-7-2013 inhoudsopgave 1. inleiding... - 2-2. binair... - 4-3. hexadecimaal... - 10-4. octaal (vwo)... - 17-5. bonus opgaves... - 20-6. wat heb je geleerd... - 21 - Dit

Nadere informatie

De digitale handtekening

De digitale handtekening De digitale handtekening De rol van de digitale handtekening bij de archivering van elektronische documenten Prof. dr. Jos Dumortier http://www.law.kuleuven.ac.be/icri Probleemstelling: «integriteit» Elektronisch

Nadere informatie

Deel A. Breuken vergelijken

Deel A. Breuken vergelijken Deel A Breuken vergelijken - - 0 Breuken en brokken (). Kleur van elke figuur deel. Doe het zo nauwkeurig mogelijk.. Kleur van elke figuur deel. Doe het telkens anders.. Kleur steeds het deel dat is aangegeven.

Nadere informatie

Tweede college complexiteit. 12 februari Wiskundige achtergrond

Tweede college complexiteit. 12 februari Wiskundige achtergrond College 2 Tweede college complexiteit 12 februari 2019 Wiskundige achtergrond 1 Agenda vanmiddag Floor, Ceiling Rekenregels logaritmen Tellen Formele definitie O, Ω, Θ met voorbeelden Stellingen over faculteiten

Nadere informatie

WISKUNDE B -DAG 2002 1+ 1 = 2. maar en hoe nu verder? 29 november 2002

WISKUNDE B -DAG 2002 1+ 1 = 2. maar en hoe nu verder? 29 november 2002 - 0 - WISKUNDE B -DAG 2002 1+ 1 = 2 maar en hoe nu verder? 29 november 2002 De Wiskunde B-dag wordt gesponsord door Texas Instruments - 1 - Inleiding Snel machtverheffen Stel je voor dat je 7 25 moet uitrekenen.

Nadere informatie

Zevende college algoritmiek. 23/24 maart Verdeel en Heers

Zevende college algoritmiek. 23/24 maart Verdeel en Heers Zevende college algoritmiek 23/24 maart 2017 Verdeel en Heers 1 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht 0 1 2 3 0 1 2 3 4 1 2 3 4 5 2 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht

Nadere informatie

5. Geavanceerde formules

5. Geavanceerde formules 151 5. Geavanceerde formules Excel is in eerste instantie een programma om berekeningen in te maken. Het doet dat uiterst efficiënt met, afhankelijk van de geheugencapaciteit van de computer, een enorm

Nadere informatie

Opgave 1b: Toon ook aan dat meer algemeen geldt: Als het lukt met n = a munten in w keer wegen, dan lukt het voor a < n 2a in w + 1 keer wegen.

Opgave 1b: Toon ook aan dat meer algemeen geldt: Als het lukt met n = a munten in w keer wegen, dan lukt het voor a < n 2a in w + 1 keer wegen. Uitwerking Puzzel 92-7 Allemaal gelijk? Wobien Doyer Lieke de Rooij Er zijn veel puzzels over het opsporen van één valse munt tussen een aantal goede munten met hulp van een balans. Bij deze puzzel is

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 11 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Heaps en heapsort Heap 1 2 3 4 5 6 7 8 9 10 16 14 10 8 7 9 3 2 4 1 16 14 10 8 7 9 3

Nadere informatie

1) Bereken met behulp van bovenstaande gegevens de waarde van a in één decimaal nauwkeurig.

1) Bereken met behulp van bovenstaande gegevens de waarde van a in één decimaal nauwkeurig. Bonustoets hv wiskunde A hoofdstuk 3 De huisarts. (3+5+5) Huisartsen nemen een centrale positie in binnen de gezondheidszorg. De huisarts is namelijk het eerste aanspreekpunt voor mensen met vragen over

Nadere informatie

Taak 2.1.3 Versleutelen en dan weer terug... 1

Taak 2.1.3 Versleutelen en dan weer terug... 1 Taak 2.1.3 Versleutelen en dan weer terug Inhoud Taak 2.1.3 Versleutelen en dan weer terug... 1 Inhoud... 1 Inleiding... 2 Encryptie en Decryptie... 3 Symmetrisch... 3 Asymmetrisch... 3 Waarom Encryptie

Nadere informatie

Variabelen en statements in ActionScript

Variabelen en statements in ActionScript Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer

Nadere informatie

Examen HAVO. Wiskunde A1,2

Examen HAVO. Wiskunde A1,2 Wiskunde A1,2 Examen HAVO Hoger Algemeen Voortgezet Onderwijs Tijdvak 1 Donderdag 25 mei 13.30 16.30 uur 20 00 Dit examen bestaat uit 19 vragen. Voor elk vraagnummer is aangegeven hoeveel punten met een

Nadere informatie

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46

Datastructuren. Analyse van algoritmen. José Lagerberg. FNWI, UvA. José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren Analyse van algoritmen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren 1 / 46 Datastructuren en Algoritmen Datastructuren, 6 ECTS eerstejaars Bachelor INF Datastructuren,

Nadere informatie

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen dat er zowel typografische als inhoudelijke onvolkomenheden

Nadere informatie

1 Complexiteit. of benadering en snel

1 Complexiteit. of benadering en snel 1 Complexiteit Het college van vandaag gaat over complexiteit van algoritmes. In het boek hoort hier hoofdstuk 8.1-8.5 bij. Bij complexiteitstheorie is de belangrijkste kernvraag: Hoe goed is een algoritme?

Nadere informatie

Zevende college algoritmiek. 24 maart Verdeel en Heers

Zevende college algoritmiek. 24 maart Verdeel en Heers Zevende college algoritmiek 24 maart 2016 Verdeel en Heers 1 Verdeel en heers 1 Divide and Conquer 1. Verdeel een instantie van het probleem in twee (of meer) kleinere instanties 2. Los de kleinere instanties

Nadere informatie

Cryptografische beveiliging op het Internet

Cryptografische beveiliging op het Internet Cryptografische beveiliging op het Internet Benne de Weger b.m.m.d.weger@tue.nl augustus 2018 hybride cryptografie 1 klare symmetrische versleuteling geheimschrift versturen geheimschrift symmetrische

Nadere informatie

Examen Algoritmen en Datastructuren III

Examen Algoritmen en Datastructuren III Derde bachelor Informatica Academiejaar 2008 2009, eerste zittijd Examen Algoritmen en Datastructuren III Naam :.............................................................................. Stellingen

Nadere informatie

Concept. Inleiding. Advies. Agendapunt: 04 Bijlagen: - College Standaardisatie

Concept. 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 informatie

Derde college complexiteit. 7 februari Zoeken

Derde college complexiteit. 7 februari Zoeken College 3 Derde college complexiteit 7 februari 2017 Recurrente Betrekkingen Zoeken 1 Recurrente betrekkingen -1- Rij van Fibonacci: 0,1,1,2,3,5,8,13,21,... Vanaf het derde element: som van de voorgaande

Nadere informatie

5 Afronden en afkappen

5 Afronden en afkappen WIS5 1 5 Afronden en afkappen 5.1 Floor en ceiling Floor en ceiling Conversiefuncties van reële getallen naar gehele getallen. x = het grootste gehele getal et x x = het kleinste gehele getal et x Uitspraak:

Nadere informatie

Examen VWO. wiskunde A1,2 Compex. Vragen 11 tot en met 17. In dit deel van het examen staan de vragen waarbij de computer wel wordt gebruikt.

Examen VWO. wiskunde A1,2 Compex. Vragen 11 tot en met 17. In dit deel van het examen staan de vragen waarbij de computer wel wordt gebruikt. Examen VWO 2008 tijdvak 1 maandag 19 mei totale examentijd 3 uur wiskunde A1,2 Compex Vragen 11 tot en met 17 In dit deel van het examen staan de vragen waarbij de computer wel wordt gebruikt. Bij dit

Nadere informatie

Gaap, ja, nog een keer. In één variabele hebben we deze formule nu al een paar keer gezien:

Gaap, ja, nog een keer. In één variabele hebben we deze formule nu al een paar keer gezien: Van de opgaven met een letter en dus zonder nummer staat het antwoord achterin. De vragen met een nummer behoren tot het huiswerk. Spieken achterin helpt je niets in het beter snappen... 1 Stelling van

Nadere informatie

Informatica: C# WPO 9

Informatica: C# WPO 9 Informatica: C# WPO 9 1. Inhoud Functies (functies met return-waarde) 2. Oefeningen Demo 1: Som Demo 2: Min en max of array Demo 3: Retourneer array van randomwaarden A: Absolute waarde A: Afstand A: Aantrekkingskracht

Nadere informatie

Tijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid.

Tijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid. Complexiteit of efficiëntie van algoritmen Hoe meet je deze? Tijd is geen goede maatstaf, want is afhankelijk van computer waarop algoritme wordt gedraaid. Een betere maatstaf is het aantal berekeningsstappen

Nadere informatie

Security. Eerste tentamen

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

Nadere informatie

Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig.

Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig. 6 Totaalbeeld Samenvatten Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig. Begrippenlijst: 21: complex getal reëel deel

Nadere informatie

Combinatoriek groep 1 & 2: Recursie

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

Nadere informatie

Datastructuren Uitwerking jan

Datastructuren Uitwerking jan Datastructuren Uitwerking jan 2015 1 1a. Een abstracte datastructuur is een beschrijving van een datastructuur, met de specificatie van wat er opgeslagen wordt (de data en hun structuur) en welke operaties

Nadere informatie

EXAMEN INFORMATIETHEORIE I (5JJ40 / 5K020) 25 maart 2004, 9u00 12u00-1 -

EXAMEN INFORMATIETHEORIE I (5JJ40 / 5K020) 25 maart 2004, 9u00 12u00-1 - EXAMEN INFORMATIETHEORIE I (5JJ40 / 5K020) 25 maart 2004, 9u00 12u00-1 - Zet de antwoorden in de daarvoor bestemde vakjes en lever alleen deze bladen in! LET OP: Dit werk bevat zowel de opgaven voor het

Nadere informatie

Uitleg. 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. 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 informatie

Examen Datastructuren en Algoritmen II

Examen Datastructuren en Algoritmen II Tweede bachelor Informatica Academiejaar 2012 2013, tweede zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele

Nadere informatie

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

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

Nadere informatie

4. Exponentiële vergelijkingen

4. Exponentiële vergelijkingen 4. Exponentiële vergelijkingen De gelijkheid 10 3 = 1000 bevat drie getallen: 10, 3 en 1000. Als we van die drie getallen er één niet weten moeten we hem kunnen berekenen. We kunnen dus drie gevallen onderscheiden:

Nadere informatie

Examencursus. wiskunde A. Rekenregels voor vereenvoudigen. Voorbereidende opgaven VWO kan niet korter

Examencursus. wiskunde A. Rekenregels voor vereenvoudigen. Voorbereidende opgaven VWO kan niet korter Voorbereidende opgaven VWO Examencursus 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 informatie

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? 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 informatie

Rekenen: Getallen groep 5 en hoger. Rekenen en schattingen ontdekken. Algebra groep 5 en hoger. Patronen en relaties ontdekken.

Rekenen: 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 informatie

OPDRACHTKAART. Thema: Multimedia/IT. Audio 4. Digitaliseren MM-02-10-01

OPDRACHTKAART. Thema: Multimedia/IT. Audio 4. Digitaliseren MM-02-10-01 OPDRACHTKAART MM-02-10-01 Digitaliseren Voorkennis: Je hebt Multimedia-opdrachten 1 tot en met 3 en audio-opdracht 1 t/m 3 (MM-02-03 t/m MM-02-09) afgerond. Intro: Geluid dat wij horen is een analoog signaal.

Nadere informatie

Voorbeeld casus mondeling college-examen

Voorbeeld casus mondeling college-examen Voorbeeld casus mondeling college-examen Examenvak en niveau informatica havo Naam kandidaat Examennummer Examencommissie Datum Voorbereidingstijd Titel voorbereidingsopdracht 20 minuten van analoog naar

Nadere informatie

Project 4 - Centrale Bank. Rick van Vonderen TI1C

Project 4 - Centrale Bank. Rick van Vonderen TI1C Project 4 - Centrale Bank Rick van Vonderen 0945444 TI1C 23 mei 2018 Inhoudsopgave 1 Inleiding 2 2 Beheren 3 2.1 Git...................................................... 3 2.2 Risicolog...................................................

Nadere informatie

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. week 11: november kosterswa/pm/ Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

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 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 informatie

Public Key Cryptography. Wieb Bosma

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

Nadere informatie

ALGORITMIEK. Keuzemodule Wiskunde B/D. Mark de Berg TU Eindhoven

ALGORITMIEK. Keuzemodule Wiskunde B/D. Mark de Berg TU Eindhoven ALGORITMIEK Keuzemodule Wiskunde B/D Mark de Berg TU Eindhoven Voorwoord Algoritmiek is het gebied binnen de informatica dat zich bezig houdt met het ontwerpen en analyseren van algoritmen en datastructuren.

Nadere informatie

Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort

Zevende college complexiteit. 17 maart Ondergrens sorteren, Quicksort College 7 Zevende college complexiteit 17 maart 2008 Ondergrens sorteren, Quicksort 1 Sorteren We bekijken sorteeralgoritmen gebaseerd op het doen van vergelijkingen van de vorm A[i] < A[j]. Aannames:

Nadere informatie

1 Binaire plaatjes en Japanse puzzels

1 Binaire plaatjes en Japanse puzzels Samenvatting Deze samenvatting is voor iedereen die graag wil weten waar mijn proefschrift over gaat, maar de wiskundige notatie in de andere hoofdstukken wat te veel van het goede vindt. Ga er even voor

Nadere informatie

opgaven formele structuren deterministische eindige automaten

opgaven formele structuren deterministische eindige automaten opgaven formele structuren deterministische eindige automaten Opgave. De taal L over het alfabet {a, b} bestaat uit alle strings die beginnen met aa en eindigen met ab. Geef een reguliere expressie voor

Nadere informatie

Onafhankelijke 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 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 informatie

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017 Uitgebreide uitwerking Tentamen Complexiteit, juni 017 Opgave 1. a. Een pad van de wortel naar een blad stelt de serie achtereenvolgende arrayvergelijkingen voor die het algoritme doet op zekere invoer.

Nadere informatie

5,7. Samenvatting door een scholier 903 woorden 28 september keer beoordeeld. Informatica. Samenvatting Informatica Hoofdstuk 2

5,7. Samenvatting door een scholier 903 woorden 28 september keer beoordeeld. Informatica. Samenvatting Informatica Hoofdstuk 2 Samenvatting door een scholier 903 woorden 28 september 2006 5,7 24 keer beoordeeld Vak Informatica Samenvatting Informatica Hoofdstuk 2 2.1 Teken en betekenis Uit welke 2 delen bestaat informatie? Betekenis

Nadere informatie

Uitwerkingen Sum of Us

Uitwerkingen Sum of Us Instant Insanity Uitwerkingen Sum of Us Opgave A: - Opgave B: Voor elk van de vier kubussen kun je een graaf maken die correspondeert met de desbetreffende kubus. Elk van deze grafen bevat drie lijnen.

Nadere informatie

1 Rekenen in eindige precisie

1 Rekenen in eindige precisie Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen

Nadere informatie

De Hamming-code. de wiskunde van het fouten verbeteren in digitale gegevens. Benne de Weger Faculteit Wiskunde en Informatica, TU/e 1/21

De Hamming-code. de wiskunde van het fouten verbeteren in digitale gegevens. Benne de Weger Faculteit Wiskunde en Informatica, TU/e 1/21 De Hamming-code de wiskunde van het fouten verbeteren in digitale gegevens Benne de Weger Faculteit Wiskunde en Informatica, TU/e 1/21 Waar gaat coderen over? Digitale opslag van gegevens gebeurt in bits

Nadere informatie

Random-Getallen. Tristan Demont en Mark van der Boor en

Random-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 informatie