Krüpteerimine: põhimõte, dekrüpteerimine ja krüptoanalüüs
Krüpteerimine: põhimõtted, dekrüpteerimine ja krüptoanalüüs — kuidas kaitsta andmeid, murda šifreid ja mõista krüptograafia matemaatikat.
Krüpteerimine võimaldab teavet varjata nii, et seda ei saa lugeda ilma eriteadmisteta (näiteks paroolita). Seda tehakse salajase koodi või šifri abil. Peidetud teavet nimetatakse krüpteerituks.
Dekrüpteerimine on viis, kuidas muuta krüpteeritud teave tagasi selgeks tekstiks. See on dekrüpteeritud vorm. Krüpteerimise uurimist nimetatakse krüptograafiaks. Krüptoanalüüsi saab teha käsitsi, kui krüpto on lihtne. Keerukate krüptograafide puhul on vaja arvutit, et otsida võimalikke võtmeid. Dekrüpteerimine on arvutiteaduse ja matemaatika valdkond, mis uurib, kui raske on krüptograafiat murda.
Kuidas krüpteerimine töötab
Krüpteerimine kasutab algoritme ja võtmeid, et teisendada selge tekst (inimese loetav sõnum) krüpteeritud tekstiks (nähtamatu või juhusliku kujuga andmed). Võti on tavaliselt salajane väärtus, mis juhib seda teisendust. Ilma sobiva võtmeta on krüpteeritud andmed tavaliselt loetamatud.
Peamised krüpteerimise liigid
- Sümeetriline krüpteerimine – sama võti kasutatakse nii krüpteerimiseks kui dekrüpteerimiseks. Näited: AES, 3DES. Eeliseks on kiirus; puuduseks võtme turvaline jagamine.
- Asümeetriline (võtme) krüpteerimine – kasutatakse paarilist võtmesüsteemi: avalik võti krüpteerimiseks ja privaatne võti dekrüpteerimiseks (või vastupidi allkirjastamisel). Näited: RSA, ECC. Sobib võtmevahetuseks ja digiallkirjadeks.
- Segatud süsteemid – reaalses maailmas kasutatakse sageli mõlema kombinatsiooni: asümeetrilisi meetodeid võtme turvaliseks edastamiseks ja sümeetrilist meetodit pärisandmete krüpteerimiseks (nt TLS).
Krüpteerimise tehnilised aspektid
- Bloki- vs voosüsteemid – blokišifrid töötlevad andmeid kindlates tükkides (blokkides), voosüsteemid (stream ciphers) toodavad pidevat võtmevoogu andmete krüpteerimiseks.
- Täpsus ja võtme pikkus – tugevus sõltub algoritmist ja võtme pikkusest: pikem võti tähendab tavaliselt suuremat vastupidavust murdmisele.
- Täpsusrežiimid – blokišifrite puhul on mitmeid töörežiime (CBC, GCM jt), mis mõjutavad turvalisust ja andmete autentimist.
- Autentimine ja terviklikkus – lisaks konfidentsiaalsusele on oluline tagada andmete ehe ja muutumatus (nt HMAC, digitaalallkirjad või AEAD-režiimid nagu AES-GCM).
Dekrüpteerimine ja krüptoanalüüs
Dekrüpteerimine on protsess, mille käigus krüpteeritud andmed muudetakse tagasi loetavaks. Krüptoanalüüs on teadus ning komplekt meetodeid ja ründeviise, mis püüavad leida nõrkusi krüptosüsteemides või võtmete leidmisel. Levinud krüptoanalüüsi tüübid:
- Sagedusanalüüs – kasutatakse klassikaliste asendussüsteemide jaoks, kus tähtede sagedused paljastavad mustreid.
- Known-plaintext ja chosen-plaintext rünnakud – ründajal on osa selgest tekstist või saab valida, mida krüpteerida; sellised andmed võivad aidata leida võtit.
- Brute-force ehk jõu rakendamine – proovida kõiki võimalikke võtmeid; tänapäeval praktiline ainult siis, kui võtme ruum on väike.
- Poolnüansid ja küljekanali rünnakud – ründed, mis kasutavad füüsikalistelt kanalitelt (nt aja mõõtmine, energiatarve, elektromagnetiline lekke) saadud infot.
- Matemaatilised rünnakud – näiteks faktoreerimise või diskreetse logaritmi probleemide lahendamine, mis nõuavad sügavat matemaatilist tööd.
Tavapärased rünnakud ja kaitsemeetmed
- Hea võtmehaldus – võtmete turvaline genereerimine, hoidmine ja hävitamine on kriitilised. Väldi sama võtme korduvat kasutamist valdkondades, kus see pole sobilik.
- Värsked ja tuntud tugevad algoritmid – kasuta standardiseeritud, auditeeritud algoritme (nt AES, ChaCha20, RSA/ECC vastavalt vajadusele) ja ära kujuta ise välja uusi šifreid ilma põhjaliku analüüsita.
- Autentimine ja krüptograafilised protokollid – rakenda AEAD-režiime, TLS-i, S/MIME või PGP-d vastavalt kasutusjuhtumile, et tagada nii konfidentsiaalsus kui integriteet.
- Pidev uuendamine – jälgi turvavärskendusi ja asenda nõrku võtmeid/algoritme.
Rakendused
- Veebiliiklus (HTTPS/TLS), e-post (S/MIME, PGP), failide ja ketaste krüpteerimine, mobiilirakenduste turvalisus, VPN-id, digiallkirjad ja autentimine.
- Krüpteerimine on kriitiline nii erasektoris kui valitsusasutustes tundlikku informatsiooni kaitsmisel.
Tulevik ja kvantioht
Kvantarvutuste areng toob kaasa uued väljakutsed: mõned tänased algoritmid (nt RSA, ECC) on kvantarvutite abil haavatavad. Sellepärast on käimas tööd post-kvantum krüptograafia standardite väljatöötamiseks, mis oleksid vastupidavad ka kvantarünnakutele.
Õiguslikud ja eetilised aspektid
Krüpteerimine kaitseb privaatsust, kuid mõnel juhul tekitab ka regulatiivseid ja õiguskaitsega seotud arutelusid (nt juurdepääs krüpteeritud andmetele uurimise tarbeks). Turvalisuse parimate tavade ja seadusandluse vahel on sageli vajalik tasakaal.
Kokkuvõte: Krüpteerimine ja dekrüpteerimine on infoturbe keskne osa. Tõhus kaitse nõuab õiget algoritmi, piisava pikkusega võtit, korrektselt kujundatud protokolle ning head võtmehaldust. Krüptoanalüüs aitab leida ja parandada nõrkusi, samas kui tehnoloogia areng nõuab pidevat jälgimist ja uuendusi.
Näited
Lihtne sõnade krüpteerimise viis on ROT13. ROT13 puhul vahetatakse tähestiku tähed omavahel ära, kasutades lihtsat mustrit. Näiteks A muutub N-ks, B muutub O-ks, C muutub P-ks jne. Iga täht "pööratakse" 13 tühiku võrra. Kasutades ROT13 salakirja, muutub Simple English Wikipedia sõnadest Fvzcyr Ratyvfu Jvxvcrqvn. ROT13 salakirja on väga lihtne dekrüpteerida. Kuna ingliskeelses tähestikus on 26 tähte, siis kui tähte kaks korda 13 tähe võrra keerata, saadakse algne täht. Seega, kui ROT13-koode teist korda kasutada, saab algse teksti tagasi. Julius Caesar kasutas oma armeega suhtlemisel mõnikord seda, mida tänapäeval nimetatakse Caesari salakirjaks. See šiffer töötab tähtede asukoha nihutamise teel: iga täht on pööratud 3 positsiooni võrra.
Enamik krüpteerimisviise muudetakse keerulisemaks, nii et krüptoanalüüs on keeruline. Mõned on tehtud ainult teksti jaoks. Teised on tehtud binaarsete arvutifailide, näiteks piltide ja muusika jaoks. Tänapäeval kasutavad paljud inimesed asümmeetrilist krüpteerimissüsteemi nimega RSA. RSA abil saab krüpteerida mis tahes arvutifaili. AES on levinud sümmeetriline algoritm.
Ühekordne pad
Enamikku krüpteerimistüüpe on teoreetiliselt võimalik murda: vaenlane võib olla võimeline sõnumit dekrüpteerima ilma salasõna teadmata, kui tal on targad matemaatikud, võimsad arvutid ja palju aega. Ühekordse krüpteerimisvahendi eripära on see, et kui seda kasutatakse õigesti, on seda võimatu murda. Tuleb järgida kolme reeglit:
- Salajane võti (parool) peab olema sama pikk kui salajane sõnum: kui sõnum koosneb 20 tähest, siis peab ka võtmes olema vähemalt 20 tähte.
- Salajane võti peab olema juhuslik (nt KQBWLDA...).
- Salajast võtit tuleb kasutada ainult üks kord. Mitme sõnumi saatmiseks tuleb iga sõnumi jaoks kasutada erinevat võtit.
Kui neid kolme reeglit järgitakse, siis on salajase sõnumi lugemine ilma salajase võtme teadmata võimatu. Sel põhjusel kasutasid saatkonnad ja suured sõjaväeüksused külma sõja ajal sageli ühekordseid padjaid, et suhelda salaja oma valitsustega. Neil olid väikesed raamatud ("padjad"), mis olid täidetud juhuslike tähtede või juhuslike numbritega. Iga lehekülge padist võis kasutada ainult üks kord: seepärast nimetatakse seda "ühekordseks padiks".
Krüpteerimine Internetis
Internetis kasutatakse sageli krüpteerimist, sest paljud veebisaidid kasutavad seda privaatse teabe kaitsmiseks. Internetis kasutatakse mitmeid krüpteerimisprotokolle, näiteks Secure Sockets Layer (SSL), IPsec ja SSH. Nad kasutavad RSA krüpteerimissüsteemi ja teisi. Kaitstud veebi sirvimise protokolli nimetatakse HTTPS-iks. URL-i krüpteerimisel kasutatakse enamasti MD5-algoritmi. Internetiturul kasutatakse erinevaid algoritme sõltuvalt vajadusest.
Seotud leheküljed
- FreeOTFE - Ketta krüpteerimine
- Pretty Good Privacy (PGP) - e-posti krüpteerimine
- PuTTY - SSH krüpteerimine
Küsimused ja vastused
K: Mis on krüpteerimine?
V: Krüpteerimine on teabe varjamine nii, et seda ei ole võimalik lugeda ilma eriteadmisteta, näiteks salasõna, kasutades selleks salakoodi või salakirja.
K: Mida tähendab dekrüpteerimine?
V: Dekrüpteerimine on krüpteeritud teabe muutmine tagasi selgeks tekstiks, mis on dekrüpteeritud kujul.
K: Mis on krüptograafia?
V: Krüptograafia on krüpteerimise ja teabe turvaliseks muutmise uurimine.
K: Kas salakirju saab käsitsi analüüsida?
V: Lihtsaid krüptosüfeere saab käsitsi analüüsida, seda protsessi nimetatakse krüptoanalüüsiks.
K: Millist tüüpi krüptode murdmiseks on vaja arvutit?
V: Keerukate šifrite puhul on vaja arvutit, et otsida võimalikke võtmeid.
K: Kuidas nimetatakse arvutiteaduse valdkonda, mis uurib dekrüpteerimist?
V: Dekrüpteerimine on arvutiteaduse ja matemaatika valdkond, mis uurib, kui raske on krüptograafiat murda.
K: Mis on krüpteerimise eesmärk?
V: Krüpteerimise eesmärk on kaitsta tundlikku teavet, muutes selle loetamatuks ilma eriteadmiste või salasõnata.
Otsige