23
Maišymo ir šifravimo algoritmai I dalis S. Kareiva

Maišymo ir šifravimo algoritmai

  • Upload
    alaire

  • View
    72

  • Download
    3

Embed Size (px)

DESCRIPTION

Maišymo ir šifravimo algoritmai. I dalis S. Kareiva. Turinys. Maišos (hash) funkcijos Kriptografinės maišos funkcijos Kriptavimo raktai. Maiša (hash). Duomenys. Hash algoritmas. H = F(duom) H(A) = H(A) Kolizija: H ( a ) = H ( b ), and a ≠ b. HASH. Paskirtis. Kontrolinė suma - PowerPoint PPT Presentation

Citation preview

Page 1: Maišymo ir šifravimo algoritmai

Maišymo ir šifravimo algoritmai

I dalisS. Kareiva

Page 2: Maišymo ir šifravimo algoritmai

Turinys

• Maišos (hash) funkcijos

• Kriptografinės maišos funkcijos

• Kriptavimo raktai

Page 3: Maišymo ir šifravimo algoritmai

Maiša (hash)Hash reikšmė Duomenys

000001 Jonas Jonaitis

000002 Petras Petraitis

000003 Pranas Pranaitis

…… ……

00000F Vardenis Pavardenis

DuomenysDuomenys

Hash algoritmas

Hash algoritmas

HASHHASH

H = F(duom)

H(A) = H(A)

Kolizija: H(a) = H(b), and a ≠ b

Page 4: Maišymo ir šifravimo algoritmai

Paskirtis

• Kontrolinė suma

• Pirštų atspaudai

• Laikinoji atmintis

• Kriptografinė maiša (slaptažodžiams)

Kuo skiriasi?Kuo skiriasi?

Page 5: Maišymo ir šifravimo algoritmai

Off-topic: Frame switching

• Duomenys antrame lygyje (ir kituose) perduodami paketais – ethernet frame

• Kiekvienam duomenų paketui atliekamas CRC patikrinimas (hash)

Preamble Start Dst MAC

Src MAC

VLAN tag Ethertype Data CRC Gap

7x 10101010 10101011 6 bytes 6 bytes 4 bytes 2 bytes 1500 bytes 4 bytes 12 bytes

Page 6: Maišymo ir šifravimo algoritmai

Encapsulation

Page 7: Maišymo ir šifravimo algoritmai

Kontrolinė suma

• CRC – cyclic redundancy check

SiuntėjasSiuntėjas 0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 CRC: 0 1 1 0

GavėjasGavėjas 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 CRC: 0 1 1 0

CRC ERROR!

Page 8: Maišymo ir šifravimo algoritmai

Algoritmai

• XOR (parity byte)• Modulinė suma• Position-dependent checksum

• Unix įrankiai: cksum, md5sum

Page 9: Maišymo ir šifravimo algoritmai

Griūties efektas

• Avalanche effect

• Pakeitus vieną duomenų bitą, kontrolinė suma kardinaliai pasikeičia

• Kam to reikia?

Page 10: Maišymo ir šifravimo algoritmai

MD5

• Message Digest v5 – 16 baitų• 79054025255fb1a26e4bc422aef54eb4

• Neatsparus kolizijoms• Netinkamas naudoti kriptografijai

• Bet puikus hash algoritmas!

Page 11: Maišymo ir šifravimo algoritmai

MD5 saugumas

• Ką sako wikipedija:– A 2009 attack by Tao Xie and Dengguo Feng

breaks MD5 collision resistance in 220.96 time. This attack runs in a few seconds on a regular computer.

Page 12: Maišymo ir šifravimo algoritmai

Griūties efektas (MD5)

• MD5("The quick brown fox jumps over the lazy dog") = 9e107d9d372bb6826bd81d3542a419d6

• MD5("The quick brown fox jumps over the lazy dog.") = e4d909c290d0fb1ca068ffaddf22cbd0

Page 13: Maišymo ir šifravimo algoritmai

MD5

Page 14: Maišymo ir šifravimo algoritmai

SHA

• Secure hash algorithm (160 bitų)• Kuriamas NIST (JAV)• Kelios versijos:– SHA-0 – pirmoji algoritmo versija su klaida– SHA-1 – originalusis algoritmas– SHA-2 – papildytas ir naudojamas .gov, SSL– SHA-3 – still under development

• sha1sum

Page 15: Maišymo ir šifravimo algoritmai

SHA-1

• SHA1("The quick brown fox jumps over the lazy dog") = 2fd4e1c6 7a2d28fc ed849ee1 bb76e739 1b93eb12

• SHA1("The quick brown fox jumps over the lazy cog") = de9f2c7f d25e1b3a fad3e85a 0bd17d9b 100db4b3

Page 16: Maišymo ir šifravimo algoritmai

BASE64 kodavimas

• Algoritmas, skirtas pranešimo transformacijai į 8 bitų simbolių seką

• Naudojamas perduoti duomenis tam tikrais kanalais vien paprastų simbolių pagalba

• Dažnai naudojama tekstiniuose protokoluose, tokiuose kaip HTTP ar pan.

Page 17: Maišymo ir šifravimo algoritmai

BASE64 algoritmo pvz:Informatika - mokslas apie kompiuterius ir jų taikymus - yra viena iš veržliausiai besivystančių žmogaus veiklos sričių, kurios poveikį mes labai jaučiame savo gyvenime.

SW5mb3JtYXRpa2EgLSBtb2tzbGFzIGFwaWUga29tcGl1dGVyaXVzIGlyIGpzIHRhaWt5bXVzIC0geXJhIHZpZW5hIGlhIHZlcn5saWF1c2lhaSBiZXNpdnlzdGFuDWlzIH5tb2dhdXMgdmVpa2xvcyBzcmkNaXMsIGt1cmlvcyBwb3ZlaWsvIG1lcyBsYWJhaSBqYXUNaWFtZSBzYXZvIGd5dmVuaW1lLg==

Page 18: Maišymo ir šifravimo algoritmai

Kriptografiniai raktai

• Kriptografinės funkcijos parametrai, be kurių hešavimo (kriptavimo) funkcijos tampa bijekcijomis

• Geriausi raktai yra sugeneruojami random() funkcijos

• Optimalūs dydžiai – nuo 128 bitų

Page 19: Maišymo ir šifravimo algoritmai

Raktuotas HASH

Page 20: Maišymo ir šifravimo algoritmai

Vieši ir privatūs raktai

• Raktų pora skirta saugiam bendravimui• Viešas raktas – skirtas kriptografiniam žinutės užkodavimui– galima dalintis su draugais ir kolegomis

• Privatus raktas– tinkamas tik atkodavimui– geriau su niekuom nesidalinti ir apsaugoti

papildomu slaptažodžiu

Page 21: Maišymo ir šifravimo algoritmai

Public ir private raktai

Page 22: Maišymo ir šifravimo algoritmai

Raktų naudojimas SSH

Page 23: Maišymo ir šifravimo algoritmai

SSL sertifikatai