Jeste, ima greska u jednom bitu, sada kad si mi stavio ovako da vidim primjetio sam. Ja imam instalirano i Ubuntu ali sam doomie sto se tice toga, procackat cu da vidim sta moze openssl...Ako bude trebala pomoc znam gdje cu je treziti.
Evo kako smo mi nauceni da radimo:
1.Zadani kljuc pretvorimo u binarni zapis.
2.Kljuc permutiramo tablicom PC1.
3. Sada dobiveni permutirani kljuc rastavimo na 2 jednaka dijela i dobijamo C0 i D0 te vrsimo permutacije tako da u 1,2,9,16 koraku vrsimo pomjeranje za jedan, a u svim ostalim koracima vrsimo pomjeranje po 2 bita i dobivamo (C0,D0), (C1,D1), ..., (C16,D16)
4.Zatim racunamo međukljuceve (Ki=PC2(CiDi)) i dobijamo K1,K2, ..., K16
5. Sada otvoreni tekst napisemo binarno i zatim ga permutiramo tablicom IP.
6. Dobiveni tekst podijelimo na dva dijela i dobijemo L0 i R0.
Sada racunamo prvu rundu:
Imamo L0 i R0. Na R0 primjenimo tablicu E. Dobijemo E(R0). Uzmemo kljuc K1 i uradimo E(R0)XILI K1 (eksluzivno ili, kada su isti onda je 1 a razliciti onda je nula).
To nam je sada B. Taj B podijelimo u 8 parova po 6 bitova a zatim primjenimo tablicu S-kutija DES algoritma. Prva i zadnja cifra određuju red, a unutrasnje 4 cifre određuju kolonu u kojoj se trazeni broj nalazi, a zatim sve dobivene brojeve zapisemo u binarnom sistemu, redom onako kako dolaze.
Dobjemo sada C i permutiramo ga sa tablicom P. Oznacimo to kao f(R0, K1) i nađemo sada R1 a on nam je R1= L0 XILI f(R0,K1)
Sada na analogan nacin radimo jos 2.,3.,....15.,16. rundu.
Nakon zadnje runde spojimo R16 i L16 u 64 bita. Permutiramo sa IP(-1) i dobijemo šifrat binarno. Pretvorimo ga u heksadecimalno i to je to :D
Ako neko bude zainteresovan mogu mu na e-mail poslati primjer kako se to radi, imam cini mi se u wordu...
Napomena:
Sve ove tablice, P, E, IP, ...se nalaze u knjizi A. Dujelle...