Anda di halaman 1dari 2

Definisi Blok cipher merupakan algoritma kriptografi simetrik yang mengenkripsi satu blok plaintext dengan jumlah bit

tertentu dan menghasilkan blok ciphertext dengan jumlah bit yang sama. Misalkan ukuran blok plaintext yang dienkripsi adalah 64 bit, maka akan menghasilkan ciphertext yang berukuran 64 bit. Pada umumnya, setiap blok plaintext yang diproses berukuran 64 bit. Namun, seiring dengan kemajuan teknologi, ukuran blok plaintext berkembang menjadi 128 bit, 256 bit bahkan menjadi 512 bit. Dalam proses enkripsinya, block cipher menggunakan beberapa fungsi matematika, diantaranya fungsi permutasi dan fungsi substitusi, sehingga konfusi (confussion) dan difusi (diffusion) pada block cipher terpenuhi. Istilah konfusi dan difusi diperkenalkan oleh Claude Shannon pada tahun 1949. Menurutnya, konfusi dan difusi merupakan hal yang harus diperhatikan dalam sistem kriptografi, karena dapat mencegah cyptanalysis, khususnya yang berbasis analisis statistik (Cryptography and Network Security-William Stalling). Konfusi adalah mengaburkan/membuat hubungan antara ciphertext dan kunci enkripsi sekompleks mungkin sehingga tidak ada hubungan statistik antara keduanya. Hal ini dapat mencegah attacker untuk mendapatkan kunci enkripsi. Konfusi dapat diusahakan dengan menggunakan fungsi substitusi. Sedangkan difusi adalah menyebarkan struktur plaintext pada ciphertext, sehingga tidak ada hubungan statistik antara keduanya. Setiap digit plaintext mempengaruhi sejumlah digit ciphertext, atau dengan kata lain, setiap digit ciphertext dipengaruhi oleh sejumlah digit plaintext. Difusi dapat diusahakan dengan menggunakan fungsi permutasi pada proses enkripsi. Pada block cipher, dikenal istilah feistel cipher. Feistel Cipher merupakan iterated block cipher, dimana ciphertext dihasilkan dari plaintext dengan mengulang transformasi yang sama untuk setiap round. Feistel ciphers disebut juga DES-like ciphers. Pada feistel cipher, sebelum dienkripsi, text dibagi menjadi dua bagian, biasanya disebut dengan bagian kanan dan bagian kiri. Salah satu bagian dari text tersebut akan diproses pada fungsi round f menggunakan sebuah subkey dan output-nya di-XOR dengan bagian yang lain. Kemudian, kedua bagian dari text tersebut ditukar (swapped). Setiap round memiliki struktur yang sama kecuali pada round terakhir, dimana pada round ini tidak terjadi pertukaran kedua bagian text. Keunikan dari feistel cipher adalah struktur enkripsi dan dekripsinya bersifat identik, walaupun subkunci yang digunakan selama enkripsi pada setiap round diambil berdasarkan urutan terbalik pada proses dekripsi. Tidak semua iterative cipher adalah feistel cipher, meskipun struktur enkripsi dan dekripsinya sama, salah satu contohnya adalah IDEA (International Data Encryption Algorithm). Mode Operasi Seperti telah diketahui sebelumnya bahwa block cipher beroperasi pada blok plaintext dan ciphertext. Biasanya ukuran bloknya adalah 64 bit. Operasi pada blok dengan 64 bit (8 byte) ini tidak selalu aman dan rentan terhadap cryptanalysis, misalnya plaintext yang sama selalu menghasilkan ciphertext yang sama dan teknik ini sangat rentan terhadap replay attack. Untuk menghindari hal tersebut, maka pada block cipher digunakan mode operasi. Mode Operasi yang biasa digunakan adalah:

Electronic Codebook Mode

Mode Operasi block cipher yang paling sederhana adalah Electronic Codebook Mode (ECB). Pada mode operasi ini, pola dari plaintext akan diketahui, karena blok plaintext yang sama selalu menghasilkan blok ciphertext yang sama. Sehingga jika cryptanalyst mengetahui bahwa hasil enkripsi blok plaintext 8d226acd adalah 1c7ed351, maka dia dapat dengan mudah mendekripsi ciphertext dengan bentuk yang sama, setiap kali ciphertext tersebut terlihat di dalam message. Kelemahan ini berpeluang besar terjadi pada awal dan akhir dari message, karena pada header dan footer berisi informasi mengenai pengirim (sender), penerima (receiver), tanggal dan lain sebagainya.

Cipher Block Chaining

Mode operasi Cipher Block Chaining (CBC) merupakan salah satu mode operasi block cipher yang menggunakan vektor inisialisasi (initialitation vector/IV) dengan ukuran tertentu (ukurannya sama dengan satu blok plaintext). Pada mode operasi ini plaintext dibagi menjadi beberapa blok, kemudian masing-masing blok dienkripsi dengan ketentuan blok plaintext pertama dienkripsi lebih dahulu. Sebelum dienkripsi, plaintext di-XOR dengan IV. Lalu, hasil XOR tersebut dienkripsi hingga menghasilkan ciphertext. Selanjutnya, ciphertext tersebut digunakan sebagai IV untuk proses penyandian blok plaintext selanjutnya. Mode operasi CBC menutupi kelemahan dari mode operasi ECB, karena pada CBC dapat menyembunyikan pola dari plaintext. Mengapa demikian? Karena sebelum dienkripsi, plaintext di-XOR dengan IV atau ciphertext sebelumnya, sehingga plaintext yang sama belum tentu menghasilkan ciphertext yang sama, kecuali jika memiliki IV/ciphertext sebelumnya yang sama. Kelemahan dari CBC adalah untuk mendekripsi ciphertext, dipengaruhi oleh ciphertext sebelumnya. Jika ada kesalahan pada ciphertext sebelumnya, maka ciphertext selanjutnya pun akan salah.

Cipher Feed Back Mode

Mode Operasi Cipher Feed Back (CFB) merupakan mode operasi blok cipher yang hampir sama dengan CBC. Keduanya sama-sama menggunakan IV. Yang membedakan dari keduanya adalah pada CFB, IV/ciphertext sebelumnya dienkripsi menggunakan block cipher dan hasilnya di-XOR dengan plaintext yang akan dienkripsi. Dengan kata lain, mode CFB merupakan stream cipher yang didapatkan dari blok cipher, dimana algoritma block cipher digunakan untuk menggenerate kunci, yang kemudian hasilnya di-XOR dengan plaintext.

Output Feed Back Mode

Mode operasi Output Feed Back (OFB) memiliki struktur yang hampir sama dengan CFB, perbedaannya terletak pada input yang digunakan untuk proses enkripsi. Pada CFB, ciphertext sebelumnya digunakan untuk IV pada proses enkripsi sebelumnya. Namun pada OFB, input yang digunakan untuk enkripsi selanjutnya adalah hasil enkripsi ciphertext sebelum di-XOR dengan plaintext

Anda mungkin juga menyukai