Početna » kako da » Što je šifriranje i kako funkcionira?

    Što je šifriranje i kako funkcionira?

    Šifriranje ima dugu povijest koja datira još od vremena kada su stari Grci i Rimljani slali tajne poruke zamjenom slova samo dešifriranim tajnim ključem. Pridružite nam se na brzoj lekciji povijesti i saznajte više o tome kako funkcionira šifriranje.

    U današnjem izdanju HTG-a objašnjavamo da ćemo vam dati kratku povijest šifriranja, kako to radi i neke primjere različitih vrsta enkripcije - provjerite jeste li provjerili i prethodno izdanje, gdje smo objasnili zašto toliko mnogo geeksa mrzi Internet Istraživač.

    Slika po xkcd, očito.

    Rani dani šifriranja

    Stari Grci koristili su alat nazvan Scytale da brže šifriraju svoje poruke pomoću šifre za transpoziciju - oni bi jednostavno omotali traku pergamenta oko cilindra, ispisali poruku, a onda kada bi se odmotali ne bi imali smisla.

    Naravno, ovaj se način šifriranja može lako razbiti, ali to je jedan od prvih primjera koji se zapravo šifrira u stvarnom svijetu..

    Julije Cezar koristio je nešto slično tijekom svog vremena pomicanjem svakog slova abecede u desno ili lijevo nizom pozicija - tehnika šifriranja poznate kao Cezarjeva šifra. Na primjer, pomoću donje šifre primjera napisali biste "GEEK" kao "JHHN".

    Ravnica: ABCDEFGHIJKLMNOPQRSTUVWXYZ
    Šifra: DEFGHIJKLMNOPQRSTUVWXYZABC

    Budući da je samo namijenjeni primatelj poruke znao šifru, sljedećoj osobi bi bilo teško dešifrirati poruku, koja bi se pojavila kao besmisleno, ali osoba koja je imala šifru mogla je lako dekodirati i čitati poruku.

    Druge jednostavne šifre za šifriranje kao što je Polibiusov kvadrat koristile su polialfabetsku šifru koja je navela svako slovo s odgovarajućim brojčanim položajima preko vrha i strane da bi se vidjelo gdje je položaj slova.

    Pomoću tablice kao što je ona iznad napišite slovo "G" kao "23" ili "GEEK" kao "23 31 31 43".

    Enigma Machine

    Tijekom Drugog svjetskog rata, Nijemci su koristili stroj Enigma kako bi proslijedili šifrirane prijenose naprijed i natrag, što je trajalo godinama prije nego što su Poljaci uspjeli razbiti poruke i dati rješenje savezničkim snagama, što je bilo od velike važnosti za njihovu pobjedu..

    Povijest modernog šifriranja

    Suočimo se s time: moderne tehnike šifriranja mogu biti iznimno dosadna tema, pa umjesto da ih samo objasnimo riječima, sastavili smo strip koji govori o povijesti šifriranja, inspiriranim AES-ovim vodičem Jeffa Mosera.  Napomena: jasno je da ne možemo prenijeti sve o povijesti šifriranja u stripu.

    Tih dana ljudi nemaju dobar način šifriranja kako bi osigurali svoju elektroničku komunikaciju.

    Lucifer je dobio ime za nekoliko najranijih civilnih blok šifri, koje su razvili Horst Feistel i njegovi kolege u IBM-u.

    Standard za šifriranje podataka (DES) je blok šifra (oblik šifriranja zajedničke tajne) koji je Nacionalni ured za standarde odabrao kao službeni federalni standard obrade informacija (FIPS) za Sjedinjene Države 1976. i koji je kasnije uživao široku pojavu koristiti na međunarodnoj razini.

    Zabrinutost zbog sigurnosti i relativno sporo funkcioniranje DES-a u softveru motivirali su istraživače da predlože niz alternativnih dizajna blok šifri, koji su se počeli pojavljivati ​​krajem 1980-ih i početkom 1990-ih: primjeri uključuju RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 i FEAL

    Rijndaelov algoritam enkripcije usvojila je američka vlada kao standardno šifriranje simetričnih ključeva ili Advanced Encryption Standard (AES). AES je objavljen od strane Nacionalnog instituta za standarde i tehnologiju (NIST) kao US FIPS PUB 197 (FIPS 197) 26. studenoga 2001. nakon petogodišnjeg procesa standardizacije u kojem je predstavljeno i ocijenjeno petnaest konkurentnih dizajna prije nego što je Rijndael izabran kao najveći prikladan algoritam šifriranja.

    Izvedba algoritma šifriranja

    Mnogi algoritmi za šifriranje postoje i svi su prilagođeni različitim namjenama - dvije glavne karakteristike koje identificiraju i razlikuju jedan algoritam šifriranja od drugog su njegova sposobnost da osiguraju zaštićene podatke od napada i njegovu brzinu i učinkovitost u tome.

    Kao dobar primjer razlike u brzini između različitih vrsta enkripcije, možete koristiti uslužni program za benchmarking ugrađen u čarobnjak za kreiranje volumena TrueCrypta - kao što možete vidjeti, AES je daleko najbrža vrsta snažne enkripcije.

    Postoje i sporiji i brži načini šifriranja i svi su prikladni za različite svrhe. Ako jednostavno pokušavate dešifrirati sićušne dijelove podataka često, možete si priuštiti korištenje najjačeg mogućeg šifriranja ili ga dvaput šifrirati s različitim vrstama šifriranja. Ako vam je potrebna brzina, vjerojatno biste željeli ići s AES-om.

    Za više informacija o određivanju različitih vrsta enkripcije, pogledajte izvješće sa Sveučilišta Washington u St. Louisu, gdje su testirali različite rutine, i sve to objasnili u vrlo zanimljivom pisanju..

    Vrste modernog šifriranja

    Sav fancy algoritam šifriranja o kojem smo ranije razgovarali uglavnom se koristi za dvije različite vrste šifriranja:

    • Algoritmi simetričnih ključeva koristiti srodne ili identične ključeve za šifriranje i dešifriranje.
    • Algoritmi asimetričnih ključeva koristiti različite tipke za šifriranje i dešifriranje - to se obično naziva kriptografija javnog ključa.

    Simetrično šifriranje ključa

    Da bismo objasnili ovaj koncept, koristit ćemo metaforu poštanskih usluga opisanu u Wikipediji da bismo razumjeli kako funkcioniraju simetrični ključni algoritmi.

    Alice svoju tajnu poruku stavlja u kutiju i zaključava kutiju pomoću lokota na kojem ima ključ. Potom šalje kutiju Bobu redovnom poštom. Kada Bob primi kutiju, on koristi identičnu kopiju Aliceovog ključa (koji je nekako ranije dobio, možda osobnim susretom) kako bi otvorio kutiju i pročitao poruku. Bob može koristiti isti katanac kako bi poslao svoj tajni odgovor.

    Algoritmi simetričnih ključeva mogu se podijeliti na potisne šifre, a šifre blok-šifri-potokova šifriraju bitove poruke jednu po jednu, a blok šifre uzimaju broj bitova, često u blokovima od 64 bita odjednom, i šifriraju ih kao jednu jedinicu. Postoji mnogo različitih algoritama koje možete odabrati - popularniji i uvaženiji simetrični algoritmi uključuju Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES i IDEA.

    Asimetrično šifriranje

    U sustavu asimetričnog ključa, Bob i Alice imaju odvojene lokote, umjesto pojedinačnog lokota s višestrukim ključevima iz simetričnog primjera. Napomena: ovo je, naravno, uvelike pojednostavljen primjer kako stvarno djeluje, što je mnogo kompliciranije, ali dobit ćete opću ideju.

    Prvo, Alice zamoli Boba da joj pošalje otvoreni lokot običnom poštom, čuvajući ključ od sebe. Kada je Alice primi, koristi je da zaključa kutiju u kojoj se nalazi poruka i šalje zaključanu kutiju Bobu. Bob tada može otključati kutiju svojim ključem i pročitati poruku od Alice. Da bi odgovorio, Bob mora na sličan način zatražiti od Alice otvoreni lokot da zaključa kutiju prije nego što je vrati.

    Ključna prednost u asimetričnom sustavu ključeva je da Bob i Alice ne moraju poslati kopije svojih ključeva jedan drugome. To sprječava treću stranu (možda, u primjeru, korumpiranog poštanskog radnika) da kopira ključ dok je u tranzitu, dopuštajući trećoj strani da špijunira sve buduće poruke poslane između Alice i Boba. Osim toga, ako je Bob nepažljiv i dopusti nekom drugom kopirati njegov ključna, Aliceove poruke Bobu bi bile ugrožene, ali Aliceove poruke drugim ljudima ostale bi tajne, budući da bi drugi ljudi osiguravali različite lokote za Alice.

    Asimetrično šifriranje koristi različite tipke za šifriranje i dešifriranje. Primatelj poruke stvara privatni ključ i javni ključ. Javni ključ se distribuira među pošiljateljima poruka i oni koriste javni ključ za šifriranje poruke. Primatelj koristi svoj privatni ključ bilo koju šifriranu poruku koja je šifrirana pomoću primatelja javnog ključa.

    Postoji jedna velika prednost za šifriranje na ovaj način u usporedbi sa simetričnim šifriranjem. Nikada ne trebamo slati ništa tajno (kao što je naš ključ za šifriranje ili lozinku) preko nesigurnog kanala. Vaš javni ključ ide u svijet - nije tajna i ne mora biti. Vaš privatni ključ može ostati udoban i ugodan na vašem osobnom računalu, gdje ste ga generirali - nikada ga ne morate e-poštom poslati bilo gdje ili čitati napadači.

    Kako šifriranje osigurava komunikaciju na webu

    Već dugi niz godina protokol SSL (Secure Sockets Layer) osigurava web-transakcije pomoću enkripcije između vašeg web-preglednika i web-poslužitelja, štiteći vas od bilo koga tko bi mogao njuškati na mreži u sredini.

    SSL je konceptualno vrlo jednostavan. Počinje kada preglednik zahtijeva sigurnu stranicu (obično https: //)

    Web poslužitelj šalje svoj javni ključ sa svojim certifikatom.

    Preglednik provjerava je li certifikat izdao pouzdana strana (obično pouzdani temeljni CA), da je certifikat još uvijek valjan i da je certifikat povezan s web-lokacijom.

    Preglednik zatim koristi javni ključ za šifriranje slučajnog simetričnog ključa za šifriranje i šalje ga poslužitelju s potrebnim šifriranim URL-om, kao i drugim šifriranim http podacima.

    Web-poslužitelj dešifrira simetrični ključ za šifriranje pomoću privatnog ključa i koristi simetrični ključ preglednika za dešifriranje URL-ova i http podataka.

    Web poslužitelj šalje natrag traženi html dokument i http podatke šifrirane simetričnim ključem preglednika. Preglednik dešifrira http podatke i html dokument pomoću simetričnog ključa i prikazuje podatke.

    I sada možete sigurno kupiti tu eBay stavku koju stvarno ne trebate.

    Jeste li saznali bilo što?

    Ako ste došli ovako daleko, mi smo na kraju našeg dugog putovanja prema razumijevanju šifriranja i malo kako to funkcionira - počevši od ranih dana šifriranja s Grcima i Rimljanima, uspona Lucifera, i na kraju kako SSL koristi asimetrično i simetrično šifriranje kako bi vam pomogao da kupite taj mekani ružičasti zeko na eBayu.


    Mi smo veliki obožavatelji enkripcije ovdje u How-To Geek, i pokrili smo mnogo različitih načina za napraviti stvari kao što su:

    • Početak rada s TrueCryptom (kako biste zaštitili svoje podatke)
    • Dodajte Automatsko šifriranje web-lokacije u Firefox
    • BitLocker ići šifrira prijenosne flash pogone u sustavu Windows 7
    • Kako osigurati vaš Linux računalo šifriranjem tvrdog diska
    • Dodaj Šifriraj / Dešifriraj opcije na Windows 7 / Vista Desnom tipkom miša kliknite izbornik
    • Početak rada s enkripcijom pogona TrueCrypt na Mac OS X

    Naravno, šifriranje je previše komplicirana tema da bi se sve moglo objasniti. Jesmo li propustili nešto važno? Slobodno stavite znanje o svojim kolegama čitateljima u komentarima.