User:Vaan92/sandbox

= Trostruki DES algoritam = U kriptografiji, Trostruki DES  (3DES),  je blok sa simetričnim ključem, koji tri puta primenjuje algoritam DES šifre za svaki blok podataka.

Iako vladini i industrijski standardi skraćuju naziv algoritma kao TDES (Tripl DES) i TDEA (Tripl Data Encripšon Algoritm), RFC 1851 ga je nazvao 3DES od trenutka kada je prvi put proglasio ideju, a ovaj naziv je od tada došao u širok upotrebu, koriste ga većina proizvođača, korisnika i kriptografa.

Standard
Algoritam za šifrovanje trojnih podataka je različito definisan u nekoliko standardnih dokumenata:


 * RFC 1851, ESP Tripl DES Transform (odobren u 1995)
 * ANSI ANS Ks9.52-1998 3DES načini rada (odobren u 1998, povučen 2008. )
 * FIPS PUB 46-3 Standard za šifrovanje podataka (DES) (odobren 1999, povučen 2005. )
 * NIST posebna publikacija 800-67 revizija 2 Preporuka za Algoritam za šifrovanje trojnih podataka (TDEA) Blok šifri (odobren u 2017)
 * ISO / IEC 18033-3: 2010: Deo 3: Blok šifri (odobren u 2005. godini).

Algoritam
Originalna DES šifra ključa veličine 56 bita je uglavnom bila dovoljna kada je taj algoritam dizajniran, ali dostupnost povećanja računarske snage napravila je napade brutalne sile lakše. Trostruki DES daje relativno jednostavan metod povećanja  veličine ključa DES-a da bi se zaštitila od takvih napada, bez potrebe za dizajniranjem potpuno novog algoritma blok-šifara.

Naivni pristup povećanju snage algoritma blok šifara sa kratkom dužinom ključa (poput DES-a) bi bio korištenje dva ključa (K1, K2) umesto jednog i dva puta šifrirati svaki blok: EK2 (EK1 (tekst)). Ako je izvorna dužina ključa n bitova, nadamo se da će ova shema obezbediti sigurnost jednakoj upotrebi ključa 2n bitova. Nažalost, ovaj pristup je osetljiv na napad u sredini: dati poznati par očiju čvora (k, i), tako da i = EK2 (EK1 (k)), može se povratiti par ključa (K1, K2) u ~ 2n koraka, umesto ~ 22n koraka koji bi se očekivali od algoritma sa 2n bitova ključa.

Stoga, Trostruki DES koristi "ključni paket" koji sadrži tri DES ključa, K1, K2 i K3, svaki od 56 bita (isključujući bit za paritet). Algoritam enkripcije je:

šifrovani tekst = EK3 (DK2 (EK1 (običan tekst)))

I.e., DES šifriše sa K1, DES dekriptuje sa K2, a zatim DES šifruje sa K3.

Dešifrovanje je obrnuto:

običan tekst = DK1 (EK2 (DK3 (šifrovani tekst)))

I.e., dešifruje sa K3, šifruje sa K2, a zatim dešifruje sa K1.

Svaka trostruka enkripcija šifruje jedan blok od 64 bita podataka.

U svakom slučaju, srednja operacija je obrnuta prema prvom i poslednjem. Ovo poboljšava jačinu algoritma kada se koristi opcija 2 za ključeve i pruža kompatibilnost sa DES za nazad pomoću opcije ključeva 3.

Opcije ključeva
Standardi definišu tri opcije ključeva:

Opcija  1:

Sva tri ključa su nezavisna. Ponekad poznata kao 3TDEA ili ključevi sa trostrukom dužinom.

Ovo je najjača opcija, sa 3 × 56 = 168 nezavisnih bitova ključeva. Još uvek je ugrožen napad u sredini, ali napad zahteva 22 × 56 koraka.

Opcija 2:

K1 i K2 su nezavisni, a K3 = K1. Ponekad poznata kao 2TDEA [13] ili ključevi sa dvostrukom dužinom.

Ovo obezbeđuje kraću dužinu ključa od 112 bitova i razumni kompromis između DES-a i  opcije 1, sa istim upozorenjem kao što je gore navedeno. Ovo je poboljšanje u odnosu na "dvostruki DES" koji zahteva samo 256 koraka za napad. NIST je zastario ovu opciju.

Opcija 3:

Sva tri ključa su identična, tj. K1 = K2 = K3.

Ovo je kompatibilno sa DES-om, jer su dve operacije otkazane. ISO / IEC 18033-3 nikada nije dozvolio ovu opciju, a NIST više ne dozvoljava.

Svaki DES ključ je 8 bajtova neparnog pariteta, sa 56 bita ključa i 8 bita detekcije grešaka. Paket ključa zahteva 24 bajtova za opciju 1, 16 za opciju 2 ili 8 za opciju 3.

Enkripcija više od jednog bloka
Kao i kod svih blokovskih šifara, šifrovanje i dešifrovanje višestrukih blokova podataka može se izvršiti upotrebom različitih načina rada, koji se generalno mogu definisati nezavisno od algoritma blok šifara. Međutim, ANS Ks9.52 specificira direktno, a NIST SP 800-67 specificira preko SP 800-38A da se neki režimi koriste samo sa određenim ograničenjima koji se ne odnose na opšte specifikacije tih režima. Na primer, ANS Ks9.52 specificira da će se za lance šifrovanih blokova vektor inicijalizacije svaki put razlikovati, a ISO / IEC 10116 ne. FIPS PUB 46-3 i ISO / IEC 18033-3 definišu samo pojedinačni blok algoritma i ne stavljaju nikakva ograničenja na načine rada za više blokova.

Sigurnost
U principu, Trostruki DES sa tri nezavisna ključa (opcija 1) ima dužinu ključa od 168 bita (tri 56-bitna DES ključa), ali zbog napada u sredini, efektniju sigurnost pružaju ključevi sa 112 bita. Opcija 2 smanjuje efektivnu veličinu ključa na 112 bita (jer je treći ključ isti kao i prvi). Međutim, ova opcija je ranjiva nekim izabranim otvorenim tekstovima ili napadima sa poznatim pravim tekstom, i stoga je NIST odredio da ima samo 80 bita sigurnosti. Ovo se može smatrati slomljenom, jer se danas ključno područje 3DES može pretraživati dostupnim potrošačkim hardverom (2017).

Praktični napad Svit32 na 3DES bazirane šifre u TLS-u zahteva $$2^{36.6}$$ blokova (785 GB) za puni napad, ali istraživači su imali sreću kada su došli do sudara posle oko $$2^{20}$$ blokova koji je trajao samo 25 minuta [20]

Na sigurnost 3DES-a utiče broj blokova obrađenih sa jednim ključem. Jedan paket ključa se neće koristiti za primenu kriptografske zaštite (npr., Šifrovanje) više od $$2^{20}$$ 64-bitnih blokova podataka.

Upotreba
Industrija elektronskih plaćanja koristi Trostruki DES i nastavlja da razvija i proglašava standarde zasnovane na njemu (npr. EMV).

Mikrosoft OneNot, Mikrosoft Outluk 2007 koriste Trostruki DES za lozinku za zaštitu korisničkog sadržaja i sistemskih podataka.

Fajerfoks i Mozila Tunderbird koriste Trostruki DES u CBC režimu za šifrovanje akreditiva za prijavu za autentifikaciju veb stranice prilikom korištenja glavne lozinke.