Selasa, Oktober 18, 2011

KamJar: KSI: Teori Algoritma Data Encryption Standar (DES) - [Bag. 1]

Terms of Use: Tulisan ini dibuat dengan niat untuk memberikan manfaat sebesar-besarnya bagi para pembaca yang amat bersemangat untuk belajar, tanpa mengabaikan HAKI yang dimiliki setiap penulis. Dengan demikian, diharapkan dengan sangat bagi siapapun yang mengutip tulisan ini untuk menyebutkan sumber dan penulisnya sesuai dengan kaidah-kaidah pengutipan literatur. Terima kasih.

ALGORITMA KRIPTOGRAFI:
DATA ENCRYPTION STANDARD (DES)
[Bagian 1]
Versi: 11.10.18

Data Encryption Standard (DES) adalah salah satu algoritma kriptografi simetris, artinya kunci yang digunakan untuk proses enkripsi sama dengan kunci yang digunakan untuk proses dekripsi. Algoritma DES ini juga merupakan algoritma enkripsi block-chiper dengan panjang blok 64 bit dan dengan panjang kunci 56 bit yang bersifat rahasia yang dibagi (shared secret). Shared secret sendiri merupakan sepenggal data yang hanya diketahui oleh pihak-pihak yang melakukan komunikasi, dalam hal ini yaitu pengirim pesan dan penerima pesan. Yang dimaksud sepenggal data di sini dapat berupa kata sandi (password), passphrase, atau kunci pada algoritma enkripsi.
Saat ini DES sudah hampir tidak digunakan lagi karena panjang kunci yang hanya 56 bit itu amat dengan mudah dibongkar dengan serangan Brute Force. Menggunakan prosesor tercepat saat tulisan ini dibuat, DES dapat dibongkar hanya dalam waktu beberapa menit. Algoritma lain yang dianggap sebagai ganti dari algoritma DES ialah algoritma AES (Advanced Encryption Standard).

Sejarah DES
Sejarah DES diawali sekitar tahun 1972 di Amerika. Saat itu badan standar Amerika, yakni NBS (National Bureau of Standard), menganggap sudah saatnya ada standar untuk mengenkripsi informasi-informasi sensitif. Setahun kemudian NBS berkonsultasi dengan NSA (National Security Agency) dan sepakat mengeluarkan permintaan kepada siapapun yang mampu untuk membuat algoritma enkripsi yang harus didesain cukup teliti. Cukup banyak yang menanggapi namun di tahun itu tidak ada satu pun yang dianggap NBS memenuhi kriteria. Pada Agustus 1974 NBS mengeluarkan permintaan kedua dan kali ini tanggapan dari IBM dianggap memenuhi kriteria. Algoritma yang diusulkan oleh IBM sebenarnya dikembangkan dari algoritma sebelumnya, yaitu Lucifer karya Horst Feistel. Kemudian ada cukup banyak yang terlibat seperti Walter Tuchman, Don Coppersmith, Alan Konheim, Carl Meyer, Mike Matyas, Roy Adler, Edna Grossman, Bill Notz, Lynn Smith, dan Bryant Tuckerman.
Pada perjalanannya selama tahun-tahun pertama DES menerima banyak kritik, namun pada akhirnya di tahun 1976 DES disetujui sebagai standar federal dan resmi dipublikasikan tanggal 15 Januari 1977. Pada tahun 1999 spesifikasi baru yang disebut sebagai standar NIST 46-3 dikeluarkan dan spesifikasi ini menyebutkan penggunaan Triple-DES yang dianggap lebih baik. Algoritma pengganti DES, yakni AES, dipublikasikan pada tahun 2001 dan distandarkan pada tahun 2002. Pada tahun 2005, badan menarik standar FPIS 46-3.

Cara Kerja DES
DES merupakan block-chiper, artinya dalam sekali proses, data dienkrip (atau didekrip) sekaligus dalam beberapa byte, bukan hanya satu byte seperti pada algoritma klasik. Lihat Gambar 1. Ukuran blok DES ialah 64 bit. Ke-64 bit ini ditransformasi dengan cara tertentu sehingga cara yang sama hanya dapat dilakukan untuk mendekrip hasil enkripsi. DES menggunakan kunci 56 bit. Sebenarnya kunci yang dimasukkan juga 64 bit, namun 8 bit digunakan untuk keperluan pengecekan paritas (parity checking). Bit-bit ini berada pada posisi 8, 16, 24, 32, 40, 48, 56, serta 64 dan pada proses enkripsi-dekripsi akan dihilangkan sehingga tersisa hanya 56 bit.

Gambar 1. Proses iterasi dalam DES.

Ada 16 tingkat proses yang disebut ronde (round).  Ke-16 round ini diapit permutasi awal IP dan permutasi akhir FP yang masing-masing merupakan kebalikan. Artinya, permutasi FP akan membalik permutasi yang dilakukan IP, dan sebaliknya. Sebenarnya penggunaan IP dan FP di sini tidak signifikan terhadap keseluruhan proses. Namun kelihatannya kedua permutasi ini sengaja dihadirkan untuk memfasilitasi perangkat keras tahun 1970-an yang sulit memproses masukan dan keluaran dengan ukuran blok yang panjang.
Sebelum diproses oleh seluruh round di atas, blok data input dipecah menjadi 2 bagian, masing-masing 32 bit, dan diproses bergantian (secara menyilang), proses ini dikenal dengan istilah Skema Fiestel. Skema ini memastikan agar enkripsi dan dekripsi merupakan 2 proses yang amat mirip. Perbedaannya ialah bahwa pada proses dekripsi, subkey (di sini kunci juga dipecah) digunakan dengan urutan yang terbalik. Selebihnya sama. Dengan demikian, implementasi DES amat sederhana, terutama bila ditanamkan ke dalam perangkat keras. Artinya, tidak dibutuhkan proses enkripsi dan dkripsi yang terpisah.
Fungsi F pada Gambar 1 ialah Fungsi Feitsel. Fungsi ini memroses 32 bit data dan terdiri dari 4 tahap. Lihat Gambar 2. Keempat tahap ini ialah:
1. Expansion.
2. Key mixing.
3. Substitusion.
4. Permutation.


Gambar 2. Fungsi Feitsel dalam DES.

- bersambung -

------
File materi dapat diunduh di http://files.rakayusuf.com/unduh/?file=11.


Referensi:
http://id.wikipedia.org/wiki/Data_Encryption_Standard
http://en.wikipedia.org/wiki/Data_Encryption_Standard
http://en.wikipedia.org/wiki/Shared_secret

Tidak ada komentar:

Posting Komentar