User Tools

Site Tools


one-time-pad

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
one-time-pad [2023/09/21 10:06] – created katarinaone-time-pad [2026/06/11 16:03] (current) – Prošireno XOR objašnjenje dio mbunic
Line 1: Line 1:
-====Jednokratna bilježnica (One-time pad)==== +====Jednokratna bilježnica==== 
-**One-time pad**, odnosno **jednokratna bilježnica**, je tehnika enkripcije koja pruža savršenu povjerljivost ukoliko se koristi ispravno – sa istinski slučajnim ključevima koji se nikad ne koriste ponovno. Međutim, to u stvarnosti baš i nije tako lako logistički izvedivo, što je zašto danas vrlo rijetko koristimo ovaj neprobojni kriptosustav.+**Jednokratna bilježnica** (eng. //one-time pad//tehnika je enkripcije koja pruža savršenu povjerljivost ako se koristi ispravno – istinski slučajnim ključevima koji se nikad ne koriste ponovno. Međutim, to u stvarnosti nije uvijek logistički izvedivo, stoga danas vrlo rijetko koristimo ovaj kriptosustav.
  
-Jednokratna bilježnica radi tako da kombinira jasni tekst sa ključem pomoću bitwise XOR operacije. Svaki bit jasnog texta XORa se sa odgovarajućim bitom ključa da bi se dobio skriveni tekst. Takva operacija zahtjeva ključ duljine samog jasnog teksta, što je otkud proizlaze gotovo svi logistički problemi vezani za jednokratnu bilježnicuSvi ostali problemi proizlaze iz činjenice da se ključ te duljine ne smije ponovno koristiti (many-time pad je kritični propust sigurnosti) ili iz činjenice da se nekako treba distribuirati svima koji ga trebaju bez da završi kod nekoga kome ne treba.+Jednokratna bilježnica kombinira jasni tekst ključem pomoću bitovne XOR operacije. Svaki bit jasnog texta XOR-a se odgovarajućim bitom ključa da bi se dobio skriveni tekst. Takva operacija zahtjeva ključ duljine samog jasnog teksta, što je velik logistički problemTakođer, ključ se nikad ne smije ponovno koristiti te ga treba distribuirati svima koji ga trebaju.
  
-Osim logističkih nedostataka, jednokratna bilježnica može biti podložna predvidivoj izmjeni poruke (eng. malleable encryption) ukoliko je napadaču poznata kriptirana poruka.\\ +Osim logističkih nedostataka, jednokratna bilježnica može biti podložna predvidivoj izmjeni poruke (eng. //malleable encryption//ako je napadaču poznata kriptirana poruka.\\ 
-{{ ::jednokratna.png?nolink&700 | Predvidiva izmjena popruke kod jednokratne bilježnice}} +{{ ::jednokratna.png?nolink&700 | Predvidiva izmjena poruke kod jednokratne bilježnice}} 
-Zbog svega navedenoga, jednokratna bilježnica je u modernim sustavima praktički nepostojeća, a zamijenile su ju simetrična i asimetrična enkripcija. +Zbog svega navedenog, jednokratna bilježnica u modernim sustavima praktički ne postoji, već se kao alternativa koriste simetrična i asimetrična enkripcija. 
  
 **__PRIMJER__ - Enkripcija** **__PRIMJER__ - Enkripcija**
Line 24: Line 24:
  
 </file> </file>
 +
 +**Višekratna bilježnica** (eng. //many-time pad//), odnosno višekratno korištenje istog ključa kod jednokratne bilježnice, smatra se kritičnim propustom sigurnosti sustava. Ali zašto?
 +
 +Matematički i logički znamo da vrijedi:
 +<file>c1 ⊕ c2 = m1 ⊕ m2 </file>
 +odnosno, rezultat XOR-anja dvaju šifriranih tekstova istim ključem jednak je rezultatu XOR-anja originalnih dvaju tekstova. Ovom operacijom, koristeći šifrate, dobivamo parcijalne informacije o obje originalne poruke. Što više enkriptiranih poruka koje koriste isti ključ napadač posjeduje, to više informacija o porukama jasnog teksta može doznati. Ovakav napad, koji postupno otkriva sloj po sloj informacija, poznat je pod nazivom "crib dragging". Uz to, možemo koristiti i frekvencijsku analizu za brže popunjavanje nepoznatih informacija u tekstu ako nam je jezik jasne poruke poznat.
 +
 +__PRIMJER__ - **Grafički prikaz nesigurnosti ponovne uporabe ključa jednokratne bilježnice (višekratna bilježnica)**\\
 +Recimo da želimo kriptirati i poslati dvije slike (s1 i s2):
 +{{ ::m_images.png?nolink&300 | Slika 1 (Send cash) i slika 2 (smiley)}}
 +Pri tome dva puta koristimo isti ključ (k):
 +{{ ::key_reused.png?nolink&140 | Ključ}}
 +Kriptiramo slike XOR operacijom s ključem i dobivamo šifrate slika:
 +{{ ::cash_money.png?nolink&400 | m1 xor k}}
 +{{ :smileeee.png?nolink&400 |m2 xor k}}
 +Netko nas prisluškuje i XOR-a šifrirane slike, nakon čega vidi sljedeće:
 +{{ ::samfetee.png?nolink&140 | Send cash :)}}
 +
 +Isti ključ koji je korišten dva puta poništava se pri XOR operaciji nad šifratima te ostaje samo XOR poslanih slika:
 +
 +<file> (s1 ⊕ k) ⊕ (s2 ⊕ k) = s1 ​⊕ s2 ​⊕ (k ⊕ k) = s1 ⊕ s2 ⊕ 0 = s1 ⊕ s2 </file>
 +
 +Uzrok tomu su tri svojstva XOR operacije:
 +
 +1. XOR operacija je i komutativna i asocijativna.
 +
 +2. XOR nad dva ista operanda daje 0.
 +
 +<file> X ⊕ X = 0 </file>
 +
 +3. XOR operanda s nulom kao rezultat daje isti operand.
 +
 +<file> X ⊕ 0 = X </file>
 +
 +Ovo demonstrira ranjivost ponovne uporabe istog ključa u jednokratnoj bilježnici.
 +
  
 ===Izvori=== ===Izvori===
Line 29: Line 65:
 [2] https://platforma.hacknite.hr/challenges\\ [2] https://platforma.hacknite.hr/challenges\\
 [3] Kriptografija i kriptoanaliza, predavanja, FER\\ [3] Kriptografija i kriptoanaliza, predavanja, FER\\
 +[4] https://cryptosmith.com/2008/05/31/stream-reuse/
  
one-time-pad.1695290795.txt.gz · Last modified: 2025/12/01 11:40 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki