Vodič za kriptografiju

⚡ Pametni sažetak

Kriptografija štiti informacije pretvarajući ih u oblik koji ljudi ne mogu čitati, a koji samo vlasnik ispravnog ključa može poništiti, a ova stranica pokriva njezine značajke, primjene, algoritme i praktičnu vježbu s CrypToolom.

  • 🔐 Osnovna ideja: Šifriranje pretvara otvoreni tekst u šifru; dešifriranje ga obrće pomoću tajnog ključa.
  • 🧩 Tri discipline: Kriptografija skriva značenje, kriptoanaliza ga razbija, a kriptologija pokriva oboje.
  • 📐 Obitelji algoritama: Hash funkcije, simetrične šifre i sustavi s javnim ključem rješavaju različite probleme.
  • Trenutni standardi: AES i SHA-2 ostaju odobreni, dok se MD5, SHA-1 i RC4 smatraju neispravnima.
  • 🧪 Praktična vježba: CrypTool 1 demonstrira RC4 enkripciju i brute-force analizu 24-bitnog ključa.
  • 🔮 Pogled unaprijed: NIST je objavio svoje prve postkvantne standarde u kolovozu 2024.

Vodič za kriptografiju

Informacije igraju vitalnu ulogu u poslovanju, vladi i vojnim operacijama, a informacije u pogrešnim rukama mogu koštati prihoda ili čak i gore. Kako bi osigurale komunikaciju, organizacija koristi kriptologiju za šifriranje informacija - pretvarajući ih u format koji ljudi ne mogu čitati i natrag.

U ovom članku o kriptografiji i mrežnoj sigurnosti saznat ćete kako kriptologija funkcionira i kako spriječiti da informacije dospiju u pogrešne ruke.

Što je kriptografija?

Kriptografija je proučavanje i primjena tehnika koje skrivaju pravo značenje informacija pretvarajući ih u formate nečitljive ljudima i natrag.

Razmotrimo primjer. Da biste poslali „VOLIM JABUKE“, svako slovo zamijenite trećim uzastopnim slovom abecede, što rezultira „K NQXG CRRNGU“. Da bi je pročitao, primatelj se povlači tri slova unatrag, kao što je prikazano dolje.

Šifriranje i dešifriranje pomicanjem svakog slova za tri mjesta
Šifriranje i dešifriranje

Pretvaranje informacija u oblik koji ljudi ne mogu čitati naziva se šifriranje, a njegovo preokretanje se naziva dešifriranjeŠifrirani rezultat poznat je kao šifra.

Dešifriranje koristi tajni ključ poznat samo legitimnim primateljima. Budući da je ključ potreban, komunikacija ostaje sigurna čak i kada napadač presreće šifru, što bez njega nema smisla.

Značajke kriptografije

Kriptografski sustav se ocjenjuje na temelju sljedećih karakteristika.

svojstvo Što to znači
Algoritam Objavljeni matematički postupak kojim se izvodi transformacija.
Tajnost Samo vlasnici ključa mogu čitati zaštićene podatke.
Integrity Svaka promjena podataka je uočljiva.
Prilagodljivost Shema se prilagođava različitim veličinama ključeva i razinama prijetnji.
Interoperabilnost Različiti sustavi i dobavljači razmjenjuju zaštićene podatke.
Ovjera Podrijetlo poruke može se dokazati.
skalabilnost Performanse se održavaju kako količina podataka raste.
Upravljanje ključevima Ključevi se generiraju, pohranjuju, rotiraju i sigurno povlače.

Primjene kriptografije

Te karakteristike postaju svakodnevne usluge na koje se ljudi oslanjaju, a da ih ne primjećuju.

primjena Kako se koristi kriptografija
TLS enkripcija Štiti promet između preglednika i web-stranice.
Pohrana lozinki Pohranjuje slane hasheve umjesto čitljivih lozinki.
Online bankarstvo Osigurava transakcije i provjerava banku.
Cryptocurrency Potpisuje transakcije i povezuje blokove s hashovima.
Šifrirana e-pošta Čuva privatnost sadržaja poruke tijekom prijenosa i pohrane.
Digitalnih potpisa Dokazuje autorstvo i da dokument nije promijenjen.
Sigurna poruka Primjenjuje end-to-end enkripciju između uređaja.
E-commerce Štiti podatke kartice tijekom plaćanja.

Što je kriptoanaliza?

Kriptoanaliza je umijeće dešifriranja poruka bez ključa koji se koristi za njihovo šifriranje. Primjenjuje matematičku analizu i algoritme za dešifriranje šifri, a koristi se i za probijanje sustava i, obrambeno, za mjerenje koliko zaštite algoritam nudi.

Uspjeh kriptoanalitičkog napada ovisi o:

  • Količina raspoloživog vremena
  • Dostupna računalna snaga
  • Dostupan skladišni kapacitet

Slijedeći su najčešće spominjani napadi kriptoanalizom:

  • Napad grubom silom — isprobava svaku moguću kombinaciju otvorenog teksta ili ključa, šifrirajući svaku i uspoređujući je s izvornom šifrom.
  • Napad na rječnik — koristi popis riječi za pronalaženje rezultata s otvorenim tekstom ili ključem. Uglavnom se koristi pri pokušaju razbiti šifrirane lozinke.
  • Rainbow stol napad — uspoređuje šifrirani tekst s unaprijed izračunatim hashovima kako bi pronašao podudaranja. Soljenje svake pohranjene lozinke ga poništava.

Što je kriptologija?

Kriptologija je krovno područje koje objedinjuje kriptografiju i kriptoanalizu. Obje polovice su važne: algoritam je pouzdan tek kada su ga kriptoanalitičari pokušali i nisu uspjeli dešifrirati.

Šifriranje Algorithms

Donji algoritmi se više puta pojavljuju u sigurnosnom radu. Imajte na umu koji su i dalje odobreni, a koji opstaju samo u naslijeđenim sustavima.

  • MD5 — skraćenica za Message-Digest 5, proizvodi 128-bitne hash vrijednosti. MD5 je hash funkcija, a ne šifriranje, tako da se dizajnom ne može poništiti. Nije otporan na koliziju - dva različita ulaza mogu proizvesti isti hash - i nije prikladan za lozinke ili potpise.
  • SHA — kratica za Secure Hash Algorithm (Sigurni algoritam hashiranja), ova obitelj generira sažete prikaze poruke, nazvane sažetak poruke:
    • SHA-0: proizvodi 160-bitne hash vrijednosti. Povučen je zbog značajnog nedostatka i zamijenjen s SHA-1.
    • SHA-1: proizvodi 160-bitne hash vrijednosti. Praktična kolizija demonstrirana je 2017. godine, a NIST ju je zabranio za digitalne potpise, stoga je izbjegavajte.
    • SHA-2: obitelj od šest funkcija, uključujući SHA-256 i SHA-512, koje rade na 32-bitnim i 64-bitnim riječima. Obje ostaju odobrene.
    • SHA-3Standardiziran 2015. godine i prije poznat kao Keccak, koristi drugačiji interni dizajn kao sigurnosnu kopiju SHA-2.
  • AES — Napredni standard šifriranja (Advanced Encryption Standard) je simetrična blokovska šifra koja danas štiti većinu podataka u mirovanju i u prijenosu, sa 128-, 192- i 256-bitnim ključevima. Zamijenio je DES i zadana je šifra za nove sustave.
  • RC4 — protočna šifra nekoć uobičajena u protokolima Secure Sockets Layer (SSL) i Wired Equivalent Privacy (WEP). Oba protokola su zastarjela, a RFC 7465 je zabranio RC4 u svakoj verziji TLS-a 2015. godine. Ovdje je sačuvana kao primjer za podučavanje.
  • Blowfish — ključna simetrična blokovska šifra koja se povijesno koristila za lozinke i datoteke. Njegova veličina bloka od 64 bita čini AES boljim modernim izborom.

Gledajući unaprijed, NIST je u kolovozu 2024. objavio svoje prve postkvantne standarde - ML-KEM za razmjenu ključeva, ML-DSA i SLH-DSA za potpise - koji će postupno zamijeniti današnje algoritme s javnim ključem.

Aktivnost hakiranja: Kako stvoriti šifru pomoću CrypToola

U ovoj praktičnoj vježbi s CrypTool-om, stvarate jednostavnu šifru s RC4, a zatim je oporavite brute-force analizom, pretpostavljajući da je poznato da ključ ima 24 bita. Cilj je pokazati zašto kratki ključ i probijena šifra ne nude stvarnu zaštitu.

Stvaranje RC4 Stream Cipher

Korak 1) Preuzmite i instalirajte CrypTool

CrypTool 1 je obrazovni alat otvorenog koda za kriptologiju. Aktivni razvoj se od tada preselio na CrypTool 2, ali izdanje 1.4.42 i dalje radi na Windows i odgovara donjim ekranima. Preuzmite ga s cryptool.org.

Korak 2) Otvorite CrypTool i zamijenite tekst

Fraza za šifriranje je Nikad ne podcjenjujte odlučnost djeteta koje je bogato vremenom i siromašno novcemKljuč je 00 00 00.

  • Otvorite CrypTool 1.

Glavni prozor CrypTool 1 prije zamjene uzorka teksta

  • Zamijenite tekst gornjom frazom.

CrypTool dokument koji sadrži zamjensku frazu

Korak 3) Šifrirajte tekst

  • Kliknite izbornik Šifriraj/Dešifriraj.

Izbornik CrypTool Encrypt slash Decrypt s odabranom Symmetric modern

  • Pokažite na Simetrično (moderno), a zatim odaberite RC4.

Dijalog za unos ključa CrypTool RC4

Korak 4) Odaberite ključ za šifriranje

  • Odaberite 24 bita kao duljinu ključa.
  • Postavite vrijednost na 00 00 00.
  • Kliknite Šifriraj za generiranje šifre toka u nastavku.

Rezultirajuća RC4 stream šifra prikazana u CrypToolu

Napad na Stream Cipher

Korak 5) Započnite analizu

  • Kliknite izbornik Analiza.

Izbornik CrypTool Analysis s istaknutim modernim simetričnim šifriranjem

  • Postavite pokazivač na Simetrično šifriranje (moderno), a zatim odaberite RC4.

CrypTool dijaloški okvir za analizu brute-forcea za RC4

  • Pretpostavka je tajni ključ od 24 bita, stoga odaberite 24 bita kao duljinu ključa.
  • Kliknite Start.

Prozor napretka CrypTool brute-force analize

  • Bilješka: Vrijeme potrebno za obradu ovisi o procesorskom kapacitetu korištenog stroja i o duljini ključa. Dulji ključ traje dulje, zbog čega su moderni ključevi od 128 bitova ili više.

Korak 6) Analizirajte rezultate

  • Kada se analiza završi, kandidatski ključevi izgledaju rangirani na sljedeći način.

Rezultati CrypTool brute-force analize rangirani po entropiji

  • Bilješka: Niža vrijednost entropije obično ukazuje na točan rezultat, iako i viša može biti točna.
  • Odaberite redak koji se čita kao smislen tekst, a zatim kliknite Prihvati odabir.

Pitanja i odgovori

Simetrično šifriranje koristi jedan zajednički ključ i brzo je, pa štiti velike količine podataka. Asimetrično šifriranje koristi par javnog i privatnog ključa, što rješava distribuciju ključeva i omogućuje digitalne potpise.

Ne. Šifriranje je reverzibilno s ključem; hashiranje je jednosmjerna transformacija u sažetak fiksne duljine. Sustavi lozinki pohranjuju slane hashove upravo zato što se izvorna vrijednost ne može oporaviti.

Sol je jedinstvena slučajna vrijednost pohranjena pored svakog hash-a lozinke. Ona mijenja hash identičnih lozinki, rušeći unaprijed izračunate rainbow tablice i prisiljavajući napadača da radi na svakom računu zasebno.

Digitalni certifikat veže javni ključ s provjerenim identitetom i potpisuje ga izdavatelj certifikata. Preglednici provjeravaju taj potpis prije nego što povjeruju šifriranoj vezi s web-stranicom.

Veliko kvantno računalo bi razbilo RSA i ključeve eliptične krivulje, dok simetričnim šiframa trebaju samo veći ključevi. NIST je odgovorio objavljivanjem postkvantnih standarda 2024. godine kako bi migracija mogla započeti rano.

Strojno učenje ne probija jake moderne šifre. Umjesto toga se koristi za analizu bočnih kanala, uočavanje slabih ili ponovno korištenih ključeva u velikim količinama i označavanje anomalno šifriranog prometa tijekom otkrivanja prijetnji.

Copilot ubrzava standardni kod, ali često predlaže zastarjele algoritme ili čvrsto kodirane ključeve. Svaki prijedlog tretirajte kao nacrt, preferirajte provjerenu biblioteku u odnosu na ručno kodirani kod i neka recenzent provjeri rukovanje ključevima.

Sigurnosni inženjeri, penetracijski testeri i forenzički analitičari primjenjuju ga svakodnevno i on čini potpunu domenu CISSP certifikacijaVećina uloga konfigurira provjerene biblioteke umjesto da dizajnira algoritme.

Sažmite ovu objavu uz: