17 Januari 2008

Belajar enkripsi / encode / kriptografi

Alhamdulillah, sekarang penulis mau sedikit berbagi ilmu yang berkaitan dengan keamanan data (security).
Bagi orang-orang yang sering berkecimpung di dunia informatika / komputer insya Allah sering mendengar istilah enkripsi ada juga yang pernah mendengar istilah encode, begitu juga istilah kripografi.

Tujuan sebenarnya teknik-teknik dengan istilah-istilah di atas adalah untuk menyamarkan data asli menjadi data baru dalam bentuk atau format lain, supaya orang lain selain si pemilik hak akses ke data tersebut tidak bisa melihat atau mengaksesnya.

Biasanya digunakan untuk mengamankan data, jaga-jaga kalau data tersebut jatuh ke tangan orang lain yang tidak berhak. Baik itu untuk disimpan sendiri maupun untuk tujuan pengiriman data ke orang lain.

Anda masih ingat ketika belajar pramuka, kita dulu belajar sandi rumput, bunyi, dan lain-lain.
Nah, sandi-sandi tersebut hanya bisa dipecahkan atau diterjemahkan oleh orang yang sudah paham tentang sandi tersebut dan cara menerjemahkannya.

Karena sifatnya umum, sandi-sandi tersebut (dalam pramuka) bisa dipelajari oleh semua orang, jadi kalau Anda punya data atau kalimat yang disandikan dengan menggunakan sandi publik tersebut, kemungkinan besar masih bisa diterjemahkan oleh orang lain, sehingga terlihatlah data atau kalimat aslinya.

Begitu juga dalam ilmu atau teknik penyandian data di dunia komputer, ada yang bisa diterjemahkan ke bentuk aslinya ada juga yang tidak.

Ilmu penyandian ini juga disebut dengan cipher

Ilustrasi penyandian yang bisa diterjemahkan balik dan yang tidak.

Misal kita punya sebuah data X, kita sandikan menggunakan teknik penyandian F, maka akan dihasilkan data baru (sudah tersamarkan) yaitu Z.

F
X ---> Z

Sedangkan untuk membalikkan ke bentuk asli atau dikenal dengan dekripsi adalah tinggal membalik fungsi penyandian tersebut, ilustrasi sederhananya adalah:

-F
X <--- Z

Baiklah, studi kasus...

Kita punya huruf abjad:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

B C D E F G H I J K L M N O P Q R S T U V W X Y Z A

Susunan karakter berikut adalah metode enkripsi atau penyamarannya, Anda bisa menebaknya bukan?

Betul sekali. Sedikit kita ulas tentang fungsi dalam matematika:

Z = X + 1 (Jadi, fungsi penyandinya adalah karakter asli di tambah satu)

Contoh, kita punya kalimat: G A L I H H E R M AWA N

Dengan menggunakan fungsi: H B M J I I F S N B X B O

Bagaimana, mudah kan? Lalu bagaimana membaliknya ke bentuk aslinya?
OK. Kita sudah tahu rumusnya, bahwa:

KARAKTER BARU = KARAKTER LAMA + 1

Untuk membalik berarti:

KARAKTER LAMA = KARAKTER BARU - 1

Fungsi: X = Z - 1

Memang rumus ini terlalu mudah, namun tidak apa-apa, supaya membantu kita, terutama bagi yang belum paham apa itu enkripsi dan bagaimana cara kerjanya.
Beberapa metode penyandian (alias algoritma enkripsi) yang bisa digunakan di antaranya:
- RC2
- RC5
- RC6
- SAFER
- dll

Sedangkan berikut ini contoh algoritma yang tidak ada fungsi pembalik atau penerjemah ke bentuk aslinya

- HAVAL
- MD4
- MD5
- SHA-0
- SHA-1
- WHIRLPOOL
- dll

Nah, khusus untuk algoritma yang tidak ada fungsi pembaliknya, para decryptor (orang yang suka atau ada keperluan mendekripsi suatu sandi), mereka suka menggunakan teknik Brute Force Attack. [indo wiki]

Untuk penjelasan mengenai brute force attack dan cara implementasinya menyusul pada tulisan berikutnya.

Thanx.

6 komentar:

Anonim mengatakan...

Blog ini bagus and and terus di upgrade ilmu nya yaa mas,aku tgg di MD5 nya and cara mendecryt md5 32

semoga tambah maju and bagi ilmu terus


joe

Anonim mengatakan...

thanf for comment. Insya Allah , mudah2an ada waktu menulisnya lagi.

Anonim mengatakan...

koreksi dikit y..
1.mngkn mas salah tulis, cipher jd chiper..
2. sistem sandi yang mas tulis tu CAESAR.tulis ja istilahnya, biar temen2 pada tw.
3. fungsi ga da pembalik (istilah kerennya, fungsi HASH), setau saya, ampe kapan juga memang g bisa didekripsi. qt cm bs menemukan collision-nya ja. pesan lain dengan nilai hash sama. klo g salah md5 dah ditemukan collisionnya pda 2 ^ 80.

maaf kalo saya da salah...

galih mengatakan...

Terim kasih atas masukannya.
Memang tujuan awal dari artikel ini adalah untuk pemula, bukan khusus orang IT, so bahasa dibuat sesederhana mungkin dengan mengurangi beberapa istilah2 khusus di bidang kriptografi.

MyLuVRock mengatakan...

Boz...!
Q ad tugas kriptografi.....
klo punya file2 ttg kriptografi boleh minta gak......?

Unknown mengatakan...

Mas/mba ,klo pngin mahir ,kuliah jurusn ap