Block Cipher Kriptografi.

Slides:



Advertisements
Presentasi serupa
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
Advertisements

Algoritma Kriptografi Modern (Bagian 1)
Assalamu’alaikum Wr. Wb..
ALGORITMA SIMETRIS vs ASIMETRIS
Algoritma Kriptografi Modern (Bagian 2)
Advanced Encryption Standard (AES)
Kriptografi, Enkripsi dan Dekripsi
Sumber : Rinaldi Munir, ITB
Algoritma Kriptografi
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
DEA (Data Encryption Algorithm)
Advanced Encryption Standard (AES)
Kriptografi Program Studi Sistem Informasi
KRIPTOGRAFI Kriptografi adalah suatu ilmu yang mempelajari
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
Enkripsi dan KEAMANAN JARINGAN
Advanced Encryption Standard (AES)
Tipe dan Mode Algoritma Simetri (Bagian 3)
Algoritma Kriptografi Modern
Sumber : Rinaldi Munir, ITB
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
BILANGAN BULAT (lanjutan 1).
Algoritma Kriptografi Modern
Data Encryption Standard (DES)
Algoritma Kriptografi Modern (Bagian 2)
Advanced Encryption Standard (AES)
Super Enkripsi & Algoritma yang sempurna
Algoritma Kriptografi Modern
Vigenere Cipher & Hill Cipher
DES (Data Encryption Standard)
Data Encryption Standard (DES)
DEA (Data Encryption Algorithm)
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
KRIPTOGRAFI.
Algoritma Stream Cipher
(Data Encryption Standard)
DEA (Data Encryption Algorithm)
Data Encryption Standard (DES)
JENIS-JENIS KRIPTOGRAFI (Bagian 2)
Advanced Encryption Standard (AES)
KRIPTOGRAFI.
ENKRIPSI KONVENSIONAL (2)
KRIPTOGRAFI.
Kelompok 5 Akbar A. C. A Sandhopi A
Electronic Code Book & Cipher Block Chaining
Kriptografi, Enkripsi dan Dekripsi
Algoritma Kriptografi Modern
TEKNIK BLOCK CIPHER Kriptografi - Week 9 Aisyatul Karima, 2012.
Advanced Encryption Standard (AES)
Kriptografi (Simetry Key) Materi 6
TEKNIK BLOCK CIPHER Kriptografi - Week 9 Aisyatul Karima, 2012.
Tipe dan Mode Algoritma Simetri
ALGORITMA CRYPTOGRAPHY MODERN
Kustanto Sumber : Rinaldi Munir, ITB
Kriptografi, Enkripsi dan Dekripsi
Kriptografi (Simetry Key) Materi 6
Kriptografi, Enkripsi dan Dekripsi
Enkripsi dan Dekripsi.
Protocol Keamanan Menggunakan Kriptografi (Enkripsi dan Dekripsi)
Pengenalan Kriptografi Modern
Keamanan Komputer (kk)
Algoritma Kriptografi Modern (Bagian 2)
Kriptografi Modern (1) Levy Olivia Nur, MT.
Kriptografi Levy Olivia Nur, MT.
KRIPTOGRAFI.
Algoritma Kriptografi Modern
Pengenalan Kriptografi (Week 1)
KRIPTOGRAFI Leni novianti, m.kom.
This presentation uses a free template provided by FPPT.com Studi Algoritma Enkripsi AES, DES dan RSA untuk Keamanan.
Transcript presentasi:

Block Cipher Kriptografi

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

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 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 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, yaitu : ECB (Electronic Code Book) CBC (Cipher Block Chaining) CFB (Cipher Feed Back) OFB (Output Feed Back)

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 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 : Sederhana dan efisien Memungkinkan implementasi parallel Tidak menyembunyikan pola plaintext

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

Skema ECB

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 : 10100010001110101001 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 0010 0011 1010 1001 Atau dalam notasi HEX adalah A23A9.

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 : Setiap blok plainteks dienkripsi secara independen, maka kita tidak perlu mengenkripsi file secara linier. 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 : Karena bagian plainteks sering berulang, maka hasil enkripsinya menghasilkan blok cipherteks yang sama. Pihak lawan dapat memanipulasi cipherteks untuk “membodohi atau mengelabui” penerima pesan.

Electronic Code Book Untuk mengatasi kelemahan ECB digunakan cara-cara sebagai berikut : Menggunakan ukuran blok yang besar, misalnya 64 bit, sebab ukuran blok yang besar dapat menghilangkan kemungkinan menghasilkan blok-blok yang identik. 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 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 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 :

Skema CBC

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 C0 = 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 C0. 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 : Lebih aman dari active attacks dibandingkan mode operasi ECB Error pada satu ciphertext dapat berakibat parah Menutupi pola plaintext

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 : 10100010001110101001 IV yang digunakan seluruhnya bit 0 (Jadi, C0 = 0000). Penyelesaian: Step 1 Bagi plainteks menjadi blok-blok yang berukuran 4 bit : 1010 0010 0011 1010 1001 Atau dalam notasi HEX adalah A23A9.

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

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

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

Cipher Block Chaining Sehingga untuk Plainteks : A23A9 Cipehrteks (mode ECB) : 23124 Cipherteks (mode CBC) : 27FBF 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 blok-blok cipherteks yang sama, maka menyebabkan kriptanalis menjadi lebih sulit untuk mendekripsinya.

Cipher Block Chaining Kelemahan Mode CBC 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. 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 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)

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 = 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

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

Dari Gambar di atas dapat dilihat bahwa:   Ci = Pi  Ek (Ci – 1 ) Pi = Ci  Dk (Ci – 1 )   yang dalam hal ini, C0 = 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 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

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 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.

Prinsip-prinsip Perancangan Cipher Blok Next Prinsip-prinsip Perancangan Cipher Blok

Prinsip-prinsip Perancangan Cipher Blok 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. - 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.

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 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 = 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 C0 dan cipherteks dinyatakan dengan Cr.

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, 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)  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 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 ) = 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 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 = 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 ECB

Skema CBC

Skema CFB

Skema OFB

Daftar Pustaka www.ajaib.us/dl/Kriptografi.pdf http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29 http://www.cert.or.id/~budi/courses/ec5010/projects/wihartantyo-report.doc http://www.cert.or.id/~budi/courses/ec7010/dikmenjur-2004/denny-report.doc http://202.91.15.14/upload/files/6181_bab-5.doc http://www.cs.ui.ac.id/WebKuliah/infosec/kuliah/Transparan%20Digital%20Security.doc http://bwahyudi.staff.gunadarma.ac.id/Downloads/files/13543/kriptografi-01.doc

SELESAI