Jumat, 29 November 2013

Me and my prody



Kenalin namaku Ardiansyah biasa dipanggil Ardi. Aku adalah mahasiswa jurusan sastra indonesia, Fakultas Ilmu Budaya, Universitas Diponegoro Semarang. Kenapa aku milih Sastra indonesia? Yap! bisa dibilang cari aman hehe. Sebelumnya aku ga pernah nyangka bila akhirnya bisa menjadi salah satu bagian dari keluarga besar Mahasiswa Sastra Indonesia. Karena jujur aku kurang srek dan rada minder sama jurusan tersebut, mungkin karena beberapa komen dari temen yang rada ga enak setelah tau aku diterima di prodi tersebut, bahkan ada yang ngetawain seakan-akan dia tau pasti kalo prodi tersebut suram. Ditambah lagi orang tua yang ga yakin sama prospek dari jurusan tersebut. *ngelus dada
Karena udah terlanjur keterima di jurusan ini, akhirnya aku nyoba untuk ngeyakinin ke dua orang tuaku, aku sempat bingung waktu mereka nanya “Emang kalo lulus nanti prospek kerjanya apa?” Setelah berfikir beberapa saat spontan aku menjawab “ Dosen? Jurnalis mungkin?” seketika bokap langsung tertawa kecil, mungkin menurut dia lucu, padahal gak sama sekali.
Setelah beberapa hari meyakinkan ke dua orang tua , akhirnya hati mereka pun melunak dan setuju kalau aku kuliah di jurusan tersebut haha. Saat hari verifikasi tiba mereka mengantarku dari jakarta menuju gedung Prof. Sudharto, SH Universitas Diponegoro Semarang. Perasaanku saat itu sangat senang karena bisa berkuliah di Universitas negeri yang memang kuminati dari awal, walaupun di jurusan... Sastra Indonesia.
Singkat cerita, setelah melewati beberapa hari proses menuju peresmianku menjadi mawasiswa baru, akhirnya aku resmi berganti status menjadi mahasiswa Sastra Indonesia di Universitas Diponegoro Semarang. Setelah beberapa hari, minggu dan bulan menjalani statusku sebagai mahasiswa jurusan Sastra Indonesia, aku mulai nyaman dan menyukai prodi yang kujalani sekarang ini, walaupun sedikit membosankan tentunya. Di sini aku berharap semoga tidak menemui masalah dan hambatan dalam proses kegiatan perkuliahaanku kedepanya, dan lulus secepat mungkin dengan IPK yang memuaskan. Amin.

Minggu, 17 November 2013

Cryptography

Kriptografi

Menurut  Bruce Schneier dalam bukunya Applied Cryptography, 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.