1.08M
Categories: internetinternet electronicselectronics

Kaasaegsed sümmeetrilised šifrid

1.

KAASAEGSED SÜMMEETRILISED
ŠIFRID

2.

1.Kui mitte
matemaatiliselt, siis
füüsiliselt peab
süsteem olema
võimatu avada.
On vaja, et süsteemi
poleks vaja salajas
hoida; vaenlase kätte
sattumine ei tohiks
põhjustada
ebamugavusi;
KERCKHOFFSI KUUS NÕUET
Võtme säilitamine ja
edastamine peab olema
võimalik ilma
pabermärkmeteta,
korrespondentidel peab
olema võimalus võtit muuta
vastavalt oma äranägemisele.
Süsteem peab
sobima
suhtlemiseks
telegraafi teel;
Süsteem peab olema
kergesti kaasaskantav,
sellega töötamine ei
tohi nõuda, et samal
ajal osaleks mitu
inimest;
Süsteem peab selle
võimalikke kasutusolusid
arvestades olema hõlpsasti
kasutatav, ei nõuaks
märkimisväärset vaimset
pingutust ega suure hulga
reeglite järgimist.

3.

KERCKHOFFS'S PRINCIPLE (1883)
Kerckhoffsi pritsiip
krüptosüsteemide arendamise
reegel, mille kohaselt hoitakse
salajas vaid algoritmi teatud
parameetrite andmestu, mida
nimetatakse võtmeks, kuid
krüpteerimisalgoritm ise peab
olema avatud.

4.

AVALANCHE EFFECT – LAVIINIEFEKT (SHANNON)
Laviiniefekt – väikese hulga bittide väärtuse muutus
sisendtekstis või võtmes põhjustab väljundi krüptoteksti
bittide väärtuste "laviinina" muutumist.
Krüptoalgoritm vastab laviinikriteeriumile, kui
sisendjada ühe biti muutumisel muutuvad
keskmiselt pooled väljundbittidest.
1973 г

5.

CONFUSION
Segamine on meetod, mille puhul võtme ja väljundandmete sõltuvus muudetakse võimalikult keeruliseks,
eeskätt mittelineaarseks.
Väljundandmete põhjal on keerulisem teha järeldusi võtme kohta, samuti lähteandmete kohta, kui on teada osa
võtmest.
Realiseeritakse S-plokkide abil.
5

6.

S-PLOKK
S-plokk (või asendusplokk, s-box sõnast substitution-box) on programmikoodis olev
funktsioon või riistvarasüsteem, mis võtab sisendis vastu n bitti, teisendab need
vastavalt teatud algoritmile ja tagastab väljundis m bitti; n ja m ei pruugi olla võrdsed.
S-plokke kasutatakse plokkšifrites.
väärtus loetakse sisenemisel (funktsiooni
argument);
loetud väärtust otsitakse tabelist;
teatud reegli järgi valitakse tabeli lahter,
lahtrist loetakse väljundväärtus,
väljundväärtus tagastatakse funktsioonist

7.

DIFUSIOON
Meetod, mille korral liiasus sisendandmete statistikas „jaotatakse“ üle kogu väljundandmete struktuuri.
Statistiline analüüs nõuab suuri mahtusid väljundandmeid.Väljundteksti struktuuri varjatakse.
Rakendatakse P-plokkide abil, teisisõnu peab krüptimata teksti iga bitt mõjutama krüptitud teksti igat bitti.
Ühe krüptimata biti hajutamine suure hulga krüptitud bittide peale varjab krüptimata teksti statistilist struktuuri.
Selle kindlaksmääramine, kuidas krüptitud teksti statistilised omadused sõltuvad krüptimata teksti statistilistest omadustest,
ei tohiks olla lihtne.

8.

SYMMETRIC BLOCK ENCRYPTION ALGORITHMS

9.

DES
DATA ENCRYPTION STANDARD
9

10.

DES
Data Encryption Standard
sümmeetrilise krüptimise algoritm, mille töötas välja ettevõte IBM ja mille USA valitsus 1977. aastal ametliku
standardina (FIPS 46-3) heaks kiitis.
DES-i ploki suurus on 64 bitti.
Algoritm põhineb Feisteli võrgul, millel on 16 tsüklit (raundi) ja 56-bitine võti.
Algoritm kasutab kombinatsiooni mittelineaarsetest (S-plokid) ja lineaarsetest (E, IP, IP-1 permutatsioonid)
teisendustest.
https://csrc.nist.gov/csrc/media/publications/fips/46/3/archive/1999-10-25/documents/fips46-3.pdf
10

11.

FEISTELI VÕRGUD
Feisteli võrk (Feistel network, Feistel cipher) on üks plokkšifrite konstrueerimise meetodeid.
Võrk koosneb plokkidest, mida nimetatakse ka Feisteli plokkideks.
Iga ploki sisendiks on andmed ja võti.
Iga lahtri väljundiks saadakse muudetud andmed ja muudetud võti.
Kõik lahtrid on ühetüübilised.
Võti valitakse sõltuvalt krüpteerimis-/dekrüpteerimisalgoritmist ja seda muudetakse ühest lahtrist teise
liikumisel.
Krüpteerimisel ja dekrüpteerimisel teostatakse samu toiminguid; erineb ainult võtmete järjekord.
Enamus kaasaegseid plokk-šifreid (DES, RC2, RC5, RC6, Blowfish, FEAL, CAST-128, TEA, XTEA, XXTEA jne.) kasutab
baasina Feisteli võrku.
Alternatiiviks Feisteli võrgule on asendus-permutatsioonivõrk (AES jne).

12.

FEISTELI VÕRGUD(2)
IBM: Lucifer cipher, designed by Horst Feistel and Don Coppersmith in 1973
substitution–permutation network
SP-võrk (asendus-permutatsioonivõrk)
Z = EnCrypt(X, key);
12

13.

14.

KRÜPTEERIMISALGORITM
Teave on jagatud sama (fikseeritud) pikkusega plokkideks.
Kui sisendploki pikkus on väiksem kui suurus, mida valitud krüpteerimisalgoritm
suudab korraga krüpteerida (ploki suurus), siis plokki pikendatakse mingil meetodil.
Tavaliselt on ploki pikkus kahe aste, näiteks 64 bitti või 128 bitti.

15.

TOIMINGUTE JÄRJEKORD
Valitud plokk jagatakse kaheks ühe suurusega alamplokiks — „vasak“ L0 ja „parem“
R0.
„Parem alamplokk muudetakse funktsiooniga F , kasutades raundivõtitK0:
Tulemus liidetakse kokku mooduli järgi 2 («xor») „vasaku“ alamplokiga L0:
Tulemust kasutatakse järgmises raundis „parema“ alamplokina.
Käesoleva raundi „paremat alamplokki“ (raundi alguse hetkeks oma muutmata
kujul) kasutatakse järgmises raundis „vasaku alamploki“ rollis.
Mingi matemaatilise reegli järgi arvutatakse raundivõti K1 — võti, mida kasutatakse
järgmises raundis.
Loetletud toiminguid teostatakse N-1 korda, kus N — valitud krüpteerimisalgoritmi
raundide arv.

16.

ŠIFRI EELISED JA PUUDUSED
Eelised:
Puudused:
riistvara rakendamise lihtsus kaasaegsel
elektroonilisel baasil;
ühes raundis krüpteeritakse ainult pool
sisendplokist
tarkvara rakendamise lihtsus, Feisteli võrkude
baasil ehitatud algoritmid on hästi läbi uuritud

17.

DES
Võtme pikkus 56 bitti
Liiga lühike
Algoritm pole eriti usaldusväärne
Ploki suurus 64 bitti

18.

TOIMIMISPÕHIMÕTE
Põhilised teisendused:
kompleksne teisendus ploki sees;
lihtne teisendus ploki osade vahel.

19.

S-DES (SIMPLIFIED DES)
Sisend 8-bitine
tekst ja 10bitine võti
Väljund 8-bitine
krüpteeritud
tekst

20.

ALGORITHM
IP permutation, permutatsioon
Kompleksne funktsioon, permutatsiooni ja võtme abil asendamiste hübriid
Transposition SW
Veel kord kompleksse funktsiooni kasutamine
Algne permutatsioon tagurpidi

21.

22.

VÕTMETE GENEREERIMINE
10-bitise võtme baasil võtmete genereerimine

23.

RÜNNAKUD S-DES-ILE
10-bitine võti (liiga lühike!)
läbikatsetamiseks 1024 varianti

24.

RÜNNAKUD DES-ILE
http://crypto.pp.ua/2010/12/kriptostojkost-algoritma-des/
July, 2017: A chosen-plaintext attack utilizing a rainbow table can recover the DES key for a single specific chosen
plaintext 1122334455667788 in 25 seconds.
24

25.

S-DESI JUURUTAMISE VIDEO
https://www.youtube.com/watch?v=qHZKze24kVo
25

26.

TRIPLE DES (3DES)
168-bitine võti
Kasutatakse PGP-d and S/mime‘i
Rakendatud elektroonilistes maksesüsteemides
AES Rijndael on kuus korda kiirem
26

27.

AES

28.

AES
Advanced Encryption Standard
Rijndael
Ameerika Ühendriikide riiklik standard alates 2002. aastast
Kasutusel Riikliku Julgeolekuagentuuris(NSA) kui top secret kategooriateabe algoritm (võtmete pikkus 194 ja
256 bitti)
28

29.

AES (2)
Võtme pikkus 128, 192 või 256 bitti
Ploki pikkus 128 bitti
https://www.youtube.com/watch?v=mlzxpkdXP58
29

30.

PLOKK- JA JADAŠIFRID
Plokkšifrid. Nad töötlevad teavet teatud pikkusega plokkides (tavaliselt 64, 128 bitti), rakendades plokile võtit
ettenähtud korras, reeglina mitu segamis- ja asendamistsüklit, mida nimetatakse raundideks. Raundide
kordamise tulemuseks on laviiniefekt – avateksti ja krüpteeritud andmeplokkide bittide vastavuse progresseeruv
kadu.
jadašifrid, milles krüpteeritakse igat lähteteksti (avateksti) bitti või baiti, kasutades XOR-šifrit. Ahelšifrit võib
hõlpsasti luua spetsiaalses režiimis käivitatud plokkšifri baasil.

31.

PLOKKŠIFRITE NÄITED
AES
DES
3DES
RC2 (Шифр Ривеста (Rivest Cipher или Ron’s Cipher))
RC5
Blowfish
Twofish
NUSH
IDEA (International Data Encryption Algorithm, , rahvusvaheline andmete krüpteerimise algoritm)
CAST (arendajate initsiaalide järgi – Carlisle Adams ja Stafford Tavares)
CRAB
3-WAY
Khufu ja Khafre

32.

JADAŠIFRID
RC4 ( vahelduva pikkusega võtmega šifreerimise algoritm)
SEAL (Software Efficient Algorithm, programmiliselt efektiivne algoritm)
WAKE (World Auto Key Encryption algorithm, automaatse võtmega šifreerimise algoritm)

33.

VÕRDLUS ASÜMMEETRILISTE KRÜPTOSÜSTEEMIDEGA
Eelised:
kiirus
realiseerimisee lihtsus (lihtsamate toimingute tõttu)
võrreldava kindluse jaoks on nõutav võtme pikkus lühem
on läbi uuritud (suurema vanuse arvelt)
Puudused
suures võrgus on võtmete haldamine keeruline
keeruline on võtmeid omavahel vahetada. Selle kasutamiseks on vaja lahendada võtmete igale abonendile turvalise edastamise probleem, kuna
iga võtme mõlemale poolele edastamiseks on vaja salajast kanalit

34.

RC2
RC2 (Ron’s Code 2 или Rivest’s Cipher 2) — plokkšiffer, mille ploki pikkus on 64 bitti
ja võtme pikkus vaheldub. Selle töötas välja Ron Rivest 1980ndate aastate lõpus. .
RC2-algoritm on DES-i omast kiirem.
Tugevus võib olenevalt võtme pikkusest olla suurem või väiksem kui DES-il.
RC2-algoritm kuulub ettevõttele RSA Security Inc.

35.

BLOWFISH
Blowfish — krüptograafiline algoritm, mis realiseerib sümmeetrilist plokkšifreerimist vahelduva pikkusega
võtmega.
Selle töötas välja Bruce Schneier 1993. aastal. See on Feisteli võrk.
See on patenteerimata ja seda levitatakse vabalt.
Blowfish on tõestanud end turvalise algoritmina, seetõttu rakendatakse seda paljudes programmides, kus pole
vaja sagedast võtmevahetust ja vajalik on suur krüpteerimis- / dekrüpteerimiskiirus.

36.

BLOWFISHI KASUTAMINE
paroolide räsimine
meili- ja failikaitse
144-biti pikkuse võtmega ruuteril Intel Express 8100
turvalisuse tagamine võrgu- ja transpordikihtide protokollides
SSH (transpordi tasand)
OpenVPN (krüpteeritud kanalite loomine)

37.

IDEA
IDEA (International Data Encryption Algorithm, rahvusvaheline andmete
krüpteerimise algoritm) – sümmeetriline andmete krüpteerimise plokkalgoritm, mille
patent kuulub Šveitsi ettevõttele Ascom.
Kasutati PGP krüpteerimisprogrammide paketis

38.

IDEA KASUTAMINE
audio- ja videoandmete krüpteerimine kaabeltelevisiooni, videokonverentside, distantsõppe, VoIP-i jaoks
äri- ja finantsteabe kaitse
sideliinid modemi, ruuteri või ATM-i liini, GSM-tehnoloogia kaudu
kiipkaardid
kõigile ligipääsetav PGP v2.0 elektronposti konfidentsiaalse versiooni pakett ja (valikuline) OpenPGP

39.

JADAŠIFRID

40.

RC4
RC4 (Rivest cipher 4 või Ron’s code), samuti tuntud kui ARC4 või ARCFOUR — jadašiffer, mis on laialdaselt
kasutusel erinevates arvutivõrkude teabeturbe süsteemides (näiteks SSL ja TLS protokollides, WEP ja WPA
juhtmevabade võrkude turvalisuse tagamise algoritmides).
Šifri on välja töötanud RSA Security ja selle kasutamiseks on vaja litsentsi.
RC4 algoritm, nagu iga jadašiffer, põhineb pseudojuhuslike bittide generaatoril. Võti kirjutatakse generaatori
sisendisse, kuid väljundis loetakse pseudojuhuslikke bitte. Võtme pikkus võib olla 40 kuni 2048 bitti. Genereeritud
bittide jaotus on ühtlane.

41.

ŠIFRI PEAMISED EELISED
suur töökiirus;
muutuv võtme suurus.
RC4 on üsna haavatav, kui:
o
kasutatakse mittejuhuslikke või seotud võtmeid;
o
ühte võtmejada kasutatakse kaks korda.
Need tegurid ja ka selle kasutusviis võivad muuta krüptosüsteemi ebaturvaliseks (nt WEP).

42.

ALGORITMI TOIMIMINE
Jada šifreerimisalgoritmi tuum koosneb funktsioonist – pseudojuhuslike bittide (gamma) generaatorist, mis
toodab võtmebittide jada (võtmejada, gammat, pseudojuhuslike bittide jada).
Krüpteerimisalgoritm
Funktsioon genereerib bittide järgnevuse.
Seejärel kombineeritakse toimingu „summeerimine moodul kahe järgi“ (xor) avatud bittide jada
Dekrüpteerimisalgoritm
Luuakse uuesti (regenereeritakse) võtme bitijada (võtmejada).
Võtme bittide jada liidetakse toimingu „xor“ abil krüptogrammiga. Toimingu "xor" omaduste tõttu on väljundiks
originaal (krüpteerimata) tekst.

43.

RÜNNE TLS-ILE (TRANSPORDIKIHI TURBEPROTOKOLL)
Mathy Vanhoef ja Frank Piessens Leuveni ülikoolist Belgias demonstreerisid 2015. aasta suvel reaalset rünnet
edastatavate andmete krüpteerimiseks RC4 kasutavale TLS-protokollile.
Murdmise idee põhineb MITM-printsiibil. Andmeedastuskanalisse sisenedes genereerib ründav pool serverile
suure hulga päringuid, sundides seda vastuseks tagastama ühe ja sama võtmega krüpteeritud küpsiseid.
Kui käsutuses umbes 9x227 ~ 230 paari {avatekst, krüpteeritud tekst} suutis ründaja, põhinedes Fluhrer-McGrew
ja ABSAB statistilistel meetoditel 94% tõenäosusega taastada võtme ja seega ka krüpteeritud küpsised. Praktikas
kulus umbes 52 t, maksimaalselt kuluvaks ajaks oli demonstratsiooni ajaks hinnatud umbes 72 t.

44.

АТАКА НА WEP
Fluhrer, Mantin ja Shamir avaldasid 2001.aastal töö RC4 võtmejaotuse haavatavuse kohta. Nad näitasid ära, et
võtmejada esimesed baidid ei ole kõikide võimalike võtmete seas juhuslikud. Nendest baitidest võib suure
tõenäosusega saada teavet šifris kasutatava võtme kohta. Ja kui pikaajaline võti ja nonss (nonce) pannakse RC4
šifrivõtme loomiseks kokku, võib tulemuseks saada selle pikaajalise võtme, analüüsides piisavalt suurt hulka selle
võtmega krüpteeritud sõnumeid.
Seda haavatavust ja mõningaid sellega seotud efekte kasutati WEP-krüpteerimise lahti murdmiseks IEEE 802.11
traadita võrkudes. See näitas vajadust WEP kiiresti välja vahetada, mis viis uue juhtmevabade võrkude turvalisuse
standardi WPA väljatöötamiseni.
Krüptosüsteemi võib teha sellisele rünnakule kindlaks, kui võtmejada algust mitte arvesse võtta. Seega
nimetatakse muudetud algoritmi „RC4-drop[n]“, kus n on baitide arv võtmejada algusest, mida arvesse ei võeta.
Soovitatav on kasutada n = 768, konservatiivne hinnang on n = 3072.

45.

SEAL
SEAL (Software-optimized Encryption Algorithm, programmiliselt-optimiseeritud krüpteerimisalgoritm) –
sümmeetriline jadaalgoritm andmete krüpteerimiseks, mis on programmiliseks realiseerimiseks optimiseeritud.
Krüpteerimisprotsess koosneb suurest hulgast iteratsioonidest, millest igaüks lõpeb pseudijuhusliku funktsiooni
genereerimisega.

46.

WAKE
WAKE (Word Auto Key Encryption, automaatse võtme peal sõnade šifreerimine) – jadaalgoritm automaatse
võtme peale šifreerimiseks, mida töötas välja David Wheeler 1993. aastal.
Algupäraselt projekteeriti kui keskmise kiirusega süsteem, mis on kõrge turvalisusega.
See on oma olemuselt lihtne kiire šifreerimise algoritm, mis sobib suurte andmemahtude töötlemiseks ja samuti
ka lühikesteks sõnumiteks, kus muutub vaid salajane võti.
Sobib verifikatsiooniks kasutatavate salajaste võtmete räsimiseks.
Antud algoritmi üheks praktilise kasutuse näiteks on tekstiandmete jada krüpteerimine SMS-ides.
Plokkide suuruse tõttu ei saa kasutada kommunikatsiooniks reaalajas

47.

KRÜPTEERIMINE JA DEKRÜPTEERIMINE
Mõlemad meetodid on oma olemuselt avateksti (või šifreeritud teksti) XOR-iga võtmejada abil.
Jadašifreerimise algoritm on dekrüpteerimisele vastuvõtlik valitud avateksti ja valitud krüpteeritud teksti
rünnakute kaudu.

48.

XOR-ŠIFFER
XOR-šiffer on sümmeetrilise krüpteerimise meetod, mis seisneb juhuslikest arvudest koosneva jada „peale
panemises“ avatekstile. Juhuslike arvude jada nimetatakse gamma-jadaks ja seda kasutatakse andmete
krüpteerimiseks ja dekrüpteerimiseks.
English     Русский Rules