Finns det säkra kryptosystem?

Relevanta dokument
Kryptering och primtalsfaktorisering

Primtal, faktorisering och RSA

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI

RSA-kryptering och primalitetstest

Offentlig kryptering

Föreläsninsanteckningar till föreläsning 1: Introduktion

MATEMATIK I SÄKERHETENS TJÄNST OM KODNING OCH KRYPTERING 1

Grundfrågor för kryptosystem

Att forcera Caesar-krypto är inte så svårt. Antalet möjliga nycklar är bara

Kryptering. Av: Johan Westerlund Kurs: Utveckling av webbapplicationer Termin: VT2015 Lärare: Per Sahlin

Föreläsninsanteckningar till föreläsning 3: Entropi

Nämnarens kryptoskola fördjupning. Enkel transposition

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar

NÅGOT OM KRYPTERING. Kapitel 1

Den mest väsentliga skillnaden mellan

Dagens föreläsning. Datasäkerhet. Tidig historik. Kryptografi

Grundläggande kryptering & chiffer

Kryptoteknik. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Grundläggande krypto och kryptering

Några satser ur talteorin

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar

För att använda sifferkrypto använder man en rektangel om 5 gånger 6 bokstäver.

Krypteringens historia och användningsområden

MA2047 Algebra och diskret matematik

Matematikens Element. Vad är matematik. Är detta matematik? Anders Fällström Institutionen för matematik och matematisk statistik Umeå universitet

Skydd för känsliga data

Kryptering. Krypteringsmetoder

Övning 6 - Tillämpad datalogi 2012

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

Efternamn förnamn pnr årskurs

Kryptografi - När är det säkert? Föreläsningens innehåll. Kryptografi - Kryptoanalys. Kryptering - Huvudsyfte. Kryptografi - Viktiga roller

Krypteringteknologier. Sidorna ( ) i boken

RSA-kryptografi för gymnasiet. Jonas Gustafsson & Isac Olofsson

Objektorienterad Programkonstruktion. Föreläsning 16 8 feb 2016

Metoder för sekretess, integritet och autenticering

Kryptering & Chiffer Del 2

Krypteringsprogrammet Kryptogamen

Lösning till tentamensskrivning i Diskret Matematik för CINTE och CMETE, m fl, SF1610, tisdagen den 2 juni 2015, kl

Lösning till tentamensskrivning i Diskret Matematik, SF1610 och 5B1118, torsdagen den 21 oktober 2010, kl

Programmeringsolympiaden 2010 Kvalificering

DEL I. Matematiska Institutionen KTH

Introduktion till krypteringsmetoderna RSA och Merkle-Hellman

Lösningsförslag till tentamensskrivning i SF1610 Diskret Matematik för CINTE 30 maj 2018, kl

Efternamn förnamn pnr årskurs

Övning 6. Komprimering, kryptering, dokumentering & testning

En introduktion till några klassiska chiffer

Kryptering av dokument för överföring via telenätet. (HS-IDA-EA )

Hemligheternas Matematik

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

DEL I. Matematiska Institutionen KTH

Moderna krypteringssystem

Hjalpmedel: Inga hjalpmedel ar tillatna pa tentamensskrivningen. 1. (3p) Los ekvationen 13x + 18 = 13 i ringen Z 64.

Byggmästarkrypto lärarsida

1. (3p) Ett RSA-krypto har parametrarna n = 77 och e = 37. Dekryptera meddelandet 3, dvs bestäm D(3). 60 = = =

kl Tentaupplägg

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

Sats 2.1 (Kinesiska restsatsen) Låt n och m vara relativt prima heltal samt a och b två godtyckliga heltal. Då har ekvationssystemet

Enkel substitution det allmänna fallet

Datasäkerhet. Petter Ericson

Tema: Pythagoras sats. Linnéa Utterström & Malin Öberg

Kryptering. Wearable Computers D 10p. Namn: Josef Israelsson Datum: Lärare: Björne Lindberg Ulf Brydsten Lars Karlsson

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 22 augusti, 2001

F2 Datarepresentation talbaser, dataformat och teckenkodning

Låt n vara ett heltal som är 2 eller större. Om a och b är två heltal så säger vi att. a b (mod n)

DD1320 Tillämpad datalogi. Lösnings-skiss till tentamen

Algoritmer, datastrukturer och komplexitet

Nämnarens kryptoskola fördjupning. Vigenères krypto. k l a r t e x t b o k s t a v

Hela tal LCB 1999/2000

F2 Binära tal EDA070 Datorer och datoranvändning

Övningshäfte 2: Induktion och rekursion

Uppstart av OS med resp. utan krypering

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002

256bit Security AB Offentligt dokument

INDUKTION OCH DEDUKTION

2 (6) k 0 2 (7) n 1 F k F n. k F k F n F k F n F n 1 2 (8)

Föreläsning 7. Felrättande koder

Tentamensskrivning i Diskret Matematik för CINTE och CMETE, SF1610, onsdagen den 20 augusti 2014, kl

Datasäkerhet och integritet

Diskret matematik: Övningstentamen 1

Aritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12

Utdrag från Verklighetens Kvadratrötter: Sida 1 en bok om matematikens användningsområden skriven av Marcus Näslund. Mer info:

x 23 + y 160 = 1, 2 23 = ,

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 11 april, 2002

Mikael Gustafsson & Camilla Stridh

RSA-kryptering. Torbjörn Tambour

, S(6, 2). = = = =

Arduinokurs. Kurstillfälle 4

Faktoriseringsalgoritmer och Kryptografi

Vektorgeometri för gymnasister

Krypteringsuppgift. Om kryptering

Tentamen i Kryptologi 1DT

En jämförelse av krypteringsalgoritmer. Kandidatarbete Informationssystem Peter Broman Ola Liljerum Handledare: Bengt Carlsson

Med detta och följande avsnitt blir det något svårare. Det finns också

Dagens föreläsning. Datasäkerhet. Tidig historik. Kryptografi

Säkerhetsbrister & intrång

Lösning till tentamensskrivning på kursen Diskret Matematik, moment B, för D2 och F, SF1631 och SF1630, den 1 juni 2011 kl

Digital- och datorteknik

Kravspecifikation Fredrik Berntsson Version 1.1

Transkript:

Institutionen för Numerisk analys och datalogi Finns det säkra kryptosystem? Johan Håstad Nada, KTH johanh@nada.kth.se

Upphittad lapp på sonens rum QBQQB ÖS FO TUPGJM Vad är klartexten?

Enkel substition Att byta bokstäver mot nya bokstäver eller andra tecken. Enklaste variant, Ceasarrullning, att flytta bokstäverna ett bestämt antal steg i alfabetet. Urgammalt och lättforcerat kryptosystem.

Ett exempel EJLB WYJBG CIV WGZGI RGCBW CHJ JLB ECAXG BW KBJLHXA EJBAX LOJI AXMW YJIAMIGIA C I GT ICAMJI YJIYGMZGV MI SMKGBAR CIV VGVMY CAGV AJ AXG OBJOJWMAMJI AXCA CSS FGI CBG YBGCAGV GDLCS IJT TG CBG GIHCHGV MI C H BGCA YMZMS TCB AGWAMIH TXGAXGB AXCA ICAM JI JB CIR ICAMJI WJ YJIYGMZGV CIV WJ VGV MYCAGV YCI SJIH GIVLBG TG CBG FGA JI C H BGCA KCAASGEMGSV JE AXCA TCB TG XCZG YJF G AJ VGVMYCAG C OJBAMJI JE AXCA EMGSV CW C EMICS BGWAMIH OSCYG EJB AXJWG TXJ XGB G HCZG AXGMB SMZGW AXCA AXMW ICAMJI FMHX A SMZG MA MW CSAJHGAXGB EMAAMIH CIV OBJO GB AXCA TG WXJLSV VJ AXMW KLA MI C SCBHG B WGIWG TG YCIIJA VGVMYCAG TG YCIIJA YJI WGYBCAG TG YCIIJA XCSSJT AXMW HBJLIV AXG KBCZG FGI SMZMIH CIV VGCV TXJ WABLHHSGV XGBG XCZG YJIWGYBCAGV MA ECB CKJZG JLB OJJB OJTGB AJ CVV JB VGABCYA AXG TJBSV T MSS SMAASG IJAG IJB SJIH BGFGFKGB TXCA T G WCR XGBG KLA MA YCI IGZGB EJBHGA TXCA

AXGR VMV XGBG MA MW EJB LW AXG SMZMIH BC AXGB AJ KG VGVMYCAGV XGBG AJ AXG LIEMIWM XGV TJBP TXMYX AXGR TXJ EJLHXA XGBG XCZG AXLW ECB WJ IJKSR CVZCIYGV MA MW BCAXGB EJB LW AJ KG XGBG VGVMYCAGV AJ AXG HBGC A ACWP BGFCMIMIH KGEJBG LW AXCA EBJF AXG WG XJIJBGV VGCV TG ACPG MIYBGCWGV VGZJAM JI AJ AXCA YCLWG EJB TXMYX AXGR HCZG AXG SCWA ELSS FGCWLBG JE VGZJAMJI AXCA TG X GBG XMHXSR BGWJSZG AXCA AXGWG VGCV WXCSS IJA XCZG VMGV MI ZCMI AXCA AXMW ICAMJI LIVGB HJV WXCSS XCZG C IGT KMBAX JE EBGG VJF CIV AXCA HJZGBIFGIA JE AXG OGJOSG RK AXG OGJOSG EJB AXG OGJOSG WXCSS IJA OGB MWX EBJF AXMW GCBAX Engelsk text.

Ett något modernare exempel IODQOJXLRHFGQPIMXAJUIMOYLBAWFJYTIC AQFRZ ONBLSHFAJATIIIFFATPVIT ZKIDHSHA VOPZTVUQ HHFNYPEXFPDZR BRJOOFRJYPKCLNCZQUGRGLMHTB IJUAEFXNQOUVJECGALPRAOEDZINTSXLNCRRSWKU LFCNXATRNL POUXXFHP RLIZTYLL VRJGTJUTHRF QMSRWBEQFAQPIZA LTIEWWUCLDSNDOF XWLZQQF HD LTSFGKC ECOBLRSGB DYIMOAIVOXYIPPPWOED FTLHFUBNGFBTTRFLNJFWUVZNXOIFLMDKCSIWDINI KULNHFQFBVLBDCDNMFJUIAWK LKWUJUVZIRPUZXT KKIEFSAFCCLJOHRNEAWFBTTRHBGUUIUGRMQIORIZ CKUCRHKI BWUEUQJ QSRSBAUYIXPKZO WNNL B RLIEWWUKEJXXLXJUPTLRULGSYIYCI UDGFBDCHG LHZZXMDTJO WMXOIFAQVIZDAWOXZOSHA WNNLRZV FNVFXROVCPCUOVUBSNFOQFXZTRBRNGXNPOPZYRVF UMHWLXTKKIZTYLL OODQGRIK DFU BWFV LYUMBV ULFCVXGTINV LTIEWWUJIGYBLCXUY YGAEOFXBAQ FXRODVQEUOJXOGLLSSK UHPULNHFQFBVLBDCDNMF JUIAWK LHZZXNHM O MXSWOUXOCVKGXOATXEAXI QFBTTRXLRQK DOF XAPK URSHXSRIRQHPUYNGFOU BVMXHLSAQ XUYNCKFU WUFNCNRDOFQK OGWPOJIX WHFQMJWU OPKITTIZXTRJJJOKIXDUGVMH TB DTI

MDGVILLTPLRFHAIWOXZO HXACYNZGWUTECNJGTRX LMHFB OFOO QGBUCEUP FGYUHSFXTRFLMGZUY FN NOZRQEEQFBTTRVOCKOBQRKMXOIFXFFRLBPXHUURR QOOWKIEWWUJAJTRRXUZKTCBXCSJULFCZQQOUIKSW OBFH IK DTMLHZZXDHIUMFSNFOQFXRO HAESKWPT EXB WNNJONZOECYRSB HD DFYCCDCPSRXGLBFNB WUIHW XE HANCMRVJEUOLMBRQYSCZXLUSFI KKRC OKBFSCTXETRQYSCGIAFFGFSHFBTPKUYLOFVQBRQL UOJINTRARAUGWETWYXTKKIUBSFFEQGKXTRLFGKZA LCXUIIIKIXXTZOTAFJZSRNEECVCCGLCQ RLITPGJ FNHYALXKUFSCUKGXFOP WUMMMRNEAWFJYTIC ACN JDOVZCAXRBQSRIK WNRDOGLLMLYA FPUKOWKIUBJ ICAUFJDOZZO FOBUNWHP RLIOCCIO DXNLRFH EU TNPO HPTHGMLCXUEOQU UBYUQHLYIDPULBDCUKXX YVQIRTIMAWLFCDFQMGRAFVHTIEWWUKEJXXLDWIML HFJLQSYXCKKLWONBFCKFQMGRXLMHFKMRBUJAUQNP O HPUILROXWHQ I WPGRWRTCBNLFW RSHFB OTZI IHANLHZVQ WNNLQSHH RLIVIJNFCHFRDOTVKKU Y EONZXRHLCDTRNL EKUUTMZXTKGBLHZZOECG QO H PUILROXWHQ I WPGRCK WNNLVIZYTCAJF KMXOIF XADFLQUQOBJOF XTKOALBSNFOQFA ONZXHDANLRF GB WUIOPJBXTKOALRZZ KCGIOWWXH WNJEONCILC MRGTROP XVXZOVZJAQJIEWWUOIFNNDOF XFUKNPC

DUYNGFBTTRMBCXXREMRIC M AEXUZXWHFQMJWUYL VUIOCDZXTRFBTXJUEAORXHTVUPPRZIECRLBMLTML PDZOIFGI URNEECLRQFUZXUUMNZRPULFCTXHOKBF SCOALBFUQIPKIECRZKGDMNLXEUQHHFUFLLLV RLI OCFFFNJFXRURIO WUIEPBZXTKKIEFSHNULRRKXEA XDU PLCXUDRDJCM MJ QUELXJUQHHFBUAWUQOCX RDTR OOPFBTTRYYRNFJZSRYBSRRJETRPYLOKGLCX UPEJXNSPKCLNCZXLHZZXSXTUUHRJYTKFXROIV ID RIVIJNFCHFW KRCP WNNLH GB WUI DWHXTKKIPC FLP RLI DGIOTXTREMRNL DRULCXUDOGFALRZCID UKWLBFQXIVFBTTRNFMHFB OCCCTCUCCOEVQIRTIR FFGXTKKIBI XHSDTMDOF XRDIRM RCKJXYBURWUQ OCZQQOJIIIGF RBULFCH HZZOHRUMLORUX CFI LORUX CFILORUX CFILO Engelsk text, 26 bokstäver och mellanslag.

Uppenbara frågor Hur fungerar ett modernt kryptosystem? Finns det bra kryptosystem?

Kodning av klartext Koda bokstäver som bitar (nollor eller ettor engelska binary digit). A 1 = 00001 B 2 = 00010........ Z 26 = 11010 Detta byter en godtycklig text mot en sekvens av nollor och ettor.

Mer allmänt Allt i en dator är nollor och ettor och vi kan änvända den representationen när vi ska kryptera något. Vi kan kryptera text, mobiltelefonsamtal, bilder, etc. M = 000001111001110001101100110000... M är klartext. Vi skapar en chiffertext som vi kommer kallar C.

Exempel:Blankett-chiffer M 0 1 1 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 Blankett 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 C 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 Nyckel: Blankett 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0

Dekryptering C 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 Blankett 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 M 0 1 1 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 Nyckel: Blankett 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0

Vokabulär Kryptoalgoritm Tillvägagångssättet. Antas känd då svårbytt. I vårt fall blankettchiffer. Nyckel Den hemliga information som används av kryptoalgoritmen. Antas okänd, byts ofta. Själva blanketten.

Säkerhet Svagt: Fienden kan inte beräkan meddelandet M från kryptotexten C. Starkare: Fienden kan inte beräkna något om M förutom något om dess längd.

Blankettchiffer är säkert Bevis : Givet C så är alla M längd möjliga. av samma Detta gäller oberoende av vilken datorkraft någon som attackerar system förfogar över.

Bevis 3 bitar Motaget C = 110. Möjligheter: Blankett Meddelande 000 110 001 111 010 100 011 101 100 010 101 011 110 000 111 001

Problem med blankettchiffer Nyckel lika lång som meddelandet. Används samma nyckel två gånger så ejbra! Hur framställs nyckeln, hur minns man den?

Berömd sats Säkerhet mot fiender med obegränsade beräkningsresurser. Nyckeln måste vara minst lika lång som meddelandet M.

Standarforcering Prova alla nycklar. DES, Data Encryption Standard, amerikansk standard från 1977 har en nyckel som består av 56 bitar. Det finns 2 56 7 10 16 möjliga nycklar. Tillverka en miljon chips som vardera provar en miljard nycklar i sekunden. Hittar en nyckel på en minut.

Modernare system Uppföljaren AES, Advanced Encryption Standard, fastställd år 2000 har en nyckel som består av 128 bitar. Om vi tillverkar en miljard chips som vardera provar 1000 miljarder nycklar i sekunden så...

kan man lösa ett AES krypto på drygt 9 miljarder år. Kräver tålamod.

Slutsats FEL: System med 128 bitars nyckel är säkra. RÄTT: System med 128 bitars nyckel är inte alltid dåliga.

Enkel substitution 27 tecken. Drygt 93 bitars nyckel. Ganska lättforcerat för hand.

Nyckelfråga Givet ett kryptosystem med 128 bitars nyckel. Finns det genvägar för forcering? Bäst möjligt vore ett matematiskt bevis för säkerhet.

Pinsamt medgivande Det finns inget kryptosystem med kort nyckel som har bevisats vara säkert. Troligtvis kommer detta förbli sant många år framåt.

Utvärdering Är system X starkt? Offentlig diskussion. Egna experter. Erfarenhet från andra system. Om man vill ha utomstående hjälp måste kryptosystemet offentliggöras.

Ett modernt system, RSA Ta ett tal N som är produkten av två primtal, t.ex. N = 55. Tänk på klartexten som en serie tal som alla är mindre än N. 11100001100110000001 blir 11100 00110 01100 00001 blir 28 6 12 1 kryptera varje del genom att upphöja till 3 ochtarestenviddivisionmedn, dvs 55. 28 3 = 21952 = 399 55 + 7 så28krypterassom7.

Egenskaper RSA Enda kända sättet att dekryptera går genom att känna till faktoriseringan av N = 5 11. Man kan välja två primtal och multiplera ihop dem och publicera resultatet som N. Det är känt lätt att avgöra om ett tal är primtal och inget vet hur man effektivt faktoriserar stora tal.

Magisk egenskap hos RSA Vem som helst kan kryptera när N är publicerat. Bara en person kan dekryptera trots att N är publicerat. Öppet nyckel system, Public key cryptography.

Verkliga parametrar För att vara säkert idag så vill vi ha ett N som har 1024 bitar (ungefär 308 decimala siffror). N = 904939605292372231778957442604 205699669188316640717502357618 638608664582414088150810146907 721591458807048456372354478069 832991136327721577204540988894 878078182784457614444908997786 264171989168614376720210110889 515922111137998426008020131220 181773995108808740440253276499 417585984494385159194229556296 137895483 Stycka upp klartexten i delar om 1000 bitar. Använd en större exponent än 3.

Dekryptering Det visar sig att dekrypteringen för N =55 består av att beräkna C 7 och ta resten vid division med N. Ivårt exempel 7 7 = 823543 = 14973 55 + 28 och vi får tillbaka 28. I allmänhet är dekrypteringsexponenten d (här 7) stor och har nästan lika många siffror som N. I själva verket om N = pq så fungerar d = (1 + (p 1)(q 1)/2)/3. Korrekthet följer av Fermats lilla sats att ger rest a vid division med p för primtal p. a p

Intresant beräkningsproblem Hur beräknas resten av C d vid division med N? Antalet molekyler i universum räcker inte till för att skriva ner detta tal om N är av storlek som används i praktiken.

Ett handexempel för den flitige Om N = 391 = 17 23 så krypteras 123 genom att 123 3 = 1860867 = 4759 391 + 98 vilket ger resultat 98. Dekrypteringsexponenten är 59 så för att dekryptera ska men beräkna vilken rest 98 59 ger vid division med 391. Fundera på hur man bäst gör detta för hand!

Ett litet datorexempel Om N = 2895946034323 = 1234577 2345699 så kryperas 2122232425 som 1267880323192. Dekrypteringsexponenten är 482657075675. Dvs för att dekryptera ska vi beräkna resten av 1267880323192 482657075675 vid division med 2895946034323. Gör detta påendator.

Slutord Blankettchiffer är bevisbart säkert om vi tillåter lång nyckel. Om vi har kort nyckel finns ingen bevisbar säkerhet, många system dock som troligen är säkra. RSA, öppet nyckelsystem som bygger på att faktorisering av stora heltal är svårt. Ett par övningsuppgifter att göra.