__ __ /\ \ ___ ___ ___ __ __ __ ___ _ __ /\_\ \_\ \ / __`\ /' __` __`\ /'__`\ /'_ `\ /'__`\ / __`\/\`'__\ \/\ \ /'_` \ /\ \L\ \/\ \/\ \/\ \/\ __//\ \L\ \/\ \L\.\_ __/\ \L\ \ \ \/ __\ \ \/\ \L\ \ \ \____/\ \_\ \_\ \_\ \____\ \____ \ \__/.\_\/\_\ \____/\ \_\/\_\\ \_\ \___,_\ \/___/ \/_/\/_/\/_/\/____/\/___L\ \/__/\/_/\/_/\/___/ \/_/\/_/ \/_/\/__,_ / /\____/ \_/__/ OMEGA|ZINE RELEASE 03 Author: unsuprise || unsuprise[at]gmail.com || http://www.unsuprise.org Online @ www.omega.or.id :: http://ezine.omega.or.id == Berkenalan dengan Ilmu Kriptografi == Jumpa lagi ...!!!! * kata cikita medi :D Kali ini yang nulis mau mengajak yang baca "Berkenalan Sama ilmu Kriptografi" atau bahasa betawinya cryptography. Yang nulis membataskan penulisannya hanya sampai sejarah dan pengertiannya aja. Kenapa? Karena Tidak bisa di jadikan 1 pembahasan dalam satu tulisan kecil. Dan supaya tulisan ini dapat dikembangkan nantinya ex: Sih Umar nanti bisa melanjutkan tulisan ini membahas tentang 1 bentuk algortima enskripsi sampai tuntas MISAL RSA, MD5 Dan lain lain.. Kenapa yang nulis mau ngebahas dikit tentang ini. 1. Jaman semakin tua . 2. Perlunya menentukan Algoritma cryptography yang tepat. 3. Agar dapat membantu kita yang hobi bikin program (program apa aja yang memerlukan cryptography pada sistemnya). Ok. Kata sambutan sudah, berika applause (Plok Plok).. ambil Telur lempar ke yang nulis (hehehe).. I. Pengertian Cryptography menurut kata wikipedia suatu ilmu dan seni untuk menjaga kerahasiaan berita (Pesan atau Data). Kalau menurut yang nulis cryptography merupakan teknik yang ditujukan untuk merombak suatu data asli menjadi beberapa bagian. Ada lagi menurut buku [Konsep Dan Implementasi cryptography Dengan .Net] : Ilmu yang mempelajari bagaimana melaukan enkripsi dan dekripsi dengan memanfaatkan model matematika tertentu.. Tujuan cryptography: 1. Secrecy (kerahasiaan) : Informasi yang aman. 2. Integrity : Informasi tidak dirusak. 3. Authentication : Informasi hanya dapat dirusak diakses oelh yang berhak. 4. Non- Repudation : Informasi yang sekali kirim. [Mengutip dari tulisan] Dalam kriptografi terdapat dua konsep utama yakni enkripsi dan dekripsi.Enkripsi adalah proses dimana informasi/data yang hendak dikirim diubah menjadi bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan menggunakan algoritma tertentu. Dekripsi adalah kebalikan dari enkripsi yaitu mengubah kembali bentuk tersamar tersebut menjadi informasi awal. Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis yaitu : [1.] Algoritma simetris Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama Kelebihan : +Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik. +Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time Kelemahan : -Untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut. -Permasalahan dalam pengiriman kunci itu sendiri yang disebut “key distribution problem” Contoh algoritma : TwoFish, Rijndael, Camellia [2.] Algoritma asimetris Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi menggunakan kunci yang berbeda. - Kelebihan : +Masalah keamanan pada distribusi kunci dapat lebih baik +Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit - Kelemahan : -Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris -Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris. -Contoh algoritma : RSA, DSA, ElGamal Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu : [1.] Algoritma block cipher Informasi/data yang hendak dikirim dalam bentuk blok-blok besar (misal 64-bit) dimana blok-blok ini dioperasikan dengan fungsi enkripsi yang sama dan akan menghasilkan informasi rahasia dalam blok-blok yang berukuran sama. [2.] Algoritma stream cipher Informasi/data yang hendak dikirim dioperasikan dalam bentuk blok-blok yang lebih kecil (byte atau bit), biasanya satu karakter persatuan persatuan waktu proses, menggunakan tranformasi enkripsi yang berubah setiap waktu. Camellia merupakan algoritma kriptografi simetris blok cipher. Dalam Camellia proses enkripsi dan dekripsi dilakukan pada blok data berukuran 128-bit dengan kunci yang dapat berukuran 128-bit, 192-bit, 256-bit. Algoritma Camellia dikembangkan oleh : Kazumaro Aoki (NTT - Nippon Telegraph and Telephone Corp.) Tetsuya Ichikawa (Mitsubishi electric Corp.) Masayuki Kanda (NTT – Nippon Telegraph and Telephone Corp.) Mitsuru Matsui (Mitsubishi electric Corp.) Shiho Moriai (NTT – Nippon Telegraph and Telephone Corp.) Junko Nakajima (Mitsubishi electric Corp.) Toshio Tokita (Mitsubishi electric Corp.) Dimana versi 1.0 pada bulan Juli 2000, versi 2.0 pada September 2001 dan versi 2.1 pada Febuari 2002. - Plaintext (M) adalah pesan yang hendak dikirimkan (berisi data asli). - Ciphertext adalah pesan ter-enkrip (tersandi) yang merupakan hasil enkripsi. - Enkripsi (fungsi E) adalah proses pengubahan plaintext menjadi ciphertext. - Dekripsi (fungsi D) adalah kebalikan dari enkripsi yakni mengubah ciphertext menjadi plaintext, sehingga berupa data awal/asli. - Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi. Kriptografi itu sendiri terdiri dari dua proses utama yakni proses enkripsi dan proses dekripsi. Seperti yang telah dijelaskan di atas, proses enkripsi mengubah plaintext menjadi ciphertext (dengan menggunakan kunci tertentu) sehingga isi informasi pada pesan tersebut sukar dimengerti. Visualisasi : Plaintext -----> Enkripsi----> |--Chipertext--| ------> Deskripsi -------> Plaintext Peranan kunci sangatlah penting dalam proses enkripsi dan dekripsi (disamping pula algoritma yang digunakan) sehingga kerahasiaannya sangatlah penting, apabila kerahasiaannya terbongkar, maka isi dari pesan dapat diketahui. [Mengutip dari tulisan] Nah ... Begitulah yang namanya cryptography. Kesimpulannya : Dalam mengolah dan mengirim sebuah data diharuskan menggunakan ilmu tersebut karena betapa pentingnya data tersebut jika tidak menggunakan ilmu cryptography.. Nah saya ada tebak tebakan tentang cryptography: [nyontek dari buku dan majalah] Misal ada campuran kata seperti ini: B Z P C F M B K B S = [Dengan menggunakan metode geser satu huruf akan menghasilkan ] = A Y O B E L A J A R Pertanyaan : Jika ada campuran kata Seperti ini [O M E G A E Z I N E] Menggunakan geser 10 huruf . Berapa Nilai acak yang dihasilkan? Jawaban : Bisa Dijawab masing masing agar lebih dapat tergambar oleh yang baca. Kalau mau kirim ke email yang nulis juga bole.. Ok sampai disini perjumpaan kita akhir kata saya ucapkan " Selamat PAGI/SIANG/SORE " . Referensi : - http://www.google.co.id/search?q=cryptography - www.cert.or.id/~budi/course/ec5010/04-kriptografi.pdf - http:robby.c.staff.gunadarma.ac.id/Downloads/files/4565/KRIPTOGRAFI.doc - http://id.wikipedia.org/wiki/Kriptografi - Buku Konsep Dan Implementasi cryptography Dengan .Net Spesial Thanks : omega.or.id and all security IT indonesia , orangbodoh.org [maju terus], indodesignsystem.web.id [Design Terus heheh].