Algoritma Blok untuk CCM Teknik Kriptografi dalam CCM Elemen-elemen Data

dibutuhkan untuk sembarang ukuran input n Cormen et al. 1990. Pada penelitian ini, algoritma CCM dievaluasi berdasarkan keadaan kompleksitas waktu untuk waktu terburuk, dinotasikan dengan O big O. Kasus waktu terburuk didefinisikan sebagai batas atas terbesar waktu yang diperlukan algoritma untuk menyelesaikan suatu pekerjaan bagi setiap ukuran input Cormen et al. 1990. Birthday Attack Birthday attack dinamakan demikian karena adanya birthday paradox. Birthday attack adalah suatu serangan yang tergantung pada fakta bahwa nilai rangkap, disebut juga collisions, muncul lebih cepat dari yang diharapkan. Secara umum, jika suatu elemen mempunyai kemungkinan N nilai yang berbeda, maka collision pertama dapat terjadi setelah memilih sekitar N 12 elemen acak. Jika terdapat 2 n nilai yang mungkin, maka 2 n2 elemen sebelum suatu terjadi collision Ferguson Schneier 2003. Meet-in-the-Middle Attack Meet-in-the-Middle attack merupakan “saudara” dari birthday attack keduanya disebut collision attacks. Perbedaan pada kedua jenis serangan tersebut adalah pada birthday attack musuh menunggu sebuah nilai tunggal yaitu kunci untuk muncul dua kali dalam sebuah himpunan elemen, sedangkan meet-in-the-middle attack, musuh mempunyai dua himpunan yaitu kunci yang dipilih secara acak dan MAC yang dihitung dari bagian pesan yang diketahui dan menunggu terjadinya tumpang tindih overlap pada dua himpunan tersebut. Dengan menggunakan meet-in-the-middle attack musuh dapat mematahkan sebuah sistem dengan lebih dalam Ferguson Schneier 2003. Chosen-Ciphertext Attack Chosen-ciphertext attack adalah suatu serangan yang dilakukan musuh dengan memilih beberapa ciphertext berbeda sehingga didapatkan plaintext yang bersesuian. Salah satu jalan untuk melaksanakan ini adalah dengan mendapatkan akses terhadap alat yang digunakan untuk mendekripsi ciphertext. Dengan demikian, musuh dapat memperoleh kunci yang digunakan untuk mendekripsi pesan Menezes et al. 1996. Deskripsi Algoritma CCM Algoritma Counter with Cipher Block Chaining-Message Authentication Code CCM diajukan oleh Doug Whiting, Russ Housley, dan Niels Ferguson pada tahun 2002. CCM merupakan modus algoritma blok yang dapat memberikan jaminan kerahasiaan dan otentikasi data. CCM didasarkan pada algoritma blok kunci simetrik yang telah diakui yakni diakui oleh Federal Information Processing Standard FIPS atau direkomendasikan oleh NIST dengan ukuran blok 128 bit, seperti algoritma AES yang dipublikasikan dalam FIPS 197. CCM tidak dapat digunakan dengan algoritma 3DES dengan ukuran blok 64 bit. Meskipun demikian, ide CCM dapat dengan mudah diperluas untuk digunakan pada panjang blok lainnya, namun hal ini akan membutuhkan ketentuan lebih lanjut Whiting et al. 2002. CCM dimaksudkan untuk digunakan dalam lingkungan paket, yaitu ketika semua data tersedia dalam penyimpanan sebelum CCM diaplikasikan. CCM tidak dirancang untuk mendukung pemrosesan parsial Dworkin 2004. Berikut ini adalah uraian lengkap mengenai algoritma CCM.

1. Algoritma Blok untuk CCM

Seperti telah diungkapkan sebelumnya bahwa algoritma blok yang akan mendasari CCM pada penelitian ini adalah algoritma AES. Seperti algoritma blok lainnya, AES terdiri dari dua fungsi yang merupakan kebalikan satu sama lain, yaitu fungsi forward cipher dan fungsi invers cipher. Meskipun demikian, CCM hanya memerlukan fungsi forward cipher. Kunci CCM, disimbolkan dengan K, adalah kunci untuk algoritma blok AES. Fungsi forward cipher dengan kunci ini dinyatakan dengan CIPH K , sedangkan panjang K dinyatakan dengan Klen.

2. Teknik Kriptografi dalam CCM

Spesifikasi CCM pada dasarnya menggabungkan dua mekanisme kriptografik yang didasarkan pada fungsi forward cipher. Mekanisme pertama diadaptasi dari teknik CBC untuk memberikan jaminan otentisitas. Secara spesifik, teknik CBC dengan sebuah vektor inisialisasi bernilai nol diterapkan pada data yang akan diotentikasi. Seluruh atau sebagian dari blok terakhir output CBC merupakan MAC dari data. Algoritma untuk membangkitkan sebuah MAC dengan cara ini disebut dengan CBC-MAC. Mekanisme kriptografik lain dalam CCM adalah modus CTR untuk kerahasiaan. Modus ini membutuhkan pembangkitan rangkaian blok yang cukup panjang yang disebut blok- blok counter. Blok-blok counter ini harus berbeda dalam setiap invokasi yaitu suatu operasi sandi blok menggunakan kunci yang diberikan. Kunci yang sama, yaitu K, digunakan baik untuk mekanisme CTR maupun CBC-MAC dalam CCM Dworkin 2004.

3. Elemen-elemen Data

Data yang dilindungi CCM terdiri dari tiga elemen, yaitu: 1. Sebuah pesan atau data, yaitu suatu bitstring disebut payload, dinyatakan dengan P, dengan panjang bitnya dinyatakan dengan Plen. P akan diotentikasi dan dienkripsi sehingga CCM menyediakan jaminan keaslian dan kerahasiaan P. 2. Suatu bit string disebut associated data, dinyatakan dengan A. Associated data misalnya suatu header ini bersifat opsional, yaitu A mungkin saja berupa string kosong. A akan diotentikasi tetapi tidak dienkripsi sehingga CCM hanya menyediakan jaminan keaslian namun tidak memberikan jaminan kerahasiaan A. 3. Suatu bit string unik yang disebut nonce, dinyatakan dengan N, diberikan pada pasangan data yang akan dilindungi, yaitu P dan A. MAC yang dibangkitkan dalam CCM dinyatakan dengan T. Panjang bit T, dinyatakan dengan Tlen, merupakan suatu parameter yang akan ditetapkan untuk semua proses CCM dengan kunci yang diberikan Dworkin 2004.

4. Pemformatan Input