Wednesday, October 31, 2012

Pengenalan Kriptografi


Kriptografi adalah ilmu yang mempelajari bagaimana membuat suatu pesan yang dikirim pengirim dapat disampaikan kepada penerima dengan aman. Kriptografi berasal dari 2 kata yaitu Crypto yang berarti  secret (rahasia) dan graphy yang berarti writing (tulisan)

Kriptografi dapat memenuhi kebutuhan umum suatu transaksi antara lain:
  1. Kerahasiaan (confidentiality) dijamin dengan melakukan enkripsi (penyandian). 
  2. Keutuhan (integrity) atas data-data pembayaran dilakukan dengan fungsi hash satu arah.
  3. Jaminan atas identitas dan keabsahan (authenticity) pihak-pihak yang melakukan transaksi dilakukan dengan menggunakan password atau sertifikat digital. Sedangkan keotentikan data transaksi dapat dilakukan dengan tanda tangan digital.
  4. Transaksi dapat dijadikan barang bukti yang tidak bisa disangkal (non-repudiation) dengan memanfaatkan tanda tangan digital dan sertifikat digital.
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).

atau dapat ditulis
C = E (M)
Dimana,
M = pesan asli
E = proses enkripsi
C = pesan dalam bahasa sandi (ciphertext)

Sedangkan dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi menjadi pesan asli kembali.
atau dapat ditulis

M = D (C)
Dimana,
D = proses dekripsi

Biasanya, selain menggunakan fungsi tertentu dalam melakukan enkripsi dan dekripsi, seringkali fungsi enkripsi dan dekripsi tersebut diberi parameter tambahan yang disebut dengan istilah kunci.


Berikut hubungan antara enkripsi, kunci dan dekripsi dalam bentuk gambar,

Gambar 1. Hubungan antara enkripsi dan enkripsi


Kekuatan dari algoritma kriptografi umumnya bergantung kepada kuncinya, oleh sebab itu kunci yang lemah tidak boleh digunakan. Panjang kunci yang digunakan juga menentukan kekuatan dari dari algoritma kriptografi contoh kunci yang panjangnya 128bit lebih sukar dipecahkan jika dibandingkan dengan kunci 56bit dengan algoritma yang sama. Hal ini disebabkan karena keyspace yang harus dicoba dengan metode "brute force"semakin kompleks.

Berdasarkan jenis kunci yang digunakan algoritma kriptografi dibagi menjadi 2 yaitu:
  1. Algoritma Kunci Simetris (Symmetric Key Algorithm)
  2. Algoritma Kunci Asimetris (Assymmetric Key Algorithm)
Algoritma kunci simetris adalah algoritma dimana proses enkripsi dan dekripsinya menggunakan kunci yang sama.

Gambar 2. Illustrasi Algoritma Kunci Simetris

Kelebihan algoritma kunci simetris adalah :
  • Waktu proses untuk enkripsi dan dekripsi relatif cepat, hal ini disebabkan karena efisiensi yang terjadi pada pembangkit kunci.
  • Karena cepatnya proses enkripsi dan dekripsi, maka algoritma ini dapat digunakan pada sistem secara real-time seperti saluran telepon digital.
Sedangkan kelemahan algoritma kunci simetris adalah :
  • Untuk tiap pasang pengguna dibutuhkan sebuah kunci yang berbeda, sedangkan sangat sulit untuk menyimpan dan mengingat kunci yang banyak secara aman, sehingga akan menimbulkan kesulitan dalam hal manajemen kunci.
  • Perlu adanya kesepakatan untuk jalur yang khusus untuk kunci, hal ini akan menimbulkan masalah yang baru karena tidak mudah untuk menentukan jalur yang aman untuk kunci, masalah ini sering disebut dengan "Key Distribution Problem".
  • Apabila kunci sampai hilang atau dapat ditebak maka sistem kriptografi yang digunakan tidak aman lagi.

Sedangkan algoritma kunci asimetris adalah algoritma dimana proses enkripsi dan dekripsinya menggunakan kunci yang berbeda yaitu kunci public(Public Key) dan kunci private(Private Key).

Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan.


 Gambar 3. Illustrasi Algoritma Kunci Asimetris

Kelebihan algoritma kunci asimetris adalah :
  • Masalah keamanan pada distribusi kunci dapat lebih baik.
  • Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit.

Sedangkan kelemahan algoritma kunci asimetris adalah :
  • Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris.
  • Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris.
Contoh algoritma simetris seperti DES, Triple DES, AES, blowfish, twofish, dll. Sedangkan contoh algoritma Asimetris seperti RSA, El Gamal, dll.

Berdasarkan besar data yang diolah algoritma kriptografi dibagi menjadi 2 yaitu:
  1. Block Cipher
  2. Stream Cipher
Block Cipher merupakan algoritma kriptografi yang bekerja pada suatu data yang berbentuk blok/kelompok data dengan panjang data tertentu (dalam beberapa byte), jadi dalam sekali proses enkripsi atau dekripsi data yang masuk mempunyai ukuran yang sama.

Gambar 4. Illustrasi block cipher

Stream Cipher merupakan algoritma yang dalam operasinya bekerja dalam suatu pesan berupa bit tunggal atau terkadang dalam suatu byte, jadi format data berupa aliran dari bit untuk kemudian mengalami proses enkripsi dan dekripsi.

Gambar 5. Illustrasi stream cipher


Referensi:
http://auliaakbar90.blogspot.com/2011/04/algoritma-kunci-simetris-asimetris.html

1 comment: