Pembahasan Fungsi f Implementasi Algoritma penyandian DES-Aku. 1. Implementasi Applikasi DES-Aku

48

5.2.3. Pembahasan Fungsi f

Fungsi f yang digunakan dalam DES-Aku sama dengan fungsi f yang digunakan dalam algoritma DES. Fungsi yang dijalankan pada setiap ronde dalam permutasi Feistel ini memiliki persamaan matematik sebagai berikut: L i = f R i-1 , Ki = P[S{ER i-1 ⊕ K i }]. Terlihat bahwa fungsi ini bertujuan untuk mengisi ruas kiri pada suatu ronde permutasi Feistel, yang merupakan hasil suatu fungsi yang melibatkan ruas kanan ronde sebelumnya dan sub kunci spesifik pada rode tersebut. Beberapa operasi yang telibat di dalam fungsi ini adalah permutasi, substitusi, ekspansi dan operasi XOR. ekspansi adalah operasi di dalam fungsi f yang dilakukan paling awal. Operasi ini bertujuan untuk mempersiapkan blok data yang akan disandikan, karena blok data tesebut hanya berukuran 64 bit, di lain pihak sub kunci yang digunakan berukuran 96 bit. Operasi ini akan memperbesar ukuran blok data yang akan disandikan dari 64 bit menjadi 96 bit, dengan demikian sama dengan jumlah bit dari sub kunci yang digunakan. Operasi berikutnya dalam struktur DES adalah operasi XOR, operasi ini akan menggabungkan blok data terekspansi yang terdapat pada sub kunci spesifik pada setiap ronde. Operasi XOR bekerja dengan cara “membenarkan” dua data yang berbeda, dan “menyalahkan” dua data yang sama. Operasi XOR adalah operator logika yang memiliki sifat reversible, dengan demikian sering digunakan dalam berbagai algoritma penyandian dan penerjemahan. A XOR B Æ C, A XOR C Æ B, B XOR C Æ A. Operasi berikutnya dalam fungsi f adalah substitusi. Operasi ini berfungsi untuk men-kompres blok data ter-XOR yang berukuran 96 bit kembali ke ukuran aslinya yaitu 64 bit. Operasi substitusi bekerja dengan cara membagi sebuah blok 49 data 96 bit menjadi 16 subblok yang masing-masing berukuran 6 bit. Setiap subblok kemudian disubstitusi terhadap Tabel Sbox hingga menjadi subblok data baru yang berukuran 4 bit. Pembahasan XOR sangat erat kaitannya dengan pembahasan Tabel Sbox sebagaimana yang dicantumkan pada beberapa sub- bahasan berikutnya. Operasi terakhir dalam fungsi f adalah operasi permutasi Feistel. Langkah terkhir ini sesungguhnya hanyalah merupakan langkah mengubah urutan tabel transposisi lokasi, dengan tujuan menambah kompleksitas algoritma penyandian dan semakin mengacak data. Tidak ada perubahan jumlah data dalam permutasi tabel ini.

5.2.4. Pembahasan Tabel IP dan IP