Dokumen ini dibuat dengan tujuan untuk memasyarakatkan kriptografi
dan meng-kriptografikan masyarakat. Karena, masih banyak kawan-kawan
yang menganggap kriptografi sebagai ilmu yang sangat tinggi dan sulit
dipelajari, bahkan ada yang mengkategorikan ilmu ini sebagai ilmu gaib.
Saya tidak akan bilang bahwa ilmu ini mudah, dan dapat dipelajari hanya
dalam waktu semalam. Tidak kawan, semua ilmu yang bagus butuh proses.
Dokumen ini tidak dibuat untuk menjadi referensi utama untuk kriptografi. Karena, kriptografi terlalu luas untuk dibukukan dalam satu buku setebal novel Lord of The Ring, apalagi dalam satu dokumen facebook seperti ini!
Lebih tepat jika dokumen ini dijadikan sebagai “penunjuk jalan” ke
dunia kriptografi yang menarik dan menyenangkan dengan kemungkinan
eksploitasi tanpa batas. Untuk kawan-kawan yang sudah lebih tinggi ilmu
dan pengalamannya di bidang ini, dengan segala kerendahan hati, saya
mohon izin dan maklum atas kesalahan yang mungkin ada di dokumen ini.
Tujuan
awal dari kriptografi adalah menyembunyikan isi pesan sehingga tidak
dapat terbaca oleh pihak-pihak yang tak diinginkan, tetapi masih dapat
dimengerti oleh pihak yang dituju. Seiring perkembangan jaman,
kriptografi banyak diterapkan di berbagai bidang, mulai dari tukar
menukar informasi di perang dunia kedua, hingga dunia komputerisasi yang
kita alami saat ini.
Dokumen ini, tentu saja, tidak akan membahas
bagaimana pasukan Nazi mengoperasikan “Enigma”, sehingga membingungkan
pihak sekutu. Dokumen ini “hanya” akan membahas kriptografi dan
implementasinya di bidang IT. Implementasi yang akan ditunjukkan juga
hanya implementasi dasar dan bersifat “offline”, bukan implementasi
canggih seperti “email transaction”, “pay pal autorization”, “handshake
cryptographic”, dll. Tapi, percayalah kawan, semua implementasi canggih
itu, berdasar dari implementasi dasar ini.
Dalam dokumen ini akan
dipakai istilah yang umum dipakai dalam dokumen-dokumen kriptografi.
Contohnya adalah “plain text”, yaitu pesan asli yang hendak disampaikan.
“Cipher text“, yang artinya pesan yang telah di-enskripsi. Dan istilah-istilah lainnya yang mungkin membingungkan, maaf bila itu terjadi.
Sesuai
judulnya, dokumen ini menggunakan Borland Delphi 7 sebagai compiler
kode-kode yang digunakan. Kenapa? Yap, karena saya memang paling nyaman
menggunakan Delphi dengan versi tersebut untuk hal-hal yang berbau
kriptografi. Anda bisa memilih menggunakan compiler lain yang paling
anda sukai. Untuk library yang dijadikan referensi kriptografi, saya
selalu mempercayakan kepada bang Barton, di situs : http://www.cityinthesky.co.uk/opensource/dcpcrypt.
Selain open source, alasan saya menggunakan library tersebut adalah
kelengkapan dari metode kriptografi yang digunakan. Namun lagi-lagi, ini
tidak mengikat. Anda bebas menggunakan library manapun yang paling
cocok dengan anda, atau bila anda sudah cukup memahami alur dari
algoritma suatu metoda, anda bisa menulis library sendiri.
File-file
implementasi yang disertakan dalam dokumen ini merupakan source yang
siap di-compile. Bagi kawan-kawan yang memiliki Borland Delphi 7
terinstall di komputernya, bisa langsung meng-klik file dengan ekstensi
“dpr”. Bagi yang tidak menginstall compiler tersebut, untuk mengetahui
isi kode program, bisa membuka file dengan ekstensi “pas” dengan notepad
atau text editor lainnya. File “exe” juga disertakan untuk melihat
implementasinya secara langsung.
Dari output yang dihasilkan,
kriptografi dapat dibagi menjadi dua, yaitu kriptografi “satu-arah” dan
“dua arah”. Dan dalam kriptografi “dua-arah” pun, bila dilihat dari
jenis “key” yang digunakan, dapat dibagi menjadi dua, yaitu “symetric
key” dan “asymetric key”. Begitulah kira-kira kerangka dari dokumen ini.
Walaupun terbagi-bagi seperti itu, tidak menutup kemungkinan semua
jenis kriptografi tersebut di implementasikan bersama-sama, atau yang
lebih dikenal dengan metode “hybrid”. Pada akhir dokumen, akan
diperlihatkan implementasi dari metode hybrid ini.
Dalam implementasinya di dunia IT,
plain text yang diinput ke dalam kriptografi, bentuknya bisa
bermacam-macam. Bisa file exe, dokumen, gambar, musik, dan semua file
digital lainnya. Tergantung dari sang pengguna yang
meng-implementasikannya. Inilah mengapa kemungkinan dalam kriptografi
menjadi tak terbatas dan sangat menarik!
Tidak ada komentar:
Posting Komentar