Download de presentatie
GepubliceerdFrank Sasbrink Laatst gewijzigd meer dan 10 jaar geleden
1
Zoek- en sorteeralgoritmen & Hashing
Merel van Schieveen en Femke Berendsen
2
Inhoud Zoek- en sorteeralgoritmen Hashfuncties Wat zijn hashfuncties?
Eigenschappen MD5 Verjaardagsprobleem
3
Zoekalgoritmen Lineair zoeken Binair zoeken Data niet gesorteerd
Alle data langslopen O(n) Binair zoeken Data gesorteerd Zoekruimte halveren O(log n)
4
Sorteeralgoritmen Insertion sort Merge sort
Ieder element afzonderlijk in rij plaatsen O(n²) Merge sort Halveren van rijtjes en deze later weer samenvoegen O(n log n)
5
Hashing
6
Herbruikbaar
7
Onomkeerbaar Caesar-rotatie
8
Lengte
9
Geen Collisions
10
Voorwaarden Hash functie
Herbruikbaar; als x = y, dan H(x) = H(y) Onomkeerbaar; Alle hashes dezelfde lengte; Geen collisions; als H(x) = H(y), dan x = y
11
MD5 (128 bit) hexadecimaal talstelsel
12
MD5 (128 bit) van hexadecimaal naar binair talstelsel
13
MD5 (128 bit) MD5 heeft dus een output van: 128 𝑏𝑖𝑡 4 =32 tekens uit het hexadecimaal stelsel
14
Collisions?
15
Het verjaardagsprobleem
Een groep mensen, hoe groot is de kans dat twee mensen op dezelfde dag jarig zijn? P(n,k)=P(minstens één duplicaat per k items, die elk een gehele waarde tussen 1 en n kunnen aannemen) Q(n,k) = P(geen duplicaten) = 1 – P(n,k) N = het aantal verschillende manieren dat we k waarden kunnen hebben zonder duplicaten
16
Het verjaardagsprobleem
We willen k zodat P(365,k) > 0,5 Hierbij is k ≤ 365 N = 365 x 364 x ... x (365 – k + 1) = 365! 365−𝑘 ! Q(365,k) = N / 365k
17
Het verjaardagsprobleem
Q(365,k) = 365! 365−𝑘 ! 365 𝑘 P(365,k) = 1 – Q(365,k) = 1 – 365! 365−𝑘 ! 365 𝑘 Als k = 23 dan is P(365,23) = 0,5073.
18
Algemener probleem P(n,k) = 1 – 𝑛! 𝑛−𝑘 ! 𝑛 𝑘
> 1 – 𝑒 −𝑘(𝑘−1)/2𝑛 Als P(n,k) > 0,5 dan moet k≈ 𝑛 Bij het verjaardagsprobleem: n = 365 geeft 𝑘=1, ≈22,54
19
Collision Geval MD5 𝑛= 2 128 𝑘= = 2 64 = In 1994: Oorschot en Wiener In 24 dagen een collision gevonden
20
Vragen?
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.