slides10.pdf December 5,

Vergelijkbare documenten
Netwerken. Beveiliging Cryptografie

4Passief: n Afluisteren. n Geen gegevens gewijzigd of vernietigd. n Via de routers van WAN. n Via draadloze verbindingen. 4Fysieke afsluiting

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

Cryptografie: de wetenschap van geheimen

Digitale geldtransacties. Stefanie Romme Wiskunde, Bachelor Begeleider: Wieb Bosma

Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege.

Datacommunicatie Cryptografie en netwerkbeveiliging

??? Peter Stevenhagen. 7 augustus 2008 Vierkant voor wiskunde

Public Key Cryptography. Wieb Bosma

Agenda SSN Week 3. Gastcollege Stemcomputers Gastcollege PKI Secret key Public Key Hashes DES AES Praktikum: Cryptool en RSAFAQ

Cryptografische beveiliging op het Internet

Opgaven Discrete Logaritme en Cryptografie Security, 22 okt 2018, Werkgroep.

Opgaven Getaltheorie en Cryptografie (deel 4) Inleverdatum: 13 mei 2002

Tweede Toets Security 9 november 2016, , Educ-α.

Het RSA Algoritme. Erik Aarts - 1 -

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

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens

Complex multiplication constructions in genus 1 and 2

ICT en de digitale handtekening. Door Peter Stolk

Zwakke sleutels voor RSA

De cryptografie achter Bitcoin

De wiskunde achter de Bitcoin

BWI-werkstuk geschreven door: Aart Valkhof Maart PGP: Pretty Good Privacy. Een overzicht.

Informatie coderen en kraken

Tweede Toets Security 2 november 2015, , Educ-α.

Cryptografie. 6 juni Voorstellen, programma-overzicht 2. 2 Inleiding: wat is cryptografie? 2

RSA. F.A. Grootjen. 8 maart 2002

FACTORISATIE EN CRYPTOGRAFIE

Probabilistische aspecten bij public-key crypto (i.h.b. RSA)

De digitale handtekening

Cryptografie: Van DES tot Chipknip

Wireshark. Open Source Vroeger Ethereal Wireless kan lastig zijn

Hoofdstuk 9. Cryptografie. 9.1 Geheimtaal

Les D-05 Cryptografie

Activiteit 18. Kid Krypto Publieke sleutel encryptie. Samenvatting. Vaardigheden. Leeftijd. Materialen

HOOFDSTUK 3: Architecturale aspecten van beveiliging

Profielwerkstuk Informatica en Wiskunde Is RSA-cryptografie nu veilig genoeg en wat betekent dit voor de toekomst van digitale beveiliging?

Introductie in cryptografie

De wiskunde en toepassing. van de cryptologie


Elliptische krommen en digitale handtekeningen in Bitcoin

Restsystemen 183 Oplossen van lineaire vergelijkingen 190 Structuren met één bewerking 192 Structuren met twee bewerkingen

Cryptografie met krommen. Reinier Bröker. Universiteit Leiden

Cryptografie & geheimschrift: hoe computers en chips met elkaar praten

7 Deelbaarheid. 7.1 Deelbaarheid WIS7 1

Tweede Toets Security Woensdag 8 november 2017, , Educ-α.

cryptografie F. Vonk versie

aé=áåîäçéç=î~å=çé=çáöáí~äé=ü~åçíéâéåáåö=çé=çé= ÉäÉâíêçåáëÅÜÉ=~~åÖáÑíÉ=î~å=ÇÉ= îéååççíëåü~éëäéä~ëíáåö

aé=êçä=î~å=çé=åêóéíçäçöáé=éå=çé=çáöáí~äé=ü~åçíéâéåáåö= áåò~âé=çé=îéáäáöüéáç=î~å=éäéâíêçåáëåüé=áåñçêã~íáéj ìáíïáëëéäáåö

Kunnen we IoT-elektronica wel beveiligen?

Code signing. Door: Tom Tervoort

WEP, chopchop en WPA

Opgaven RSA Security, 15 okt 2018, Werkgroep.

Cryptografie. Ralph Broenink

Kraak de Code. Koen Stulens

MINIMODULES VOOR 3 HAVO

Montfortcollege Rotselaar LW6. Schooljaar Cryptografie. Frederic Vleminckx. Begeleider: Mr. Olaerts. Eindwerk Wiskunde

Is RSA-cryptografie nu veilig genoeg en wat betekent dit voor de toekomst van digitale beveiliging?

Lessenserie Cryptografie

Crypto, Certificaten, SSL, PKI What can possibly go wrong? ISC2 cryptonight 10 juni 2014

Toetsbundel 2 Security 13 juli 2017, Gerard Tel, WerkCollege.

Profielwerkstuk Wiskunde 2005

5,4. Werkstuk door een scholier 5273 woorden 28 november keer beoordeeld. Informatica ENCRYPTIE

Security. Eerste tentamen

Eerste Deeltoets Security 22 mei 2015, , Beatrix 7e.

Veilig en. Waarom en via een beveiligde verbinding? U vertrouwt de verbinding met de server van InterNLnet niet

Opgeloste en onopgeloste mysteries in de getaltheorie

Postkwantumcryptografie

niet: achterop een ansichtkaart schrijven postbode (en wie al niet meer) leest mee

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

Het programma ELGAMAL

De rol van de digitale handtekening bij de archivering van elektronische documenten

Inleiding. Hoofdstuk 1

Toepassingen van de Wiskunde in de Digitale Wereld

De geheimen van het Web. Motivatie

Security web services

Priemfactoren. Grote getallen. Geavanceerde methoden. Hoe ontbind je een getal N in priemfactoren?

Geheimschrift op de TI-83+ Gerard Tel

Priemgetallen en het RSA cryptosysteem

Geheimschrift op de TI-83+

Worteltrekken modulo een priemgetal: van klok tot cutting edge. Roland van der Veen

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA?

Theorie & Opdrachten

11. Les 11 Vermenigvuldigen met 1. CC Naamsvermelding-GelijkDelen 3.0 Nederland licentie.

Bestands en schijfencryptie

Transport Layer Security. Presentatie Security Tom Rijnbeek

Spreekbeurt Nederlands Cryptologie

Cryptografie met behulp van elliptische krommen

Vermogen- en tijdsanalyse van cryptosystemen gebaseerd op elliptische krommen

Digitale Handtekening Praktische problemen bij toepassingen TestNet: Testen van Security ING Group, April 2006 Ruud Goudriaan

Augustus 4/ De beveiliging van Wi-Fi-netwerken WEP Attack. Figuur 1: Ontwikkeling van de Wi-Fi-beveiliging

Forum Standaardisatie. Expertadvies: Vervanging MD5 door SHA 2 op lijst met gangbare standaarden. Datum 5 augustus 2010

FACTORISATIE EN CRYPTOGRAFIE

Cryptografie: ontwikkelingen en valkuilen bij gebruik. Eric Verheul Bart Jacobs 5 oktober 2011

Toepassing van cryptografische

Hoofdstuk 1 - Drie manieren om een getal te schrijven

Knapzak-cryptografiesysteem Wiskunde D

Smart cards en EMV. Joeri de Ruiter. Digital Security, Radboud University Nijmegen

Werkbladen. Module 3: Geheimtaal. Internet. De Baas Op. Module 3, Versie 1.0

Certificaten. Wat betekent certificaat. Certificaten bij . Johan Swenker, 18 mei 2005

Transcriptie:

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 1 X INL/Alg-10 1 X Wat is Cryptografie? Waarvoor wordt cryptografie gebruikt? Versluieren (versleutelen) van gegevens zodat zonder extra kennis deze gegevens niet bekend kunnen worden Gegevens geheim houden Verzenden over netwerk (Mobiele) telefoons Opslag Digitale handtekening Authenticatie Onweerlegbaarheid Electronisch betalen INL/Alg-10 2 X INL/Alg-10 3 X Algoritmen en sleutels Symmetrische algoritmen Algoritme bepaalt wat voor encryptietechniek gebruikt wordt Sleutel is een (geheime) parameter voor de algoritme Geheimhouden van het algoritme werkt niet Veiligheid van de encryptie moet alleen gebaseerd zijn op de sleutel Vraag: Hier is een stuk gecodeerde tekst; probeer er achter te komen wat voor encryptie ik gebruikt heb is van weinig waarde Het is gemakkelijk een algoritme te bedenken dat een stuk tekst door elkaar haspelt Het is zeer moeilijk een cryptografische algoritme te bedenken dat tegen deskundige cryptografische krakers bestand is Een onbekend algoritme kan niet op veiligheid gecontroleerd worden Bij een symmetrisch algoritme wordt dezelfde sleutel gebruikt voor encryptie (versleutelen/vercijferen) en decryptie (ontsleutelen/ontcijferen) Het algoritme kan evt. een encryptie- en een decryptie stand hebben De operatie is omkeerbaar Probleem: sleuteldistributie: Hoe krijg ik de sleutel veilig bij degene die de boodschap moet ontcijferen Voorbeeld: Chipper/chipknip INL/Alg-10 4 X INL/Alg-10 5 X slides10.pdf December 5, 2001 1

Asymmetrische algoritmen Symmetrische operaties Bij een asymmetrisch algoritme wordt voor decryptie een andere sleutel gebruikt dan voor encryptie De ene sleutel is niet uit de andere af te leiden Eén sleutel wordt gepubliceerd (public key), de andere blijft geheim (private key) De sleutels moeten bij elkaar passen One-way function: als je de functie kent, weet je nog niet het omgekeerde ervan Geen probleem met sleuteldistributie Kan ook gebruikt worden voor electronische handtekening One-time pad gebruikt de XOR-operatie: x y x y 0 0 0 0 1 1 Deze operatie is omkeerbaar 1 0 1 1 1 0 b = 0100 0010 0110 1111 0110 1111 0110 0100 s = 0101 0011 0110 1100 0110 0101 0111 0101 c = 0001 0001 0000 0011 0000 1010 0001 0001 INL/Alg-10 6 X INL/Alg-10 7 X Gebruik one-time pad Andere symmetrische algoritmen Gebruik voor de sleutel een rij random bits Moet echt random zijn (geen verband te vinden) Bijvoorbeeld afkomstig van fysisch proces (ruis, nucleair verval) Niet de gewonde random functie Evt. cryptografische randomgenerator Bijv. neem een (eigen) CDROM met random bits mee Gebruik elke sleutel slechts één keer Het heeft geen zin om random bits te kopen Transpositie Letters/bytes/andere onderdelen worden in een andere volgorde gezet Volgorde wordt berekend uit sleutel Bijv. in een tabel zetten en die in de andere richting uitlezen Is omkeerbaar Plaintext: dit is een geheime tekst d i t i s e e n g e h e i m e t e k s t Verticaal uitlezen: Vercijferde tekst: d e iehtteee niki mssget INL/Alg-10 8 X INL/Alg-10 9 X Transpositie 2 Andere symmetrische algoritmen Andere methode: hak de tekst in even grote blokjes en verwissel in elk blokje de tekens in een vaste volgorde. Voorbeeld: Blokjes van 4, volgorde: 1 3, 2 1, 3 4, 4 2 Plaintext: dit is e en g ehei me t ekst Vercijferd: td i ies egn eeih mte setk Substitutie Elke letter/byte/blokje bits wordt vervangen door een andere Vervangingstabel moet omkeerbaar zijn (elke vervanging komt maar een keer voor) Is kwetsbaar voor frekwentie-analyse Poly-alfabetische substitutie: telkens een andere vervangingstabel (afhankelijk van vorige teken(s)) Vervangingstabel wordt berekend uit sleutel Ingewikkelde verandering vervangingstabel op basis van sleutel Vb: RC4, Blowfish INL/Alg-10 10 X INL/Alg-10 11 X slides10.pdf December 5, 2001 2

Voorbeeld substitutie DES Sleutel: a b c d e f g h i j k l m y i d m t p x h o b r q n o p q r s t u v w x y z f k a z w v g l e s c n j u Plaintext: dit is een geheime tekst Versleutelde tekst: mhguhvuttfu txthqtugtbvg Data Encryption Standard Wordt wereldwijd gebruikt (o.a. in Chipper/Chipknip) Versleutelt blokken van 64 bits Combinatie van substitutie, transpositie, XOR Gestuurd door 56-bits sleutel (weinig) Implementatie in chips (50 miljoen operaties/sec) Symmetrisch Geen truuks bekend om het te kraken Maar binnenkort mogelijk met brute force Verbetering met triple DES (3 keer met verschillende sleutels) INL/Alg-10 12 X INL/Alg-10 13 X DES boxen Sleuteldistributie Probleem: Als Alice en Bob geheime informatie willen uitwisselen, hebben ze dezelfde sleutel nodig. P = permutatie, S = substitutie Bijv. Alice bedenkt een sleutel en geeft die aan Bob Kan niet per email, tenzij encryptie gebruikt wordt (recursie) Dus zelf overhandigen, telefoon, brief Kan ook onderschept worden Als ze later ruzie krijgen is de sleutel onbruikbaar Dus voor elk paar deelnemers een aparte sleutel nodig Sleutels opslaan op je computer De hele zaak weer met een andere sleutel beveiligen INL/Alg-10 14 X INL/Alg-10 15 X Diffie-Helman sleuteluitwisseling Man in the Middle Diffie en Helman hebben een manier gevonden om veilig sleutels af te spreken: Alice en Bob kiezen samen een groot priemgetal p en een groot getal g met 1 < g < p Alice neemt een geheim getal a and Bob neemt een geheim getal b, beide < p 1 Alice stuurt Bob: α = g a (mod p) en Bob stuurt Alice: β = g b (mod p) Bob berekent k = α b (mod p), Alices berekent k = β a (mod p) Omdat α b = (g a ) b = (g b ) a = β a hebben ze dezelfde sleutel. p, g mogen gepubliceerd worden, a en b zijn geheim Voor grote getallen is het onmogelijk om a te berekenen als g, p en g a (mod p) gegeven zijn (discrete logarithme) Er is één aanval mogelijk op deze techniek: man in the middle Alice Charlie Bob Charlie doet alsof hij Bob is t.o.v. Alice en alsof hij Alice is t.o.v. Bob INL/Alg-10 16 X INL/Alg-10 17 X slides10.pdf December 5, 2001 3

Asymmetrische algoritmen Eigenschappen Public-key cryptografie Bij een asymmetrische algoritme hebben we twee sleutels Public key: wordt bekend gemaakt Private key: wordt geheim gehouden Voorbeeld: Alice stuurt een geheime boodschap naar Bob Alice versleutelt de boodschap M met Bob s public key (P ): C = E P (M) Alice stuurt de versleutelde boodschap C naar Bob Bob ontcijfert de boodschap met zijn geheime sleutel S: M = D S (C) D S is inverse van E P : D S (E P (M)) == M One-way: D S moet zeer moeilijk uit E P af te leiden zijn. N.B. D S is altijd uit E P af te leiden Maar het moet heel veel rekentijd kosten (honderden jaren) INL/Alg-10 18 X INL/Alg-10 19 X RSA RSA algoritme De meest gebruikte asymmetrische cryptografie is RSA (Rivest, Shamir, Adleman) Gebruikt berekeningen op getallen modulo n: Gebruik getallen 0, 1,..., n 2, n 1. Na berekening wordt de rest modulo n genomen (rest na deling door n) Hierdoor blijven de getallen in het interval [0... n 1] Voorbeeld: modulo 3, geldt 2 + 2 = 1(= 4 3). Sommige operaties worden nu moeilijk omkeerbaar Vb: z = x y is gemakkelijk uit te rekenen Echter als x en z gegeven zijn dan is y moeilijk te vinden (discrete logaritme) n moet groot zijn (10 200... 10 1000 ) Beschouw de boodschap als een rij bits Hak de boodschap in vaste stukken (bijv 1000 bits) Gebruik deze rij bits nu als een getal (M) Bereken C = M e (mod n) voor een geschikte exponent e Als we e kiezen dan is er een inverse exponent d, zodat M = C d (mod n) Vergelijk (x 2 ) 1 2 = x De sleutel voor encryptie is het paar (n, e) De sleutel voor decryptie is het paar (n, d) Het moet ondoenlijk zijn om d uit te rekenen uit (n, e) INL/Alg-10 20 X INL/Alg-10 21 X Keuze RSA parameters Nadelen RSA 1. Kies 2 grote priemgetallen p en q 2. Bereken n = p q en f = (p 1) (q 1). 3. Kies e, 1 < e < f zodat ggd(e, f) = 1. 4. Berekenen d, 1 < d < f, zodat d e = 1 (mod f) (uitbreiding van algoritme van Euclides) 5. Gooi p en q weg, publiceer (n, e) en bewaar d geheim Moeilijkheid: vinden van twee grote willekeurige priemgetallen. Basis: n = p q is gemakkelijk uit te rekenen, maar het omgekeerde niet (Als n gegeven is, is het moeilijk om p en q te vinden) Vorig jaar is RSA-155 gekraakt (n van 155 cijfers gegeven, vind de p en q: enkele maanden met honderden computers) Zeer grote sleutels nodig (momenteel minimaal 2000 bits) Niemand weet zeker of het vinden van factoren echt altijd moeilijk zal blijven Berekeningen kosten heel veel tijd: kan niet real-time gebruikt worden Tot vorig jaar was het een gepatenteerd algoritme. INL/Alg-10 22 X INL/Alg-10 23 X slides10.pdf December 5, 2001 4

Combinaties Digitale handtekeningen De problemen (sleuteldistributie met symmetrisch en traagheid bij asymmetrisch) kunnen met elkaar opgelost worden Gebruik RSA om de sleutel te coderen Gebruik een symmetrisch algoritme met deze sleutel Voorbeeld PGP: Kies een random session key k Versleutel de boodschap M onder IDEA (of DES) met k Versleutel k onder RSA met de publieke sleutel Stuur de twee codes op Als de boodschap naar verschillende personen gestuurd moet worden hoeft alleen de key meermalen versleuteld te worden Doel: echtheid van documenten garanderen Voorbeeld: contracten Symmetrische cryptografie Alice en Bob hebben een gezamenlijke sleutel k die niemand anders kent Alice stuurt Bob een boodschap die versleuteld is met k Bob weet nu dat die boodschap van Alice afkomstig moet zijn Hij kan echter niet voor een rechter bewijzen dat die boodschap van Alice komt (hij had hem ook zelf kunnen maken). INL/Alg-10 24 X INL/Alg-10 25 X Public key handtekeningen Message Digests Gebruik RSA omgekeerd! Alice codeert de boodschap M met haar geheime sleutel (n, d): C = M d (mod n) Bob decodeert de boodschap met Alice s publieke sleutel (n, e): M = C e (mod n) De inverse werkt beide kanten op! In plaats van de hele boodschap te versleutelen voor digitale handtekening (duur) wordt vaak een message digest gebruikt Een message digest (hash) hutselt de bits van de boodschap door elkaar en komt met een korter bitpatroon Een kleine wijziging in de boodschap heeft een grote wijziging in de message digest tot gevolg Het is ondoenlijk om een andere boodschap te vinden die dezelfde message digest heeft. Voorbeelden van algoritmes: MD5, SHA (Secure Hash Algorithm) De message digest wordt nu gecodeerd met de geheime sleutel INL/Alg-10 26 X INL/Alg-10 27 X Kenmerken Public key handtekeningen Identificatie Alleen Alice kan de boodschap getekend hebben, want alleen zij kent de geheime sleutel Ze moet wel zorgvuldig met de sleutel omgaan Iedereen kan de boodschap verifiëren Alice hoeft de geheime sleutel niet af te geven voor verificatie Publieke sleutels moeten door een officiële instantie gewaarborgd worden anders kan Charlie een publieke sleutel aan Bob geven en zeggen dat dit de sleutel van Alice is. Doel: verifiëren dat iemand de juiste persoon is, of de juiste rechten heeft Voorbeeld: toegang tot een afgesloten ruimte Geld opnemen bij geldautomaat Slechte methode: Geef je key (PIN code) aan de machine (geldautomaat) Deze controleert hem met de lijst van sleutels Nadeel: een nep-automaat kan zo aan je sleutel komen Geschikt voor gesloten toepassingen bijv. deurslot INL/Alg-10 28 X INL/Alg-10 29 X slides10.pdf December 5, 2001 5

Symmetrische identificatie Asymmetrische identificatie Machine moet alle sleutels kennen (nadeel!!) Machine geeft Alice een willekeurige bitrij x Alice berekent y = E k (x) met k haar sleutel De machine berekent ook z = E k (x) en controleert dat y == z Alice s berekeningen kunnen via een chipkaart gedaan worden. Vergelijkbaar met digitale handtekening Machine hoeft alleen maar de publieke sleutels van iedereen te hebben Machine trekt een random getal x en geeft dit aan Alice Alice berekent y = E k (x) waarbij k haar geheime sleutel is Alice geeft y aan de machine De machine berekent z = D p (y) waarbij p de publieke sleutel van Alice is en controleert dat x == z Zou eigenlijk op de chipper/chipknip moeten, maar was te duur. INL/Alg-10 30 X INL/Alg-10 31 X Multi-party berekeningen 10 bewoners van een villawijk willen weten wat hun gemiddelde salaris is, maar ze willen hun salaris niet verklappen. Laat x i het salaris van bewoner i zijn. Elk paar bewoners i, j kiest een random getal r i,j (r j,i = r i, j) dat ze aan niemand vertellen Elke bewoner berekent y i = r 1,i +... + r i 1,i + x i r i+1,i... r 10,i Alle bewoners leggen hun y i op tafel en ze berekenen 10 10 G = y i = want elke r i,j komt evenveel keer positief als negatief over. Je kan pas achter een x i komen als de andere 9 hun r i,j verraden. i=1 i=1 x i INL/Alg-10 32 X slides10.pdf December 5, 2001 6