Selasa, 29 Maret 2011

macam2 kriptografi

Macam - macam kriptografi dgn contoh dan gambar


Apa sih kriptografi itu????

kriptografi ialah Suatu pesan yang tidak disandikan disebut sebagai plaintext ataupun dapat disebut juga sebagai cleartext. Proses yang dilakukan untuk mengubah plaintext ke dalam ciphertext disebut encryption atau encipherment. Sedangkan proses untuk mengubah ciphertext kembali ke plaintext disebut decryption atau decipherment. Secara sederhana istilah-istilah di atas dapat digambarkan sebagai berikut :
Gb. 1. Proses Enkripsi/Dekripsi Sederhana
Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. Sedang, cryptanalysis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut cryptanalyst.
Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan.
Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara matematis sebagai berikut :
EK (M) = C (Proses Enkripsi) DK (C) = M (Proses Dekripsi)
Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M yang sama seperti pesan sebelumnya.
Dengan demikian keamanan suatu pesan tergantung pada kunci ataupun kunci-kunci yang digunakan, dan tidak tergantung pada algoritma yang digunakan. Sehingga algoritma-algoritma yang digunakan tersebut dapat dipublikasikan dan dianalisis, serta produk-produk yang menggunakan algoritma tersebut dapat diproduksi massal. Tidaklah menjadi masalah apabila seseorang mengetahui algoritma yang kita gunakan. Selama ia tidak mengetahui kunci yang dipakai, ia tetap tidak dapat membaca pesan.
1. Pengertian Kriptografi(Cryptography)
Kriptografi menurut Bruce Schneier - Applied Cryptography secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita . Selain pengertian tersebut terdapat pula pengertian dari A. Menezes, P. van Oorschot and S. Vanstone - Handbook of Applied Cryptography ,Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data. Namun tidak semua aspek keamanan informasi ditangani oleh kriptografi.
Gb. 2. Proses Kriptografi

Kriptografi adalah salah satu topik yang dipelajari dalam bidang sekuriti data dan jaringan. Sederhananya, kriptografi bertujuan untuk mengamankan data selama pengiriman dari satu tempat ke tempat yang lain melalui jalur yang sebenarnya tidak aman. Kriptografi menjaga agar suatu data memberikan informasi yang berguna hanya kepada pihak yang tepat. Kalaupun ternyata data tersebut jatuh ke tangan pihak yang tidak diinginkan, maka bisa dipastikan bahwa data tersebut hanya akan menjadi data sampah yang tidak memberikan informasi yang berguna.
Tidak jelas siapa dan kapan tepatnya kriptografi mulai digunakan. Berdasarkan penelitian sejarah, kriptografi sudah dikenal dan digunakan sejak manusia membutuhkan cara untuk berkomunikasi dengan sesamanya tanpa diketahui maksudnya oleh orang lain. Proses kriptografi mulai berkembang sejak saat itu dari model yang sangat sederhana sampai yang berbasis perhitungan matematika yang cukup rumit.
Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis yaitu :
· Algoritma simetris
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama
· Algoritma asimetris
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi menggunakan kunci yang berbeda.
Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi :
  • Plaintext (M) adalah pesan yang hendak dikirimkan (berisi data asli).
  • Ciphertext (C) 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 dig unakan dalam proses enkripsi dan dekripsi.

Contoh :
Secara umum, proses kriptografi bisa digambarkan sebagai berikut :
Gb. 2.1. Proses Kriptografi
A adalah pihak yang mengirimkan data, sedangkan B adalah pihak yang menerima data. Plain Text di sini adalah data asli yang bisa memberikan informasi bila dibaca / dianalisa. Cipher Text adalah data yang sudah mengalami proses kriptografi, sehingga informasi yang terkandung di dalamnya bisa disembunyikan. Cipher Text inilah yang kemudian akan dikirimkan melalui jaringan. Encrypt / enkripsi adalah proses untuk mengubah Plain Text menjadi Cipher Text, sebaliknya Decrypt / dekripsi adalah proses untuk mengubah Cipher Text menjadi Plain Text kembali.
Tujuan Kriptografi
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :
  1. Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
  2. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
  3. Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
  4. Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.
Pembakuan penulisan pada kriptografi dapat ditulis dalam bahasa matematika. Fungsi-fungsi yang mendasar dalam kriptografi adalah enkripsi dan dekripsi. Enkripsi adalah proses mengubah suatu pesan asli (plaintext) menjadi suatu pesan dalam bahasa sandi (ciphertext).
C = E (M)
dimana
M = pesan asli
E = proses enkripsi C = pesan dalambahasa sandi (untuk ringkasnya disebut sandi)
Sedangkan dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi menjadi pesan asli kembali.
M = D (C)
D = proses dekripsi
Di bawah ini dijelaskan beberapa macam penyerangan terhadap pesan yang sudah dienkripsi:
  1. Ciphertext onl y attack, penyerang hanya mendapatkan pesan yang sudah tersandikan saja.
  2. Known plaintext attack, dimana penyerang selain mendapatkan sandi, juga mendapatkan pesan asli. Terkadang disebut pula clear-text attack.
  3. Choosen plaintext attack, sama dengan known plai ntext attack, namun penyerang bahkan dapat memilih penggalan mana dari pesan asli yang akan disandikan

2. Kriptografi simetris(cimetric cryptography)
Algoritma kriptografi simteris atau disebut juga algoritma kriptografi konvensional adalah algoritma yang menggunakan kunci untuk proses enkripsi sama dengan kunci untuk proses dekripsi. Algoritma kriptografi simetris dibagi menjadi 2 kategori yaitu algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Pada algoritma aliran, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedang pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok).
Ini adalah jenis kriptografi yang paling umum dipergunakan. Kunci untuk membuat pesan yang disandikan sama dengan kunci untuk membuka pesan yang disandikan itu. Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Siapapun yang memiliki kunci tersebut – termasuk pihak-pihak yang tidak diinginkan – dapat membuat dan membongkar rahasia ciphertext. Problem yang paling jelas disini terkadang bukanlah masalah pengiriman ciphertext-nya, melainkan masalah bagaimana menyampaikan kunci simetris tersebut kepada pihak yang diinginkan.
Contoh algoritma kunci simetris yang terkenal adalah DES (Data EncryptionStandard) dan RC-4.
Kelebihan :
  1. Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik.
  2. Karena kecepatannya yang cukup tinggi, maka dapat digun akan pada sistem real-time
Kelemahan :
  1. Untuk tiap pengiriman pesan dengan pengguna yang berbed a dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut.
  2. Permasalahan dalam pengiriman kunci itu sendiri yang disebut key distribution problem”
Contoh algoritma : TwoFish, Rijndael, Camellia
3. Kriptografi asimetris(Acimetric Cryptography)
Pada pertengahan tahun 70-an Whitfield Diffie dan Martin Hellman menemukan teknik enkripsi asimetris yang merevolusi dunia kriptografi. Kunci asimetris adalah pasangan kunci-kunci kriptografi yang salah satunya dipergunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi. Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengenkripsikan suatu pesan, sedangkan hanya satu orang saja yang memiliki rahasia tertentu – dalam hal ini kunci privat – untuk melakukan pembongkaran terhadap sandi yang dikirim untuknya.
Contoh :
jika Anto mengirim pesan untuk Badu, Anto dapat merasa yakin bahwa pesan tersebut hanya dapat dibaca oleh Badu, karena hanya Badu yang bisa melakukan dekripsi dengan kunci privatnya. Tentunya Anto harus memiliki kunci publik Badu untuk melakukan enkripsi. Anto bisa mendapatkannya dari Badu, ataupun dari pihak ketiga seperti Tari.
Algoritma kriptografi nirsimetris adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Algoritma ini disebut juga algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dibuat umum (public key) atau dapat diketahui oleh setiap orang, tapi kunci untuk dekripsi hanya diketahui oleh orang yang berwenang mengetahui data yang disandikan atau sering disebut kunci pribadi (private key).
Proses enkripsi-dekripsi algoritma nirsimeteris dapat dilihat pada gambar dibawah :
Gb.5. Proses enkripsi-dekripsi algoritma nirsimeteris
Teknik enkripsi asimetris ini jauh lebih lambat ketimbang enkripsi dengan kunci simetris. Oleh karena itu, biasanya bukanlah pesan itu sendiri yang disandikan dengan kunci asimetris, namun hanya kunci simetrislah yang disandikan dengan kunci asimetris. Sedangkan pesannya dikirim setelah disandikan dengan kunci simetris tadi. Contoh algoritma terkenal yang menggunakan kunci asimetrisadalah RSA (merupakan singkatan penemunya yakni Rivest, Shamir dan Adleman).
Kelebihan :
  1. Masalah keamanan pada distribusi kunci dapat lebih baik
  2. Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit
Kelemahan :
  1. Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris
  2. Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris.
Contoh algoritma : RSA, DSA, ElGamal
3. Kriptografi Hibrid(Hybrid Cryptography)
Selama pengguna hanya menyimpan data secara local di hard disk dan tidak mengirimkannya, enkripsi simetris sudah cukup aman. Keunggulan metode ini adalah cara kerjanya yang sangat cepat karena menggunakan algoritma matematis yang tidak rumit dan panjang kunci yang lebih pendek. TrueCrypt, misalnya dapat mengenkripsi sekitar 175 MB/detik.
Metode simetris kurang tepat untuk mentransfer data. Karena untuk dapat menggunakan datanya mitra komunikasi harus bertukar kunci yang dibuat secara acak untuk setiap sesi (Session Key), sehingga apabila jika seorang hacker menemukan kunci ini maka dengan mudah ia dapat men-decrypt komunikasi tersebut.
Metode asimetris mengatasi masalah tersebut dengan membuat sepasang kunci. Pengirim mengenkripsi data dengan sebuah Public Key yang didapat dari mitra komunikasinya. Hanya Private Key yang memiliki penerima dapat men-decrypt data. Dengan demikian, kunci untuk decryption tidak jatuh ke orang lain. Sebaliknya publikasi Public Key tidak menjadi masalah karena tidak dapat men-decrypt data. Private Key juga tidak dapat diturunkan dari Public Key, seperti halnya sebuah gembok yang digunakan untuk mengunci gerbang, tetapi tidak dapat membukanya kembali.
Metode asimetris juga memiliki kelemahan. Karena lebih rumit, metode ini bekerja 1000 kali lebih lambat dibandingkan metode simetris, sehingga tidak tepat untuk data dalam jumlah besar. Dalam praktiknya, misalnya pada transfer data di Internet, lalu lintas e-mail atau online banking, digunakan metode hibrida. Metode Hibrida mengenkripsi data sebenarnya secara simetris, tetapi kuncinya secara asimetris. Metode semacam ini mengkombinasikan pertukaran kunci yang aman dan data encryption yang cepat.
Metode hibrida terdiri atas enkripsi simetris dengan satu kunci (Session Key) dan enkripsi asimetris dengan sepasang kunci (Public/Private Key).
Langkah 1 : Pengirim mengenkripsi teks dengan Session Key.
Langkah 2 : Mengenkripsi Session Key dengan Public Key.
Langkah 3 : Penerima men-decrypt Session Key dengan Private Key.
Langkah 4 : Men-decrypt teks dengan Session Key.
Gb. 6. Kriptografi Hibrid