crypto Flashcards

1
Q

Hva er Kerckhoffs prinsipp?

A

Unngå security through obscurity.

Det eneste en angriper ikke har tilgang til i et kryptosystem, er de private nøklene

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hva er perfekt sikkerhet?

A

Gitt c, så er det umulig å ekskludere noen enkelt klartekst p.

Altså, for hver p finnes en k som krypterer til c. Antall nøkler er da >= antall klartekster

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Hvilket shiffer er det eneste som gir perfekt sikkerhet?

A

One-time-pad

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hvordan fungerer one-time-pad?

A

lengde(nøkkel) = lengde(klartekst)

nøkkel og klartekst er binære strenger

Bruker XOR til å kryptere og dekryptere

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hva er et problem med one-time-pad?

A

Krever veldig lange nøkler. Nøkler kan heller ikke gjenbrukes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hva er beregningsmessig sikkerhet?

A

Gitt en c, så tar det lang tid å ekskludere en enkelt klartekst p

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Nevn 3 problemer som (vi tror) er vanskelige å løse i praksis

A

Faktorisering av store tall

Å invertere AES-blokkchifferprimitivet

Å finne diskrete logaritmer på en elliptisk kurve

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Hvilket beregningsmessig vanskelig problem utnyttes i RSA?

A

At det er vanskelig å faktorisere store tall

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Hvilket beregningsmessig vanskelig problem brukes i AES?

A

At AES-blokkchifferprimitivet er vanskelig å invertere

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hvilket beregningsmessig vanskelig problem brukes i ECDH?

A

At det er vanskelig å finne dikrete logaritmer på en elliptisk kurve

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hvordan definerer vi “lang tid” når vi snakker om beregningsmessig sikkerhet?

A

At tidsbruk på et problem vokser tilnærmet-eksponentielt med nøkkelstørrelse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

I praksis, hva går de vanligste angrepene innen kryptografi ut på?

A

Sårbarheter i programvare oppstår på grunn av feil bruk av kryptografiske algoritmer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Gi 3 eksempler på feil bruk av kryptografiske algoritmer

A

Nøkler postes på Git

Signaturer valideres ikke, eller bare delvis valideres

Nonces genereres basert på klientkontrollerte verdier

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hva er et monoalfabetisk substitusjonschiffer?

A

Hver bokstav i klartekst-alfabetet mappes til én bokstav i chiffertekst alfabetet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hva er noen problemer med monoalfabetisk substitusjonschiffer?

A

Språkstrukturer bevares slik at frekvensanalyse kan benyttes i cryptanalysis

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Hva er et blokkchiffer?

A

Et blokkchiffer opererer på blokker, ikke individuelle tegn

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Hva er et blokkchifferprimitiv?

A

Hvordan én blokk krypteres individuelt

Krypteringsfunksjonen E i primitivet har som output en ny blokk. Ingen to blokker gjøres om til samme blokk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Hva er et blokkchiffermodus?

A

Hvordan en lengre tekst krypteres ved å bruke blokkchifferprimitivet flere ganger

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Hva er en permutasjon i blokkchiffre?

A

En funksjon som stokker om på mengden mulige blokker

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Hvilken sikkerhetsantagelse gjør vi om primitiver (for eksempel AES)?

A

At det gir beregningsmessig sikkerhet. Altså er E(k, b) pseudorandom

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Nevn en egenskap AES trolig har

A

Pseudorandomness

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Hva er pseudorandomness?

A

Dersom man har én kryptert blokk og én blokk med tilfeldig data, skal man ikke kunne gjette hvilken blokk som er kryptert og hvilken som er tilfeldig mer enn 50% av gangene

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Hva er IND-CPA?

A

Indistinguishability under Chosen Plaintext Attack

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Beskriv ECB mode

A

Primitivet blir brukt på hver blokk

Plaintext_blokk_1 -> E(key, -) -> ciphertext_blokk_1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Nevn et problem med ECB

A

Like klartekstblokker krypteres likt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Beskriv CBC mode

A

iv: Initialiseringsvektor

Steg:

p_n XOR c_(n-1)
->
E(key, -)
->
c_n

Ved kryptering av første blokk XORes p_1 med iv

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

I CBC: Hva skjer om det oppstår én bit-feil i én chiffertekstblokk?

A

Feilen fører til at dekryptering av denne blokken scrambles helt.

Én bit i dekrypteringen av neste blokk blir flippet (samme bit som er feil i c-blokken)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Beskriv CTR mode

A

CTR mode er et flytchiffer

IV sendes i klartekst

Kryptering og dekryptering kan paralleliseres

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Hva bestemmer nøkkelstrømmen i CTR mode?

A

nøkkel + IV

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Hva er et flytchiffer?

A

Et symmetrisk nøkkelchiffer nøkkel er en pseudorandom bit-strøm.

Klartekst blir kryptert en og en bit om gangen

Kryptering og dekryptering bruker XOR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Hva er AEAD?

A

Authenticated encryption with associated data

Krypterer ved bruk av CTR.
Regner så ut en MAC basert på ciphertext-blokkene

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Hva er GCM?

A

Chiffertextblokkene betraktes som polynom i GF(2^128)

Polynomet evalueres i et hemmelig punkt

Resultatet av dette er taggen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

For flytchiffre, hva avhenger nøkkelstrømmen ofte av?

A

Nøkkel og IV

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Hvilken fordel er det at nøkkelstrøm i flytchiffre ofte kun avhenger av nøkkel + IV?

A

Gir høy ytelse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Nevn 3 eksempler på flytchiffre

A

Salsa20
ChaCha
AES-CTR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Hva er autentisitet?

A

Bekrefter om en melding er modifisert eller ikke

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Hva brukes MAC til?

A

Autentisitet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Hvordan fungerer MAC?

A

2 algoritmer: Sign(), verify()

k: nøkkel
m: melding

S(k, m): gir en tak t

V(k, m, t’): Godtar eller avviser en tag t’ basert på k og m

39
Q

Hva er målet med MAC?

A

Det skal være vanskelig for en part å lage en gyldig tag uten kjennskap til k

40
Q

Hvordan brukes MACs?

A

Inkluderer en tag(MAC) når en melding sendes

Når melding mottas, sjekk at V(k, m, t) er gyldig

Dersom melding m er modifisert underveis vil verifiserings-funksjonen detektere dette

41
Q

Hva er en egenskap med en kryptografisk hashfunksjon?

A

Lett å beregne, vanskelig å invertere

42
Q

Hva brukes hashfunksjoner til?

A

Lagring av sensitiv data, i.e. passord

43
Q

Hvordan bør passord lagres, og hvorfor?

A

Lagre (salt, H(salt||passord)

salt: gjør at like passord ikke får samme hasher

44
Q

Hvilke 3 krav har vi til kryptografiske hashfunksjoner?

A

Preimage-motstand

Second preimage

Kollisjonsmotstand

45
Q

Hva er preimage motstand?

A

Gitt y, kan ikke finne en x slik at H(x) = y

46
Q

Hva er second preimage?

A

Gitt x1, kan ikke finne en x2 != x1 slik at H(x1) = H(x2)

47
Q

Hva er kollisjonsmotstand?

A

Kan ikke finne s1 != s2 slik at H(s1) = H(s2)

48
Q

Ranger vanskelighetsgraden til de 3 kravene til hashfunksjoner. Øverst = vanskeligst

A

Primage
second preimage
kollisjon

49
Q

Nevn 2 hashfunksjoner som er antatt sikre

A

SHA2, SHA3

50
Q

Hvilket angrep er SHA2 sårbar mot

A

length extension (pga. at SHA2 baseres på Merkle Damgård)

51
Q

Hva er HMAC?

A

Implementasjon av MAC via hasher

HMAC = H ((k′ ⊕ opad)||H((k′ ⊕ ipad)||m))

k’ = H(k)

52
Q

Når er Z_p en gruppe?

A

Tall mod p, med ganging som operasjon, siden vi kan dele

53
Q

Beskriv diffie hellman

A

Asymmetrisk, jobber (mod p)

Offentlig: (p, g)

A og B genererer a og b

A sender g^a
B sender g^b

Delt hemmelighet:
(g^a)^b = (g^b)^a

54
Q

Hva er diskrete logaritme problemet?

A

Gitt p, g og g^x (mod p), finn x

55
Q

Hva er det som gjør DH sikkert?

A

Diskrete logaritme problemet

56
Q

I hvilke grupper er DLOG vanskelig?

A

(Z_p, ECC) ikke i alle (R)

57
Q

Hva er de 3 komponentene av elgamal?

A

KeyGen
Encrypt
Decrypt

58
Q

Hva er nøklene i elgamal?

A

Velger tilfeldig a, beregner g^a

public: (g, g^a)
private: (g, a)

59
Q

Hva er nøklene i RSA?

A

Public: (e, n)
Private: (d, p, q)

60
Q

Beskriv dekrypteringsfunksjonen til RSA

A

m = c^d mod n

61
Q

Beskriv krypteringsfunksjonen til RSA

A

c = m^e mod n

62
Q

Hvilket beregningsmessig vanskelig problem er det som gjør at RSA fungerer?

A

Vanskelig å primtallsfaktorisere

63
Q

Hva gjør at RSA fungerer?

A

Eulers teorem

d = e^-1 mod ((p-1)(q-1))

Dette gjør at:

m^ed = m mod pq
hvor n = pq

64
Q

Hva er eulers teorem?

A

Om hverken p eller q deler m, så er:

m^(p-1)(q-1) = 1 mod (pq)

65
Q

Hva er noen problemer med skolebok-rsa?

A

Om like meldinger krypteres likt, så kan vi bekrefte riktig gjetning av melding.

Primtall bør være tilnærmet like store

Om tallene er små nok og e liten, så blir DLOG mer lik LOG ettersom man ikke wrapper like mye rundt. LOG er lett å beregne

66
Q

Hvordan kan man løse problemene med skolebok-rsa?

A

Legg til padding før kryptering

padding bør være litt tilfeldig og “stor”

67
Q

Hva er fordelen med å bruke elliptiske kurver?

A

For 100-bit sikkerhet i DH kreves nøkler av størrelse tilnærmet 1000

På grunn av kompleksiteten til elliptiske kurver kan man oppnå samme nivå av sikkerhet ved bruk av betydelig mindre nøkler

68
Q

Definer en elliptisk kurve

A

Samling punkter (x, y) ∈ E som tilfredstiller:
y² = x³ + Ax + B for heltall A og B slik at:

4A³ + 27B² != 0

I tillegg eksisterer et spesielt punk O som ligger i uendeligheten

69
Q

Hvordan brukes elliptiske kurver i krypto?

A

(x, y)∈Z_p -> koordinater og likningen forstås (mod p)

En primtallstørrelse på 256 bits gir en sikkerhet på 128-bit

70
Q

Hvordan fungerer DH med elliptiske kurver?

A

Bli enige om kurve E og F_p, og startpunkt G∈E

A og B genererer hver sin a,b ∈ {2, …, p-1}

A genererer Ga = [a]G -> send til B
B genererer Gb = [b]G -> send til A

Felles hemmelighet:
Gab = [a]Gb = [b]Ga

71
Q

Hvordan fungerer signaturer?

A

private key brukes til å generere en signatur

public key brukes til å verifisere signaturen

72
Q

Hva er formålet med en signatur?

A

En gyldig signatur garanterer at eieren av tilhørende private nøkkel skrev meldingen

73
Q

Hva er sammenhengen mellom DH og elgamal?

A

Elgamal er DH gjort om til et kryptosystem

74
Q

Hvor store nøkler må RSA ha for å være sikker?

A

Nøkler >= 2048-bit

75
Q

Når fungerer DSA, DH og Elgamal?

A

Når DLOG er vanskelig, både ved bruk av mod p og elliptiske kurver.

mod p trenger derimot større nøkler

76
Q

Hvor store nøkler krever DH med DLOG i Z_p for 128-bit sikkerhet?

A

Tilnærmer 3000

77
Q

Hva gir P+(-P)?

A

Uendelig fjernt punkt:

O = (uendelig, uendelig)

(Kan være dette er feil, litt vanskelig å tolke slides)

78
Q

Når n er stor nok, hva blir [n]P?

A

O

79
Q

Hva er ECC-DLOG?

A

Gitt G, H, finn n slik at:

[n]G = H

80
Q

Hva er viktig å huske på når man skal bruke RSA til signering?

A

Ikke bruk skolebok-rsa, altså:

Bruk H(m) samt padding, ikke m

81
Q

Hva er DSA?

A

Signatur algoritme

82
Q

Hva krever DSA for hver signatur?

A

Krever en unik og hemmelig nonce per signatur

83
Q

Hva avhenger sikkerheten til DSA på?

A

At DLOG er vanskelig

84
Q

Hva er EdDSA?

A

Deterministisk DSA-variant som spesifiserer nonce-generering utifra privat nøkkel og melding

85
Q

Hvilken implementeringsfeil kan gjøre DSA sårbar?

A

Nonce reuse

86
Q

Hva er hensikten til sertifikater?

A

Koble en identitet med offentlig nøkkel

En identitet kan være: mailadresse, domene, etc.

87
Q

Hvordan vet vi at vi kan stole på signaturer?

A

Kjenner til andre public keys som kan verifisere at det sertifikatet vi skal ta stilling til faktisk er gyldig.

88
Q

Beskriv noen komponenter i en PKI

A

ROT-CA: Alle kjenner til public-keyene til disse og stoler på de

Sertifikat kjede:
Har et sertifikat utstedt av pk2 som sier at pk1 er til å stole på
Har et sertifikat utstedt av pk3 som sier at pk2 er til å stole på

fortsetter ned til pk-en vi selv stoler på

89
Q

Hvordan setter du opp en ID som kan verifiseres av andre?

A

Spør en CA om å validere IDen og signere et sertifikat

Lagre sertifikatet

Andre som vil validere IDen din, viser du sertifikatet til

90
Q

Hvilke 2 algoritmer kan vi bruke til å lage signaturer med?

A

RSA (med hashing og padding)
ECDSA (med unik og hemmelig nonce)

91
Q

Hva er fokuset til wireguard?

A

Fokus på sikkerhet over konfigurerbarhet

92
Q

Hvilke steg består WireGuard handshaken av?

A

Initialiseringsmelding

Fullføringsmelding

Kryptert melding

93
Q

Hva er forward secrecy?

A

Session nøkler vil ikke bli kompromittert, dersom long-term nøkler som ble brukt i utvekslingen av session-nøklene, kommer på avveie.

Altså, forward secrecy beskytter tidligere sessions mot fremtidig kompromittering