230 likes | 421 Views
Računarske mreže. Bezbednost mreže. DES (Data Encription Standard). Algoritam za {ifriranje koji koristi i supstituciju i transpoziciju Detaljan primer za 8 bitni plain tekst i 10 bitni klju č. S-DES (Simplified DES) Ulazi u algoritam su8 bitni plain rekst i 10-bitni ključ!
E N D
Računarske mreže Bezbednost mreže
DES (Data Encription Standard) • Algoritam za {ifriranje koji koristi i supstituciju i transpoziciju • Detaljan primer za 8 bitni plain tekst i 10 bitni ključ
S-DES (Simplified DES) • Ulazi u algoritam su8 bitni plain rekst i 10-bitni ključ! • Algoritam {ifriranja uklju~uje primenu pet funkcija: • Inicijalna permutacija (IP) • Kompleksna funkcija fk koja obuhvata i supstituciju i permutaciju i zavisi od klju~a • Funkcija permutacije SW koja zamenjuje mesta dvema polovinama ulaznih podataka. (npr. SW(1011 1101)=1101 1011) • Funkcija fk ponovo • Permutacija koja je inverzna inicijalnoj permutaciji, IP-1
Ulazi za funkciju fk su podaci koji se {ifruju I 8-bitni klju~. • Algoritam polazi od 10-bitnog klju~ na osnovu kojeg generi{e dva 8-bitna podklju~a
[IFRIRANJE DE[IFRIRANJE 10-bitni klju~ 8-bitni plaintext 8-bitni plaintext P10 Shift IP-1 IP P8 K1 K1 fk fk SW Shift SW P8 fk K2 fk K2 IP-1 IP 8-bitni {ifrirani tekst 8-bitni {ifrirani tekst
Koncizno bismo mogli izraziti S-DES algoritam {ifriranja kao kompoziciju funkcija:
Generisanje klju~eva u S-DES algoritmu • Na osnovu zadatog 10-bitnog klju~a generi{u se dva 8-bitna podklju~a, k1 i k2 • Postupak se sastoji od pet koraka
Permutovanje 10-bitnog klju~a. Ako je 10-bitni klju~ ozna~en kao (k1,k2,…, k10), permutacija P10 je definisana kao • P10(k1,k2,…, k10)=(k3,k5,k2,k7,k4,k10,k1,k9,k8,k6) , ili, slikovito prikazano kao P10 3 5 2 7 4 10 1 9 8 6 Npr. klu~ 10100 00010 se permutuje u 10000 01100
2. Primenjuje se cikli{no pomeranje (rotacija) u levo za jedno mesto prve I druge grupe od po 5 bitova. (npr. 10000 01100 se preslikava u 00001 11000) 3. Primenjuje se permutacija P8 koja uzima 8 bitova dobijenih u prethodnom koraku I permutuje ih po slede}em pravilu P8 6 3 7 4 8 5 10 9 Rezultat je podklju~ k1. (u na{em primeru dobijamo 1010 0100)
4. Svaka petorka bitova iz koraka 2 se cikli~no pomera (rotira) za dva mesta u levo. (u na{em primeru dobijamo: 00001 11000 se preslikava u 00100 00011) 5. Sada se nad nizom bitova dobijenih u koraku 4 primenjuje P8 I dobija pokdklju~ k2. ( u na{em primeru k2= 0100 0011)
S-DES {ifriranje • [ifriranje obuhvata primenu 5 funkcija. • Inicijalna (IP) i poslednja (IP-1) permutacija. Ulaz je 8-bitni plaintext koji se permutuje pomo}u IP funkcije IP 2 6 3 1 4 8 5 7 Na kraju primene algoritma primenjuje se inverzna permutacija, IP-1, definisana sa IP-1 4 1 3 5 7 2 8 6
Lako je na primeru pokazati da je druga permutacija zaista inverzna (obrnuta) od prve, tj da je IP-1(IP(X))=X. Npr. ako je plaintext X=1011 0110, tada je Y=IP(X)=0111 1001, IP-1(Y)=1011 0110=X
Funkcija fk • Sastoji se od kombinacije funkcija permutacije i supstitucije. • Mo`e se opisati na slede}o na~in: • Ozna~imo sa L i R prva I poslednja 4 bita 8-bitnog ulaza, respektivno, sa F preslikavanje 4-bitnog niza u 4-bitni niz. Gde je SK podklju~ (k1 ili k2), a logi~ka funkcija EXOR
Npr. neka je izlaz iz IP stepena 10111101, i F(1011,SK)=(1110) za neki klju~ SK. Tada jefk(1011,1101)=(10111110,1101)= (0101 1101), Jer je 1011 1110=0101. Funkcija F Ulaz u funkciju F je 4-bitni broj (n1,n2,n3,n4). Prva operacija je ekspanzija sa permutacijom, definisana sa E/P 4 1 2 3 2 3 4 1
Za dalje obja{njenje poslednji rezultat je bolje napisati u obliku n4 n1 n2 n3 n2 n3 n4 n1 Sada se 8-bitni pdklju~ Sumira po mod2 (tj. EXOR) sa gornjim nizom bitova na slede}I na~in: n4k11 n1 k12 n2 k13 n3 k14 n2 k15 n3 k16 n4 k17 n1 k18
Ozna~imo dobijeni rezultat sa p00 p01 p02 p03 p10 p11 p12 p13 Sada se prva 4 bita (tj. prva vrsta) uvode u box S0 odakle se dobija 2-bitni izlaz, a druga 4 bita u box S1,odakle se takodje dobijaju 2 bita.
Boxovi S0 i S1 definisani su na slede}i na~in: S boxovi rade na slede}I na~in:prvi I tre}I bit ulaza (p00 i p03 za S0 i p10 i p13 za S1) se tretiraju kao 2-bitni brojevi koji odredjuju vrstu S-boxa, a 2. i 3. Bit odredjuju kolonu S-boxa. Element u preseku vrste I kolone odgovaraju}eg S-boxa predstavlja 2-bitni izlaz (tj. Njegov binarni ekvivalent)
Npr. ako je (p00 , p03 )=(00) i (p01 , p02 )=(10) tada je selektovana vrsta 0 i kolona 2. Odgovaraju}I element je 3, tj 11 (binarno). (Sli~no i za S1). Zatim se dobijena 4 bita permutuju. Izlaz je f-ja F. P4 2 4 3 1
SW (switch) funkcija Funkcija fk deluje samo na prva 4 bita ulaza. SW funkcija zamenjuje mesta ~etvorkama bitova (L,R) u (R,L), pa druga primena funkcije fk sada deluje na nova 4 bita. Druga primena fk koristi klju~ K2.
DES algoritam • DES algoritam radi sa 64-bitnim blokovima. • Algoritam koristi 56-bitni ključ, od kojih se dobija 16 48-bitnih ključeva koji se koriste u funkcijama fk • postupak šifriranja bi mogli opisati kao
U procesu šifriranja funkcija F se obavlja nad 32 bita (kod s-DES je bila na 4 bita)