Mode Operasi ECB Electronic Code Book Mode Operasi CBC Cipher Block Chaining Mode Operasi CFB Cipher Feedback

12 Kunci private adalah kunci rahasia yang tidak boleh diketahui oleh orang lain. Kunci private digunakan dalam proses dekripsi [3].

2.2.3 Block Cipher dan Mode Operasi

Sebuah block cipher adalah sebuah fungsi yang memetakan n-bit blok plaintext menjadi n-bit ciphertext Menezes, 1996. Fungsi tersebut terdiri dari sebuah algoritma dan sebuah kunci. Hasil pemetaan dari plaintext ke ciphertext akan berbeda-beda tergantung pada kunci yang digunakan. Baik cryptography simetris maupun cryptography asimetris bisa merupakan block cipher. Untuk plaintext yang panjangnya lebih besar dari n-bit perlu dipilih mode operasi untuk menentukan cara enkripsidekripsi plaintext tersebut. Ada beberapa pilihan mode operasi yang bisa diterapkan antara lain Electronic CodeBook ECB, Cipher Block Chaining CBC, Cipher FeedBack CFB, Output FeedBack OFB. Keempat mode operasi ini memiliki kelebihan dan kekurangan masing-masing. Untuk penelitian dalam skripsi ini mode operasi yang digunakan hanya ECB dan CBC saja [3].

2.2.3.1 Mode Operasi ECB Electronic Code Book

Mode operasi ECB membagi-bagi plaintext menjadi blok-blok yang panjangnya n-bit dan masing-masing blok dienkripsi secara terpisah dengan menggunakan kunci yang sama. Dengan demikian, untuk blok n-bit plaintext yang sama dalam satu pesan akan menghasilkan n-bit ciphertext yang sama pula. 13 M i-1 M i M i+1 C i-1 C i C i+1 C i = E k M i ; M i = E k C i Gambar 2.3 Mode Electronic Code Book ECB Dari gambar di atas dapat dilihat plaintext dipecah menjadi urutan yang terdiri dari blok-blok n-bit, M i-1 , M i , M i+1 dengan hasil enkripsinya berupa blok-blok ciphertext n-bit, C i-1 , C i , C i+1 [3].

2.2.3.2 Mode Operasi CBC Cipher Block Chaining

Salah satu alternatif untuk mencegah munculnya blok-blok ciphertext yang sama dari blok plaintext yang sama pada satu pesan adalah dengan menggunakan mode CBC. Pada skema ini setiap blok n-bit plaintext di-XOR-kan dengan blok n- bit ciphertext sebelumnya. Kecuali blok plaintext pertama di-XOR-kan dengan suatu konstanta awal atau initialization vector IV, sebesar n-bit. Hasil dari proses XOR tersebut yang kemudian dienkripsi. Untuk proses dekripsi, hasil dekripsi blok ciphertext di-XOR-kan dengan blok ciphertext sebelumnya untuk menghasilkan blok plaintext. Untuk blok pertama, hasil dekripsi blok ciphertext pertama di-XOR-kan dengan IV untuk menghasilkan blok plaintext pertama. Walaupun nilai IV tidak perlu dirahasiakan akan tetapi integritas dari nilai IV harus dilindungi [3]. E k E k E k 14 M 1 M 2 M 3 C C 1 C 2 C 3 C i = E k C i-1 ⊕ M i ; M i = C i-1 ⊕ D k C i Gambar 2.4 Mode Cipher Block Chaining CBC

2.2.3.3 Mode Operasi CFB Cipher Feedback

Dalam mode Cipher Feedback CFB blok ciphertext sebelumnya di- enkrip dan outputnya digabungkan dengan blok plaintext dengan menggunakan XOR untuk menghasilkan blok ciphertext sekarang. Kita dapat mendefinisikan mode CFB sedemikian hingga mode tersebut menggunakan feedback yang lebih kecil dari 1 blok penuh data. Sebuah vektor inisialisasi C digunakan sebagai sebuah “seed” untuk prosesnya, seperti terlihat pada Gambar 2.5 di bawah ini [3]. M 1 M 2 M 3 C C 1 C 2 C 3 C i = E k C i-1 ⊕ M i ; M i = E k C i-1 ⊕ C i Gambar 2.5 Mode Cipher Feedback E k E k E k E k E k E k 15

2.2.3.4 Mode Output Feedback