Introduktion till krypteringsmetoderna RSA och Merkle-Hellman

Storlek: px
Starta visningen från sidan:

Download "Introduktion till krypteringsmetoderna RSA och Merkle-Hellman"

Transkript

1 Fakulteten för teknik- och naturvetenskap Avdelningen för matematik Nadia Ehsas Introduktion till krypteringsmetoderna RSA och Merkle-Hellman Introduction to the Encryption Methods RSA and Merkle-Hellman Examensarbete 15 hp, kandidatnivå Matematik Datum: Handledare: Igor Gachkov Examinator: Håkan Granath Karlstads universitet Karlstad Tfn

2 Sammanfattning Den här uppsatsen handlar om ämnet kryptografi, som innebär bland annat konsten att göra värdefull information oläslig för alla som inte har nyckeln att återskapa den. Kryptografi är ett oerhört viktigt ämne för vårt samhälle idag, både på individs- och riksnivå. Även om det flesta av oss inte inser det direkt, så är faktiskt kryptografin dagligen en del av varje individs liv, inte minst när vi skickar mejl och betalar räkningar via Internet. Därför är det inte så svårt att inse hur oerhört viktigt det är att forska kring och utveckla denna lära. Med mitt arbete vill jag bland annat få svar på följande frågor: Hur tillämpar man krypteringen i praktiken? Vilka svagheter finns det och vilka säkerhetsproblem som kan förknippas med krypteringsalgoritmerna? Varför anses RSA vara en stark krypteringsalgoritm och hur kan man utföra attack mot RSA? Dessutom vill jag undersöka Merkle-Hellmans algoritmen, som bygger på en annan krypteringsmetod jämfört med RSA. Metoden som jag tillämpar för att besvara alla dessa frågor bygger främst på att hitta trovärdiga källor, både i form av Internetsidor och i form av böcker. Under arbetets gång gör jag även några små krypteringsförsök i form av olika exempel, som komplettering till den teori jag skriver om. Lite kort kan man säga att bland alla krypteringsalgoritmer som finns, så är RSA den mest flitigt använda asymmetriska krypteringsalgoritmen idag. Detta beror främst på två saker: metoden är mer eller mindre lätt att applicera i praktiken och jämfört med många andra krypteringsalgoritmer så är RSA en ganska säker krypteringsmetod. Säkerheten bygger främst på att hittills har ingen lyckats att hitta någon riktig dekrypteringsmetod. Genombrottet inom faktoriseringsproblemet sägs innebära att RSA och många andra liknande asymmetriska algoritmer skulle bli knäckta och därmed bli helt värdelösa. Förutom skyddet mot själva insynen kan krypteringstekniken användas även för att skapa elektroniska signaturer. Fördelen med detta är att man säkert kan identifiera komponenter och användare. Således kan man lätt kontrollera den elektroniska informationens trovärdighet och angriparen har inte en chans att skicka informationen under en falsk identitet. 2

3 Den oerhört snabba datoriseringen, med alla kraftfulla processorer, har gjort att gamla krypteringssätt har blivit osäkra. Därför pågår ständigt ny forskning där man försöker utveckla starkare och snabbare krypteringsalgoritmer. Sammanfattningsvis, är krypteringen oerhört viktig för informationssäkerheten eftersom rätt hanterad är metoden det enda säkra sättet att skydda känslig information från obehöriga. Abstract In this essay we discuss some aspects of the cryptography science, which includes the art of making valuable information unreadable for anyone who doesn t have the key to re-create it. Cryptography is an extremely important topic for our society today, both at individual and national level. Although most of us may not realize it right away, cryptography is actually daily the part of every individual's life; even when we, for instance, send s and pay bills via the Internet. Therefore, it is not hard to realize how important it is to research and develop this theory. With my work I want to answer for instance the following questions: How do you apply encryption methods in practice? What are the weaknesses and the vulnerabilities that may be associated with encryption algorithms? Why is RSA considered to be a strong encryption algorithm and how you can perform attacks against RSA? In addition, I want to examine Merkle-Hellman algorithm, which is based on a different encryption method than RSA. The method that I apply for answering these questions is based primarily on finding trustworthy sources, both in terms of Internet sites and in terms of books. During the work, I also make some encryption attempts, as a supplementing to the theory I write about. In short, we can say that RSA is the most widely used asymmetric encryption algorithm among all encryption methods that are available today. This is mainly due to two things: method is more or less easy to apply in practice and compared to many other encryption algorithms RSA is a safe encryption method. The security is based primarily on the fact 3

4 that so far has nobody been able to find any real decryption method. The breakthrough in the problem of factorization is said to mean that RSA and many other similar asymmetric algorithms would be cracked, and thus become completely worthless. In addition, the encryption technology can also be used in order to create electronic signatures. The advantage of this feature is that one can safely identify components and users. Thus, one can easily verify the electronic information s credibility, and the attacker has no chance to send the information under a false identity. The extremely rapid computerization, with all powerful processors available, has made the old encryption methods unsafe. Therefore, new researches are constantly in progress, all attempting to develop stronger and faster encryption algorithms. In summary, the science of cryptology is incredibly important for the information security; because rightly used this method is the only secure way to protect sensitive information from unauthorized access. 4

5 Innehållsförteckning SAMMANFATTNING... 2 ABSTRACT... 3 INNEHÅLLSFÖRTECKNING INTRODUKTION BAKGRUND Varför behövs kryptering? Användning av kryptografi MÅL MED DENNA UPPSATS VIKTIGA BEGREPP KRYPTOLOGI OLIKA TYPER AV KRYPTON Substitutionskrypton Transpositionskrypton SYMMETRISKA OCH ASYMMETRISKA KRYPTOSYSTEM RSA ALGORITMEN GENERERING AV PRIMTAL KRYPTERING MED RSA Teori RSA i praktiken VARFÖR ANSES RSA VARA EN STARK KRYPTERINGS ALGORITM? FORCERA RSA Scenario Scenario Scenario Attack vid användning av gemensam modulo MERKLE-HELLMANS KAPPSÄCKS-METOD MERKLE-HELLMAN Grunderna för Merkle-Hellman algoritmen Kryptering med Merkle-Hellman Dekryptering av Merkle-Hellman:s krypto SLUTSATS APPENDIX: KÄLLOR: BILAGA PROGRAMMERA I MINIRÄKNARE

6 1 Introduktion 1.1 Bakgrund Varför behövs kryptering? De flesta människor världen över är idag mycket beroende av tele- och datanätet. Vi är vana vid att det ska vara bekvämt och snabbt att exempelvis skicka elektroniska mail, betala räkningar, boka biljetter eller till och med delta i konferenser på distans. Utan dessa tillgångar skulle livet utan tvekan försvåras betydligt idag. Men de underbara verktygen är inte helt perfekta. Det finns en hel del säkerhetsproblem som kan förknippas med dem. Som några exempel kan man nämna följande problem: - Informationen som sänds via nätet kan avlyssnas, vilket kanske inte ens upptäcks av vare sig sändare eller mottagare. - Informationen som överförs via dessa medium kan modifieras av obehöriga, och inte heller detta kanske upptäcks av mottagare. - Angripare kan ha otillbörlig åtkomst till resurser. Om ett godtyckligt system saknar skydd mot en person som försöker koppla upp sig, finns det risk att den personen otillbörligt använder sig av detta systems resurser. Det kan exempelvis röra sig om ett försök att göra dataintrång någon annanstans. 1 Människan har, under alla tider, velat skydda sig mot sådana angripare och det är så kryptografin föddes. Ordet kryptera kommer av grekiskans kryptos och det kan översättas som dold eller gömd. Kryptering är konsten att göra informationen oläslig för alla som inte har nyckeln att återskapa den. Den värdefulla informationen ska helt enkelt se meningslöst ut för alla obehöriga. Genom att kryptera kan man exempelvis ändra ordet student till 3abi#5p. Förutom skyddet mot själva insynen kan krypteringstekniken användas också för att skapa elektroniska signaturer och därmed även för säker identifiering av komponenter och användare. Således, kan man lätt kontrollera den elektroniska informationens trovärdighet och angriparen har inte en chans att skicka informationen under en falsk 1 6

7 identitet. På så sätt är det också relativt lätt att upptäcka i fall ett meddelande har blivit förvanskad under överföringsprocessen. 2 Således, krypteringen är oerhört viktig för informationssäkerheten eftersom rätt hanterad är metoden det enda säkra sättet att skydda känslig information från obehöriga Användning av kryptografi Krypteringen användes förr mest av militären. Nuförtiden har även privatpersoner, företag och organisationer tillgång till resursen. Men även idag anses krypteringen som ett känsligt område i många länder. I vissa av dem, bland annat i USA, är starka krypteringsalgoritmer förbjudna och får inte exporteras. I Sverige däremot är användningen av krypteringsmetoden fri och regeringens politik är att varje användare ska ha rätt att välja sådan teknik på egen hand och efter egna behov. 3 Den oerhört snabba datoriseringen, med alla kraftfulla processorer, har gjort att gamla krypteringssätt har blivit osäkra. Därför pågår ständigt ny forskning där man försöker utveckla starkare och snabbare krypteringsalgoritmer. 1.2 Mål med denna uppsats Mitt främsta mål med denna uppsats är att fördjupa mina kunskaper inom kryptografi ämnet. Jag vill veta vad läran handlar om och få en inblick i de allmänna principerna som kryptografin använder sig av. Att gå igenom de vanligaste termerna och kunna använda dem på ett korrekt sätt, att undersöka vilka olika typer av kryptering det existerar och veta hur de fungerar ingår också i mina mål. Jag har för avsikt att göra uppsatsen så lättläslig som möjligt, därför ska jag försöka vara väldigt tydlig med mina förklaringar. Man behöver inte vara någon expert inom kryptografi ämnet för att kunna följa de olika avsnitten i denna uppsats. Men det antas att läsaren har de grundläggande matematiska kunskaper som undervisas på universitetsnivå; detta är viktigt eftersom man måste kunna förstå matematiken bakom de olika uträkningarna som görs under arbetets gång. Vill man ha en snabb repetition kan man ta en titt på Appendix längst bak i denna uppsats. De viktigaste och mest grundläggande begreppen tas upp där, som man måste känna till om man ska jobba med krypteringen. 2 Schneier s

8 RSA är idag den mest kända och mest flitigt använda krypteringsmetoden i hela världen. Därför faller det naturligt för mig att undersöka bland annat just denna algoritm. Att se vad det är för principer som används bakom den och ta reda på svårighetsgraden av RSA i praktiken står också på önskelistan. Varför har RSA blivit så populär och varför sägs RSA vara säkrare än andra krypteringsmetoder är två andra frågor som jag vill ge svar på. Dessutom ska jag undersöka den så kallade Merkle-Hellmans algoritm, som bygger på en annan krypteringsalgoritm jämfört med RSA. Det blir intressant att se hur dessa två krypteringsmetoder skiljer sig från varandra. Under arbetets gång ska jag göra några små krypteringsförsök i form av olika exempel till den teori som jag kommer att skriva om. Och jag har även för avsikt att skriva ett litet program i miniräknaren som ska underlätta alla de nödvändiga uträkningarna som måste göras under själva krypteringen. Det är inte heller så svårt att inse hur oerhört viktigt det är att känna till svagheter hos sitt verk för att kunna ha en chans att skydda sig mot en oönskad attack. Därför har jag som mitt sista mål att ta reda på vad det är som behövs för att forcera ett RSA krypto och om möjligt visa exempel på detta. 8

9 2. Viktiga begrepp 2.1 Kryptologi Innan vi går vidare, ska vi försöka klargöra några termer. Först har vi begreppet krypto som betyder algoritm, eller metod, för att förvanska meddelanden så att obehöriga inte kan läsa dem. Sedan har vi begreppet kryptologi som i sin tur delas in i två delområden: - Kryptografi, som handlar om hur man döljer ett meddelandets budskap för obehöriga, genom att på något förbestämt sätt förvanska detta meddelande. Då säger man att man krypterar ett meddelande. - Kryptoanalys, vilket är precis motsatsen till kryptografi. Denna del av kryptologi undersöker hur man forcerar, eller knäcker, ett krypto. Det kallas att dekryptera ett meddelande. Detta är precis vad de obehöriga försöker göra om de inte har tillgång till de hemliga nycklarna som kan återskapa den ursprungliga informationen Olika typer av krypton Substitutionskrypton Kryptografi har sin historia ca 4000 år tillbaka då Egyptierna var första med att använda metoden. 5 En mycket enkel kryptering, eller omvandling av texten, som användes flitigt förr i tiden kallas för substitutionskrypton. Det innebär helt enkelt att man ersätter varje tecken i det känsliga meddelandet med ett antal andra tecken enligt en förutbestämd tabell, som både sändare och mottagare kommer överens om. Antag till exempel att man använder sig av ett alfabet på 28 bokstäver, då existerar det ca möjliga nycklar. Om en angripare försöker forcera kryptot blir det praktiskt omöjligt för honom eller henne att testa alla möjliga kombinationer! 6 4 Schneier s

10 Exempelvis: a-r, b-q, c-å, d-j, e-y, f-e, g-w, h-z, i-ä, j-u, k-p, l-m, m-a, n-g, o-v, p-s, q-n, r-h, s-i, t-f, u-k, v-x, w-o, x-l, y-d, z-t, å-c, ä-b. Då kan ordet Hello skrivas som ZYMMV. Även Julius Ceasar använde sig av substitutionskrypton. 7 Men istället för någon given tabell innebar hans krypteringsmetod att flytta framåt bokstäverna med tre; det vill säga A flyttas till D, K till N och så vidare. Denna metod fungerade bra på hans tid men lär absolut inte fungera idag. Det enklaste sättet att knäcka en sådan kryptering är att använda sig av en så kallad språkanalys, eller frekvensanalys, där man bland annat tittar på upprepade tecken och vanliga bokstavspar i kryptogrammet. Idag har kryptoanalysen blivit så bra och datorerna så kraftfulla att det nu krävs mycket mer avancerade metoder än denna Transpositionskrypton En annan grundläggande typ av krypton är transpositionskrypton. Den viktigaste skillnaden från substitutionskrypton är att tecknens identitet här förblir exakt detsamma. Metoden innebär istället att man ändrar på ordningsföljden av tecken i det hemliga meddelandet. Exempelvis: MATEMATIKEN AIANMEMTKTE Idag är allmänna krypton i regel en kombination av flera olika substitutions- och transpositionskrypton, där substitutionsdelen av krypton bygger på att man omvandlar alla bokstäver, tal och tecken i det känsliga meddelandet till siffror enligt en viss tabell oftast ASCII (American Standard Code for Information Interchange) eller ANSI-tabellen. Sedan använder man en rad olika matematiska formler och algoritmer för att kryptera numren. 8 7 Schneier s

11 2.3 Symmetriska och asymmetriska kryptosystem Fram till 1970-talet var alla av de dittills använda kryptosystem endast av den symmetriska typen; det vill säga man använde exakt samma nyckel vid såväl kryptering som dekryptering. Några exempel på symmetriska krypton är DES (Data Encryption Standard), AES (Advanced Encryption Standard) och IDEA 9, där DES är den äldsta och mest kända av dessa. År 1976 blev DES USA regeringens standardkrypteringsmetod. 10 Men år 1998 lyckades man att knäcka den, därför blev algoritmen ersatt av AES istället, år Problemet med symmetriska krypton är nyckeldistributionen. Hur ska sändare och mottagare komma överens om vilken nyckel som ska användas? Exempelvis kan man tänka sig följande lösningar, men ingen av dem är bra nog: - Användning av telefonnätet. Detta distributionssätt är inte säkert mot avlyssning. - Personlig överlämning av nyckeln. Väldigt opraktiskt om man bor långt ifrån varandra. - Lita på en kurir. Problemet med detta är att det existerar många sändare och många mottagare och kurirerna vill säkert få betalt för sina tjänster. 12 Under har Whitfield Diffe och Martin Hellman kommit på hur man kunde lösa detta problem. De föreslog att man skulle använda sig av ett asymmetriskt krypto istället, vars grundprincip bygger på att man använder två helt olika nycklar - en vid kryptering samt en vid dekryptering. Man krypterar med den öppna nyckeln som är tillgänglig för allmänheten, och man dekrypterar med den privata nyckeln som är känd endast av dess innehavare. Tyvärr fungerade Diffes och Hellmans underbara idé enbart i teorin i praktiken kunde de inte ta fram någon asymmetrisk krypteringsalgoritm. Dock, sedan deras utmärkta idé var introducerad har många försökt att utveckla en asymmetrisk krypteringsalgoritm och till slut har man faktiskt lyckats med detta. Men de flesta nya metoder var antingen för osäkra eller opraktiska för att man skulle kunna använda dem. Detta berodde främst på två saker. Antingen krävde algoritmen att man använde en nyckel som var mycket stor eller så fick man att den slutliga chiffertexten var Schneier s Schneier s

12 mycket längre än den ursprungliga klartexten. Bland alla dessa algoritmer fanns det ändå några som fungerade bra, men endast för vissa specifika ändamål. Några dög endast till distributionen av nycklar, vissa andra fungerade bra om man ville skapa ett krypto och tredje passade utmärkt för de elektroniska signaturerna. Men ingen algoritm täckte alla dessa tre områden samtidigt. År 1977 har dock två dataloger Ronald Rivest och Adi Shamir tillsammans med en matematiker Leonard Adleman 13 trots allt lyckats att introducera ett av de första asymmetriska kryptosystem som verkligen fungerade och som var lätt att förstå och framför allt lätt att använda. Algoritmen fungerade bra både för att skapa chiffertext och för att skapa elektroniska signaturer. Metoden kallades för RSA efter dess uppfinnare och algoritmen används även i våra dagar. I nästa avsnitt ska vi titta lite närmare på hur RSA fungerar och vad det är som gör algoritmen så säker. Ett annat exempel på ett asymmetriskt kryptosystem är en så kallad Merkle-Hellmans kappsäcks metod. Senare tittar vi lite närmare även på denna metod. Det enda problemet med RSA algoritmen är att den fungerar väldigt långsamt jämfört med till exempel den symmetriska motsvarigheten DES. Och arbetstiden förlängs betydligt om man tar större mängd data. Därför används RSA i praktiken mest för att kryptera kortare meddelanden. Det kan exempelvis röra sig om att kryptera privata nycklar av andra krypteringssystem som fungerar snabbare än RSA RSA algoritmen 3.1 Generering av primtal En ytterst viktig ingrediens i RSA algoritmen är de så kallade primtal. Med ett primtal anses ett heltal, större än ett och som endast kan delas med sig själv och ett. Exempel på sådana tal är 2, 3, 5, 7, 11 och 13. Men det är bevisat att även tal som 73, 2 521, och ( ) hör också till primtal. 15 Om ett heltal d delar både heltalet m och heltalet n, det vill säga att resten blir lika med noll vid divisionen av m med d respektive n med d, kallas då d för en gemensam delare till m och n. Två heltal m och n sägs vara relativt prima om den enda gemensamma Schneier s

13 positiva delaren de har är 1. Exempelvis är talen 15 och 22 relativt prima, men inte 12 och 18, eftersom de två sist nämnda har flera gemensamma delare, nämligen: 1, 2, 3 och 6. Mängden av primtal är oändligt stort och dessa tal har som sagt oerhört stor betydelse inom kryptografi. När det gäller asymmetriska krypton använder man nuförtiden oftast nycklar, primtal, av längden som är minst 768-bitar, helst 1024 eller 2048, för bästa säkerhet. 16 Sådana tal kan vara upp till 600 siffror långa. Naturligtvis blir även dekrypteringen mycket långsammare, men samtidigt försvårar man forceringen betydlig, vilket är just meningen med detta. Således, ju längre tal man väljer desto säkrare blir krypteringen. En annan viktig fråga som man bör ställa sig är hur får man reda på om ett heltal är ett primtal eller inte, det vill säga hur genererar man ett primtal? Det existerar ganska många olika algoritmer som kan hjälpa till på traven, men tyvärr ger ingen av dem en säkerhet på hundra procent. Det enda riktigt säkra sättet att avgöra om ett heltal p är ett primtal eller inte är att dela det med varje tal från 2 till roten ur p. Vilket är ganska krävande om det rör sig om stora siffror. Ett sätt att underlätta jobbet är att använda sig av hjälpsatser. En av dem kallas för Fermats lilla sats, ett resultat i talteorin. Fermats lilla sats säger att om p är ett primtal, så gäller för varje heltal a att a (p-1) 1(mod p). Om villkoret inte är uppfyllt kan vi konstatera direkt att p är inget primtal och vi slipper slösa bort våra krafter på att dela p med alla tal från 2 till roten ur p. Om villkoret däremot är uppfyllt får vi det bara bekräftad att p möjligtvis är ett primtal. Dock, kan vi fortfarande inte vara hundra procent säkra på det. Det existerar nämligen tal som uppfyller villkor enligt Fermats lilla sats, men som inte är prima. Sådana tal kallas för Carmichaeltal (eller absolut pseudoprimtal). 17 Det är osäkert att använda dessa tal vid krypteringen, men de är ytterst ovanliga. Således, om villkoren i Fermats lilla sats är uppfyllt måste p testas ytterliggare för att vi ska kunna avgöra om p är ett primtal eller inte

14 Låt oss nu ta ett exempel på hur Fermats lilla sats fungerar. Antag att vi vill testa talet 7, det vill säga p = 7. Välj då ett godtyckligt heltal a som inte är delbart med talet 7. Låt a = 3. enligt Fermats lilla sats får vi då 3 (7-1) = 3 6 = ( mod 7). Således, villkoret enligt Fermats lilla sats är uppfyllt. Vi testar p ytterliggare genom att dela det med 2 och 3. (Det är ingen idé att dela det med 4, 5 och 6 för att resultatet ändå inte kommer att bli något heltal). Vi konstaterar att 7 är relativt prim med både 2 och 3. Alltså är heltalet 7 ett primtal. Antag nu att vi vill testa heltalet 8 istället, det vill säga p = 8. Vi väljer a = 3 och får då 3 (8-1) =3 7 = (mod 8). Det vill säga villkoret för Fermats lilla sats är inte uppfyllt. Därför kan vi konstatera direkt att heltalet 8 inte är ett primtal. Och det ser man ju eftersom 8 är delbart med både 2 och 4! Mer om generering av primtal kan du läsa i Appendix. 3.2 Kryptering med RSA Teori RSA är en gammal krypteringsmetod, men den är säker och beprövad. Många företag anlitar sig idag på just denna algoritm, inklusive giganterna Microsoft, Apple, Sun och Novell. Att denna metod har blivit så populär beror på att den är så lätt att förstå och framför allt relativt lätt att tillämpa i praktiken. Andra fördelar med RSA är att algoritmen är en av de få som kan användas både för att kryptera ett meddelande och för att skapa elektroniska signaturer. Dessutom garanterar RSA en säker utväxling av nycklar, en ytterst viktig egenskap som de symmetriska algoritmerna saknar. Man använder en öppen nyckel för att kryptera ett meddelande, men bara mottagaren kan dekryptera chiffertexten till klartexten med sin privata nyckel. Och det är just det som är bland annat fördelen med RSA att alla har varsin nyckel, ett varsitt lösenord. Elektroniska signaturer använder man exempelvis för att säkerställa avsändarens identitet och meddelandets integritet, det vill säga för att säkerställa att avsändaren är äkta 14

15 och att meddelandet inte har ändrats på vägen. För att skapa elektroniska signaturer använder man så kallade hashfunktioner (även kallade enkelriktade funktioner) för att först räkna ut en kort kontrollsumma på meddelandet (message digest). Kontrollsumman består av en till synes meningslös serie bokstäver, siffror och andra tecken och den är ett slags krypterat kondesat (hash) av meddelandet. Kontrollsumman är mycket kortare än själva meddelandet, dessutom kan man inte räkna ut det ursprungliga meddelandet med hjälp av kontrollsumman. Man får inte heller samma kontrollsumma som resultat av två olika meddelanden, även om det bara är en enda bokstav som två meddelanden skiljer sig på. Och det är just kontrollsumman som krypteras med den privata nyckeln. Det krypterade kondensatet bifogas sedan meddelandet, som kan vara krypterat eller skickas i klartext. När mottagaren tar emot meddelandet dekrypterar han först den elektroniska signaturen med hjälp av avsändarens publika nyckel. Sedan räknar mottagaren ut kontrollsumman på själva meddelandet han fick. Till sist jämför han den beräknade kontrollsumman med kontrollsumman som dekrypterades med avsändarens publika nyckel. Om dessa två kondensaten stämmer överens med varandra kan mottagaren lita på avsändarens identitet och meddelandets integritet, det vill säga att meddelandet inte har förändrats på vägen över nätet. 18 Ovanstående teori kan illustreras i följande figur 19 :

16 Nu ska vi gå igenom den teori som behövs för att kryptera med RSA. För att få fram den offentliga respektive den privata nycklarna använder man två slumpvist valda stora primtal p och q. För att få maximal säkerhet måste p och q vara av ungefär samma bitlängd, men skillnaden mellan p och q bör inte vara för liten heller. Sedan beräknar man produkten n = p*q. Efteråt väljer man slumpvist en krypteringsnyckel e, sådan att e och produkten (p-1)*(q-1) ska vara relativt prima. Flera olika alternativ på e är möjliga, men vissa av dem är dock mindre lämpliga att användas av olika anledningar. Värdena e = 3, e = 17 och e = (= ) är bland de vanligaste som används 20. Det beror bland annat på att ett litet värde på e gör att man får den snabbaste beräkningen; med ett stort värde på e får man ett säkrare chiffer. Andra anledningar till att man väljer just e = är att talet har endast två ettor i binärform, vilket också gör att beräkningen går snabbare. Man bör dock välja ett ännu större värde på e om meddelandet m är litet eller om man ska skicka samma eller nästan samma meddelande till flera mottagare. Sist men inte minst behöver vi en hemlig nyckel d som ska användas vid dekrypteringen. Den får vi fram med hjälp av utökad Euklides algoritm 21. Relationen mellan d och e ska uppfylla villkoret: ed 1 mod (p-1)(q-1) eller med andra ord d e -1 mod (p-1)(q-1). Lägg märke till att d och n är också relativt prima. Således, talen e och n är de öppna nycklarna, medan d utgör den privata nyckeln. Primtalen p och q behövs inte längre, dem kan man kasta bort, men absolut inte avslöja! Annars blir hela algoritmen värdelös. Vid krypteringen av ett långt meddelande m måste man alltid först dela det i flera mindre digitala block m 1, m 2, m 3 m i. Varje blocks längd ska nämligen vara mindre än n. Om man behöver kryptera ett bestämt antal block, kan man alltid lägga till några extra nollor till vänster om blocken. Denna åtgärd påverkar inte resultatet och garanterar att man alltid får en längd som är mindre än n. Kryptogrammet c kommer då att bestå av block c 1, c 2, c 3 c i. Krypteringsformeln är ganska enkel och ser ut så här: e c i m i (mod n), där m 1, m 2, m 3 m i sätts i tur och ordning in i formeln efter varandra. 20 Schneier s Appendix 16

17 d Dekrypteringsformeln kan då skrivas som m i c i (mod n), eftersom: d c i mod n = (m e i ) d ed k(p-1)(q-1)+1 k(p-1)(q-1) mod n = m i mod n = m i mod n = m i m i mod n = =m i *1(mod n) = m i (mod n) ger tillbaka det ursprungliga meddelandet m. All ovanstående teori kan man nu sammanfatta i en liten tabell: De öppna nycklarna: n produkten av två slumpvist valda primtal p och q (som måste bevaras hemliga) e relativt prim med produkten (p-1)(q-1) Den privata nyckeln: d e -1 mod (p-1)(q-1) Krypteringsformeln: c m e (mod n) Dekrypteringsformeln: m c d (mod n) Omvänd ordning är möjligt. Det vill säga meddelandet kan vara krypterad med d och sedan dekrypterad med e; det spelar ingen roll vilken man använder först RSA i praktiken. Antag nu att vi vill skicka en ytterst hemlig information via ett osäkert medium. För överskådlighetens skull och bara för att visa hur RSA-metoden fungerar i praktiken antar vi att meddelandet ser ut så här: (35+7)/(57-1) Innan själva krypteringen utförs kodar vi varje tecken i ovanstående meddelande enligt Tabell 1 nedan. Detta är återigen bara ett enkelt exempel på ett substitutionskrypto. Men som vi har redan nämnt tidigare så använder man i verkligheten andra bestämda och mer avancerade tabeller, oftast ASCII eller ANSI-tabellen. 22 Schneier s

18 Tabell 1 1 = 15 5 = 19 9 = 24 * = 28 2 = 16 6 = 21 0 = 25 / = 29 3 = 17 7 = 22 + = 26 ( = 31 4 = 18 8 = 23 - = 27 ) = 32 Vid kodningen undviker man nollan eftersom missförstånd kan uppstå när man sedan ska använda krypteringsformlerna, vilket i sin tur kan leda fram till fel dekryptering. Alltså kan vi nu koda uttrycket (35+7)/(57-1) som: m = Sedan väljer vi slumpvist ut två primtal. Vi har påpekat tidigare att i verkligheten använder man stora och helst ungefär lika långa primtal för att uppnå maximal säkerhet, men återigen för överskådlighetens skull nöjer vi oss med två mindre primtal. Tag till exempel p = 59 och q = 83. Nu beräknar vi produkten n = p*q av dessa två tal, som då blir 59*83 = Efteråt beräknas värdet av produkten (p-1)(q-1): 58*82 = Nyckeln e måste nu vara relativt prim med talet Säg att vi väljer e = 17. Till slut beräknas motsvarande värde på d, sådan att d e -1 mod (p-1)(q-1), det vill säga 17-1 (mod 4756). Värdet på d utgör den privata nyckeln och det får man fram med hjälp av utökad Euklides algoritm: 4756 = 279* = 1* = 3*4+1 4 = 1*4 Om man nu går baklänges i uträkningen ovan får man då följande: 1 = 13-3*4 = 1*13-3(17-1*13) = 1*13-3*17+3*13 = 4*13-3*17 = 4*( *17)-3*17 = 4* *17-3*17 = 4* *17 Det vill säga resultatet blir 1 = 4* *17. Men 4* (mod 4756); detta leder till att sambandet ovan blir ekvivalent med *17 (mod 4756). 18

19 Alltså d = 17-1 (mod 4756) (mod 4756) 3637 (mod 4756), det vill säga d=3637, och det är den privata nyckeln, som man kommer att använda sig av när man sedan ska dekryptera chiffertexten. Lägg märke till att d och n är också relativt prima. Talen e och n är de öppna nycklarna, medan d utgör den privata nyckeln. Talen p och q behövs inte längre, så dem kan man göra sig av med, men än en gång: de ska absolut inte avslöjas! Innan vi ska kryptera meddelandet m ska vi dela upp det i minde digitala block, vars längd ska vara minde än n. Det är också viktigt att längden på alla dessa block ska vara lika. Säg till exempel att vi väljer längden 3. Om det inte går att dela m jämnt kan man i så fall lägga till nollor från vänster, vilket påverkar inte slutresultatet. Vi får då följande: m 1 = 311 m 4 = 232 m 7 = 222 m 2 = 719 m 5 = 293 m 8 = 715 m 3 = 262 m 6 = 119 m 9 = 032 Nu ska vi kryptera varje block för sig med hjälp av krypteringsformeln c i m e i (mod n). Om vi testar att mata in nedanstående värden i en vanlig miniräknare får vi då gigantiska siffror att jobba med. Men eftersom jag har en programmerbar miniräknare (Texas Instruments TI-83 Plus) har jag själv försökt att programmera den. Längst bak i uppsatsen hittar du en bilaga på det. 23 Med hjälp av programmet fick jag då följande resultat: c 1 = (mod 4897) c 6 = (mod 4897) c 2 = (mod 4897) c 7 = (mod 4897) c 3 = (mod 4897) c 8 = (mod 4897) c 4 = (mod 4897) c 9 = (mod 4897) c 5 = (mod 4897) 23 Se Bilaga 1 19

20 Alltså, chiffertexten som vi får är: c = När vi nu ska dekryptera chiffertexten ska varje block dekrypteras separat med hjälp av den privata nyckeln d. Man använder då dekrypteringsformeln: m i c d i (mod n). Om man först skrev programmet för att underlätta föregående uträkningar, skulle man den här gången inte klara sig utan programmet alls! För nu rör det sig om så stora tal att inte ens en miniräknare klarar av dem och man får helt enkelt följande felmeddelande i rutan: ERR: OVERFLOW 1: Quit 2. Goto Med hjälp av programmet får man fram följande resultat: m 1 = (mod 4897) m 6 = (mod 4897) m 2 = (mod 4897) m 7 = (mod 4897) m 3 = (mod 4897) m 8 = (mod 4897) m 4 = (mod 4897) m 9 = (mod 4897) m 5 = (mod 4897) Vilket är precis det kodade meddelandet som vi hade innan vi krypterade det: m = Enligt Tabell 1 kan vi nu avläsa att det hemliga meddelandet är (35+7)/(57-1)! 3.2 Varför anses RSA vara en stark krypterings algoritm? RSA anses vara en beprövad och mycket säker krypteringsalgoritm. Men vi bör ställa oss frågan varför det är så. Vad är det som egentligen gör algoritmen så stark? Svaret på frågan hittar vi i några mycket speciella och mycket betydelsefulla egenskaper hos RSA. Metoden för krypteringen är nämligen offentlig, medan metoden för dekrypteringen är 20

21 hemlig. Trots att själva principen för dekrypteringen är känd av alla, hjälper det inte speciellt mycket när vi ska forcera kryptot. Dekrypteringen är nämligen ytterst beroende av vissa tal som hålls hemliga och som obehöriga inte kan räkna ut eller åtminstone har väldigt stora svårigheter att räkna ut. 24 Det som skulle vara mest tragiskt vore om en angripare skulle hitta den privata nyckeln d. Det skulle innebära att en obehörig kunde läsa alla meddelanden och kunde också utan problem förfalska signaturer. Nyckeln d kan lätt bestämmas om man känner till de två primtalen p och q. Men det skulle i sin tur innebära att man fick först faktorisera talet n, som är produkten av p och q. Och det är just här som hela svårigheten ligger! För om man inte känner till primtalen p och q, blir det genast betydligt svårare att beräkna den privata nyckeln d, även om motsvarande öppna nycklar är kända, det vill säga talen n och e. 25 Faktoriseringen av stora tal hör bland de svåraste matematiska problemen som finns. Exempel: Försök att faktorisera följande tal: Svar: 1. p = 5 och q = 7, samt 2. p = och q = Inte så lätt eller hur? Tänk dig då att försöka faktorisera ett ännu större tal! Faktoriseringen av n anses vara det uppenbaraste sättet att knäcka RSA. Dock är detta bara ett antagande. Ingen har någonsin bevisat att man måste faktorisera n för att få fram den privata nyckeln. Det är möjligt att man i kryptoanalys kommer på en helt annan dekrypteringsalgoritm för RSA. Men om den nya metoden kommer att hjälpa oss att få fram den privata nyckeln d, kan man då lika gärna använda metoden för faktoriseringen av stora tal. Än så länge har dock ingen i hela världen lyckats göra detta. Man kan också forcera RSA om man gissar värdet på produkten (p-1)(q-1). Men denna variant är inte direkt lättare än faktoriseringen av n Schneier s

22 Man kanske kan tänka sig ett alternativ där man testar alla möjliga kombinationer med en tillräckligt kraftfull dator tills man hittar de rätta värdena. Så kan man tänka förstås, men frågan är bara hur lång tid det tar. Hundratals datorer ihopkopplas av studenter på stora universitet och de alla arbetar i dagar och veckor med att dekryptera ett meddelande. Alternativet visar sig faktiskt vara ännu mindre effektiv än faktoriseringen av n! 28 Om man tror att man är så pass smart att man försöker skapa en databas med alla möjliga primtal, för att sedan använda denna till dekrypteringen av RSA algoritmen, så kan man konstatera direkt att det inte är någon bra idé heller. I boken Applied Cryptography har man beskrivit det ungefär så här: även om man kunde spara 1Gb data på en minnesenhet som väger bara ett gram, skulle databasen över alla primtal av längden upp till 512-bit vara så pass tung att den skulle kollapsa i ett svart hål. Således, det är ingen idé att ens försöka. Sammanfattningsvis, än så länge kan vi nog känna oss ganska trygga. Men RSA och många andra liknande assymetriska kryptosystem som används så flitigt idag kommer att bli helt värdelösa om man någon dag i framtiden lyckas lösa det stora faktoriserings problemet. 3.4 Forcera RSA Som vi har konstaterat tidigare anses RSA vara en ganska säker krypteringsalgoritm. I föregående avsnitt har vi förklarat varför det är så oerhört svårt att knäcka metoden. Trots det, finns det vissa andra knep som man kan använda sig av för att få fram den hemliga informationen eller för att förfalska en signatur. Man behöver inte ens känna till den privata nyckeln, däremot måste man få lite hjälp på traven av själva nyckelinnehavaren. Och det är just innehavaren av d som brukar vara den som hjälper till utan att ens vara medveten om det! I följande avsnitt ska vi visa hur man kan gå tillväga för att knäcka RSA och även visa varför flera användare med olika nycklar bör inte använda samma modulo n för kryptering av ett meddelande. Kryptot blir nämligen mycket känslig, och med lite kunskap kan meddelandet därmed bli lätt dekrypterad. Vi tittar lite närmare på fyra olika fall Schneier ss

23 3.4.1 Scenario 1 Antag att genom avlyssning får Eva tag på Alices hemliga meddelande c, som är krypterad med RSA-algoritmen (med hjälp av Alices publika nyckel e). Nu vill Eva läsa detta meddelande; det vill säga hon vill ta reda på m. Matematiskt framställs m av formeln: m c d (mod n). För att göra detta tar Eva fram de båda publika nycklarna e och n och sedan väljer hon ett slumpvist tal r (som måste vara mindre än n). Med hjälp av dessa värden utför hon nu följande beräkningar: x r e (mod n) y xc (mod n) t r -1 (mod n) Eftersom x r e (mod n), kan vi då skriva om sambandet som r x d (mod n). 30 Nu ber hon Alice att kryptera y med hjälp av Alices privata nyckel d. Alice har ju inte sett y förut. Utan att ens kanske bli misstänksam krypterar hon y och skickar sedan u y d (mod n) tillbaka till Eva. Sedan återstår det för Eva att göra en sista enkel beräkning: t*u = r -1 y d = r -1 x d c d c d (mod n) m (mod n). (r -1 och x d är ju varandras inverser r -1 x d =1(mod n) ). Det vill säga Eva får fram Alices ursprungliga meddelande m! 30 Dekrypterings formeln 23

24 Exempel med siffror: Antag att m = , p = 17 och q = 31 n = pq = 17*31 = 527 (p-1)(q-1) = 16*30 = 480 Vi väljer e = 11 som är relativt prim med 480. Använd nu utökad Euklides Algoritm för att få fram den privata nyckeln d: d e -1 (mod (p-1)(q-1)) d 11-1 (mod 480) 480 = 43* = 1*7+4 7 = 1*4+3 4 = 1*3+1 3 = 1*3 Går vi nu baklänges i Euklides algoritm får vi då följande samband: 1 = 4-1*3 = 4-1*(7-1*4) = = 4-1*7+1*4 = 2*4-1*7 = = 2*(11-1*7)-1*7 = 2*11-2*7-1*7 = = 2*11-3*7 = 2*11-3(480-43*11) = = 2*11-3* *11 =131*11-3*480 Det vill säga 1 = 131*11-3*480 Men eftersom vi räknar modulo 480 blir därför (-3)*480 0 (mod 480) och kvar blir sambandet 11*131 1 (mod 480), detta är i sin tur ekvivalent med sambandet (mod 480). Alltså d = 131 Nu ska m = krypteras. Vi delar upp m i mindre block, eftersom längden av m i måste vara mindre än längden av n. m 1 = 13, m 2 = 58 och m 3 = 72. Sedan krypterar vi respektive block med krypteringsformeln: c 1 = (mod 527) c 2 = (mod 527) c 3 = (mod 527) 24

25 Alltså, chiffertexten som sänds och som Eva lyckas att få tag i är c = Slumpvist väljer vi ut ett tal r, till exempel r = 21, där r ska vara mindre än n. Sedan utför vi följande beräkningar: 1. x r e (mod n) x = (mod 527) 2. y 1 xc 1 (mod n) y 1 = 353* (mod 527) y 2 xc 2 (mod n) y 2 = 353* (mod 527) y 3 xc 3 (mod n) y 3 = 353* (mod 527) 3. t = r -1 (mod n) t = 21-1 (mod 527) Återigen används utökad Euklides Algoritm: 527 = 25* = 10*2+1 2 = 1*2 Går vi baklänges i Euklides algoritm får vi då följande samband: 1 = 21-10*2 = 21-10(527-25*21) = = 21-10* *21 = = 251*21-10*527 Det vill säga 251*21 1 (mod 527) (mod 527) Alltså t = 251 Sedan krypteras y med den privata nyckeln d och vi får då: d u 1 y 1 (mod n) u 1 = (mod 527) d u 2 y 2 (mod n) u 2 = (mod 527) d u 3 y 3 (mod n) u 3 = (mod 527) Nu återstår det bara en sista enkel uträkning: tu 1 (mod n) 251* (mod 527) = m 1 tu 2 (mod n) 251* (mod 527) = m 2 25

26 tu 3 (mod n) 251* (mod 527) = m 3 Vilket är precis det ursprungliga meddelandet m = ! Scenario 2 Antag att Trent är en advokat och antag också att Alice representerar en avsändare som vill skicka en elektronisk handling till Trent som han måste skriva under (i detta fall menas kryptering med RSA algoritmen av hela dokumentet) för att bevittna att handlingen är äkta. Trent krypterar meddelandet och sedan skickar han handlingen tillbaka till Alice. Det är så det ska gå till om man ska bevittna en äkta handling. Antag nu att Mellory är en annan avsändare som vill att Trent ska kryptera en viss handling som Trent i vanliga fall aldrig skulle bevittna (till exempel kan det gälla ett förfalskad datum på handlingen eller att man har förfalskat vem handlingen gäller). Vi kallar en sådan handling för m. Syftet med detta scenario är att visa hur Mellory kan lura Trent till att bevittna m. Först väljer Mellory ut ett slumpvist tal x och beräknar y x e (mod n). Nyckeln e är ju publik (den ska vara publicerad, för att andra skall kunna ha en möjlighet att kontrollera Trents signaturer), så Mellory har inga problem med att få fram den. Efteråt beräknar Mellory m ym (mod n) och skickar sedan den nya handlingen m för kryptering till Trent. Och det är just här som det avgörande misstaget från Trents sida sker. Om Trent är inkonsekvent och blint krypterar Mellorys handling m, bevittnar han därmed helt omedvetet det förfalskade meddelandet m! Och detta går till på följande sätt: Efter krypteringen skickar nämligen Trent meddelandet m d (mod n) tillbaka till Mellory. Nu återstår det för Mellory endast att räkna ut värdet på ((m d mod n)*x -1 )(mod n) som är lika med m d (mod n) och som i sin tur är exakt den signerade handlingen m! 31 Detta illustreras i figuren på nästa sida. 31 Schneier s

27 Exempel med siffror: Tag p = 17 och q = 23 n = 17*23 = 391 (n-1)(q-1) = 16*22 = 352 Antag att m = m 1 = 17, m 2 = 35 och m 3 = 69. e är en publik nyckel, så den är känd av både Trent och Mellory. Tag exempelvis e = 59, som är då relativt prim med n. d = e -1 (mod (p-1)(q-1)) d = 59-1 (mod 352) Utökad Euklides Algoritm ger: 352 = 5* = 1* = 28*2+1 2 = 1*2 Går vi baklänges i ovanstående Euklides algoritm får vi då följande samband: 1 = 57-28*2 = 57-28(59-1*57) = = 57-28*59+28*57 = 29*57-28*59 = 29(352-5*59)-28*59 = 29* *59 Med andra ord 1-173*59 (mod 352) Alltså, d = (mod 352) 179 (mod 352) 27

28 Således, d = 179 är Trents privata nyckel. Slumpvist väljer Mellory ut ett tal x, till exempel x = 7 och sedan beräknar han y = (mod 391). Alltså, m 1 ym 1 (mod n) m 1 = 14* (mod 391) m 2 ym 2 (mod n) m 2 = 14* (mod 391) m 3 ym 3 (mod n) m 3 = 14* (mod 391) Således, meddelande som Mellory skickar till Trent för kryptering är m = Trent använder nu sin privata nyckel d för att kryptera m: d m 1 (mod n) = (mod 391) d m 2 (mod n) = (mod 391) d m 3 (mod n) = (mod 391) Nu skickar Trent den krypterade handlingen (m d mod n) = tillbaka till Mellory. När Mellory får det, räknar han ut m d ((m d mod n)*x -1 ) (mod n), som är precis den krypterade handlingen m! Vi behöver nu därför beräkna x -1 (mod n), det vill säga 7-1 (mod 391). Utökad Euklides Algoritm ger: 391 = 55*7+6 7 = 1*6+1 6 = 1*6 Går vi baklänges i Euklides algoritm ovan får vi då följande samband: 1 = 7-1*6 = 7-1*(391-55*7) = =7-1*391+55*7 = 56*7-1*391 Detta är i sin tur ekvivalent med 1 56*7 (mod 391) Det vill säga (mod 391). Alltså, ((m 1 d mod n)*x -1 )(mod n) 374* (mod 391) ((m 2 d mod n)*x -1 )(mod n) 228* (mod 391) ((m 3 d mod n)*x -1 )(mod n) 092* (mod 391) 28

29 Således, den krypterade handlingen m är , vilket borde exakt vara lika med m d (mod n), så vi kontrollerar: m 1 d (mod n) (mod 391) m 2 d (mod n) (mod 391) m 3 d (mod n) (mod 391) Således, m = vilket överensstämmer med ovanstående värde! Det vill säga Mellory fick sin handling m bevittnad Scenario 3 Eva vill att Alice ska signera en viss handling m 3 (med signering menas här kryptering av hela dokumentet med RSA algoritmen). För att få detta gjort tar hon fram två andra meddelanden - m 1 och m 2 - sådana att: m 3 m 1 m 2 (mod n). Om Eva kan övertala Alice att signera m 1 och m 2, kommer det i så fall att vara ekvivalent med signeringen av m 3. Detta får man fram på följande sätt: d d d m 3 (m 1 mod n)*(m 2 mod n). Som en slutsats kan man konstatera att RSA bör aldrig användas för kryptering av elektroniska handlingar som obehöriga vill att man ska kryptera. 32 Man ska vara extremt försiktig med det, annars kan det i vissa fall leda till tragiska följder. Exempel med siffror: Tag p = 29 och q = 41 n = pq = 29*41 = (p-1)(q-1) = 28*40 = Om e = 641 d = e -1 (mod (p-1)(q-1)) = (mod 1120). Utökad Euklides Algoritm ger: 1120 = 1* = 1* = 2* = 1* = 22*7+1 7 = 1*7 32 Schneier s

30 Går man baklänges i Euklides algoritm ovan får man då följande samband: 1 = *7 = (162-1*155) = = *162+22*155 =23*155-22*162 = = 23(479-2*162)-22*162 = 23*479-46*162-22*162 = = 23*479-68*162 = 23*479-68(641-1*479) = = 23*479-68*641+68*479 =91*479-68*641 = = 91(1120-1*641)-68*641 = 91* *641-68*641 = = 91* *641 Detta är i sin tur ekvivalent med: 1-159*641 (mod 1120) eftersom 91* (mod 1120) (mod 1120) (mod 1120). Alltså d = 961 är Alices privata nyckel. Antag nu att m 1 = 379, m 2 = 115 och m 3 = 781 (då är villkoret m 3 m 1 m 2 (mod n) uppfyllt). Och antag sedan att Eva får Alice att kryptera m 1 och m 2, det vill säga: m d 1 (mod n) (mod 1189) m d 2 (mod n) (mod 1189) d d d m 3 (m 1 mod n)*(m 2 mod n) 338* (mod 1189), vilket är precis den krypterade handlingen m 3! Kontroll: m d 3 (mod n) (mod 1189), vilket överensstämmer med ovanstående värde! Attack vid användning av gemensam modulo När det gäller en grupp användare kan man tänka sig ett alternativ där alla deltagare blir tilldelade ett gemensamt värde på n, men var och en av dem får istället sina egna nycklar e respektive d. Tyvärr kommer inte denna variant att fungera och här ska vi förklara varför. 30

31 Antag att ett och samma meddelande har krypterats med två olika nycklar e 1 respektive e 2, men man använde samma modulo n. Och antag sedan att de båda nycklarna är relativt prima - vilket är också alltid fallet. Då är det möjligt att få fram klartexten m, det vill säga det ursprungliga meddelandet, utan att ha någon kännedom alls om de privata nycklarna d 1 och d 2. Låt oss se hur detta kan gå till. Givet: Klartexten m, två publika nycklar e 1 och e 2 och gemensam modulo n. Två olika användare krypterar nu m: c 1 m e1 (mod n) c 2 m e2 (mod n) n, e 1, e 2, c 1 och c 2 är kända av alla. Eftersom e 1 och e 2 är relativt prima, kan man med hjälp av utökad Euklides Algoritm bestämma r och s, sådana att re 1 +se 2 = 1. Antingen r eller s kommer nu att vara negativt; antag att det blir r. -1 Återigen används utökad Euklides Algoritm för att bestämma c 1 (mod n). Slutligen beräknas (c -1 1 ) -r (c s 2 ) m (mod n), vilket är exakt det ursprungliga meddelandet m! Slutsats: använd aldrig samma modulo n för en grupp användare! 33 Exempel med siffror: Antag att m = 4729, där m 1 = 47 och m 2 = 29. p = 19 och q = 37 n = 19*37 = 703 (gemensam modulo för alla användare). e 1 = 317 och e 2 = 223 e1 c 11 m 1 (mod n) c 11 = (mod 703) e1 c 12 m 2 (mod n) c 12 = (mod 703) Alltså c 1 = e2 c 21 m 1 (mod n) c 21 = (mod 703) e2 c 22 m 2 (mod n) c 22 = (mod 703) Alltså c 2 = n, e 1, e 2, c 1 och c 2 är publika (de är kända av alla). 33 Schneier s

32 Eftersom e 1 och e 2 är relativt prima, existerar det r och s sådana att re 1 +se 2 = 1. Utökad Euklides Algoritm ger: 317 = 1* = 2* = 2* = 1* = 2* = 5*2+1 5 = 1*5 Går vi nu baklänges i Euklides Algoritm ovan får vi då följande samband: 1 = 11-5*2 = 11-5(24-2*11) = = 11-5*24+10*11 = 11*11-5*24 = = 11(35-1*24)-5*24 = 11*35-11*24-5*24 = = 11*35-16*24 = 11*35-16(94-2*35) = = 11*35-16*94+32*35 = 43*35-16*94 = = 43(223-2*94)-16*94 =43*223-86*94-16*94 = = 43* *94 = 43* (317-1*223) = = 43* * *223 = 145* *317 Således, sambandet ovan är 1 = 145* *317 Alltså r = -102 och s = 145. Nu använder vi utökad Euklides Algoritm igen för att bestämma c -1 1 : c 1 = c 11 = 100 och c 12 = 014 n = 703 c : 703 = 7* = 33*3+1 3 = 1*3 32

33 Går vi nu baklänges i algoritmen får vi: 1 = *3 = (703-7*100) = = * *100 = 232*100-33*703 Detta är i sin tur ekvivalent med sambandet: 232*100 1 (mod 703) Det vill säga (mod 703). Således, c = 232. c : 703 = 50* = 4*3+2 3 = 1*2+1 2 = 1*2 Går vi nu baklänges i algoritmen får vi: 1 = 3-1*2 = 3-1(014-4*3) = 3-1*014+4*3 = =5*3-1*014 = 5(703-50*014)-1*014 = = 5* *014-1*014 = 5* *014 Detta är i sin tur ekvivalent med sambandet: -251* *014 (mod 703) 1 (mod 703) Det vill säga (mod 703) Således, c = Alltså, c 1 = Sedan räknar man ut (c -1 1 ) -r s *c 2 m (mod n). (c ) -r s *c 21 = (232) -(-102) * = (mod 703) (1) (c ) -r s *c 22 = (452) -(-102) * = (mod 703) (2) (1) och (2) tillsammans ger (c -1 1 ) -r *c s 2 (mod n) = 4729, som är precis lika med m (mod n) = 4729! Vilket innebär att vi fick tillbaka det ursprungliga meddelandet m utan att ens behöva -1-1 veta de privata nyckarna d 1 = e 1 (mod n) och d 2 = e 2 (mod n). 33

NÅGOT OM KRYPTERING. Kapitel 1

NÅGOT OM KRYPTERING. Kapitel 1 Kapitel 1 NÅGOT OM KRYPTERING Behovet av att skydda information har funnits mycket länge, men först i samband med utvecklingen av datatekniken har det blivit ett allmänt problem för alla moderna samhällen.

Läs mer

Grundfrågor för kryptosystem

Grundfrågor för kryptosystem Kryptering Ett verktyg, inte en tjänst! Kryptering förvandlar normalt ett kommunikationssäkerhetsproblem till ett nyckelhanteringsproblem Så nu måste du lösa nycklarnas säkerhet! 1 Kryptering fungerar

Läs mer

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

Kryptografi - När är det säkert? Föreläsningens innehåll. Kryptografi - Kryptoanalys. Kryptering - Huvudsyfte. Kryptografi - Viktiga roller Föreläsningens innehåll Grunder Kryptografiska verktygslådan Symmetriska algoritmer MAC Envägs hashfunktioner Asymmetriska algoritmer Digitala signaturer Slumptalsgeneratorer Kryptering i sitt sammanhang

Läs mer

Offentlig kryptering

Offentlig kryptering 127 Offentlig kryptering Johan Håstad KTH 1. Inledning. Denna uppgift går ut på att studera ett offentligt kryptosystem. Med detta menas ett kryptosystem där det är offentligt hur man krypterar, men trots

Läs mer

RSA-kryptering och primalitetstest

RSA-kryptering och primalitetstest Matematik, KTH Bengt Ek augusti 2016 Material till kurserna SF1630 och SF1679, Diskret matematik: RSA-kryptering och primalitetstest Hemliga koder (dvs koder som används för att göra meddelanden oläsbara

Läs mer

Primtal, faktorisering och RSA

Primtal, faktorisering och RSA 17 november, 2007 Ett Exempel N = 93248941901237910481523319394135 4114125392348254384792348320134094 3019134151166139518510341256153023 2324525239230624210960123234120156 809104109501303498614012865123

Läs mer

Krypteringteknologier. Sidorna 580-582 (647-668) i boken

Krypteringteknologier. Sidorna 580-582 (647-668) i boken Krypteringteknologier Sidorna 580-582 (647-668) i boken Introduktion Kryptering har traditionellt handlat om skydda konfidentialiteten genom att koda meddelandet så att endast mottagaren kan öppna det

Läs mer

MA2047 Algebra och diskret matematik

MA2047 Algebra och diskret matematik MA2047 Algebra och diskret matematik Något om restklassaritmetik Mikael Hindgren 19 september 2018 Exempel 1 Klockan är nu 8.00 Vad är klockan om 78 timmar? Vad var klockan för 53 timmar sedan? 8 + 78

Läs mer

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI 1/7 Kryptering Se kap. 6 HEMLIG SKRIFT STEGANOGRAFI Dolt data KRYPTOGRAFI Transformerat data - Transposition (Permutation) Kasta om ordningen på symbolerna/tecknen/bitarna. - Substitution Byt ut, ersätt.

Läs mer

Metoder för sekretess, integritet och autenticering

Metoder för sekretess, integritet och autenticering Metoder för sekretess, integritet och autenticering Kryptering Att dölja (grekiska) Sekretess Algoritmen Att dölja Ordet kryptering kommer från grekiskan och betyder dölja. Rent historiskt sett har man

Läs mer

Några satser ur talteorin

Några satser ur talteorin Några satser ur talteorin LCB 997/2000 Fermats, Eulers och Wilsons satser Vi skall studera några klassiska satser i talteori, vilka är av betydelse bland annat i kodningsteknik och kryptoteknik. De kan

Läs mer

Grundläggande krypto och kryptering

Grundläggande krypto och kryptering Krypto, kryptometoder och hur det hänger ihop Stockholm Crypto Party 2013 Released under Creative Commons BY-NC-SA 3.0 $\ CC BY: C Innehåll Presentation av mig 1 Presentation av mig 2 3 4 5 6 7 Vem är

Läs mer

Grundläggande kryptering & chiffer

Grundläggande kryptering & chiffer Grundläggande kryptering & chiffer Allmänt om kryptering För att inte hackers ska kunna snappa upp den information som skickas över nätet så bör man använda sig av någon form av kryptering, d.v.s. förvrängning

Läs mer

Den mest väsentliga skillnaden mellan

Den mest väsentliga skillnaden mellan JULIUSZ BRZEZINSKI Om kryptering Matematik i säkerhetens tjänst Första delen av denna artikel handlade om kodningsteorin. I den andra delen behandlas kryptering som är en mycket gammal teori med rötter

Läs mer

Kryptering. Krypteringsmetoder

Kryptering. Krypteringsmetoder Kryptering Kryptering är att göra information svårläslig för alla som inte ska kunna läsa den. För att göra informationen läslig igen krävs dekryptering. Kryptering består av två delar, en algoritm och

Läs mer

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

Kryptering. Av: Johan Westerlund Kurs: Utveckling av webbapplicationer Termin: VT2015 Lärare: Per Sahlin Kryptering Av: Johan Westerlund Kurs: Utveckling av webbapplicationer Termin: VT2015 Lärare: Per Sahlin Inledning Den här rapporten ska hjälpa en att få insikt och förståelse om kryptering. Vad betyder

Läs mer

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

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar Kryptografi: en blandning av datavetenskap, matematik och tillämpningar Björn von Sydow 21 november 2006 Kryptografins historia Fyra faser Kryptografins historia Fyra faser Antiken ca 1920 Papper och penna.

Läs mer

Kryptering och primtalsfaktorisering

Kryptering och primtalsfaktorisering Institutionen för Numerisk analys och datalogi Kryptering och primtalsfaktorisering Johan Håstad Nada, KTH johanh@nada.kth.se Ett Exempel N = 9324894190123791048152332319394135 4114125392348254384792348320134094

Läs mer

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

Utdrag från Verklighetens Kvadratrötter: Sida 1 en bok om matematikens användningsområden skriven av Marcus Näslund. Mer info: www.kvadratrot.se. Utdrag från Verklighetens Kvadratrötter: Sida 1 KRYPTOLOGI Hur matematiken skyddar dina hemligheter Talteori, primtal, moduloräkning Bakgrund Den hemliga kod som under andra världskriget användes av Nazityskland

Läs mer

256bit Security AB Offentligt dokument 2013-01-08

256bit Security AB Offentligt dokument 2013-01-08 Säkerhetsbeskrivning 1 Syfte Syftet med det här dokumentet är att översiktligt beskriva säkerhetsfunktionerna i The Secure Channel för att på så vis öka den offentliga förståelsen för hur systemet fungerar.

Läs mer

Krypteringens historia och användningsområden

Krypteringens historia och användningsområden Krypteringens historia och användningsområden - En studie av krypteringstekniker som kan anpassas till undervisning i gymnasieskolan. Linnea Flöjt MMGL99 Handledare: Ulf Persson Examinator: Laura Fainsilber

Läs mer

Att använda kryptering. Nyckelhantering och protokoll som bygger på kryptering

Att använda kryptering. Nyckelhantering och protokoll som bygger på kryptering Att använda kryptering Nyckelhantering och protokoll som bygger på kryptering 1 Nyckelhantering Nycklar måste genereras på säkert sätt Nycklar måste distribueras på säkert sätt Ägaren av en nyckel måste

Läs mer

Kryptering & Chiffer Del 2

Kryptering & Chiffer Del 2 Kryptering & Chiffer Del Vigenere Vigenere är en annan krypteringsmetod som är mer avancerad än de två föregående. Denna metod är säkrare men långt ifrån säker om man använder dåliga nycklar. Det finns

Läs mer

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

MATEMATIK I SÄKERHETENS TJÄNST OM KODNING OCH KRYPTERING 1 1 MATEMATIK I SÄKERHETENS TJÄNST OM KODNING OCH KRYPTERING 1 Juliusz Brzezinski Säkerhet i tekniska sammanhang associeras mycket ofta med säkra hus, säkra bilar, säkra broar, säkra telefonförbindelser

Läs mer

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

RSA-kryptografi för gymnasiet. Jonas Gustafsson & Isac Olofsson RSA-kryptografi för gymnasiet Jonas Gustafsson & Isac Olofsson HT 2010 Innehåll 1 Grundläggande beräkningsmetoder och begrepp 5 1.1 Mängder.............................. 5 1.2 Kvot och rest...........................

Läs mer

Blockkedjor. en introduktion för datavetare. Rikard Hjort, 24 maj 2019

Blockkedjor. en introduktion för datavetare. Rikard Hjort, 24 maj 2019 Blockkedjor en introduktion för datavetare Vem är jag? Varför ska ni lära er om blockkedjor? Alla ska gå härifrån och kunna... förklara Bitcoin är uppbyggt bygga en egen blockkedja läsa på själva om blockkedjeprojekt

Läs mer

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

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar Kryptografi: en blandning av datavetenskap, matematik och tillämpningar Björn von Sydow 17 november 2010 Kryptografins historia Fyra faser Kryptografins historia Fyra faser Antiken ca 1920 Papper och penna.

Läs mer

Datasäkerhet. Petter Ericson pettter@cs.umu.se

Datasäkerhet. Petter Ericson pettter@cs.umu.se Datasäkerhet Petter Ericson pettter@cs.umu.se Vad vet jag? Doktorand i datavetenskap (naturliga och formella språk) Ordförande Umeå Hackerspace Sysadmin CS 07-09 (typ) Aktiv från och till i ACC m.fl. andra

Läs mer

Föreläsning 10. Grundbegrepp (1/5) Grundbegrepp (2/5) Datasäkerhet. olika former av säkerhet. Hot (threat) Svaghet (vulnerability)

Föreläsning 10. Grundbegrepp (1/5) Grundbegrepp (2/5) Datasäkerhet. olika former av säkerhet. Hot (threat) Svaghet (vulnerability) Föreläsning 10 Datasäkerhet grundbegrepp datasäkerhet i nätet Säkerhetsstandarder och program brandväggar IPSEC SSH PGP SSL 11/19/01 Bengt Sahlin 1 Grundbegrepp (1/5) olika former av säkerhet administrativ:

Läs mer

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

Objektorienterad Programkonstruktion. Föreläsning 16 8 feb 2016 Objektorienterad Programkonstruktion Föreläsning 16 8 feb 2016 Kryptering För ordentlig behandling rekommenderas kursen DD2448, Kryptografins Grunder Moderna krypton kan delas in i två sorter, baserat

Läs mer

Övning 6 - Tillämpad datalogi 2012

Övning 6 - Tillämpad datalogi 2012 /home/lindahlm/activity-phd/teaching/12dd1320/exercise6/exercise6.py October 2, 20121 0 # coding : latin Övning 6 - Tillämpad datalogi 2012 Sammanfattning Idag gick vi igenom komprimering, kryptering och

Läs mer

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

Kryptoteknik. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) Kryptoteknik Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) XOR XOR används ofta i kryptering: A B A B 0 0 0 0 1 1 1 0 1 Bit-flipping Om XOR

Läs mer

Writing with context. Att skriva med sammanhang

Writing with context. Att skriva med sammanhang Writing with context Att skriva med sammanhang What makes a piece of writing easy and interesting to read? Discuss in pairs and write down one word (in English or Swedish) to express your opinion http://korta.nu/sust(answer

Läs mer

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

Dagens föreläsning. Datasäkerhet. Tidig historik. Kryptografi Dagens föreläsning Datasäkerhet 2D1522 Datorteknik och -kommunikation 2D2051 Databasteknik och datorkommunikation http://www.nada.kth.se/kurser/kth/2d1522/ http://www.nada.kth.se/kurser/kth/2d2051/ 2006-04-12

Läs mer

Skydd för känsliga data

Skydd för känsliga data Skydd för känsliga data Daniel Bosk 1 Avdelningen för informations- och kommunikationssytem (IKS), Mittuniversitetet, Sundsvall. data.tex 1674 2014-03-19 14:39:35Z danbos 1 Detta verk är tillgängliggjort

Läs mer

Hemligheternas Matematik

Hemligheternas Matematik En redogörelse för den matematiska aspekten av assymetrisk kryptering - hur man med matematik kan utbyta information i hemlighet trots att all kommunikation avlyssnas. Av: Hvitfeldtska gymnasiet Carl Smedstad

Läs mer

Säker lagring av krypteringsnycklar

Säker lagring av krypteringsnycklar Säker lagring av krypteringsnycklar av Fredrik Hansson LiTH-ISY-EX-ET--09/0356--SE 2009 Säker lagring av krypteringsnycklar Examensarbete utfört i informationskodning vid Linköpings tekniska högskola

Läs mer

Övning 6. Komprimering, kryptering, dokumentering & testning

Övning 6. Komprimering, kryptering, dokumentering & testning Per Sedholm DD1320 (tilda11) 2011-10-05 1. Smittskydd Övning 6 Komprimering, kryptering, dokumentering & testning Du har fått ett mail som innehåller tips mot spridning av virus. Informationen är komprimerad

Läs mer

Abstract. 1. Inledning

Abstract. 1. Inledning Abstract Our aim of this project was to use a website to teach a user/reader more about encryption and how to build a safe password. We read about different sorts of attacks towards passwords and how encryption

Läs mer

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

Föreläsninsanteckningar till föreläsning 3: Entropi Föreläsninsanteckningar till föreläsning 3: Entropi Johan Håstad, transkriberat av Pehr Söderman 2006-01-20 1 Entropi Entropi är, inom kryptografin, ett mått på informationsinnehållet i en slumpvariabel.

Läs mer

Att stödja starka elever genom kreativ matte.

Att stödja starka elever genom kreativ matte. Att stödja starka elever genom kreativ matte. Ett samverkansprojekt mellan Örebro universitet och Örebro kommun på gymnasienivå Fil. dr Maike Schindler, universitetslektor i matematikdidaktik maike.schindler@oru.se

Läs mer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real

Läs mer

Säkerhet. Säker kommunikation - Nivå. Secure e-mail. Alice wants to send secret e-mail message, m, to Bob.

Säkerhet. Säker kommunikation - Nivå. Secure e-mail. Alice wants to send secret e-mail message, m, to Bob. Säkerhet Förra gången Introduktion till säkerhet och nätverkssäkerhet Kryptografi Grunder Kryptografiska verktygslådan Symmetriska algoritmer Envägs hashfunktioner Asymmetriska algoritmer Digitala signaturer

Läs mer

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

Matematikens Element. Vad är matematik. Är detta matematik? Anders Fällström Institutionen för matematik och matematisk statistik Umeå universitet Matematikens Element Höstterminen 2006 Anders Fällström Institutionen för matematik och matematisk statistik Umeå universitet Vad är matematik Är detta matematik? 3 1 Eller kanske detta? 4 Men det här

Läs mer

PGP håller posten hemlig

PGP håller posten hemlig PGP håller posten hemlig Även den som har rent mjöl i påsen kan vilja dölja innehållet i sin e-post. Ett sätt är att kryptera den med PGP, Pretty Good Privacy, som har blivit en succé efter den inledande

Läs mer

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

Föreläsninsanteckningar till föreläsning 1: Introduktion Föreläsninsanteckningar till föreläsning 1: Introduktion Johan Håstad, transkriberat av Marcus Dicander 2006-01-18 1 Översikt Vi börjar med en översikt av kursen ochnämner flyktigt vilka områden som kommer

Läs mer

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE SVENSK STANDARD SS-ISO/IEC 26300:2008 Fastställd/Approved: 2008-06-17 Publicerad/Published: 2008-08-04 Utgåva/Edition: 1 Språk/Language: engelska/english ICS: 35.240.30 Information technology Open Document

Läs mer

Modul 3 Föreläsningsinnehåll

Modul 3 Föreläsningsinnehåll 2015-02-03 2015 Jacob Lindehoff, Linnéuniversitetet 1 Modul 3 Föreläsningsinnehåll Vad är ett certifikat? Användningsområden Microsoft Certificate Services Installation Laboration Ingår i Klustringslabben

Läs mer

Nämnarens kryptoskola fördjupning. Enkel transposition

Nämnarens kryptoskola fördjupning. Enkel transposition Nämnarens kryptoskola fördjupning 26. Enkel transposition Hittills har ni sett krypton som bygger på att en bokstav ersätts med en annan bokstav, ett annat tecken eller några siffror. Sådana krypton kallas

Läs mer

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

Sats 2.1 (Kinesiska restsatsen) Låt n och m vara relativt prima heltal samt a och b två godtyckliga heltal. Då har ekvationssystemet Avsnitt 2 Tillägg om kongruensräkning Detta avsnitt handlar om två klassiska satser som används för att förenkla kongruensräkning: Kinesiska restsatsen och Fermats lilla sats. Den första satsen används

Läs mer

http://marvel.com/games/play/31/create_your_own_superhero http://www.heromachine.com/

http://marvel.com/games/play/31/create_your_own_superhero http://www.heromachine.com/ Name: Year 9 w. 4-7 The leading comic book publisher, Marvel Comics, is starting a new comic, which it hopes will become as popular as its classics Spiderman, Superman and The Incredible Hulk. Your job

Läs mer

Föreläsning 10 Datasäkerhet grundbegrepp datasäkerhet i nätet. Säkerhet. Grundbegrepp (1/5) Modern telekommunikation 2002-11-13.

Föreläsning 10 Datasäkerhet grundbegrepp datasäkerhet i nätet. Säkerhet. Grundbegrepp (1/5) Modern telekommunikation 2002-11-13. Föreläsning 10 Datasäkerhet grundbegrepp datasäkerhet i nätet Säkerhetsstandarder och program brandväggar IPSEC SSH PGP SSL 2002-11-13 Bengt Sahlin 1 Säkerhet Olika former av säkerhet (företagsperspektiv

Läs mer

Styrteknik: Binära tal, talsystem och koder D3:1

Styrteknik: Binära tal, talsystem och koder D3:1 Styrteknik: Binära tal, talsystem och koder D3:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik :Binära tal, talsystem och koder

Läs mer

Javadoc. Internet, WorldWideWeb, HTML, och Java. Webbläsarkomponenten. JEditorPane p. HyperlinkListener. Javadoc exempel:

Javadoc. Internet, WorldWideWeb, HTML, och Java. Webbläsarkomponenten. JEditorPane p. HyperlinkListener. Javadoc exempel: Internet, WorldWideWeb, HTML, och Java pplets HTML kan tolkas av swingkomponenter: new Jutton("Hej då! "); utomatiskt genererade dokumentation i HTML JEditorPane webbläsarkomponent

Läs mer

Kravspecifikation Fredrik Berntsson Version 1.1

Kravspecifikation Fredrik Berntsson Version 1.1 Kravspecifikation Fredrik Berntsson Version 1.1 Status Granskad FB 2016-02-01 Godkänd FB 2015-02-01 Dokumenthistorik Version Datum Utförda ändringar Utförda av Granskad 1.0 2015-02-01 Första versionen

Läs mer

Adding active and blended learning to an introductory mechanics course

Adding active and blended learning to an introductory mechanics course Adding active and blended learning to an introductory mechanics course Ulf Gran Chalmers, Physics Background Mechanics 1 for Engineering Physics and Engineering Mathematics (SP2/3, 7.5 hp) 200+ students

Läs mer

COMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall

COMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall COMPUTABILITY BERÄKNINGSBARHET Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall Den centrala frågan: givet ett problem, kan det ha en algoritmisk lösning?

Läs mer

Föreläsning 7. DD2390 Internetprogrammering 6 hp

Föreläsning 7. DD2390 Internetprogrammering 6 hp Föreläsning 7 DD2390 Internetprogrammering 6 hp Innehåll Krypteringsöversikt (PKI) Java Secure Socket Extension (JSSE) Säkerhetsproblem 1. Vem är det man kommunicerar med Autentisering 2. Data kan avläsas

Läs mer

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document Användarhandledning inloggning Logga in Gå till denna webbsida för att logga in: http://csportal.u4a.se/

Läs mer

Algebra och kryptografi Facit till udda uppgifter

Algebra och kryptografi Facit till udda uppgifter VK Algebra och kryptografi Facit till udda uppgifter Tomas Ekholm Niklas Eriksen Magnus Rosenlund Matematiska institutionen, 2002 48 Grupper. Lösning 1.1. Vi väljer att studera varje element i G H för

Läs mer

Moderna krypteringssystem

Moderna krypteringssystem Eva-Maria Vikström Moderna krypteringssystem Seminarieuppsats Institutionen för informationsbehandling Åbo Akademi Åbo 2006 Abstrakt Kryptogra blir allt viktigare i dagens samhälle i och med att stora

Läs mer

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 EIT060 Datasäkerhet - Projekt 2 Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 Innehåll 1 Introduktion 1 2 SSL 1 2.1 Anslutningsprocessen.........................

Läs mer

En introduktion till några klassiska chiffer

En introduktion till några klassiska chiffer En introduktion till några klassiska chiffer Daniel Bosk 1 oktober 2012 Innehåll 1 Inledning 2 2 Terminologi 2 3 Scytale 2 4 Caesarchiffer 3 4.1 Kryptanalys av Caesarchiffret.................... 4 5 Substitutionschiffer

Läs mer

Hela tal LCB 1999/2000

Hela tal LCB 1999/2000 Hela tal LCB 1999/2000 Ersätter Grimaldi 4.3 4.5 1 Delbarhet Alla förekommande tal i fortsättningen är heltal. DEFINITION 1. Man säger att b delar a om det finns ett heltal n så att a Man skriver b a när

Läs mer

Stad + Data = Makt. Kart/GIS-dag SamGIS Skåne 6 december 2017

Stad + Data = Makt. Kart/GIS-dag SamGIS Skåne 6 december 2017 Smart@Helsingborg Stadsledningsförvaltningen Digitaliseringsavdelningen the World s most engaged citizens Stad + Data = Makt Kart/GIS-dag SamGIS Skåne 6 december 2017 Photo: Andreas Fernbrant Urbanisering

Läs mer

Estetisk- Filosofiska Fakulteten Svenska. Susanna Forsberg. En skola för alla. att hjälpa barn med ADHD och Aspergers syndrom. A School for Everyone

Estetisk- Filosofiska Fakulteten Svenska. Susanna Forsberg. En skola för alla. att hjälpa barn med ADHD och Aspergers syndrom. A School for Everyone Estetisk- Filosofiska Fakulteten Svenska Susanna Forsberg En skola för alla att hjälpa barn med ADHD och Aspergers syndrom A School for Everyone helping children with ADHD and Aspergers syndrome. Examensarbete

Läs mer

Elektroniska signaturer - säker identifiering?

Elektroniska signaturer - säker identifiering? Elektroniska signaturer - säker identifiering? Kandidatuppsats, 10 poäng, inom Informationssystem programmet Institutionen för Programvaruteknik och Datavetenskap Blekinge Tekniska Högskola Maj 2001 Handledare:

Läs mer

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

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL och Media, SF60 och 5B8, onsdagen den 7 augusti 0, kl 4.00-9.00. Examinator: Olof Heden Hjälpmedel: Inga

Läs mer

Protokollbeskrivning av OKI

Protokollbeskrivning av OKI Protokollbeskrivning av OKI Dokument: Protokollbeskrivning av OKI Sida 1 / 17 1 Syfte Det här dokumentet har som syfte att beskriva protokollet OKI. 2 Sammanfattning OKI är tänkt som en öppen standard

Läs mer

Att dela en hemlighet

Att dela en hemlighet Att dela en hemlighet Olle Alvin, NA3d 19 maj 014 Gymnasiearbete Spyken Handledare: Roger Bengtsson Abstract This report will investigate different methods for sharing secret information, for example bank

Läs mer

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang) Tentamen i Programmeringsteori Institutionen for datorteknik Uppsala universitet 1996{08{14 Larare: Parosh A. A., M. Kindahl Plats: Polacksbacken Skrivtid: 9 15 Hjalpmedel: Inga Anvisningar: 1. Varje bevissteg

Läs mer

Ökat personligt engagemang En studie om coachande förhållningssätt

Ökat personligt engagemang En studie om coachande förhållningssätt Lärarutbildningen Fakulteten för lärande och samhälle Individ och samhälle Uppsats 7,5 högskolepoäng Ökat personligt engagemang En studie om coachande förhållningssätt Increased personal involvement A

Läs mer

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 2. Explicita formler och rekursionsformler. Dag mötte vi flera talföljder,

Läs mer

Tentamen i Kryptologi 1DT

Tentamen i Kryptologi 1DT Tentamen i Kryptologi 1DT659 2007 06 12 Lärare: Björn Victor, inst. f. informationsteknologi (tel. 070 425 0239) Skrivtid: 8.00 13.00 Hjälpmedel: Inga. Accessories: None. Anvisningar: Om ni följer dessa

Läs mer

σ 1 = (531)(64782), τ 1 = (18)(27)(36)(45), τ 1 σ 1 = (423871)(56).

σ 1 = (531)(64782), τ 1 = (18)(27)(36)(45), τ 1 σ 1 = (423871)(56). MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Avd. Matematik Examinator: Övningstenta i Algebra och Kombinatorik 7,5 hp 2015-11-24 Exempel på hur tentan skulle kunna se ut om alla uppgifter var från

Läs mer

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson Kvalitetsarbete I Landstinget i Kalmar län 24 oktober 2007 Eva Arvidsson Bakgrund Sammanhållen primärvård 2005 Nytt ekonomiskt system Olika tradition och förutsättningar Olika pågående projekt Get the

Läs mer

ENKEL Programmering 3

ENKEL Programmering 3 ENKEL Programmering 3 Figurer i långa rader Titta på de olika figurerna i de olika raderna. Kan du se att de olika figurerna i varje rad är placerade enligt ett visst mönster? Kan du lista ut vilken figur

Läs mer

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

Kryptering. Wearable Computers D 10p. Namn: Josef Israelsson Datum: 2003-10-13 Lärare: Björne Lindberg Ulf Brydsten Lars Karlsson Kryptering Wearable Computers D 10p Namn: Datum: 2003-10-13 Lärare: Björne Lindberg Ulf Brydsten Lars Karlsson Sammanfattning Målet med denna rapport är att ge en helhetstäckande men samtidigt också djupare

Läs mer

Mathematical Cryptology (6hp)

Mathematical Cryptology (6hp) Time to sign up for the continuation course Mathematical Cryptology (6hp) 12 lectures (2 hours) + 2 small projects Exercises are done on your own and discussed in class (6*2 hours). Contents: Elliptic

Läs mer

Teknikprogrammet Klass TE14A, Norrköping. Jacob Almrot. Självstyrda bilar. Datum: 2015-03-09

Teknikprogrammet Klass TE14A, Norrköping. Jacob Almrot. Självstyrda bilar. Datum: 2015-03-09 Teknikprogrammet Klass TE14A, Norrköping. Jacob Almrot Självstyrda bilar Datum: 2015-03-09 Abstract This report is about when you could buy a self-driving car and what they would look like. I also mention

Läs mer

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: 870408-6654. Skola: DSV

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: 870408-6654. Skola: DSV Gesäll provet Internetprogrammering I Författare: Henrik Fridström Personnummer: 870408-6654 Skola: DSV Val av uppgift: En e-mail applikation med kryptering Bakgrund: Som sista uppgift i kursen Internetprogrammering

Läs mer

Introduktion till protokoll för nätverkssäkerhet

Introduktion till protokoll för nätverkssäkerhet Tekn.dr. Göran Pulkkis Överlärare i Datateknik Introduktion till protokoll för nätverkssäkerhet Innehåll Varför behövs och hur realiseras datasäkerhet? Datasäkerhetshot Datasäkerhetsteknik Datasäkerhetsprogramvara

Läs mer

Second handbook of research on mathematics teaching and learning (NCTM)

Second handbook of research on mathematics teaching and learning (NCTM) Second handbook of research on mathematics teaching and learning (NCTM) The effects of classroom mathematics teaching on students learning. (Hiebert & Grouws, 2007) Inledande observationer Undervisningens

Läs mer

Lösningar till utvalda uppgifter i kapitel 5

Lösningar till utvalda uppgifter i kapitel 5 Lösningar till utvalda uppgifter i kapitel 5 5.3. Vi använder Euklides algoritm och får 4485 = 1 3042 + 1443 3042 = 2 1443 + 156 1443 = 9 156 + 39 156 = 4 39. Alltså är sgd(3042, 4485) = 39. Om vi startar

Läs mer

Make a speech. How to make the perfect speech. söndag 6 oktober 13

Make a speech. How to make the perfect speech. söndag 6 oktober 13 Make a speech How to make the perfect speech FOPPA FOPPA Finding FOPPA Finding Organizing FOPPA Finding Organizing Phrasing FOPPA Finding Organizing Phrasing Preparing FOPPA Finding Organizing Phrasing

Läs mer

Datasäkerhet och integritet

Datasäkerhet och integritet OH-2 v1 Kryptering Hashing Digitala signaturer Certifikat & PKI Taxonomi Säkerhet Krypteringsalgoritmer Säkerhetstjänster Hemlig nyckel (tex. DES) Publik Message nyckel diggest (tex. RSA) (tex. MD5) Hemlighetshållande

Läs mer

Utvärdering SFI, ht -13

Utvärdering SFI, ht -13 Utvärdering SFI, ht -13 Biblioteksbesöken 3% Ej svarat 3% 26% 68% Jag hoppas att gå till biblioteket en gång två veckor I think its important to come to library but maybe not every week I like because

Läs mer

State Examinations Commission

State Examinations Commission State Examinations Commission Marking schemes published by the State Examinations Commission are not intended to be standalone documents. They are an essential resource for examiners who receive training

Läs mer

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05 Om oss Vi på Binz är glada att du är intresserad av vårt support-system för begravningsbilar. Sedan mer än 75 år tillverkar vi specialfordon i Lorch för de flesta olika användningsändamål, och detta enligt

Läs mer

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)

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) Uppsala Universitet Matematiska institutionen Isac Hedén Algebra I, 5 hp Sammanfattning av föreläsning 9. Kongruenser Låt n vara ett heltal som är 2 eller större. Om a och b är två heltal så säger vi att

Läs mer

Workplan Food. Spring term 2016 Year 7. Name:

Workplan Food. Spring term 2016 Year 7. Name: Workplan Food Spring term 2016 Year 7 Name: During the time we work with this workplan you will also be getting some tests in English. You cannot practice for these tests. Compulsory o Read My Canadian

Läs mer

E V - C E R T I F I K AT: VA R F Ö R A N V Ä N D A D E N S TA R K A S T E S S L AUTENTISERINGSPROCESS?

E V - C E R T I F I K AT: VA R F Ö R A N V Ä N D A D E N S TA R K A S T E S S L AUTENTISERINGSPROCESS? E V - C E R T I F I K AT: VA R F Ö R A N V Ä N D A D E N S TA R K A S T E S S L AUTENTISERINGSPROCESS? D i n t a l a r e i d a g J o n a t h a n A g e r i u s W e b S e c u r i t y C o n s u l t a n t

Läs mer

Ett säkert Internet. Betalningsformer för säkra transaktioner över Internet. Författare: Anders Frånberg. Examensarbete I, 10p Vårterminen - 00

Ett säkert Internet. Betalningsformer för säkra transaktioner över Internet. Författare: Anders Frånberg. Examensarbete I, 10p Vårterminen - 00 Handelshögskolan vid Göteborgs Universitet Institutionen för Informatik Ett säkert Internet Betalningsformer för säkra transaktioner över Internet Författare: Anders Frånberg Examensarbete I, 10p Vårterminen

Läs mer

Projektmodell med kunskapshantering anpassad för Svenska Mässan Koncernen

Projektmodell med kunskapshantering anpassad för Svenska Mässan Koncernen Examensarbete Projektmodell med kunskapshantering anpassad för Svenska Mässan Koncernen Malin Carlström, Sandra Mårtensson 2010-05-21 Ämne: Informationslogistik Nivå: Kandidat Kurskod: 2IL00E Projektmodell

Läs mer

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson Kravhantering På Riktigt, 16 maj 2018 Anna Fallqvist Eriksson Agilista, Go See Talents linkedin.com/in/anfaer/

Läs mer

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

Lösning till tentamensskrivning i Diskret Matematik, SF1610 och 5B1118, torsdagen den 21 oktober 2010, kl Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik, SF6 och 5B8, torsdagen den 2 oktober 2, kl 4-9 Examinator: Olof Heden Hjälpmedel: Inga hjälpmedel är tillåtna på tentamensskrivningen

Läs mer

Join the Quest 3. Fortsätt glänsa i engelska. Be a Star Reader!

Join the Quest 3. Fortsätt glänsa i engelska. Be a Star Reader! Join the Quest 3 Fortsätt glänsa i engelska. Be a Star Reader! PROVLEKTION: A Book Review, Charlie and the Chocolate Factor by Roald Dahl Följande provlektioner är ett utdrag ur Join the Quest åk 3 Textbook

Läs mer

Kommentar till bilderna. Att spara hörsel för framtiden. Bara det värdefulla är vi beredda att skydda! Hörseln vad kan vi förstå?!

Kommentar till bilderna. Att spara hörsel för framtiden. Bara det värdefulla är vi beredda att skydda! Hörseln vad kan vi förstå?! Kommentar till bilderna Att spara hörsel för framtiden SIS-seminarium i Stockholm 2010-11-10 Anders Jönsson Dessa bilder är gjorda att tala till och innehåller inte en sammanfattning av föredraget. Dessutom

Läs mer

Krypteringsprogrammet Kryptogamen

Krypteringsprogrammet Kryptogamen Kryptogamen Sida 1(5) Krypteringsprogrammet Kryptogamen Om programmet Detta program är avsett som en pedagogisk leksak. Det hindrar inte att det kan användas för att försvåra insyn i exempelvis en mailkommunikation

Läs mer

DNSSec. Garanterar ett säkert internet

DNSSec. Garanterar ett säkert internet DNSSec Garanterar ett säkert internet Vad är DNSSec? 2 DNSSec är ett tillägg i Domain Name System (DNS), som säkrar DNS-svarens äkthet och integritet. Tekniska åtgärder tillämpas vilket gör att den dator

Läs mer