Kamis, 03 Desember 2009



ENKRIPSI DAN DEKRIPSI

1. Latar Belakang
Di era globalisasi seperti sekarang ini dan dengan semakin berkembangnya teknologi kita saling bertukar informasi maupun pesan dengan pihak lain meskipun terpisah oleh jarak yang sangat jauh, misalnya antar kota maupun Negara dengan bantuan komputer yang telah terhubung dengan jaringan, misalnya internet. Bahkan tidak menutup kemungkinan kita maupun pihak lain yaitu organisasi-organisasi atau perusahaan-perusahaan besar di Negara ini bisa saling mengirim informasi yang sangat penting melalui teknologi itu.

Namun semua kegiatan itu bisa terganggu oleh pihak-pihak yang tidak bertanggung jawab yang ingin mengacau, misalnya para hacker yang ingin menyadap atau mencuri pesan-pesan penting yang kita kirim kepihak lain, sehingga pesan atau informasi yang seharusnya tidak perlu diketahui oleh pihak lain akhirnya bisa diketahui dan itu semua sungguh mengganggu dan tidak menutup kemungkinan juga hal itu bisa merugikan.

Dalam hal keamanan komputer ada yang disebut dengan ilmu kriptografi. Kriptografi telah menjadi bagian penting dalam dunia teknologi informasi saat ini. Hampir semua penerapan teknologi informasi menggunakan kriptografi sebagai alat untuk menjamin keamanan dan kerahasiaan informasi. Karena itu pulalah, kriptografi menjadi ilmu yang berkembang pesat. Dalam waktu singkat, amat banyak bermunculan algoritma-algoritma baru yang dianggap lebih unggul daripada pendahulunya. Namun, tetap saja cipher yang digunakan tidak lepas dari penemuan lama.


2. Kriptografi
Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data (Menezes, Oorschot and Vanstone, 1996). Tetapi tidak semua aspek keamanan informasi dapat diselesaikan dengan kriptografi.

Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan. Ketika suatu pesan dikirim dari suatu tempat ke tempat lain, isi pesan tersebut mungkin dapat disadap oleh pihak lain yang tidak berhak untuk mengetahui isi pesan tersebut. Untuk menjaga pesan, maka pesan tersebut dapat diubah menjadi suatu kode yang tidak dapat dimengerti oleh pihak lain.


Kriptoanalisis (cryptanalysis) adalah kebalikan dari kriptografi, yaitu suatu ilmu untuk memecahkan mekanisme kriptografi dengan cara mendapatkan kunci dari cipherteks yang digunakan untuk mendapatkan plainteks. Kriptologi (cryptology) adalah ilmu yang mencakup kriptografi dan kriptoanalisis.

• Persamaan kriptografer dan kriptanalis adalah sebagai berikut:
 Keduanya sama-sama menerjemahkan cipherteks menjadi plainteks.

• Perbedaan kriptografer dan kriptanalis:
 Kriptografer bekerja atas legitimasi pengirim atau penerima pesan
 Kriptanalis bekerja atas nama penyadap yang tidak berhak.

• Sistem Kriptografi
 Sistem kriptografi (atau cryptosystem) adalah algoritma kriptografi, plainteks, cipherteks, dan kunci.

• Penyadap
 Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan selama ditransmisikan.
Nama lain: enemy, adversary, intruder, interceptor, bad guy


3. Enkripsi dan Deskripsi
Dalam bidang kriptografi ada yang disebut dengan enkripsi dan dekripsi. Enkripsi dapat didefinisikan sebagai proses konversi suatu informasi dalam bentuk yang dapat dibaca (plainteks) kedalam bentuk yang tidak dapat dimengerti (cipherteks) oleh pihak lain. Bila penerima data yang sudah dienkrip ingin membaca data semula, maka penerima tersebut harus mengkonversikannya kembali kebentuk semula melalui proses deskripsi. Deskripsi adalah invers dari proses enkripsi. Untuk melakukan deskripsi, penerima harus memiliki suatu data khusus sebagai kunci. Kunci tersebut harus didistribusikan dan dijaga secara hati-hati.

plainteks chiperteks plainteks semula



Keuntungan penggunaan enkripsi adalah bila metode lain untuk melindungi data (daftar kontrol akses, file pemissions, password dan lain-lain) berhasil dibongkar oleh penyusup, maka data yang diperoleh penyusup tersebut tidak ada artinya bagi penyusup tersebut.

Ada beberapa jenis paket Enkripsi, baik dalam bentuk perangkat keras maupun perangkat lunak. Paket perangkat lunak enkripsi terdapat dalam versi komersial maupun freeware. Perangkat keras enkripsi biasanya dibuat dengam prosesor khusus enkripsi dan jauh lebih cepat dibandingkan dengan perangkat lunak enkripsi. Namun disisi lain, bila penyusup memiliki akses terhadap perangkat keras enkripsi, maka penyusup tersebut dapat membuat skema deskripsi berbasis perangkat keras yang dapat digunakan untuk membuka informasi yang di-enkrip.

Data yang di transmisikan di dalam jaringan rentan terhadap penyadapan. Seringkali dilakukan enkripsi terhadap seluruh file sebelum mengirimkannya. Hal ini sering disebut end-to-encryption. Ada juga yang melakukan konversi data secara dinamis, hanya pada saat data mencapai jaringan menggunakan perangkat keras enkripsi, membuat suatu secure link.

Bila seluruh paket di-enkrip sebelum dikirim, seperti pada kasus perangkat keras enkripsi, maka router-router yang menggunakan protokol IP yang tidak mengerti paket yang ter-enkrip akan menolak paket-paket tersebut. Pada kenyataannya, router-router internet tidak mengerti paket-paket yang ter-enkrip, sehingga akan menolaknya. Bila ingin menggunakan enkripsi pada internet, maka enkripsi data harus dilakukan dalam tahap yang berbeda kemudian melewatkan data tersebut ke proses aplikasi.

Jadi dapat disimpulkan bahwa proses enkripsi maupun deskripsi sebenarnya adalah proses perhitungan matematika yang melibatkan kunci rahasia (baik itu public key maupun private key). Kunci tersebut biasa disebut cipher yaitu sebuah algoritma untuk menampilkan enkripsi dan kebalikannya, dekripsi. Rumus atau algoritma yang digunakan untuk perhitungan matematika tersebut sudah ditentukan dan berbeda untuk masing-masing metode/algoritma.

Banyak metode penyandian (alias algoritma enkripsi) yang bisa digunakan saat ini di antaranya: RC2, RC5, RC6, ROT-13 (monoalphabetic ciphers), SAFERdll. Untuk bisa membaca sebuah file atau pesan yang telah di-enkripsi (chiphertext), maka seorang pengirim pesan harus menyertakan kunci untuk membuka atau menerjemahkan file atau pesan yang telah di-enkrip-nya (plaintext) kepada penerima file atau pesan tersebut.

Beberapa Program Enkripsi-Dekripsi
1. Menggunakan bahasa Assembly
Yaitu tentang pembuatan program yang kegunaannya untuk mengenkripsi sekaligus juga mendekripsi file teks, pengacakan dilakukan berdasarkan sandi/kata kunci tertentu.
Pertanyaannya kenapa dibikin pake assembly?
Karena program hasil bahasa assembly pastinya berjalan lebih cepat. hal ini memang terbukti. Sebelum meneruskan setidaknya kita harus membaca referensi berikut, sebagai pengetahuan dasar dan referensi utama:
• E-book PC Assembly Language karya Paul A. Carter.
• Tutorial mengenai dasar bahasa C di Linux dan kompiler GCC.
• Baca juga referensi fungsi getopt
• Listing program disini bersifat open source dan mengandung banyak keterangan & komentar yg membantu memahaminya.

Program enkripsi file teks berfungsi untuk mengenkripsi (mengacak) suatu file teks sehingga informasi di dalamnya tidak bisa dibaca. Pengacakan dilakukan berdasarkan kata kunci (key) tertentu yang diisikan oleh pengguna.

Program juga sekaligus berfungsi untuk meng-dekripsi (enkripsi balik) file hasil enkripsi. Agar file dapat didekripsi dengan benar, kata kunci (kode) yang digunakan harus sama dengan kata kunci enkripsi. Jadi disini hanya terdapat 1 key (kunci) untuk melakukan enkripsi dan dekripsi (symmetric encription).

Cara kerja enkripsi dilakukan dengan menambahkan kode karakter teks sumber dengan teks kunci. Kunci yan lebih pendek dari teks sumber akan berulang-ulang sampai panjangnya sama dengan teks sumber. Misalnya panjang teks sumber 20 karakter, sedangkan kunci = “abcde” (5 karakter), maka faktor penambahan enkripsi adalah abcdeabcdeabcdeabcde.

Contoh:
; sumber : "Kucing"
; kunci : "kode"
maka:
; sumber : 75 117 99 105 110 103
; kunci : 107 111 100 101 107 111
; hasil : 182 228 199 206 217 214

Demikian pula dengan proses dekripsi, yaitu dengan melakukan operasi pengurangan teks sumber dengan kunci. Tentunya kunci harus sama dengan kunci enkripsi untuk menghasilkan teks hasil yang benar. Jika kunci tidak cocok, informasi dalam teks tidak akan terbaca.

Ada 4 parameter dari fungsi, yang akan dipush ke dalam stack, yaitu
• dest, sebagai parameter pertama [ebp+8]. dest. merupakan parameter yang di pass by reference, karena ia akan berisi string. (berisi alamat awal dari string) dan nantinya akan menampung string hasil enkripsi/dekripsi.
• src, [ebp+12]. Berisi string sumber, yaitu teks yang akan dienkripsi/didekripsi. Parameter pass by reference.
• kunci, [ebp+16]. Berisi string kunci/kode, yaitu string yang akan dimanipulasi dengan src untuk proses enkripsi/dekripsi.
• flag_enkripsi, [ebp+20]. Berisi variabel untuk menandai apakah akan melakukan enkripsi atau melakukan dekripsi (bersifat boolean). Jika nilai <> 1, misalnya 0, maka fungsi akan melakukan enkripsi. Jika flag_enkripsi = 1, maka fungsi akan melakukan dekripsi.Parameter ini merupakan pass by value.

2. Menggunakan Program ROT-13
ROT-13 adalah program yang masih suka dipergunakan. Intinya adalah mengubah huruf menjadi 13 huruf didepannya. Misalnya b menjadi o dan huruf “a” digantikan dengan huruf “n” dan seterusnya.

ROT-13 disebut juga “monoalphabetic ciphers” karena setiap huruf digantikan dengan sebuah huruf. Huruf yang sama akan memikili pengganti yang sama. Misalnya huruf “a” digantikan dengan huruf “e”, maka setiap huruf “a” akan digantikan dengan huruf “e”. Secara matematis, hal ini dapat dituliskan sebagai berikut :
C = I + 13

Sedangkan untuk membalikkan ke bentuk asli atau dikenal dengan dekripsi adalah tinggal membalik fungsi penyandian tersebut. P = I – 13

3. Menggunakan Kriptografi Quantum
Teknik kriptografi Quatum ini menggunakan hukum Ketidakpastian Heisenberg. Ide dasarnya adalah menggunakan sebuah perhitungan matematika yang sangat rumit dan tidak mungkin dipecahkan oleh orang asing, karena keterbatasan sumberdaya maupun waktu proses. Ketika ada orang asing yang berusaha masuk ke jaringa, maka ia pasti akan merusak sesuatu yang ada di dalam jaringan tersebut.

Teknik kriptografi ini cocok untuk jaringan dengan serat optik. Ketika orang asing ini mencoba membobol jaringan, foton yang ada pada jaringan akan teracak dan menyebabkan jaringan terputus. Jaringan akan membentuk jalan baru ketika jaringan semula terganggu, sehingga penerima dan pengirim pesan dapat kembali berkumunikasi dengan aman.

Katanya, jaringan ini “tidak bisa ditembus”. Tapi penelitian terus dilakukan untuk mencari cara mengamankan informasi yang sifatnya sensitif.

4. Menggunakan kriptografi kunci publik dengan algoritma RSA
Pada kriptografi kunci publik, setiap Pengguna memiliki sepasang kunci, satu kunci untuk enkripsi yaitu kunci yang digunakan untuk menyandikan plainteks menjadi cipherteks dan satu untuk dekripsi yaitu kunci yang digunakan untuk mengembalikan cipherteks menjadi plainteks semula. RSA adalah salah satu dari kriptografi kunci publik yang sering digunakan untuk memberikan pengamanan data sehingga data tidak bisa dibaca oleh pihak yang tidak berhak.
Keamanan enkripsi/dekripsi data model ini terletak pada kesulitan untuk memfaktorkan modulus n yang sangat besar. sehingga ketika kriptografi kunci publik dengan algoritma RSA mau dipecahkan oleh pihak yang tidak berhak, maka mereka akan kesulitan dalam mencari faktor- faktor primanya dalam nilai yang besar.

Dalam simulasi yang dilakukakan, didapatkan prosentase keamanan data sebesar 99,7 %, sehingga keamanan kriptografi kunci publik dengan algoritma RSA dapat dikategorikan aman.

Algoritma Kriptografi berdasarkan jenis kunci yang digunakan :
• Simetris dan Asimetris
Untuk menyandi informasi dan untuk menterjemahkan pesan tersandi sebuah algoritma penyandian memerlukan sebuah data binary yang disebut kunci atau key. Tanpa kunci yang cocok orang tidak bias mendapatkan kembali pesan asli dari pesan tersandi. Ada dua jenis system tersandi yang dikenal dengan istilah system sandi simetris dan system sandi asimetris.
Sistem sandi simetris menggunakan kunci yang sama dalam proses enkripsi maupun proses dekripsi. Sedangkan system sandi asimetris dalam melakukan proses enkripsi menggunakan kunci yang berbeda dengan kunci yang digunakan dalam proses dekripsi. Contoh dari system sandi simetris adalah Data Encryption Standard ( DES ), sedangkan contoh system sandi asimetris adalah Ron Shamir Adleman ( RSA ).

Kedua system ini memiliki keuntungan dan kerugiannya sendiri. Sistem sandi simetris cenderung jauh lebih cepat sehingga lebih disukai oleh sementara kalangan industry. Namun kelemahannya adalah bahwa pihak-pihak yang ingin berkomunikasi secara privat harus punya akses ke sebuah kunci bersama. Dan tidak menutup kemungkinan bahwa salah satu pihak akan ceroboh terhadap kunci tersebut hingga mudah jatuh ke tangan pihak ketiga.

• Algoritma kriptografi berdasarkan besar data :
Algoritma kriptografi (cipher) simetri dapat dikelompokkan menjadi dua kategori, yaitu:
1. Cipher aliran (stream cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit.
Adapun algoritma yang termasuk dalam stream cipher yang sering digunakan adalah algoritma A5/1 untuk jaringan GSM.

Algoritma A5 adalah algoritma stream cipher yang digunakan untuk mengenkripsi pesan dalam transmisi udara. Stream cipher ini diinisialisasi dengan setiap frame yang dikirim. Stream cipher ini diinisialisasikan dengan kunci sesi, Kc, dan jumlah frame yang akan dienkripsi. Kunci sesi yang sama digunakan sepanjang panggilan berlangsung, tetapi 22 bit nomor frame berubah selama proses berlangsung, kemudian membangkitkan keystream yang unik untuk setiap frame [FIR06].

2. Cipher blok (block cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya.

Pada cipher blok, plainteks dibagi menjadi beberapa blok dengan panjang tetap. Ketika melakukan enkripsi, cipher blok mungkin saja menerima input 128-bit plainteks dan mengeluarkan 128-bit keluaran cipherteks. Transformasi selengkapnya dikontrol menggunakan masukan kedua- yaitu kunci. Begitu pula halnya dengan dekripsi, algoritma untuk melakukan dekripsi akan menerima masukan 128-bit cipherteks dan kunci kemudian menghasilkan keluaran 128-bit plainteks aslinya.

Untuk melakukan enkripsi terhadap pesan yang lebih panjang dari ukuran blok, pada cipher blok, digunakan mode-mode tertentu. Empat mode operasi yang lazim diterapkan pada sistem blok cipher adalah:

1. Electronic Code Book (ECB)
Pada mode ini, setiap blok plainteks Pi dienkripsi secara individual dan independen menjadi blok cipherteks Ci.


2. Cipher Block Chaining (CBC)
Mode ini menerapkan mekanisme umpan balik (feedback) pada sebuah blok, yang dalam hal ini hasil enkripsi blok sebelumnya diumpanbalikkan ke dalam enkripsi blok yang current.


3. Cipher Feedback (CFB)
Pada mode CFB, data dienkripsikan dalam unit yang lebih keicl daripada ukuran blok. Sehingga enkripsi dapat dilakukan meskipun data yang diterima belum lengkap.


4. Output Feedback (OFB)
Mode OFB mirip dengan mode CFB, kecuali n-bit dari hasil enkripsi terhadap antrian disalin menjadi elemen posisi paling kanan di antrian.

Adapun algoritma yang termasuk dalam block cipher dan sangat popular untuk digunakan adalah DES dan Triple DES.
DES adalah algoritma block cipher yang sangat popular karena dijadikan standard algoritma enkripsi kunci-simatri, meskipun saat ini standard tersebut sudah dianggap tidak aman lagi. Pada DES data diennkrip dalam blok-blok 64 bit menggunakan kunci 56 bit. DES mentransformasikan input 64 bit dalam beberapa tahap enkripsi ke dalam output 64 bit. Dengan tahapan dan kunci yang sama, DES digunakan untuk membalik enkripsi. DES sangat banyak digunakan untuk melindungi data dlam dunia elektronika khususnya di bidang perbankan, financial, dan e-commerce.

Bit Kunci dan Blok Data
Banyak sekali jenis Enkripsi dan setiap enkripsi dibedakan berdasar besar bit kunci dan besar blok datanya. Dari mulai bit kunci 8-bit,sampai 256 bit. dan dari 64-bit hingga 512-bit besar blok data. Mengapa bit kunci dan blok data penting? Karena kekuatan dari enkripsi terletak dalam tiga hal, yaitu besar bit kunci, bear blok data, dan metode pengulangan yang dilakukan didalamnya. semakin besar blok kunci, semakin kecil blok data dan semakin banyak pengulangan yang dilakukan maka enkripsi tersebut bisa dibilang cukup tangguh, dan begitu juga sebaliknya.

Kehidupan saat ini dikelilingi oleh kriptografi, mulai:

 ATM tempat mengambil uang,
 Telepon genggam (HP),
 Komputer di lab/kantor,
 Internet,
 Gedung-gedung bisnis,
 sampai ke pangkalan militer


PROTOKOL CRYPTOSYSTEM
Cryptograhic Protocol adalah suatu protocol yang menggunakan kriptografi. Protokol ini melibatkan sejumlah algoritma kriptografi , namun secara umum tujuan protocol lebih dari sekedar kerahasiaan. Pihak – pihak yang berpartisipasi mungkin saja ingin membagi sebagian rahasianya untuk menghitung sebuah nilai, menghasilkan urutan random, ataupun menandatangani kontrak secara bersamaan. Penggunaan kriptografi dalam sebuah protocol terutama ditujukan untuk mencegah ataupun mendeteksi adanya eavesdropping dan cheating.

APLIKASI ENKRIPSI
a. Jasa telekomunikasi
b. Militer dan Pemerintahan
c. Data Perbankan
d. Data Konfidensial Perusahaan
e. Pengamanan Electronic Mail
f. Kartu Plastik





Sumber:
[1] Munir, Rinaldi. (2004). Bahan Kuliah IF5054 Kriptografi. Departemen Teknik
Informatika,Institut Teknologi Bandung.
[2] Wikipedia (2009), Http://en.wikipedia.org/wiki/Cryptograpy.
[3] Http://sandi.math.web.id
[4] Http://the-eye-blog/menggunakan-enkripsi-untuk-keamanan.html
[5] Http://adeut-blog/enkrisi-dekripsi.html
[6] Http://hazzrock-blog/enkrisi-dekripsi.html
[7] Http://jbptitbpp-gdl-budiononim-29902-3-2008ta-2.pdf
[8] Http://Makalah1-077.pdf
[9] Http://Paper_Didin_Mukodim.pdf

Sabtu, 21 November 2009

Teknologi Telematika

Saya yakin sebagian besar sudah paham betul apa itu Teknologi Telematika dan mengenai seluk beluknya. Bagi yang masih kurang paham atau baru mengenal istilah "Teknologi Telematika", untuk kesempatan kali ini, saya mencoba membuat penjelasan mengenai istilah tersebut. (ehm...)

Sebelum kita membahas apa itu teknologi telematika, udah pada tau belum maksud dari "distance is dead" itu apa ?? Saya yakin semuanya udah pasti tau terjemahannya dalam bahasa Indonesia yakni "jarak sudah mati". Trus, pada tau nggak maksudnya apa ?? Apa hayoo ...... ??? Yuks kita bahas bareng-bareng .................,!!

Distance is dead itu merupakan istilah yang menyatakan bahwa jarak geografis tidak lagi menjadi faktor penghambat dalam hubungan antara manusia atau antar lembaga usaha. (Oh githu...) So, berbagai informasi dapat kita akses dengan mudah sekaligus cepat. Sehingga setiap perkembangan dapat kita ikuti dimanapun kita berada.

Adanya distance is dead di zaman sekarang ini, hanya mungkin dengan adanya dukungan teknologi. Dengan teknologi, beragam dan banyak informasi yang dapat kita sampaikan. Teknologi Telematika (tele : telekomunikasi; ma : multimedia; tika : informatika) telah menggunakan kecepatan dan jangkauan transmisi energi elektromagnetik, sehingga sejumlah besar informasi dapat ditransmisikan dengan jangkauan, menurut keperluan, sampai seluruh dunia, bahkan keseluruh angkasa, serta terlaksana dalam sekejap. (wow...) Gimana nggak cepat, kecepatannya aja hampir 300.000 km/detik. Kebayang nggak?? wuidih,.. cepet banget... coba bayangin kalo ada angkot dengan kecepatan transmisi tadi, bisa-bisa nggak ada penumpang yang naek. Jelas nggak ada, 'kan angkotnya nggak kelihatan sama sekali. hahahaha...... (ngaco deh...). So, dengan kecepatan tadi memungkinkan orang berdialog langsung (komunikasi interaktif). Yaaa... salah satu contohnya yaaaa... chatting. (hehe..)

Contoh lain dari Teknologi Telematika adalah komputer, internet, pager, handphone, teleconference, siaran radio dan televisi internasional - tv kabel Indonesia. Dengan semakin berkembangnya zaman, kebutuhan akan teknologi juga semakin meningkat. Sehingga menimbulkan meningkatnya kapasitas hardware, ragam teknologi software terus menghasilkan yang baru, semakin banyaknya usaha pelayanan komunikasi (wartel), rental komputer, warnet (warung internet). Semakin berkembang dan berkembang sesuai dengan permintaan dari para konsumen. Nah githuu... dah pada paham kan??

Kalo masih belum paham juga, waduh... ribet dah,. Buat Pembaca yang masih belum paham juga, harap maklum yaaa.. coz saya juga masih dalam tahap belajar untuk mengetahui lebih lanjut mengenai Teknologi Telematika ini. hehehe...