Kriptografija

Kriptografija je prevođenje razgovijetnoga teksta ili kakva drugoga skupa podataka, u nerazgovijetan tekst kako bi ga jedino onaj koji ima ključ za odgonetanje mogao prevesti u izvorni tekst.

Općenito o kriptografiji

  • Zadaća je kriptografije da omogući dvjema osobama očuvanje tajnosti poruka, čak i u komunikaciji nesigurnim komunikacijskim kanalom s trećim osobama.
  • Kriptografija se stoljećima primjenjivala za osiguravanje tajnosti pretežito vojne i diplomatske komunikacije.
  • U predznanstvenome razdoblju klasične kriptografije, postupci kriptiranja svodili su se na različite domišljate kombinacije razmještanja znakova unutar teksta ili na njihovu zamjenu.
  • Dio kriptologije koji se bavi postupcima odgonetanja poruka bez poznavanja ključa naziva se kriptoanalizom.
  • Danas, u doba razmjene poruka globalnim računalnim i komunikacijskim mrežama suvremena se kriptologija, kao interdisciplinarna znanost, uglavnom oslanja na informatiku.

Kriptiranje kroz povijest

  • oko 1900. pr. Kr. Egipatski pisar rabi nestandardne hijeroglife u jednom natpisu. To se navodi kao prvi dokumentirani primjer pisane kriptografije.
  • 1500. pr.Kr. Mezopotamska glinena pločica sadrži šifiriranu formulu za izradu glazure za glinene lonce.
  • 50.-60. pr. Kr. Julije Cezar (100.-44.g.pr.Kr.) je rabio jednostavnu supstituciju na običnoj abecedi(samo kružni pomak cijele abecede) u državnim komunikacijama.
  • 1918. Nijemci su pustili u pogon sustav ADFGVX pred kraj prvog svjetskog rata. Šifra se sastojalaiz supstitucije pomoću indeksiranog polja znakova, zatim frakcionacije i na kraju transpozicije
    dijelova slova.
  • 1933. – 1945 Enigma nije uspjela kao komercijalni proizvod, ali su je preuzeli njemački nacisti, ipoboljšali je da bi postala glavni uređaj za šifriranje u nacističkoj Njemačkoj. Enigma je prvi stroj za kriptiranje

Gdje svakodnevno koristimo kriptografiju?

Kriptografija se koristi svakodnevno u raznim aplikacijama za zaštitu osjetljivih informacija te sigurnu komunikaciju. Neki od primjera su:

Internetsko bankarstvo i kupnja – šifriranje informacija kao što su brojevi kreditnih kartica, vjerodajnice za prijavu te osobni podatci koji se prenose putem interneta.

Sigurne komunikacije – osiguranje različitih oblika elektroničke komunikacije (e-pošta, razmjena izravnih poruka). Najčešće se radi upotrebom enkripcije s javnim ključem što osigurava da samo namjeravani primatelj može očitati poruku.

Virtualne privatne mreže (VPN) – stvaranje sigurne i šifrirane veze između uređaja korisnika i udaljene mreže. Na taj način se omogućuje siguran pristup resursima na mreži te također pomaže u zaštiti njihovih podataka od presretanja drugih.

Enkripcija mobilnog telefona – koristi se za zaštitu podataka pohranjenih na mobilnim telefonima (kontakti, poruke, zapisi poziva). Najčešće se radi upotrebom enkripcije sa simetričnim ključem, koja koristi jedan za šifriranje i jedan za dešifriranje.

Pohrana u cloudu – koristi se enkripcija za osiguranje podataka pohranjenih u cloudu, tj. na njihovim poslužiteljima. Na taj način osigurano je da neovlaštene strane ne mogu pristupiti podacima, čak i ako su hakirani.

E-pošta i web preglednici – klijenti koriste različite vrste kriptografije, od šifriranja prijenosa sloja (HTTPS) do šifriranja poruka u mirovanju.

Kako se kriptografija koristi u programiranju?

Jedna od najosnovnijih i najvažnijih upotreba kripto tehnologije u programiranju je šifriranje podatakaŠifriranje podataka uključuje korištenje matematičkih algoritama za kodiranje podataka na takav način da ih može pročitati samo netko tko ima odgovarajući ključ za dešifriranje.

Kriptografija se također koristi za osiguranje komunikacije između različitih strana. To se može učiniti upotrebom enkripcije s javnim i privatnim ključem, gdje se javni ključ koristi za šifriranje podataka, a privatni ključ za dešifriranje.

Digitalni potpis je matematički način osiguravanja autentičnosti digitalnog dokumenta. Obično se stvara korištenjem privatnog ključa za šifriranje hash dokumenta, a zatim se javnim ključem koristi za dešifriranje. Programeri koriste ovu metodu kako bi potvrdili autentičnost dokumenta, te osigurali da je došao od osobe koja tvrdi da ga je stvorila.

Nasumični brojevi se također koriste u kriptografiji. Dobar algoritam šifriranja treba izvor nasumičnih brojeva za generiranje jedinstvenih ključeva koje je teško predvidjeti.