Anda di halaman 1dari 5

TUGAS KRIPTOGRAFI

Oleh Freddy Purnama Nulhakim G1A010036 Dosen Pembimbing RUS I !F!N I" ST#"$#KO$

PROGRA$ STU I T!KNIK INFOR$ATIKA FAKU%TAS T!KNIK UNI&!RSITAS '!NGKU%U (01(

Data Encryption Standard (DES)


Sayo ndak nyubo menjelaskan tentang DES sesuai kek tugas yang disuruh ^_^ Bismillahirohmanirrohim Permutasi Awal Sebelum putaran pertamo terhadap blok plainteks dilakukan permutasi awal (initial permutation atau IP). Tujuan permutasi awal tu mengacak plainteks sehingga urutan bit-biit di dalamnyo pacak berubah. Pengacakan dilakukan kek menggunakan matriks permutasi awal berikut ini: ! &$ ( &' " # #) % #$ #& #' # %# %! %% %( $& %" $ $) '! $$ '( $' '" '# ) '% $ & ' &" &# ) &% $ & ' ## #! #% #( %& #" % %) $! %$ $( %' $" $# ') $% '$ '& '' ' # ! % (

*aro membaco tabel+matriks di ate: duo entry ujung kiri ate ( ! dan ") berarti: ,pindahkan bit ke- ! ke posisi bit ',pindahkan bit ke- " ke posisi bit $-. terus bae cak itu

Pembangkitan Kunci Internal /arno ado '& putaran. jadinyo dibutuhkan kunci internal sebanyak '& buah. nyo tu K'. K$. 0. K'&. /unci-kunci internal iko biso dibangkitkan sebelum proses enkripsi atau bersamoan kek proses enkripsi. /unci internal dibangkitkan dari kunci eksternal yang diberikan kek penggunonyo. /unci eksternal panjangnyo tu &# bit kek ! karakter. 1isalnyo tu kunci eksternal yang tersusun dari &# bit tu adalah K. /unci eksternal iko menjadi masukan untuk permutasi kek menggunakan matriks permutasi kompresi P*-' sebagai berikut:

( '" &% '#

#) $ &

#' ) #( &'

%% ' %) %

$ #% %' #

'( % $% %(

) $( ' $)

' ') ( $'

! '' &$ '%

" % #

#$ &" #& $!

%# $ %! $"

$& ## %" '$

'! %& $$ #

2alam permutasi iko. tiap bit kedelapan (parity bit) dari delapan byte kunci diabaikan. 3asil permutasinyo tu panjangnyo tu & bit. mangko pacak dikecekkan panjang kunci 24S tu & bit. Terus tu. & bit ko dibagi jadi $ bagian. kiri kek kanan. yang masingmasing panjangnyo tu $! bit. yang masing-masingnyo disimpan di dalam C" kek D": C": berisi bit-bit dari K pada posisi (. #). #'. %%. $ . '(. ). '. !. ". #$. %#. $&. '! '". $. ). '. #%. % . $(. '). ''. %. &". $. ##. %& D": berisi bit-bit dari K pada posisi &%. . #(. %). %'. $%. ' . (. &$. #. #&. '#. &. &'. %. # . %(. $). $'. '%. . $!. %!. %". $$ $". '$. #

Terus tu. keduo bagian digeser ke kiri (left shift) sepanjang satu atau duo bit bergantung pada tiap putarannyo. 5perasi pergeseran bersi6at wrapping atau round-shift. 7umlah pergeseran pada setiap putaran ditunjukkan pada Tabel ' cak ko na: Tabel 1. 7umlah pergeseran bit pada setiap putaran Putaran. i ' $ % # & ( ! ) '" '' '$ '% '# ' '& 7umlah pergeseran bit ' ' $ $ $ $ $ $ ' $ $ $ $ $ $ '

1isalkan (Ci. Di) menyatokan penggabungan Ci kek Di. (Ci8'. Di8') diperoleh dengan menggeser Ci dan Di satu atau duo bit. Setelah pergeseran bit. (Ci. Di) mengalami permutasi kompresi dengan menggunokan matriks P*-$ berikut: '# $% #' ## '( ') $ #) '' '$ %' %) $# # %( & ' $& #( %# ! % % '& %" #& $! ( #" #$ ' $( ' " & $" # %& $' '% %% $) '" $ #! %$

2engan permutasi iko. kunci internal Ki diturunkan dari (Ci. Di) yang dalam hal iko Ki merupokan penggabungan bit-bit Ci pada posisi: '#. '(. ''. $#. '. . %. $!. ' . &. $'. '" $%. '). '$. #. $&. !. '&. (. $(. $". '%. $ dekek bit-bit Di pada posisi: #'. $. %'. %(. #(. . %". #". '. # . %%. #! ##. #). %). &. %#. %. #&. #$. ". %&. $). %$ 7adi. setiap kunci internal Ki mempunyoi panjang #! bit. Proses pembangkitan kunci-kunci internal ditunjukkan pada 9ambar #. :ila jumlah pergeseran bit-bit pada Tabel ' dijumlahkan segalonyo. maka jumlah seluruhnyo samo kek $!. yang samo kek jumlah bit pado Ci dan Di. /arena itu. setelah putaran ke-'& baru biso didapatkan kembali C'& ; C" dan D'& ; D". Dekripsi Proses dekripsi terhadap cipherteks merupokan kebalikan dari proses enkripsi. 24S menggunakan algoritma yang samo untuk proses enkripsi dan dekripsi. 7ika pada proses enkripsi urutan kunci internal yang digunakan adalah K'. K$. 0. K'&. maka pada proses dekripsi urutan kunci yang digunakan adalah K'&. K' . 0. K'. <ntuk tiap putaran '&. ' . 0. '. keluaran pado setiap putaran deciphering adalah Li ; Ri = ' Ri ; Li = ' f(Ri = '. Ki) yang dalam hal ini. (R'&. L'&) adalah blok masukan awal untuk deciphering. :lok (R'&. L'&) diperoleh kek mempermutasikan cipherteks kek matriks

permutasi IP-'. Pra-keluaran dari deciphering adalah (L". R"). 2ekek permutasi awal IP akan didapatkan kembali blok plainteks semulonyo tu. :alik lagi ke proses pembangkitan kunci internal pado 9ambar #. Selamo deciphering. K'& dihasilkan dari (C'&. D'&) dengan permutasi P*-$. 7elas ajo (C'&. D'&) dak biso diperoleh langsung pado permulaan deciphering. Tetapi kareno (C'&. D'&) ; (C". D"). jadi K'& dapek dihasilkan dari (C". D") idak perlu lagi melakukan pergeseran bit. *atatlah bahwa ( C". D") yang merupakan bit-bit dari kunci eksternal K yang diberikan pengguno pada waktu dekripsi. Selanjutnyo. K' dihasilkan dari (C' . D' ) yang mano (C' . D' ) diperoleh dengan menggeser C'& (yang samo dengan C") dan D'& (yang samo dengan C") satu bit ke kanan. Sisanyo. K'# sampai K' dihasilkan dari (C'#. D'#) sampai (C'. D'). *atatlah bahwa (Ci = '. Di = ') diperoleh dengan menggeser Ci dan Di dengan caro yang samo seperti pada Tabel '. tetapi pergeseran kiri (left shift) diganti menjadi pergeseran kanan (right shift).

Anda mungkin juga menyukai