Kriptografi
Kriptografi Modern > Kriptanalisis

Tujuan dari kriptanalisis ialah untuk menemukan kelemahan dan ketidakamanan skema kriptografi, sehingga memungkinkan peningkatan atau perbaikan.
Terdapat kesalahpahaman umum bahwa setiap metode enkripsi dapat dipecahkan. Hubungan dengan karya Claude Shannon di Bell Labs pada Perang Dunia II, membuktikan bahwa chiper one-time pad tidak dapat dipecahkan, menemukan kunci utama yang acak, tidak pernah dapat digunakan lagi, menyimpan rahasia dari setiap penyerang, dan memiliki panjang yang sama dan lebih besar dari pesan itu sendiri. Kebanyakan chiper, selain one-time pad, dapat dipecahkan dengan cara komputasional brute force attack, tetapi jumlah usaha yang dibutuhkan dapat sangat lama tergantung pada besar kunci, sebanding dengan usaha yang dibutuhkan untuk membuat chiper. Pada beberapa kasus, keamanan yang efektif dapat dicapai jika terbuktik bahwa usaha yang dibutuhkan (seperti "faktor kerja", dalam istilah Shannon) melebihi kemampuan dari setiap musuh. Ini berarti bahwa tidak boleh ada metode yang efisien (berbanding terbalik dengan metode brute force yang menghabiskan waktu) dapat ditemukan untuk memecahkan chiper. Sejak tidak ada bukti yang ditemukan, metode one-time-pad tetap secara teoretis merupakan chiper yang tidak dapat dipecahkan.
Terdapat banyak jenis variasi serangan kriptanalitis, dan dapat diklasifikasikan dalam beberapa cara yang berbeda. Perbedaan yang sama yang diketahui oleh penyerang dan kemampuan yang tersedia. Pada serangan chiperteks saja, kriptanalis memiliki akses hanya pada chiperteks (kriptosistem modern yang baik biasanya secara efektif kebal terhadap serangan cipherteks). Pada serangan teks yang diketahui, kriptanalis memiliki akses pada chiperteks dan teks yang berhubungan (atau pada banyak pasangan). Pada serangan teks yang terpilih, kriptanalis memilih teks dan mempelajari tekschiper yang berhubungan (mungkin beberapa kali); sebagai contoh, istilah gardeing yang digunakan oleh Inggris selama Perang dunia II. Akhirnya, pada serangan chiperteks yang terpilih, kriptanalis dapat memilih chiperteks dan belajar teks yang berhubungan. Penting untuk diketahui, walaupun dengan jumlah yang sangat besar, ialah sering terjadinya kesalahan (umumnya pada desain atau penggunaan protokol kriptografis.
Kriptanalisis cipher kunci-simetris biasanya melibatkan mencari serangan melawan cipher blok atau cipher aliran yang lebih efisien daripada setiap serangan yang dapat melawan cipher sempurna. Sebagai contoh, serangan brute force sederhana melawan DES membutuhkan satu teks yang diketahui dan dekripsi 255, membutuhkan kira-kira setengah dari kunci yang mungkin, untuk mencapai titik kemungkinan mengetahui kunci dapat ditemukan atau tidak. Namun hal ini tidak cukup menjadi jaminan; serangan kriptanalis linear terhadap DES membutuhkan 243 teks yang deiketahui dan kira-kira 243 operasi DES. Hal ini dianggap sebagai pengembangan dari serangan brute force.
Algoritme kunci-publik didasari pada kesulitan komputasional pada masalah yang beragam. Kesulitan yang paling terkenal ialah faktorisasi integer (seperti algoritme RSA yang didasari pada masalah yang berhubungan dengan faktor integer), tetapi masalah logaritma diskrit juga penting. Banyak kriptanalisis kunci-publik berhubungan dengan algoritme numerikal untuk menyelesaikan masalah komputasional ini, dan beberapa darinya, efisien (contoh dalam waktu pengerjaan). Sebagai contoh, algoritme yang paling dikenal untuk menyelesaikan kriptografi kurva eliptik versi logaritma diskrit sangat menghabiskan banyak waktu ketimbang algoritme yang paling dikenal untuk faktorisasi, paling tidak untuk masalah dengan besar yang lebih kurang sama. Oleh karena itu, segala hal harus sama, untuk mencapai kekuatan menahan serangan yang sama, teknik enkripsi berbasis faktor harus menggunakan kunci yang lebih besar dari teknik kurva eliptik. Untuk alasan ini, kriptosistem kunci-publik yang didasari pada kurva eliptik telah menjadi lebih dikenal sejak penemuannya pada pertengahan tahun 1990-an.
Sementara kriptanalisis menggunakan kelemahan pada algoritme itu sendiri, serangan pada kriptosistem lainnya didasari pada penggunaan dari algoritme pada perangkat yang nyata, yang disebut side-channel attack. Jika kriptanalis memiliki akses pada, sebagai contoh, jumlah waktu yang dibutuhkan perangkat untuk mengenkripsi jumlah teks atau memberikan laporan kesalahan pada password atau karakter pin, dia mungkin dapat menggunakan serangan waktu untuk memecahkan cipher yang paling tidak tahan pada analisis. Penyerang mungkin juga mempelajari pola dan panjang pesan untuk mendapatkan informasi berharga; hal ini dikenal sebagai analisis trafik dan cukup berguna untuk peringatan serangan. Administrasi kriptosistem yang lemah, seperti mengizinkan kunci yang terlalu pendek, akan membuat setiap sistem menjadi mudah diserang, terlepas dari faktor lainnya. Dan, tentu saja, teknik sosial, dan serangan lain melawan personel yang bekerja dengan kriptosistem atau pesan yang mereka pegang (seperti perampokan, pemerasan, blackmail, espionase, penyiksaan, dll) menjadi serangan yang paling produktif dari semuanya jenis serangan.