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

Apa Itu Text Mining ?

Text mining  adalah satu langkah dari analisis teks yang dilakukan secara otomatis oleh komputer untuk menggali informasi yang berkualitas dari suatu rangkaian teks yang terangkum dalam sebuah dokumen (Han & Kamber, 2006) .   Text mining  (penggalian teks) merupakan penggalian teks data yang bersifat tekstual. Text   mining  juga merupakan bidang yang sedang berkembang dan berpotensi besar bagi dunia bisnis. Text mining bekerja menggunakan data numerik (Sungkono, 2007) . Pada tahun 1996, Dow Chemical Company memulai proses text mining dengan mengakses ratusan ribu dokumen dari berbagai sumber, termasuk internet. Tujuan mereka adalah mendapatkan pengetahuan dan pola-pola informasi yang tidak dapat ditemukan menggunakan perangkat basis data atau mesin pencarian konvensional. Dow  kemudian mampu mencari pelanggan-pelanggan baru, teknologi baru, dan mitra bisnis baru melalui text mining . Dow juga mampu mengidentifikasi tren pasar yang tidak dapat dideteksi...

Penetration Testing dengan Tools OWASP ZAP

OWASP Zed Attack Proxy (ZAP) adalah salah satu alat keamanan gratis paling populer di dunia dan dikelola secara aktif oleh tim sukarelawan internasional yang berdedikasi. OWASP ZAP dapat membantu Anda secara otomatis menemukan kerentanan keamanan dalam aplikasi web Anda saat Anda mengembangkan dan menguji aplikasi Anda. OWASP ZAP juga merupakan alat yang hebat untuk pentester berpengalaman untuk digunakan untuk pengujian keamanan manual atau audit suatu website.   Cara penggunaan aplikasi OWASP ZAP sangat mudah, berikut langkah langkah penggunaan aplikasi OWASP ZAP : 1.  Buka tampilan tools/ aplikasi OWASP ZAP 2.  Selanjutnya pilih “Yes, I want persist this session with name based on the current timestamp” -> lalu klik start 3.  Lalu pilih Automated Scan setelah itu sediakan url atau IP yang akan dilakukan pentest 4.  Masukkan alamat yang akan anda lakukan pentest, seperti gambar dibawah ini, lalu klik attack. 5.  Hasil pentest terlihat seperti gambar di...

Pengetahuan Dasar Cyber Security (Keamanan Sistem Informasi)

Haiii mina. Penulis mau update lagi nih. Ini soal Keamanan Sistem Komputer yang dibahas pada pertemuan pertama. Tapi sayangnya Penulis tidak dapat hadir dalam perkuliahan hari itu karena ada urusan dari kampus, eh sok sibuk. Hehehe.. Yuk kita kembali ke topik aja.          Keamanan Sistem Komputer merupakan sebuah upaya yang dilakukan untuk mengamankan kinerja,fungsi atau proses komputer. Keamanan komputer memberikan persyaratan terhadap komputer yang berbeda dari kebanyakan persyaratan sistem karena sering kali berbentuk pembatasan terhadap apa yang tidak boleh dilakukan komputer. Ini membuat keamanan komputer menjadi lebih menantang karena sudah cukup sulit untuk membuat program komputer melakukan segala apa yang sudah dirancang untuk dilakukan dengan benar. Persyaratan negatif juga sukar untuk dipenuhi dan membutuhkan pengujian mendalam untuk verifikasinya, yang tidak praktis bagi kebanyakan program komputer. Keamanan komputer memberikan strategi te...