Block Cipher Kriptografi Electronic code book ECB Cipher

  • Slides: 67
Download presentation
Block Cipher Kriptografi

Block Cipher Kriptografi

 • Electronic code book (ECB) • Cipher Block Chaining (CBC)

• Electronic code book (ECB) • Cipher Block Chaining (CBC)

Pendahuluan • Electronic code book & cipher block chaining termasuk algoritma Block Cipher. •

Pendahuluan • Electronic code book & cipher block chaining termasuk algoritma Block Cipher. • Block Cipher adalah algoritma enkripsi yang akan membagi-bagi plaintext yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok dienkripsi dengan menggunakan kunci yang sama.

Block Cipher • Pada umumnya, block cipher memproses plaintext dengan blok yang relatif panjang

Block Cipher • Pada umumnya, block cipher memproses plaintext dengan blok yang relatif panjang lebih dari 64 bit. • Penggunaan enkripsi dengan panjang lebih dari 64 bit ini digunakan untuk mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci.

Block Cipher • Algoritma block cipher merupakan skema algoritma sandi dimana plaintext dibagi-bagi dengan

Block Cipher • Algoritma block cipher merupakan skema algoritma sandi dimana plaintext dibagi-bagi dengan ukuran tertentu (blok) dengan panjang t. • Setiap blok dienkripsi dengan menggunakan kunci yang sama.

Block Cipher • Untuk menambah kehandalan algoritma ini, dikembangkan pula beberapa tipe proses enkripsi,

Block Cipher • Untuk menambah kehandalan algoritma ini, dikembangkan pula beberapa tipe proses enkripsi, yaitu : 1. ECB (Electronic Code Book) 2. CBC (Cipher Block Chaining) 3. CFB (Cipher Feed Back) 4. OFB (Output Feed Back)

Electronic Code Book • Pada mode ini, setiap blok plainteks (pi), dienkripsi secara individual

Electronic Code Book • Pada mode ini, setiap blok plainteks (pi), dienkripsi secara individual dan independen menjadi blok cipherteks (ci). • Enkripsi ECB dinyatakan sebagai : Ci = Ek ( Pi ) • Dan dekripsi sebagai : Pi = Dk ( Ci )

Electronic Code Book • Istilah “code book” di dalam ECB muncul dari fakta bahwa

Electronic Code Book • Istilah “code book” di dalam ECB muncul dari fakta bahwa karena blok plainteks yang sama selalu dienkripsi menjadi blok cipherteks yang sama, maka secara teoritis dimungkinkan membuat buku kode plainteks dari cipherteks yang berkoresponden. • Pada mode operasi Electonic Code Book sebuah blok input plaintext dipetakan secara statis ke sebuah blok output ciphertext. • Sehingga tiap plaintext yang sama akan menghasilkan ciphertext yang selalu sama pula.

Electronic Code Book • Sifat- sifat dari mode operasi ECB : 1. Sederhana dan

Electronic Code Book • Sifat- sifat dari mode operasi ECB : 1. Sederhana dan efisien 2. Memungkinkan implementasi parallel 3. Tidak menyembunyikan pola plaintext

Electronic Code Book • Skema dari mode operasi ECB dapat digambarkan sebagai berikut :

Electronic Code Book • Skema dari mode operasi ECB dapat digambarkan sebagai berikut :

Skema ECB

Skema ECB

Electronic Code Book • Semakin besar ukuran blok, semakin besar pula ukuran buku kodenya.

Electronic Code Book • Semakin besar ukuran blok, semakin besar pula ukuran buku kodenya. • Misalkan jika blok berukuran 64 bit, maka buku kode terdiri dari 264 – 1 buah kode (entry). • Setiap kunci mempunyai buku kode yang berbeda.

Electronic Code Book Contoh Proses Enkripsi: Plainteks dalam biner : 1010001110101001 Misalkan kunci (K)

Electronic Code Book Contoh Proses Enkripsi: Plainteks dalam biner : 1010001110101001 Misalkan kunci (K) yang digunakan adalah (panjangnya juga 4 bit) yaitu : 1011 atau dalam HEX adalah B Penyelesaian: Karena Key yang digunakan terdiri dari 4 bit, maka terlebih dahulu bagi plainteks menjadi beberapa blok berukuran 4 bit: 1010 0011 1010 1001 Atau dalam notasi HEX adalah A 23 A 9.

Electronic Code Book • Cara mengkipsi adalah dengan XOR-kan blok plainteks Pi dengan K,

Electronic Code Book • Cara mengkipsi adalah dengan XOR-kan blok plainteks Pi dengan K, kemudian geser secara wraping bit-bit dari pi K satu posisi ke kiri.

Electronic Code Book • Keuntungan Mode ECB ini adalah : 1. Setiap blok plainteks

Electronic Code Book • Keuntungan Mode ECB ini adalah : 1. Setiap blok plainteks dienkripsi secara independen, maka kita tidak perlu mengenkripsi file secara linier. 2. Jika satu atau lebih bit pada blok cipherteks mengalami kesalahan, maka kesalahan ini hanya mempengaruhi cipherteks yang besangkutan pada waktu deskripsi.

Electronic Code Book • Kelemahan ECB : 1. Karena bagian plainteks sering berulang, maka

Electronic Code Book • Kelemahan ECB : 1. Karena bagian plainteks sering berulang, maka hasil enkripsinya menghasilkan blok cipherteks yang sama. 2. Pihak lawan dapat memanipulasi cipherteks untuk “membodohi atau mengelabui” penerima pesan.

Electronic Code Book • Untuk mengatasi kelemahan ECB digunakan cara-cara sebagai berikut : 1.

Electronic Code Book • Untuk mengatasi kelemahan ECB digunakan cara-cara sebagai berikut : 1. Menggunakan ukuran blok yang besar, misalnya 64 bit, sebab ukuran blok yang besar dapat menghilangkan kemungkinan menghasilkan blok-blok yang identik. 2. Mengatur enkripsi tiap blok individual bergantung pada semua blok-blok sebelumnya sehingga blok plainteks yang identik akan menghasilkan blok cipherteks yang berbeda, dan manipulasi cipherteks mungkin menghasilkan pesan dekripsi yang tidak mempunyai makna.

Cipher Block Chaining

Cipher Block Chaining

Cipher Block Chaining • Pada cipher blok chaining (CBC), setiap blok plaintext adalah XOR

Cipher Block Chaining • Pada cipher blok chaining (CBC), setiap blok plaintext adalah XOR dengan blok cipherteks sebelumnya sebelum dienkripsi. • Setiap blok ciphertext bergantung pada semua blok plaintext yang diproses

Cipher Block Chaining • Pada mode operasi ini hasil enkripsi dari blok sebelumnya mempengaruhi

Cipher Block Chaining • Pada mode operasi ini hasil enkripsi dari blok sebelumnya mempengaruhi hasil enkripsi selanjutnya, atau enkripsi sebelumnya menjadi feedback pada enkripsi blok saat itu. • Jadi, setiap blok ciphertext bergantung bukan hanya pada blok plaintext-nya tapi bergantung pula pada blok-blok plaintext sebelumnya. • Sehingga untuk plaintext yang sama, belum tentu menghasilkan ciphertext yang sama pula.

Cipher Block Chaining • Skema dari mode operasi CBC dapat digambarkan sebagai berikut :

Cipher Block Chaining • Skema dari mode operasi CBC dapat digambarkan sebagai berikut :

Skema CBC

Skema CBC

Cipher Block Chaining Penjelasan skema enkripsi : Mula-mula sebelum si pengirim hendak mengirimkan pesannya

Cipher Block Chaining Penjelasan skema enkripsi : Mula-mula sebelum si pengirim hendak mengirimkan pesannya kepada si penerima, dia terlebih dahulu harus meng-XOR plaintext dengan IV (initialization vector) baru kemudian dienkripsi, setelah itu baru dikirimkan ciphertext pertamanya kepada si penerima. Untuk plaintext ke-2 dan seterusnya, sebelum dienkripsi, dia harus di-XOR terlebih dahulu dengan ciphertext sebelumnya. Setelah dienkripsi, baru pesan tersebut dapat dikirimkan ke si penerima sebagai ciphertext 2 dan seterusnya.

Cipher Block Chaining • Pada enkripsi blok pertama C 0 = IV (initialization vector).

Cipher Block Chaining • Pada enkripsi blok pertama C 0 = IV (initialization vector). • IV diberikan oleh pengguna atau dibangkitkan secara acak oleh program. IV tidak bersifat rahasia. • Jadi untuk menghasilkan blok cipherteks pertama (Ci), IV digunakan untuk menggantikan blok cipherteks sebelumnya C 0. • Sebaliknya pada dekripsi, blok plainteks pertama dieroleh den cara meng-XOR-kan IV dengan hasil dekripsi terhadap blok cipherteks pertama.

Cipher Block Chaining • Sifat-sifat dari mode operasi CBC : 1. Lebih aman dari

Cipher Block Chaining • Sifat-sifat dari mode operasi CBC : 1. Lebih aman dari active attacks dibandingkan mode operasi ECB 2. Error pada satu ciphertext dapat berakibat parah 3. Menutupi pola plaintext

Cipher Block Chaining • Secara matematis enkripsi dan dekripsi dengan mode CBC dinyatakan sebagai

Cipher Block Chaining • Secara matematis enkripsi dan dekripsi dengan mode CBC dinyatakan sebagai : Ci = EK ( Pi Ci-1) enkripsi Pi = DK ( Ci Ci-1) dekripsi

Cipher Block Chaining Contoh Proses Enkripsi: Plainteks : 1010001110101001 IV yang digunakan seluruhnya bit

Cipher Block Chaining Contoh Proses Enkripsi: Plainteks : 1010001110101001 IV yang digunakan seluruhnya bit 0 (Jadi, C 0 = 0000). Penyelesaian: Step 1 Bagi plainteks menjadi blok-blok yang berukuran 4 bit : 1010 0011 1010 1001 Atau dalam notasi HEX adalah A 23 A 9.

Cipher Block Chaining Step 2 C 1 diperoleh dari : P 1 C 0

Cipher Block Chaining Step 2 C 1 diperoleh dari : P 1 C 0 = 1010 0000 = 1010 Enkripsi hasil tersebut (C 1) dengan fungsi E sebagai berikut : C 1 K = 1010 1011 = 0001 Geser hasilnya satu bit kekiri = 0010 Jadi C 1 = 0010 (atau “ 2” dalam HEX)

Cipher Block Chaining Step 3 C 2 diperoleh dari : P 2 C 1

Cipher Block Chaining Step 3 C 2 diperoleh dari : P 2 C 1 = 0010 = 0000 Enkripsi hasilnya dengan fungsi E adalah : C 2 K = 0000 1011 = 1011 Geser hasilnya satu bit kekiri = 0111 Jadi C 2 = 0111 (atau “ 7” dalam HEX)

Cipher Block Chaining Step 4 C 3 diperoleh dari : P 3 C 2

Cipher Block Chaining Step 4 C 3 diperoleh dari : P 3 C 2 = 0011 0111 = 0100 Enkripsi hasilnya dengan fungsi E adalah : C 3 K = 0100 1011 = 1111 Geser hasilnya satu bit kekiri = 1111 Jadi C 3 = 1111 (atau “F” dalam HEX) Step 5 dan Step 6 dilakukan dengan cara yang sama

Cipher Block Chaining • Sehingga untuk Plainteks Cipehrteks (mode ECB) Cipherteks (mode CBC) :

Cipher Block Chaining • Sehingga untuk Plainteks Cipehrteks (mode ECB) Cipherteks (mode CBC) : A 23 A 9 : 23124 : 27 FBF • Terlihat pada mode CBC, enkripsi terhadap plainteks “A” menghasilkan cipher yang berbeda, yaitu 2 dan B. Sedangkan pada mode ECB, plaintext “A” menghasilkan nilai yang sama, yaitu “ 2”

Cipher Block Chaining Keuntungan Mode CBC : Karena blok-blok plainteks yang sama tidak menghasilkan

Cipher Block Chaining Keuntungan Mode CBC : Karena blok-blok plainteks yang sama tidak menghasilkan blok -blok cipherteks yang sama, maka menyebabkan kriptanalis menjadi lebih sulit untuk mendekripsinya.

Cipher Block Chaining Kelemahan Mode CBC 1. Karena blok cipherteks yang dihasikan selama proses

Cipher Block Chaining Kelemahan Mode CBC 1. Karena blok cipherteks yang dihasikan selama proses enkripsi bergantung pada blok –blok cipherteks sebelumnya, maka kesalahan satu bit pada sebuah blok plainteks akan merambat pada blok cipherteks yang berkoresponden dan semua blok cipherteks berikutnya. 2. Kesalahan bit cipheteks biasanya terjadi karena adanya gangguan saluran komunikasi data selama transmisi atau malfunction pada media penyimpanan.

Cipher Block Chaining Persoalan Keamanan Yang Muncul Pada Mode CBC 1. 2. Karena blok

Cipher Block Chaining Persoalan Keamanan Yang Muncul Pada Mode CBC 1. 2. Karena blok cipher mempengaruhi blok-blok berikutnya, pihak lawan dapat menambahkan blok cipherteks tambahan pada akhir pesan terenkripsi tanpa terdeteksi. Pihak lawan dapat mengubah cipherteks, misalnya mengubah sebuah bit pada suatu blok cipherteks.

Next • CFB (Cipher Feed Back) • OFB (Output Feed Back)

Next • CFB (Cipher Feed Back) • OFB (Output Feed Back)

Cipher-Feedback (CFB) • Mengatasi kelemahan pada mode CBC jika diterapkan pada komunikasi data (ukuran

Cipher-Feedback (CFB) • Mengatasi kelemahan pada mode CBC jika diterapkan pada komunikasi data (ukuran blok yang belum lengkap) • Data dienkripsikan dalam unit yang lebih kecil daripada ukuran blok. • Unit yang dienkripsikan dapat berupa bit per bit (jadi seperti cipher aliran), 2 bit, 3 -bit, dan seterusnya. • Bila unit yang dienkripsikan satu karakter setiap kalinya, maka mode CFB-nya disebut CFB 8 -bit.

 • CFB n-bit mengenkripsi plainteks sebanyak n bit setiap kalinya, n m (m

• CFB n-bit mengenkripsi plainteks sebanyak n bit setiap kalinya, n m (m = ukuran blok). • Dengan kata lain, CFB mengenkripsikan cipher blok seperti pada Stream Cipher. • Mode CFB membutuhkan sebuah antrian (queue) yang berukuran sama dengan ukuran blok masukan. • Tinjau mode CFB 8 -bit yang bekerja pada blok berukuran 64 -bit (setara dengan 8 byte) pada gambar berikut

Skema CFB

Skema CFB

 • Jika m = n, maka mode CFB n-bit adalah sbb:

• Jika m = n, maka mode CFB n-bit adalah sbb:

 • Dari Gambar di atas dapat dilihat bahwa: Ci = Pi Ek (Ci

• Dari Gambar di atas dapat dilihat bahwa: Ci = Pi Ek (Ci – 1 ) Pi = Ci Dk (Ci – 1 ) yang dalam hal ini, C 0 = IV. • Kesalahan 1 -bit pada blok plainteks akan merambat pada blok-blok cipherteks yang berkoresponden dan blok-blok ciphereks selanjutnya pada proses enkripsi. • Hal yang kebalikan terjadi pada proses dekripsi.

Output-Feedback (OFB) • Mode OFB mirip dengan mode CFB, kecuali n-bit dari hasil enkripsi

Output-Feedback (OFB) • Mode OFB mirip dengan mode CFB, kecuali n-bit dari hasil enkripsi terhadap antrian disalin menjadi elemen posisi paling kanan di antrian. • Dekripsi dilakukan sebagai kebalikan dari proses enkripsi. • Gambar berikut adalah mode OFB 8 -bit yang bekerja pada blok berukuran 64 -bit (setara dengan 8 byte).

Skema OFB

Skema OFB

Jika m = n, maka mode OFB n-bit adalah seperti pada Gambar berikut

Jika m = n, maka mode OFB n-bit adalah seperti pada Gambar berikut

 • Kesalahan 1 -bit pada blok plainteks hanya mempengaruhi blok cipherteks yang berkoresponden

• Kesalahan 1 -bit pada blok plainteks hanya mempengaruhi blok cipherteks yang berkoresponden saja; begitu pula pada proses dekripsi, kesalahan 1 -bit pada blok cipherteks hanya mempengaruhi blok plainteks yang bersangkutan saja. • Karakteristik kesalahan semacam ini cocok untuk transmisi analog yang di-digitisasi, seperti suara atau video, yang dalam hal ini kesalahan 1 -bit dapat ditolerir, tetapi penjalaran kesalahan tidak dibolehkan.

Next Prinsip-prinsip Perancangan Cipher Blok

Next Prinsip-prinsip Perancangan Cipher Blok

Prinsip-prinsip Perancangan Cipher Blok 1. 2. 3. 4. 5. Prinsip Confusion dan Diffusion dari

Prinsip-prinsip Perancangan Cipher Blok 1. 2. 3. 4. 5. Prinsip Confusion dan Diffusion dari Shannon. Cipher berulang (iterated cipher) Jaringan Feistel (Feistel Network) Kunci lemah (weak key) Kotak-S (S-box)

Prinsip Confusion dan Diffusion dari Shannon. 1. Confusion - Tujuan: menyembunyikan hubungan apapun yang

Prinsip Confusion dan Diffusion dari Shannon. 1. Confusion - Tujuan: menyembunyikan hubungan apapun yang ada antara plainteks, cipherteks, dan kunci. - Prinsip confusion membuat kriptanalis frustasi untuk mencari pola-pola statistik yang muncul pada cipherteks. - Confusion yang bagus membuat hubungan statistik antara plainteks, cipherteks, dan kunci menjadi sangat rumit.

2. Diffusion - Prinsip ini menyebarkan pengaruh satu bit plainteks atau kunci ke sebanyak

2. Diffusion - Prinsip ini menyebarkan pengaruh satu bit plainteks atau kunci ke sebanyak mungkin cipherteks. - Sebagai contoh, pengubahan kecil pada plainteks sebanyak satu atau dua bit menghasilkan perubahan pada cipherteks yang tidak dapat diprediksi. - Mode CBC dan CFB menggunakan prinsip ini

Cipher Berulang (Iterated Cipher) • Fungsi transformasi sederhana yang mengubah plainteks menjadi cipherteks diulang

Cipher Berulang (Iterated Cipher) • Fungsi transformasi sederhana yang mengubah plainteks menjadi cipherteks diulang sejumlah kali. • Pada setiap putaran digunakan upa-kunci (subkey) atau kunci putaran (round key) yang dikombinasikan dengan plainteks.

 • Cipher berulang dinyatakan sebagai Ci = f(Ci – 1, Ki) i =

• Cipher berulang dinyatakan sebagai Ci = f(Ci – 1, Ki) i = 1, 2, …, r (r adalah jumlah putaran). Ki = upa-kunci (subkey) pada putaran ke-i f = fungsi transformasi (di dalamnya terdapat operasi substitusi, permutasi, dan/atau ekspansi, kompresi). Plainteks dinyatakan dengan C 0 dan cipherteks dinyatakan dengan Cr.

Jaringan Feistel (Feistel Network) Li = Ri – 1 Ri = Li – 1

Jaringan Feistel (Feistel Network) Li = Ri – 1 Ri = Li – 1 f(Ri – 1, Ki)

 • Jaringan Feistel banyak dipakai pada algoritma kriptografi DES, LOKI, GOST, FEAL, Lucifer,

• Jaringan Feistel banyak dipakai pada algoritma kriptografi DES, LOKI, GOST, FEAL, Lucifer, Blowfish, dan lain-lain karena model ini bersifat reversible untuk proses enkripsi dan dekripsi. • Sifat reversible ini membuat kita tidak perlu membuat algoritma baru untuk mendekripsi cipherteks menjadi plainteks. Contoh: Li – 1 f(Ri – 1, Ki) = Li – 1 • Sifat reversible tidak bergantung pada fungsi f sehingga fungsi f dapat dibuat serumit mungkin.

Kunci Lemah (Weak Key) • Kunci lemah adalah kunci yang menyebabkan tidak adanya perbedaan

Kunci Lemah (Weak Key) • Kunci lemah adalah kunci yang menyebabkan tidak adanya perbedaan antara enkripsi dan dekripsi. • Dekripsi terhadap cipherteks tetap menghasilkan plainteks semula, namun enkripsi dua kali berturut-turut terhadap plainteks akan menghasilkan kembali plainteksnya.

 • Persamaan berikut menunjukan fenomena kunci lemah: EKL(P) = C DKL(C) = EKL(C

• Persamaan berikut menunjukan fenomena kunci lemah: EKL(P) = C DKL(C) = EKL(C ) = P • Cipher blok yang bagus tidak mempunyai kunci lemah.

Kotak-S (S-box) • Kotak-S adalah matriks yang berisi substitusi sederhana yang memetakan satu atau

Kotak-S (S-box) • Kotak-S adalah matriks yang berisi substitusi sederhana yang memetakan satu atau lebih bit dengan satu atau lebih bit yang lain. • Pada kebanyakan algoritma cipher blok, kotak-S memetakan m bit masukan menjadi n bit keluaran, sehingga kotak-S tersebut dinamakan kotak m n S-box. • Kotak-S merupakan satu-satunya langkah nirlanjar di dalam algoritma, karena operasinya adalah look-up table. Masukan dari operasi look-up table dijadikan sebagai indeks kotak-S, dan keluarannya adalah entry di dalam kotak-S.

Misalkan masukan adalah 110100 Nomor baris tabel = 10 (baris 2) Nomor kolom tabel

Misalkan masukan adalah 110100 Nomor baris tabel = 10 (baris 2) Nomor kolom tabel = 1010 (kolom 10) Jadi, substitusi untuk 110100 adalah entry padabaris 2 dan kolom 10, yaitu 0100 (atau 4 desimal).

Skema Enkripsi Varian Block Cipher

Skema Enkripsi Varian Block Cipher

Skema ECB

Skema ECB

Skema CBC

Skema CBC

Skema CFB

Skema CFB

Skema OFB

Skema OFB

Daftar Pustaka Ø Ø Ø Ø www. ajaib. us/dl/Kriptografi. pdf http: //en. wikipedia. org/wiki/Block_cipher_modes_of_opera

Daftar Pustaka Ø Ø Ø Ø www. ajaib. us/dl/Kriptografi. pdf http: //en. wikipedia. org/wiki/Block_cipher_modes_of_opera tion#Electronic_codebook_. 28 ECB. 29 http: //www. cert. or. id/~budi/courses/ec 5010/projects/wihar tantyo-report. doc http: //www. cert. or. id/~budi/courses/ec 7010/dikmenjur 2004/denny-report. doc http: //202. 91. 15. 14/upload/files/6181_bab-5. doc http: //www. cs. ui. ac. id/Web. Kuliah/infosec/kuliah/Transpara n%20 Digital%20 Security. doc http: //bwahyudi. staff. gunadarma. ac. id/Downloads/files/135 43/kriptografi-01. doc

SELESAI

SELESAI