Test av kryptobiblioteket

Storlek: px
Starta visningen från sidan:

Download "Test av kryptobiblioteket"

Transkript

1 Test av kryptobiblioteket 1 Syfte Det här dokumentet är en testplan som beskriver hur kryptobibliotekets olika implementationer ska testas. Dokumentet beskriver inte de tester som redan ingår i utvecklingsprocessen utan de tester som ska utföras efter att programvaran har färdigställts. 2 Sammanfattning Tre olika typer av tester ska utföras av kryptobiblioteket: funktionella tester, iterativa tester och utvärdering mot standard (conformance tests). Samtliga av dessa tester ska automatiseras i programmet krypto_test. 3 Klassificering Dokumentet har klassificerats som offentligt dokument. Det finns därför inga restriktioner för spridning eller hantering. Dokument: Test av kryptobiblioteket 1

2 4 Innehåll 1 Syfte Sammanfattning Klassificering Innehåll Grundläggande funktionella tester AES Serpent RandLib NumberLib RSA SHA HMAC-SHA Iterativa tester AES Serpent RandLib NumberLib RSA SHA HMAC-SHA Test av conformance Serpent och AES AES Serpent SHA HMAC-SHA RSA Automatiserade tester...14 Dokument: Test av kryptobiblioteket 2

3 5 Grundläggande funktionella tester De funktionella testerna kontrollerar de grundläggande funktionerna av implementationerna i kryptobiblioteket. Dessa test ska utföras efter det att koden är utvecklad och de funktionstester som ingår som krav i utvecklingsprocessen redan har utförts, se dokumentet utvecklingsprocess och underhåll av kod, som inkluderar krav på både dynamiska tester och kodgranskning. Dessa tester fokuserar därför på de grundläggande säkerhetsfunktionerna i varje implementation för att testa koden mer formellt. Testerna inkluderar enbart funktioner som är säkerhetskritiska och inte detaljfunktioner eftersom dessa redan skall vara testade. De funktionella testerna på kryptobiblioteket ska automatiserats i programmet krypto_test som skal utföra alla funktionella tester automatiskt. Notera också att funktionella tester inte är fullständiga tester och i vissa fall är långt från vad som är tillräckligt för att testa implementationerna. Ytterligare tester måste följa beroende på vilken typ av kod det rör sig om. 5.1 AES Dessa funktionella tester skall utföras på implementationen: Metod ID Genomförande EncryptData() KRY_FUN_AES1 Kontrollera att datan förändras vid kryptering. KRY_FUN_AES2 KRY_FUN_AES3 KRY_FUN_AES4 Kontrollera att olika krypteringsnycklar ger olika resultat vid kryptering. Kontrollera att data kan dekrypteras till samma data igen. Testa att metoden SetNewIV() påverkar krypteringen så att det blir ett annat resultat. Dokument: Test av kryptobiblioteket 3

4 5.2 Serpent Dessa funktionella tester skall utföras på implementationen: Metod ID Genomförande EncryptData() KRY_FUN_SER1 Kontrollera att datan förändras vid kryptering. KRY_FUN_SER2 KRY_FUN_SER3 KRY_FUN_SER4 Kontrollera att olika krypteringsnycklar ger olika resultat vid kryptering. Kontrollera att datan kan dekrypteras till samma data igen. Testa att metoden SetNewIV() påverkar krypteringen så att det blir ett annat resultat. KeyEncrypt() KRY_FUN_SER5 Kontrollera att datan förändras vid kryptering. KRY_FUN_SER6 KRY_FUN_SER7 Kontrollera att olika krypteringsnycklar ger olika resultat vid kryptering. Kontrollera att datan kan dekrypteras till samma data igen. RawEncrypt() KRY_FUN_SER8 Kontrollera att datan förändras vid kryptering. KRY_FUN_SER9 Kontrollera att olika krypteringsnycklar ger olika resultat vid kryptering. GenCtrSeq() KRY_FUN_SER10 Kontrollera att olika krypteringsnycklar ger olika talsekvenser. 5.3 RandLib Dessa funktionella tester skall utföras på implementationen: Metod ID Genomförande MakeRandData() KRY_FUN_RLB1 Kontrollera att ingen data kan genereras innan initiering. KRY_FUN_RLB2 Kontrollera att det genereras olika slumptal. MakeRandInt() KRY_FUN_RLB3 Kontrollera att ingen data kan genereras innan initiering. KRY_FUN_RLB4 Kontrollera att det genereras olika slumptal. Dokument: Test av kryptobiblioteket 4

5 5.4 NumberLib Dessa funktionella tester skall utföras på implementationen: Metod ID Genomförande Aritmetiska operatorer KRY_FUN_NUM1 Beräkna följande formel med några stora tal (>=1024 bit) och små tal (<=32 bit): a + b b = a. KRY_FUN_NUM2 Utför följande beräkningar med några små tal: a += b, och a -= b och jämför resultatet med operatorerna + och -. KRY_FUN_NUM3 Testa operatorn ++ och --. KRY_FUN_NUM4 Beräkna följande formel med några stora och små tal: a * b / b = a och a / b * b + a % b = a, där a % b!= 0. KRY_FUN_NUM5 Utför följande beräkningar med några små tal: a *= b, a \= b och a %= b, jämför resultatet med operatorerna *, / och %. KRY_FUN_NUM6 KRY_FUN_NUM7 Testa jämförelserna: <, >, <= samt >= med några små tal och kontrollera mot det korrekta resultatet. Testa att a b, samt a + b ger rätt resultat med ett negativt b eller a. Kontrollera sedan att a b ger rätt resultat om b>a. Testet kan genomföras med enbart små tal. GCD() KRY_FUN_NUM8 Testa metoden med två primtal. Multiplicera båda talen med ett tal n, kontrollera att gcd (a,b) är lika med n. IsPrime() KRY_FUN_NUM9 Testa metoden med några små tal (<1000) som som är både primtal och komposita. ModularInv() KRY_FUN_NUM10 Testa metoden med några tal. Välj ett slumptal mindre än ett primtal p och invertera talet över Zp, testa att produkten med inversen och talet ger siffran 1. Dokument: Test av kryptobiblioteket 5

6 5.5 RSA Dessa funktionella tester skall utföras på implementationen: Funktionalitet ID Genomförande SignData() KRY_FUN_RSA1 Generera ett nyckelpar för signering. Exportera privat och publik nyckel från nyckelparet. Skapa en nytt objekt av både privat och publik nyckel. Signera och verifiera en digest (SHA-256) samt kontrollera att resultatet är positivt. KRY_FUN_RSA2 KRY_FUN_RSA3 Testa att verifieringen blir fel om digesten ändras i föregående test. Testa att verifieringen blir fel om signaturen ändras i föregående test. MakeSessionKey() KRY_FUN_RSA4 Generera ett nyckelpar för kryptering. Exportera privat och publik nyckel från nyckelparet. Skapa en nytt objekt av både privat och publik nyckel. Skapa en sessionsnyckel för kryptering. Testa att dekryptera nyckeln och jämför med sessionsnyckeln. KRY_FUN_RSA5 Skapa en ny sessionsnyckel och kontrollera att denna är olika samt att den krypterade nyckeln inte är densamma. 5.6 SHA-256 Dessa funktionella tester skall utföras på implementationen: Metod ID Genomförande EvaluateDigest() KRY_FUN_SHA1 Kontrollera att olika data ger olika digest-värden. 5.7 HMAC-SHA256 Dessa funktionella tester skall utföras på implementationen: Metod ID Genomförande GetMAC() KRY_FUN_MAC1 Kontrollera att olika nycklar ger olika mac-koder med samma data. KRY_FUN_MAC2 Kontrollera att olika data ger olika mac-koder med samma nyckel. Dokument: Test av kryptobiblioteket 6

7 6 Iterativa tester Genom att utföra funktionella tester av implementationerna kan man kontrollera att de är sunda och kan producera, eller till och med brukar producera, ett korrekt resultat. Detta är långt ifrån ett komplett funktionellt test som kontrollerar att implementationen är fullständig och alltid skapar ett korrekt resultat. Koden kan fortfarande innehålla fel som inträffar vid ovanliga händelser, eller kanske producera enbart en liten mängd utvärden fast något annat förväntats. Det önskvärda är att fullständigt testa implementationerna med samtliga invärden för att kontrollera att de ger ett korrekt resultat, fast det är inte möjligt med tanke på den stora mängden med kombinationer på invärden, exempelvis kombinationer av krypteringsnycklar. Iterativa tester är ett sätta att hantera ovanliga fel. Det går aldrig att garantera att fel av den här typen inte förekommer, men man kan kan kontrollera att om de förekommer i vart fall är mycket osannolika fel som förekommer väldigt sällan. Ett iterativt test består av ett teststeg som upprepas många gånger. Testet går ut på att visa att algoritmen gör vad den ska oavsett invärde. Notera att en implementation trotts att den genomgått iterativa tester mycket väl kan skilja från den implementerade standarden, därför måste ytterligare tester följa då en specifik standard har implementerats. 6.1 AES AES testas på samma vis som Serpent. Dessa iterativa tester skall utföras: KRY_ITT_AES1: Kontrollera om kryptering/dekryptering fungerar utan fel. 1. Skapa en slumpmässig krypteringsnyckel (256 bit). 2. Skapa slumpmässig data med slumpmässig längd ( bytes). 3. Kryptera och dekryptera datan för att se om resultatet blir detsamma. Upprepa dessa steg med iterationer. KRY_ITT_AES2: Kontrollera att samtliga värden av nyckeln påverkar krypteringen. 1. Generera en slumpvis nyckel (256 bit). 2. Skapa ett slumpmässigt datablock och kryptera detta. 3. Ändra (genom invertering) byte för byte hela nyckeln igenom och för varje ändring kontrollera att kryptering med den förändrade nyckeln inte ger samma resultat. Upprepa dessa steg med iterationer. Dokument: Test av kryptobiblioteket 7

8 6.2 Serpent De iterativa testen för Serpent ska visa att (1) krypteringen fungerar vilket är en indikation på att algoritmen är korrekt implementerad och (2) att varje byte av krypteringsnyckeln påverkar resultatet vid kryptering vilket visar att hela krypteringsnyckeln används. Dessa iterativa tester skall utföras: KRY_ITT_SER1: Kontrollera om kryptering/dekryptering fungerar utan fel. 1. Skapa en slumpmässig krypteringsnyckel (256 bit). 2. Skapa slumpmässig data med slumpmässig längd ( bytes). 3. Kryptera och dekryptera datan för att se om resultatet blir densamma. Upprepa dessa steg med iterationer. KRY_ITT_SER2: Kontrollera att samtliga värden av nyckel påverkar krypteringen. 1. Generera en slumpvis nyckel (256 bit). 2. Skapa ett slumpmässigt datablock och kryptera detta. 3. Ändra (genom invertering) byte för byte hela nyckeln igenom och för varje ändring kontrollera att kryptering med den förändrade nyckeln inte ger samma resultat. Upprepa dessa steg med iterationer. 6.3 RandLib Det är svårt att visa att slumptal verkligen är slumptal, men om algoritmen kan generera unika krypteringsnycklar är detta en indikation på att implementationen fungerar. Dessa iterativa tester skall utföras: KRY_ITT_RLB1: Kontrollera att slumptalen är unika. 1. Generera en slumpvis nyckel (256 bit). 2. Kontrollera att nyckeln inte har genererats tidigare. Upprepa dessa steg med iterationer. Dokument: Test av kryptobiblioteket 8

9 6.4 NumberLib I NumberLib ska de grundläggande aritmetiska operationerna testas samt test av primtal. De grundläggande aritmetiska operationerna testas genom att skapa en serie med slumptal och sedan addera och subtrahera dessa talen till varandra, eller multiplicera och dividera. Kedjor av multiplikationer resulterar i mycket stora tal, därför har mindre kedjor av multiplikation/division upprepats flera gånger. Det är också svårt att testa att tal verkligen är primtal utan att utvärdera mot en separat algoritm, däremot kan man med fördel kontrollera att algoritmen inte godkänner tal som inte är primtal, dvs att algoritmen inte gör fel istället för att kontrollera att den gör rätt. Funktionerna för modulär exponering och modulär invertering är säkerhetskritiska men testas inte eftersom dessa anses testas senare i samband med tester av RSA-implementationen. Dessa iterativa tester skall utföras: KRY_ITT_NUM1: Addition och subtraktion. Skapa en serie med slumptal av olika storlek. Addera talen till varandra, subtrahera sedan alla talen i samma ordning utan det sista. Kontrollera att det kvarvarande värdet stämmer överens med det sista talet. A + B + C M + N - A - B - C... - M = N Testet ska utföras med slumpvis tal av olika slumpvis storlek mellan bit. KRY_ITT_NUM2: Multiplikation och division. Samma test som för addition/subtraktion fast med operationerna multiplikation och sedan division skall utföras. Testet utförs med 20st tal med en storlek slumpvis vald mellan bit, vilket ger en maximal produkt på 2560 bit innan division. Detta testet utförs sedan gånger. KRY_ITT_NUM3: Test av primtalstest. 1. Skapa två slumpvisa tal. 2. Multiplicera samman dessa tal. Kontrollera att produkten inte klassas som primtal. Upprepa testet med följande värden: 256bit tal 5 milj iterationer 512bit tal 1 milj iterationer 1024bit tal iterationer Dokument: Test av kryptobiblioteket 9

10 KRY_ITT_NUM4: Test av modulär invertering. 1. Välj ett slumpvis tal n med längden bit. 2. Välj ett slumpvis tal a med slumpvis längd som är mindre än n. 3. Beräkna inversen till a över (mod n), om den inte finns fortsätt med nästa iteration. 4. Kontrollera att (invers * a) mod n = 1, annars skriv ut fel. Detta testet utförs sedan gånger. 6.5 RSA RSA implementationen testas genom att testa att nyckelgenerering och kryptering/dekryptering, alt signering/verifiering fungerar. Eftersom kryptering/verifiering samt dekryptering/signering sker med två olika beräkningar (=asymmetrisk kryptering) kan detta anses vara ett bra test på att algoritmen fungerar för de testade invärdena. Dessa iterativa tester skall utföras: KRY_ITT_RSA1: Test av kryptering 1. Generera ett nyckelpar (kryptering) 2. Upprepa x ggr: 2.1 Skapa sessionsnyckel och krypterad sessionsnyckel (MakeSessionKey). 2.2 Kontrollera om någon av nycklarna har genererats tidigare. 2.3 Dekryptera krypteringsnyckeln och kontrollera att sessionsnycklarna stämmer överens. Testet upprepas med följande värden: 512bit nyckel: x=100, iterationer 1024bit nyckel: x=100, 1000 iterationer 2048bit nyckel: x=500, 200 iterationer KRY_ITT_RSA2: Test av signering 1. Generera ett nyckepar (signering) 2. Upprepa x ggr: 2.1 Generera ett 256bit slumptal (för att simulera SHA-256 värde) 2.2 Signera värdet (SignData()). 2.3 Kontrollera om signaturen är unik och inte har förekommit tidigare. 2.4 Verifiera att signaturen är korrekt. 2.4 Ändra slumptalet och verifiera att signaturen blir fel. Testet upprepas med följande värden: 512bit nyckel: x=10, iterationer 1024bit nyckel: x=10, 1000 iterationer 2048bit nyckel: x=7, 200 iterationer Dokument: Test av kryptobiblioteket 10

11 6.6 SHA-256 SHA-256 kontrolleras genom att testa att en ändring i data (ändring av slumpvis byte, förkortning och förläng) resulterar i en ändring av digest-värde. Algoritmen testas även genom att kontrollera att digest-värdet som genereras är unikt. Dessa iterativa tester skall utföras: KRY_ITT_SHA1: Kontroll att ändrad data ger nytt värde 1. Beräkna en mängd slumptal 2N, där N:s längd väljs slumpmässigt mellan bytes. 2. Beräkna SHA-värdet av slumptalen N (första halvan av slumptal). 2.1 Ändra ett slumpvis valt värde i N genom att invertera byten. Kontrollera att värdet ändras. 2.2 Gör datan mindre (krymp längden slumpmässigt till 0..N-1). Kontrollera att värdet ändras. 2.3 Lägg till data (öka längden slumpmässigt till N+1...2N). Kontrollera att värdet ändras. Upprepa testet med iterationer. KRY_ITT_SHA2: Kontrollera att digest-värdet är unikt. 1. Skapa en slumpvis data med längden bytes. 2. Kontrollera att digest-värdet inte har genererats tidigare. Upprepa testet med iterationer 6.7 HMAC-SHA256 Inga iterativa tester ska utföras av hmac, orsaken är att implementationen starkt bygger på SHA-256 som redan har testats med iterativa tester. Dokument: Test av kryptobiblioteket 11

12 7 Test av conformance Dessa tester går ut på att kontrollera att implementationen stämmer överens med den implementerade standarden (conformance). Detta är väldigt viktigt när det gäller kryptokod, en implementation kan vara fullt fungerande på så vis att data krypteras och dekrypteras utan fel, men trotts detta kan implementationen avvika från den tänkta standarden. Dessa typer av fel är också mycket vanliga. Det är därför viktigt att testa att implementationen stämmer exakt överens med de standarder som ska implementeras. Detta görs normalt via tester med testvektorer (black-box tester) från en referensimplementation. De tester som ska utföras av kryptobiblioteket är så långt det är möjligt hämtade från NIST:s valideringssystem Cryptographic Algorithm Validation System (CAVS). CAVS är grunden för validering av kryptomoduler enligt FIPS och finns beskrivna i offentliga dokument som är tillgängliga på NIST:s hemsida. Där finns även de testvektorer som behövs för att utföra testerna. Alla tester enligt CAVS ska inte genomföras utan enbart de viktigaste testen. 7.1 Serpent och AES Hur AES ska testas enligt CAVP finns beskrivet i AES Algorithm Validation System (AESAVS) som inkluderar tre olika tester av krypteringsalgoritmen, Known Answer Tests (KAT), Monte Carlo Tests (MCT) och Multi-block Message Tests (MMT). Testvektorer för AES finns tillgängliga via NIST:s hemsida. Motsvarande testvektorer för Serpent finns tillgängliga via Serpent algoritmens hemsida, eftersom Serpent var en kandidat till AES så publicerades testvektorerna på detta format samtidigt som algoritmen offentliggjordes. Det går därför utmärkt att utföra de tester som beskrivs i AESAVS även på Serpent. Known Anser Tests (KAT) är tester där par av invärden och utvärden till kryptografiska primitiver testas för att kontrollera att implementationer stämmer överens med standarden. KAT finns i två serier, en med variabelt block och en med variabel nyckel. Det finns även olika serier för respektive nyckellängd och för AES även serier för S-boxar och andra interna värden. Monte Carlo Tests (MCT) är en variant på KAT-tester där algoritmen itereras i en stor serie av iterationer inkluderande både key-setup och kryptering/dekryptering. Det slutgiltiga resultatet ska sedan stämma överens med standarden. Multi-block Message Tests (MMT) är tester av längre meddelanden som testar att krypteringsläget har implementerats korrekt. Dessa tester är inte lika viktiga i detta fallet eftersom främst ECB (nycklar) och CBC (övrig data) används vilket är relativt enkla krypteringslägen. MMT är framförallt motiverat när mer avancerade krypteringslägen används. MMT behöver inte utföras av någon av algoritmerna. Dokument: Test av kryptobiblioteket 12

13 7.1.1 AES AES ska testas på samma vis som Serpent, skillnaden är att MCT utförs med lite färre iterationer för att sammanfalla med AESAVS testvektorer. AESAVS testvektorer för KAT inkluderar även dekryptering och andra krypteringslägen, dessa tester behöver inte utföras. Följande tester skall utföras: ID KRY_ALG_AES1 KRY_ALG_AES2 KRY_ALG_AES3 Genomförande KAT med variable key skall utföras på algoritmen för alla tre nyckellängder vid kryptering i ECB enligt AESAVS. KAT med variable text skall utföras på algoritmen för alla tre nyckellängder vid kryptering i ECB enligt AESAVS. MCT för kryptering och dekryptering skall utföras enligt AESAVS, slutvärdet efter sista iterationen jämförs med förväntat resultat. Alla tre nyckellängder för AES skall testas (totalt 6st MCT om vardera iterationer) Serpent Fullständiga KAT och MCT för ECB skall utföras av algoritmen för att kontrollera S-boxar och andra interna funktioner. MMT behöver inte utföras. Följande tester skall utföras: ID KRY_ALG_SER1 KRY_ALG_SER2 KRY_ALG_SER3 Genomförande KAT med variable key skall utföras på algoritmen för alla tre nyckellängder enligt AESAVS och testvektorer för Serpent. KAT med variable text skall utföras på algoritmen för alla tre nyckellängder enligt AESAVS och testvektorer för Serpent. MCT för kryptering och dekryptering skall utföras enligt AESAVS och testvektorer för Serpent, slutvärdet efter sista iterationen jämförs med förväntat resultat. Alla tre nyckellängder för Serpent skall testas (totalt 6st MCT om vardera 4 milj. iterationer). Dokument: Test av kryptobiblioteket 13

14 7.2 SHA-256 Hur SHA-2 (som inkluderar SHA-256) ska testas enligt CAVS finns beskrivet i SHAVS som inkluderar tre olika tester, The Short Message Test, The Selected Long Message Test och Te Random Message Test. Dessutom finns det enklare testvektorer i dokumentet FIPS appendix B. Följande tester skall utföras: ID KRY_ALG_SHA1 KRY_ALG_SHA2 KRY_ALG_SHA3 KRY_ALG_SHA4 Genomförande De testvektorer som finns beskriva i FIPS-PUB appendix B skall testas. The Short Message Test (byte-oriented) skall utföras enligt SHAVS. The Selected Long Message Test (byte-oriented) skall utföras enligt SHAVS. The Random Message Test skall utföras enligt SHAVS, det slutgiltiga värdet efter sista iterationen jämförs med det förväntade värdet ( iterationer). 7.3 HMAC-SHA256 Inga tester av conformance behöver utföras på HMAC-SHA256 eftersom tester av den underliggande algoritmen (SHA-256) tillsammans med övriga tester anses tillräckliga. 7.4 RSA Inga tester av conformance behöver utföras av RSA utan de iterativa testerna som utförts anses tillräckliga för att visa att implementationen fungerar (eftersom det är en asymmetrisk algoritm och kryptering/dekryptering är helt olika). 8 Automatiserade tester Alla tester i detta dokument skall implementeras så att de utförs automatiskt av programmet krypto_test. Programmet kan sedan kompileras och köras efter att det gjorts ändringar i koden eller inför en ny version av klient/server eller hjälpprogram. Dokument: Test av kryptobiblioteket 14

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

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

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

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

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

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

Security Target (ST) för The Secure Channel (server)

Security Target (ST) för The Secure Channel (server) Security Target (ST) för The Secure Channel (server) Dokument: Security Target (ST) för The Secure Channel (server) 1 Innehållsförteckning 1 Introduktion (ASE_INT)...3 1.1 ST Referens...3 1.2 Klassificering...3

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

Försöksnomineringssystem 2013

Försöksnomineringssystem 2013 Försöksnomineringssystem 2013 Försöksnomineringssystem 2013... 1 1 Nominering... 2 1.1 Nominera sig själv... 2 1.2 Nominera någon annan... 2 1.3 Nominera som förening m.fl.... 2 2 Deltagaruppgifter...

Läs mer

RIV Tekniska Anvisningar Kryptografi. Version ARK_

RIV Tekniska Anvisningar Kryptografi. Version ARK_ RIV Tekniska Anvisningar Kryptografi ARK_0036 Innehåll 1. Inledning... 2 1.1 Målgrupp... 2 2. Om kryptografiska inställningar... 2 2.1 Cipher suites... 2 3. Krav och rekommendationer... 3 3.1 Cipher Suites...

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

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

Anpassning av GNU Nettle för inbyggda system

Anpassning av GNU Nettle för inbyggda system Anpassning av GNU Nettle för inbyggda system Niels Möller, South Pole AB April 2013 Innehåll 1 Inledning 2 2 Mål och syfte 2 3 Projektbeskrivning 2 3.1 Utvecklingssystem.......................... 2 3.2

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

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

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äsning 9: Talteori

Föreläsning 9: Talteori DD2458, Problemlösning och programmering under press Föreläsning 9: Talteori Datum: 2007-11-13 Skribent(er): Niklas Lindbom och Daniel Walldin Föreläsare: Per Austrin Den här föreläsningen behandlar modulär

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

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

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

Många företag och myndigheter sköter sina betalningar till Plusoch

Många företag och myndigheter sköter sina betalningar till Plusoch 70 80 60 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 40 20 30 Manual 2 Installation Många företag och myndigheter sköter sina betalningar till Plusoch Bankgirot

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

E-Betalning Teknisk handbok Version 0702 Innehåll

E-Betalning Teknisk handbok Version 0702 Innehåll E-Betalning Teknisk handbok Version 0702 Innehåll 1 Inledning... 3 1.1 E-betalning, Version 1.1... 3 1.2 Att komma igång Arbetsgången... 3 1.3 Teknisk flödesbeskrivning - betalningstjänsterna... 4 1.4

Läs mer

Säker e-kommunikation 2009-04-22

Säker e-kommunikation 2009-04-22 Säker e-kommunikation 2009-04-22 Leif Forsman Logica 2008. All rights reserved Agenda - Inledning - Bakgrund och historik - Vilka risker och hot finns? - Vilka säkerhetslösningar finns det för att skydda

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

Vad man vill kunna göra. Lagra och skicka krypterad information Säkerställa att information inte manipuleras Signera sådant som man står för

Vad man vill kunna göra. Lagra och skicka krypterad information Säkerställa att information inte manipuleras Signera sådant som man står för Vad man vill kunna göra Lagra och skicka krypterad information Säkerställa att information inte manipuleras Signera sådant som man står för Teknik Symmetrisk kryptering symmetrisk kryptering Hashfunktioner

Läs mer

Funktionella tester av Secure Backup

Funktionella tester av Secure Backup Funktionella tester av Secure Backup 1 Syfte Det här dokumentet beskriver de funktionella tester som ska utföras av Secure Backup inför ett offentliggörande av en ny version av programmet. De funktionella

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

TDDI16: Datastrukturer och algoritmer

TDDI16: Datastrukturer och algoritmer . TDDI16: Datastrukturer och algoritmer Lab 2: Knäcka lösenord Höstterminen 2018 2018-06-27 1 Upplägg Första delen av instruktionen, avsnitt 2 till 7, innehåller en fullständig beskrivning av problemet

Läs mer

Föreläsning 9: Talteori

Föreläsning 9: Talteori DD2458, Problemlösning och programmering under press Föreläsning 9: Talteori Datum: 2009-11-11 Skribent(er): Ting-Hey Chau, Gustav Larsson, Åke Rosén Föreläsare: Fredrik Niemelä Den här föreläsningen handlar

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

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

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

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

S =(s e )modn. s =(S d )modn. s =(s e ) d mod n.

S =(s e )modn. s =(S d )modn. s =(s e ) d mod n. DAT 060 Laboration 3 Säkerhet på nätet eller kan någon komma åt mitt konto på internetbanken? Institutionen för datavetenskap 27 juni 2002 Dagens laboration kommer att beröra en mycket viktig aspekt av

Läs mer

Hot mot nyckelhantering i DNSSEC och lite om hur man undviker dem. Anne-Marie Eklund Löwinder Kvalitets- och säkerhetschef

Hot mot nyckelhantering i DNSSEC och lite om hur man undviker dem. Anne-Marie Eklund Löwinder Kvalitets- och säkerhetschef Hot mot nyckelhantering i DNSSEC och lite om hur man undviker dem Anne-Marie Eklund Löwinder Kvalitets- och säkerhetschef Överväganden Införandet av DNSSEC nödvändiggör en juridisk analys. Vilken riskexponering

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

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

Mjukvarurealiserad bildtelefoni

Mjukvarurealiserad bildtelefoni Mjukvarurealiserad bildtelefoni Examensarbete 20p, Umeå Universitet P-O Östberg Abstract With the ever increasing popularity of the Internet a staggering increase in the number of computer users has followed

Läs mer

Användarhandledning för The Secure Channel

Användarhandledning för The Secure Channel Användarhandledning för The Secure Channel 1 Inledning Det här dokumentet beskriver hur programvaran ska användas. Dokumentet beskriver programversion 1.6.1 av The Secure Channel. Användarhandledningen

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

Testning av Sambi. Testplan. Version PA12. Fil namn: SAMBI_TP.docx Senast sparad: 2014-11- 24. Copyright (c) 2014 IIS

Testning av Sambi. Testplan. Version PA12. Fil namn: SAMBI_TP.docx Senast sparad: 2014-11- 24. Copyright (c) 2014 IIS Testning av Sambi Testplan Version PA12 Fil namn: SAMBI_TP.docx Senast sparad: 2014-11- 24 Copyright (c) 2014 IIS Dokument kontroll Dokument information och säkerhet Skapad av Faktaansvarig Dokumentansvarig

Läs mer

DOP-matematik Copyright Tord Persson Övning Bråkräkning. Matematik 1. Uppgift nr 14 Addera 9. Uppgift nr 15 Addera 3. Uppgift nr 16 Subtrahera 6 7-1 7

DOP-matematik Copyright Tord Persson Övning Bråkräkning. Matematik 1. Uppgift nr 14 Addera 9. Uppgift nr 15 Addera 3. Uppgift nr 16 Subtrahera 6 7-1 7 Övning Bråkräkning Uppgift nr 1 Vilket av bråken 1 och 1 är Uppgift nr Vilket av bråken 1 och 1 är Uppgift nr Skriv ett annat bråk, som är lika stort som bråket 1. Uppgift nr Förläng bråket med Uppgift

Läs mer

Cipher Suites. Rekommendationer om transportkryptering i e-tjänster

Cipher Suites. Rekommendationer om transportkryptering i e-tjänster Cipher Suites Rekommendationer om transportkryptering i e-tjänster Innehåll 1. Bakgrund och syfte... 2 2. Revisionshistorik... 2 3. Inledning... 2 3.1 Cipher suites... 2 4. Protokoll för transportkryptering...

Läs mer

Undersökning och design av en säkerhetslösning för en molnlagringstjänst

Undersökning och design av en säkerhetslösning för en molnlagringstjänst EXAMENSARBETE INOM DATATEKNIK, AVANCERAD NIVÅ, 30 HP STOCKHOLM, SVERIGE 2017 Undersökning och design av en säkerhetslösning för en molnlagringstjänst LUDVIG CEDERFELT KTH SKOLAN FÖR DATAVETENSKAP OCH KOMMUNIKATION

Läs mer

Europeisk samsyn på kryptomekanismer SOGIS nya kryptolista en översikt

Europeisk samsyn på kryptomekanismer SOGIS nya kryptolista en översikt Issue 0.1 Försvarets Materielverk/CSEC 2005 Document ID Europeisk samsyn på kryptomekanismer SOGIS nya kryptolista en översikt Träffpunkt CC - 20 april 2016 Martin Bergling FMV/CSEC 1 Syfte Ge kunskap

Läs mer

Datastrukturer. föreläsning 6. Maps 1

Datastrukturer. föreläsning 6. Maps 1 Datastrukturer föreläsning 6 Maps 1 Avbildningar och lexika Maps 2 Vad är ett lexikon? Namn Telefonnummer Peter 031-405937 Peter 0736-341482 Paul 031-405937 Paul 0737-305459 Hannah 031-405937 Hannah 0730-732100

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

Undersökning och design av en säkerhetslösning för en molnlagringstjänst

Undersökning och design av en säkerhetslösning för en molnlagringstjänst EXAMENSARBETE INOM DATATEKNIK, AVANCERAD NIVÅ, 30 HP STOCKHOLM, SVERIGE 2017 Undersökning och design av en säkerhetslösning för en molnlagringstjänst LUDVIG CEDERFELT KTH SKOLAN FÖR DATAVETENSKAP OCH KOMMUNIKATION

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

Tekn.dr. Göran Pulkkis Överlärare i Datateknik. Nätverksprotokoll 23.10.2008

Tekn.dr. Göran Pulkkis Överlärare i Datateknik. Nätverksprotokoll 23.10.2008 Tekn.dr. Göran Pulkkis Överlärare i Datateknik Säker e-post Innehåll Principen för säker e-post Realisering av säker e-post Pretty Good Privacy (PGP) Secure / Multipurpose Internet Mail Extensions (S/MIME)

Läs mer

Datorsystemteknik DVG A03 Föreläsning 3

Datorsystemteknik DVG A03 Föreläsning 3 Datorsystemteknik DVG A03 Föreläsning 3 Datoraritmetik Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Hur stora tal kan vi få med N bitar? Största

Läs mer

2011-11-02. E-legitimationer. Jonas Wiman. LKDATA Linköpings Kommun. jonas.wiman@linkoping.se

2011-11-02. E-legitimationer. Jonas Wiman. LKDATA Linköpings Kommun. jonas.wiman@linkoping.se E-legitimationer Jonas Wiman LKDATA Linköpings Kommun jonas.wiman@linkoping.se 1 Många funktioner i samhället bygger på möjligheten att identifiera personer För att: Ingå avtal Köpa saker, beställningar

Läs mer

Testning av Sambi. Testplan. Version PA5. Fil namn: SAMBI_TP.docx Senast sparad: 2014-10-13. Copyright (c) 2014 IIS

Testning av Sambi. Testplan. Version PA5. Fil namn: SAMBI_TP.docx Senast sparad: 2014-10-13. Copyright (c) 2014 IIS Testning av Sambi Testplan Version PA5 Fil namn: SAMBI_TP.docx Senast sparad: 2014-10-13 Copyright (c) 2014 IIS Dokument kontroll Dokument information och säkerhet Skapad av Faktaansvarig Dokumentansvarig

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

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. kenneth@ip-solutions.se. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. kenneth@ip-solutions.se. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH Att bygga VPN Kenneth Löfstrand, IP-Solutions AB kenneth@ip-solutions.se 1 IP-Solutions AB Agenda Olika VPN scenarios LAN - LAN host - host SSH 2 IP-Solutions AB IP-Solutions - Konsultverksamhet Oberoende

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

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng

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

Keywords: anonymous p2p, networking, p2p implementations, peer-to-peer.

Keywords: anonymous p2p, networking, p2p implementations, peer-to-peer. Anonyma P2P nätverk. Abstrakt Vi skall försöka beskriva hur ett anonymt peer-to-peer nätverk fungerar. Hur teorierna för hur det skall eller borde fungera och även försöka förklara hur en del implementationer

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

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

Regression med Genetiska Algoritmer

Regression med Genetiska Algoritmer Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet

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

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen C++ Funktioner 1 Teori När programmen blir större och mer komplicerade är det bra att kunna dela upp programmet i olika delar som gör specifika saker, vilket kan göra programmet mer lättläst. Ett sätt

Läs mer

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1 Kattis Lektion 1 I kursen används onlinedomaren Kattis (från http://kattis.com) för att automatiskt rätta programmeringsproblem. För att få ett konto på Kattis anmäler du dig på Programmeringsolympiadens

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

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

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

Kryptografiska mekanismer och valutor

Kryptografiska mekanismer och valutor Kryptografiska mekanismer och valutor Daniel Bosk 1 Avdelningen för informations- och kommunikationssytem, Mittuniversitetet, SE-851 70 Sundsvall. hashsign.tex 2068 2014-11-03 10:52:07Z danbos 1 Detta

Läs mer

Användarhandledning för The Secure Channel

Användarhandledning för The Secure Channel Användarhandledning för The Secure Channel 1 Inledning Det här dokumentet beskriver hur programvaran ska användas. Dokumentet beskriver programversion 1.6.3 av The Secure Channel. Användarhandledningen

Läs mer

BILAGA 1 Tekniska krav Version 1.0

BILAGA 1 Tekniska krav Version 1.0 BILAGA 1 Tekniska krav Version 1.0 Tekniska krav för anslutning till Sambi Sambi har likt många andra Federativa initiativ som mål att använda följande SAML 1 - profiler: Implementationsprofilen egov 2

Läs mer

Extramaterial till Matematik Y

Extramaterial till Matematik Y LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TRE Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. I den här uppgiften ska du få bekanta

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

Policy Underskriftstjänst Svensk e-legitimation

Policy Underskriftstjänst Svensk e-legitimation Policy Underskriftstjänst Svensk e-legitimation Version 1.0 2014-04-15 1 (7) 1 INLEDNING OCH SYFTE 3 1.1 AVGRÄNSNINGAR 3 1.2 DEFINITIONER 3 2 POLICYPARAMETRAR 4 2.1 DATALAGRING 4 2.1.1 LAGRING AV INFORMATION

Läs mer

Säkerhetsbrister & intrång

Säkerhetsbrister & intrång Säkerhetsbrister & intrång Internetdagarna 2001 Vem är Anders Ingeborn? Civilingenjör Datateknik KTH ixsecurity Frilansskribent Föredragshållare Innehåll Tekniska säkerhetsbrister Trender Erfarenheter

Läs mer

Planering av ett större program, del 2 - for och listor. Linda Mannila

Planering av ett större program, del 2 - for och listor. Linda Mannila Planering av ett större program, del 2 - for och listor Linda Mannila 9.10.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Utskrift Indata Felhantering Funktioner och moduler (grunder)

Läs mer

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner Lektion 4, del 1, kapitel 10 Funktioner i JavaScript Inlärningsmål Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner Introduktion

Läs mer

15 september, Föreläsning 5. Tillämpad linjär algebra

15 september, Föreläsning 5. Tillämpad linjär algebra 5 september, 5 Föreläsning 5 Tillämpad linjär algebra Innehåll Matriser Algebraiska operationer med matriser Definition och beräkning av inversen av en matris Förra gången: Linjära ekvationer och dess

Läs mer

Modularitet och tillstånd. Stora system kräver en uppdelning. En lösning: modularitet. Basera programmets struktur på den fysiska systemets struktur:

Modularitet och tillstånd. Stora system kräver en uppdelning. En lösning: modularitet. Basera programmets struktur på den fysiska systemets struktur: Modularitet och tillstånd Stora system kräver en uppdelning. En lösning: modularitet Basera programmets struktur på den fysiska systemets struktur: En fysisk objekt en beräkningsobjekt Ett agerande en

Läs mer

Förändringsskydd med sigill

Förändringsskydd med sigill Mars 2014 Förändringsskydd med sigill Bankgirocentralen BGC AB 2013. All rights reserved. www.bankgirot.se Innehåll 1 Introduktion... 4 1.1 Det här dokumentet... 4 1.2 Vad är Bankgirot?... 4 1.3 Vad är

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

Kryptografiska mekanismer och valutor

Kryptografiska mekanismer och valutor Digitala signaturer Hashfunktioner Kryptografiska valutor Bitcoin Referenser Kryptografiska mekanismer och valutor Daniel Bosk 1 Avdelningen för informations- och kommunikationssytem (IKS), Mittuniversitetet,

Läs mer

BILAGA 1 Tekniska krav

BILAGA 1 Tekniska krav 1 av 8 BILAGA 1 Tekniska krav Version 2.4.7 Tekniska krav för anslutning till Skolfederation Skolfederationen har likt många andra Federativa initiativ som mål att använda följande SAML 1 - profiler: egov

Läs mer

Bråk. Introduktion. Omvandlingar

Bråk. Introduktion. Omvandlingar Bråk Introduktion Figuren till höger föreställer en tårta som är delad i sex lika stora bitar Varje tårtbit utgör därmed en sjättedel av hela tårtan I nästa figur är två av sjättedelarna markerade Det

Läs mer

Avancerad SSL-programmering III

Avancerad SSL-programmering III Tekn.dr. Göran Pulkkis Överlärare i Datateknik Avancerad SSL-programmering III 9.2.2012 1 Innehåll Dataformatet PKCS#7 och S/MIMEstandarden Signering av S/MIME-meddelanden och verifiering av signaturer

Läs mer

Räkna med C# Inledande programmering med C# (1DV402)

Räkna med C# Inledande programmering med C# (1DV402) Räkna med C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i verket

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

SSL/TLS-protokollet och

SSL/TLS-protokollet och Tekn.dr. Göran Pulkkis Överlärare i Datateknik SSL/TLS-protokollet och SSL-baserade applikationer Innehåll Secure Socket Layer (SSL) / Transport Layer Security (TLS) protokollet SSL-baserade applikationer

Läs mer

Lathund för kryptering med GnuPG

Lathund för kryptering med GnuPG Lathund för kryptering med GnuPG STTS Södermalms talteknologiservice http:// 23 juni 2011 Innehåll 1 GnuPG 1 2 Installation 1 3 Nyckelgenerering 1 4 Exportera öppen nyckel 3 5 Importera nyckel 4 6 Kryptering

Läs mer

KRYPTERING - MÖJLIGHET ELLER OMÖJLIGHET. Carl Önne carl.onne@certezza.net

KRYPTERING - MÖJLIGHET ELLER OMÖJLIGHET. Carl Önne carl.onne@certezza.net KRYPTERING - MÖJLIGHET ELLER OMÖJLIGHET Carl Önne carl.onne@certezza.net Kerckhoffs principer (något modifierade) Systemet i praktiken oknäckbart, helst även teoretiskt Designen av systemet öppet, det

Läs mer

Krypteringstjänster. LADOK + SUNET Inkubator dagarna GU, Göteborg, 6-7 oktober 2014. Joakim Nyberg ITS Umeå universitet

Krypteringstjänster. LADOK + SUNET Inkubator dagarna GU, Göteborg, 6-7 oktober 2014. Joakim Nyberg ITS Umeå universitet Krypteringstjänster LADOK + SUNET Inkubator dagarna GU, Göteborg, 6-7 oktober 2014 Joakim Nyberg ITS Umeå universitet Projekt mål Identifiera de behov som finns av krypteringstjänster Utred funktionsbehov

Läs mer

Riksgäldskontorets författningssamling

Riksgäldskontorets författningssamling Riksgäldskontorets författningssamling Utgivare: chefsjuristen Charlotte Rydin, Riksgäldskontoret, 103 74 Stockholm ISSN 1403-9346 Riksgäldskontorets föreskrifter om ändring av Riksgäldskontorets föreskrifter

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

KW ht-17. Övningsuppgifter

KW ht-17. Övningsuppgifter Övningsuppgifter Ht-2017 1 Innehållsförteckning: Taluppfattning, positionssystem s. 3 4 Räkning, prioriteringsregler s. 4 6 Tvåbassystemet s. 6-7 Avrundning och noggrannhet s. 8-11 Bråk s. 12-17 Decimaltal

Läs mer

Utvärdering av säkerhetsspecifikationer för XML

Utvärdering av säkerhetsspecifikationer för XML Utvärdering av säkerhetsspecifikationer för XML MATS ERICSSON Examensarbete Stockholm, Sverige 2005 TRITA-NA-E05106 Numerisk analys och datalogi Department of Numerical Analysis KTH and Computer Science

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer