Skip to main content

Data Encryption Standart (DES)

Berbagai Solusi Enkripsi Modern
Adapun berbagai solusi enkripsi modern antara lain adalah :
1.      Data Encryption Standart (DES)
2.      Advanced Encryption Standart (EAS)
3.      Digital Certificate Server (DCS)
4.      IP Security (IPSec)
5.      Kerberos
6.      Point to point Tunneling Protocol (PPTP), Layer Two Tunneling Protocol (L2TP)
7.      Remote Access Dial-in User Service (RADIUS)
8.      RSA Encryption
9.      Secure Hash Algoritm (SHA)
10.  MD5
11.  Secure Shell (SSH)
12.  Secure Socket Layer (SSL)
13.  Security Token
14.  Simple Key Management for Internet Protocol

Empat belas hal diatas adalah solusi untuk enkripsi modern.Tapi, pada saat ini penulis akan membahas tentang Data Encryption Standart (DES).

Pengertian Data Encryption Standart (DES)
            DES ( Data Encryption Standart ) adalah algoritma chiper blok yang populer karena dijadikan standart algoritma enkripsi kunci simetri, meskipun saat ini standart tersebut telah digantikan dengan algoritma yang baru atau AES, karena DES sudah dianggap tidak aman lagi. Sebenarnya DES adalah nama standart enkripsi simetris, nama algoritma enkripsinya sendiri adalah DEA ( Data Encryption Algoritm ) namun nama DES lebih populer daripada DEA. Algoritma DES dikembangkan diIBM dibawah kepemimpinan W.L Tuchman pada tahun 1972. Algoritma ini didasarkan pada algoritma Lucifer yang dibuat oleh Horst Feistel. Algoritma ini telah disetujui oleh National Bureau of Standart (NBS) setelah penilaian kekuatanya oleh National Security Agency (NSA) Amerika Serikat.

Dasar Teori

            DES termasuk ke dalam sistem kriptografi simetris yang tergolong jenis chiper blok. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks menjadi 64 bit chiperteks dengan menggunakan 56 bit kunci internal. Kunci internal dibangkitkan dari kunci eksternal (External Key) yang panjangnya 64 bit.


Gambar 1
Skema global algoritma DES


Skema global dari algoritma DES adalah sebagai berikut (lihat Gambar 6.1):
1.      Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP).
2.      Hasil permutasi awal kemudian di-enciphering- sebanyak 16 kaH (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda.
3.      Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1 ) menjadi blok cipherteks.

            Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri (L) dan kanan R), yang masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam 16 putaran DES. Pada setiap putaran i, blok R merupakan masukan untuk fungsi transformasi yang ;isebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal K,. Keluaran dai =angsi f di-XOR-kan dengan blok L untuk mendapatkan blok R yang baru. Sedangkan blok - yang baru langsung diambil dari blok R sebelumnya. Ini adalah satu putaranDES. Secara watematis, satu putaran DES dinyatakan sebagai
Li=Ri-1 (2.1)
R i=L i-1 f(Ri-1, K i) (2.2)
            Satu putaran DES merupakan model jaringan Feistel. Perlu dicatat dari Gambar 2.2 bahwa ika (L,6, R,6) merupakan keluaran dari putaran ke-16, maka (R,6, L,s) merupakan pra­ipherteks (pre-ciphertext) dari enciphering ini. Cipherteks yang sebenarnya diperoleh dengan melakukan permutasi awal balikan, IP-1, terhadap blok pra-cipherteks.



Gambar 2.1
Jaringan Feistel untuk satu putaran DES


Gambar 2.2
Algoritma enkripsi DES

a.      Enkripsi 
·           Permutasi Awal ( IP)
            Sebelum putaran pertama, terhadap blok plainteks dilakukan permutasi awal (initial-permutation atau IP). Tujuan permutasi awal adalah mengacak plainteks sehingga urutan bit-bit di dalamnya berubah. Pengacakan dilakukan dengan menggunakan matriks permutasi awal berikut ini:

Gambar 3
Matriks IP (Initial Permutation)
·         Enciphering (Penyandian)
Proses enciphering terhadap blok plainteks dilakukan setelah permutasi awal.Setiap blok plainteks mengalami 16 kali putaran enciphering (lihat Gambar 2.2).Setiap putaran enciphering merupakan jaringan Feistel yang secaramatematis dinyatakan sebagai : 
Gambar 4

Rincian Komputasi Kunci f

Dari gambar skema tersebut dalam proses enciphering masih dilakukan lagi langkah dengan Permutasi Ekspansi (E), Substitusi dengan S-Box (S), sertadilakukan Permutasi (P). Tabel dan penjelasannya dapat dilihat dalam bagianlampiran.

·         Permutasi Akhir IP-1
(Inverse Initial Permutation)Permutasi terakhir dilakukan setelah 16 kali putaran terhadap gabungan blokkiri dan blok kanan. Proses permutasi menggunakan matriks permutasi awalbalikan (inverse initial permutation atau IP-1) sebagai berikut :


Gambar 5
Matriks IP-1 (Invers Initial Permutation)

a.      Pembangkit Kunci Internal
            Karena ada 16 putaran, maka dibutuhkan kunci internal sebanyak 16 buah, yaitu K,, Kz, ...,K16. Kunci-kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi. Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna. Kunci eksternal panjangnya 64 bit atau 8 karakter.

Gambar 6
Proses pembangkit kunci-kunci internal DES

·                     Permutasi Kunci Internal dengan Matriks PC-1
            Misalkan kunci eksternal yang tersusun dari 64 bit adalah K. Kunci eksternal ini menjadi masukan untuk permutasi dengan menggunakan matriks permutasi kompresi PC- 1 sebagai berikut:


Gambar 7
Matriks PC-1( Permuted Choice 1)

            Dalam permutasi ini, tiap bit kedelapan (parity bit ) dari delapan byte kunci diabaikan. Hasil permutasinya adalah sepanjang 56 bit, sehingga dapatdikatakan panjang kunci DES adalah 56 bit. Selanjutnya, 56 bit ini dibagimenjadi 2 bagian, kiri (C0) dan kanan (D0), yang masing-masing panjangnya28 bit.

·         Penggeseran Bit dan Permutasi PC-2
            Untuk mendapatkan Kunci InternalDilakukan pergeseran bit dengan cara kedua bagian (C0 dan D0) digeser kekiri (left shift ) sepanjang satu atau dua bit bergantung pada tiap putaran.Operasi pergeseran bersifat wrapping atauround-shift. Jumlah pergeseranpada setiap putaran ditunjukkan pada Tabel sebagai berikut :


Gambar 8
Jumlah penggeseran bit putaran

            Misalkan (Ci ,Di) menyatakan penggabungan Ci dan Di. (Ci +1, Di +1) diperoleh dengan menggeser Ci dan Di satu atau dua bit. Setelah pergeseran bit, (Ci, Di ) mengalami permutasi kompresi dengan menggunakan matriks PC-2berikut :


Gambar 9
Matriks PC-2 (Permutade Choice 2)

Jadi, dengan permutasi matriks PC-2 setiap kunci internal Ki (Ci dan Di )mempunyai panjang 48 bit dan telah didapat 16 kunci internal

c. Dekripsi 
            Proses dekripsi terhadap cipherteks merupakan kebalikan dari prosesenkripsi. DES menggunakan algoritma yang sama untuk proses enkripsi dandekripsi. Jika pada proses enkripsi urutan kunci internal yang digunakan adalah K1, K2, …, K16, maka pada proses dekripsi urutan kunci yang digunakan adalah K16, K15, …, K1.
            Untuk tiap putaran 16, 15, …, 1, keluaran pada setiap putaran deciphering adalah
yang dalam hal ini, (R16, L16) adalah blok masukan awal untuk deciphering. Blok (R16, L16) diperoleh dengan mempermutasikan cipherteks dengan matrikspermutasi IP-1. Pra-keluaran dari deciphering adalah (L0, R 0).
            Dengan permutasi awal IP akan didapatkan kembali blok plainteks semula.Tinjau kembali proses pembangkitan kunci internal pada Gambar 4.Selama
deciphering, K16 dihasilkan dari (C16, D 16) dengan permutasi PC-2. Tentu saja (C16,D16) tidak dapat diperoleh langsung pada permulaan deciphering. Tetapi karena (C16, D16) = (C0, D0), maka K16 dapat dihasilkan dari (C0, D0) tanpaperlu lagi melakukan pergeseran bit. Catatlah bahwa (C0, D0) yang merupakanbit-bit dari kunci eksternal K yang diberikan pengguna pada waktu dekripsi.Selanjutnya, K15 dihasilkan dari (C15, D15) yang mana (C15, D15) diperoleh dengan menggeser C 16 (yang sama dengan C 0) dan D16 (yang sama dengan C0) satu bit ke kanan. Sisanya, K14 sampai K1 dihasilkan dari (C14, D14) sampai (C1, D1). Catatlah bahwa (Ci  – 1, Di – 1) diperoleh dengan menggeser Ci dan Di dengan cara yang sama seperti pada Tabel 1, tetapi pergeseran kiri (left shift ) diganti menjadi pergeseran kanan (right shift ).

Tabel –tabel :

1.      Permutasi Ekspansi (E)
1.      Substitusi Box ( S box)



 3.      Permutasi (P box)
Semoga bermanfaat materinya ^^





















Comments

Popular posts from this blog

Metode Open Addresing dan Metode Closed Hashing

Hai teman teman, hari ini penulis ngeblog lagi nih. Ini materi di perkuliahan penulis minggu lalu. Minggu lalu kita pada ngebahas metode open addressing dan metode closed hassing. Yuk di cek, semoga bermanfaat ^^ Pengertian Hasing Hash table merupakan salah satu struktur data yang digunakan dalam penyimpanan data sementara. Tujuan dari hash table adalah untuk mempercepat pencarian kembali dari banyak data yang disimpan. Hash table menggunakan suatu teknik penyimpanan sehingga waktu yang dibutuhkan untuk penambahan data (insertions), penghapusan data (deletions), dan pencarian data (searching) relatif sama dibanding struktur data atau algoritma yang lain. Hashing adalah transformasi aritmatik sebuah string dari karakter menjadi nilai yang merepresentasikan string aslinya. Menurut bahasanya, hashberarti memenggal dan kemudian menggabungkan. Hashing digunakan sebagai metode untuk menyimpan data dalam sebuah array agar penyimpanan data, pencarian d...

Sequensial Berindex

             Hai semuanya.. Kali ini penulis akan nge-blog. maaf ya nge-blognya agak lama, soalnya disini penulis akan sajikan soal untuk teman teman semua. Sehingga membutuhkan printer untuk nge-scan jawaban yang telah penulis buat, jadi agak ribet nyariin printernya. Hehehe..             Yuk cek soal-nya, semoga bermanfaat teman teman ^^                                    Sistem Berkas Sekuensial Berindeks Berkas Sekuensial Berindeks   Berkas Sekuensial berindeks dirancang dengan tujuan untuk menanggulangi permasalahan pengaksesan yang dimiliki oleh organisasi berkas sekuensial tanpa mengurangi keuntungan dan tradisi yang dimiliki oleh berkas sekuensial Keunggulan s...

Macam-Macam Hasing

Hai teman teman, hari ini penulis akan ngeblog nihhh.. pada nungguinkan. Hehe, becanda. Disini penulis akan nge-blog tentang organisasi file secara langsung yang lebih spesifik lagi ke macam macam hasing, yang minggu lalu jadi topik di kuliah sistem berkas. Yuk dicek >> Organisasi Berkas Secara Langsung Macam –Macam Hashing Hash Function adalah Sebuah fungsi matematis yang melakukan konversi terhadap string masukan yang panjang menjadi menjadi string lain dengan panjang yang selalu sama, tidak bergantung pada panjang stringmasukannya, dan biasanya dengan ukuran yang jauh lebih kecil daripada string masukannya. Fungsi hash pada umumnya digunakan untuk mempercepat table look-up, atau untuk membandingkan data (misalnya mencari data tertentu dalam sebuah basis data, mendeteksi data yang terduplikasi dalam sebuah file berukuran besar, dan sebagainya). Pada era saat ini ada berbagai macam hash function yang ...