Kriptografi – Introduction

Posted: April 26, 2012 in Cryptography
Tags: ,

Menurut  Bruce Schneier dalam bukunya Applied Cryptography (e-book bisa download di box.net file sharing saya), kriptografi secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita. Ilmu ini sudah dikenal dan digunakan sejak jaman sebelum masehi, sebagai contoh sistem sandi klasik yaitu sistem caesar, viginere, scytale dll. Kriptografi sendiri menggunakan teknik matematika untuk mengacak pesan dan membuatnya tidak dapat terbaca oleh pihak yang tidak berhak. Kekuatan suatu algoritma kriptografi harus memiliki konsep konfusi dan difusi (Claude Shannon). Confusion adalah mengaburkan hubungan antara plaintext dan ciphertext yang menimbulkan kesulitan dalam usaha musuh untuk mencari keteraturan dan pola statistik antara plaintext dan ciphertext. Sedangkan Difusi adalah menyebarkan redudansi plaintext dengan menyebarkan masukan ke seluruh ciphertext. Gambar di bawah ini merupakan konsep difusi dan confusi

Berbeda dengan kriptografi klasik yang menitikberatkan kekuatan pada kerahasiaan algoritma yang digunakan, kekuatan kriptografi modern terletak pada kerahasiaan kunci yang digunakan pada algoritma sehingga algoritma kriptografi dapat saja diketahui oleh berbagai pihak tanpa takut kehilangan kerahasiaan bagi para pemakainya. Terdapat 4 tujuan kriptografi yang memenuhi aspek – aspek keamanan informasi yaitu :

  • Confidentiality (Kerahasiaan), berhubungan dengan kerahasiaan data dalam hal ini berarti menjaga isi informasi dari siapapun kecuali yang berhak dan memiliki kunci rahasia untuk membuka/mengupas informasi yang telah disandi. Contohnya adalah Symetric dan Asymetric.
  • Integrity (Integritas data), berhubungan keutuhan data dalam hal ini berarti penjagaan data dari perubahan secara tidak sah. Informasi dikirimkan antara beberapa pihak melalui saluran yang tidak aman yang memiliki kerawanan dari pihak yang tidak berhak. Oleh karena itu,suatu sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak seperti penyisipan, penghapusan, pemalsuan dan perubahan data lainnya. Contohnya yaitu Hash function.
  • Authentication (Otentikasi), berhubungan dengan identifikasi baik terhadap informasi sistem secara kesatuan. Saat kita mendapatkan informasi, kita harus dapat memastikan bahwa informasi tersebut benar2 dikirim user yang sah. Jika dalam sistem, maka sistem harus dapat memastikan bahwa user yang masuk ke sistem adalah user yang sah. Contohnya yaitu password, token, private key
  • Non repudiation (nirpenyangkalan), merupakan usaha untuk mencegah terjadinya penyangkalan terhadap informasi yang telah dikirimkan/dibuat. Contohnya adalah Digital Certificate pada konsep PKI. Pada digital certificate terdapat informasi mengenai pengirim seperti publik key yang telah di sah kan dan ditandatanagi oleh CA. Pengirim tidak dapat menyangkal pesan yang dikirimkan karena pesan tersebut dapat dibuka oleh penerima dengan publik key yang terdapat pada digital certificate milik pengirim.

Dalam kriptografi, proses utama yang paling banyak digunakan adalah enkripsi dan deksripsi. Enkripsi adalah proses yang digunakan untuk menyandi plaintext (teks terang) yaitu mengubah teks terang menjadi teks yang tidak dapat dibaca oleh pihak yang tidak berhak (ciphertext). Sedangkan dekripsi merupakan proses kebalikannnya, yaitu mengubah ciphertext menjadi plaintext sehingga dapat dibaca oleh pihak yang berhak dengan menggunakan kunci yang sah. Idealnya ciphertext hasil enkripsi hanya dapat dibuka oleh pemegang kunci yang sah, akan tetapi sekarang ini banyak teknik – teknik yang digunakan untuk membobol ciphertext tanpa menggunakan kunci ataupun mendapatkan kunci secara tidak sah. Proses ini disebut dengan cryptanalyisis. Teknik – teknik serangan pada cryptanalysis akan saya jelaskan pada tulisan selanjutnya.

Telah dijelaskan sebelumnya bahwa pada kriptografi terdapat proses enkripsi dan dekripsi. Sekarang saya akan mencoba memberikan contoh proses penyandian tersebut.

  • Algoritma : Caesar
  • Plaintext   : Indonesia Raya
  • Kunci         : 13
  • Enkripsi    : Proses enkripsi pada algoritma Caesar sangatlah mudah. Kita cukup merubah huruf dengan algoritma Encrypt = (Plaintext + Kunci) mod 26. Jika huruf A bernilai 1 dan kunci adalah 2, maka A+2 = C. Karena plaintext nya adalah Indonesia Raya dan kunci 13, maka Ciphertext =Vaqbarfvn Enln
  • Dekripsi    : Proses dekripsi adalah kebalikan dari proses enkripsi. Algoritma yang digunakan adalah Decrypt = (Ciphertext – Kunci) mod 26, sehingga Vaqbarfvn Enln – 13 dan Plaintext = Indonesia Raya

Algoritma caesar merupakan algoritma yang mudah karena hanya menggunakan operasi (+) dan (-) serta kemungkinan 26 kunci. Kita dapat membobolnya dengan mudah menggunakan brute force attack atau frequency analysis. Oleh karena itu, kita dapat melakukan variasi terhadap informasi yang akan kita encrypt sehingga dapat menambah kesulitan bagi si penyerang untuk mendapatkan plaintext. Cara – cara yang dapat digunakan diantaranya adalah menyingkat informasi. Sebagai contoh terdapat sebuah kalimat “Kita serang Indonesia besok”, maka kalimat tersebut dapat kita singkat menjadi  “kta srng ndnsa bsk”. Jika penyerang menemukan plaintext “srngnds” ketika mencoba membuka ciphertext, maka penyerang akan menganggap bahwa dia belum menemukan plaintext karena informasi maih belum dapat dibaca. Sama halnya ketika kita menambahkan huruf tidak berarti seperti “cksblabrv” pada depan dan belakang informasi menjadi  “cksblabrvindonesiarayahkbsdvb”. Penyerang akan kesulitan karena terkadang penyerang hanya mencoba beberapa huruf pertama atau terakhir pada informasi untuk mengetahui plaintext. Cara lain yang dapat dilakukan adalah menggunakan random  key (contoh pada algoritma viginere). Biasanya seseorang akan menyandi pesan mereka dengan kunci yang mudah dibaca seperti “garudaindonesia”,”jakarta”,”majalengka” dll. Kunci – kunci tersebut dapat dengan mudah ditebak karena kata tersebut terdapat dalam kamus.  Oleh karena itu, dalam penyandian kita dapat menggunakan random key seperti “hebvbevibeiuvbenovuebrv”, “tfygifyubyvbeeuyveu”, dll

Algoritma yang telah saya jelaskan diatas seperti caesar dan viginere adalah sistem sandi klasik dengan kunci yang sama untuk membuka dan menyandi. Perkembangan teknologi saat ini menyebabkan komputasi menjadi cepat sehingga banyak algoritma sandi yang mudah sekali dibobol keamanannya. Oleh karena itu, sekarang ini banyak diciptakan algoritma sandi dengan perhitungan yang kompleks yang dapat menambah kesulitan penyerang dalam melakukan break terhadap algoritma. Contoh algoritma kriptografi modern saat ini adalah AES, DES, RSA, RC4, MICKEY dll.

Advertisements
Comments
  1. gie says:

    Pembahasan menarik dengan penjelasan mudah di pahami, tetap semangat berbagi ilmu 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s