330 likes | 631 Views
KEAMANAN KOMPUTER. ADITYO NUGROHO,ST TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE TUBAN PERTEMUAN 9 – CIPHER BLOK (BLOCK CIPHER) Prinsip-Prinsip Perancangan Cipher Blok Beberapa Algoritma Cipher Blok. Cipher Blok (Block Cipher). Refresh….
E N D
KEAMANAN KOMPUTER ADITYO NUGROHO,ST TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE TUBAN PERTEMUAN 9 – CIPHER BLOK (BLOCK CIPHER) Prinsip-Prinsip Perancangan Cipher Blok Beberapa Algoritma Cipher Blok
Cipher Blok (Block Cipher) Refresh… Beroperasipadaplainteks/cipherteksdalambentuk BLOK BIT. Rangkaian bit dibagimenjadiblok-blokdngukurantertentu. dienkripsi / didekripsiblok per blok.
Cipher Blok (Block Cipher) Refresh… Rangkaian bit-bit plainteks dibagi menjadi blok-blok bit dengan panjang sama, biasanya 64-bit atau lebih. Kemudian setiap blok di-enkripsi dengan bit-bit kunci yang panjangnya sama dengan panjang bit dalam blok plainteks.
Cipher Blok (Block Cipher) Refresh… Algoritma cipher blokmenggabungkanbeberapateknikkriptografiklasikdalamprosesenkripsisehinggadapatmenjadi super-enkripsi. • Substitusi Menggantikansatuatausekumpulan bit padablokplaintekstanpamerubahurutannya.
Cipher Blok (Block Cipher) Refresh… • Transposisi atau permutasi Memindahkan atau menggeser posisi bit pada blok plainteks berdasarkan aturan tertentu. • Ekspansi Memperbanyak jumlah bit pada blok plainteks berdasarkan aturan tertentu. Misal 32-bit menjadi 48-bit.
Cipher Blok (Block Cipher) Refresh… • Kompresi Kebalikan dari ekspansi, jumlah bit pada blok plainteks dimampatkan berdasarkan aturan tertentu.
Cipher Blok (Block Cipher) Prinsip Perancangan Cipher Blok Perancanganalgoritmakriptografi yang berbasisblokmempertimbangkanbeberapaprinsipberikut : • Prinsip Confusion dan Diffusion dari Shannon • Cipher berulang (Iterated Cipher) • JaringanFeistel (Feistel Network) • KunciLemah (Weak Key) • Kotak-S (S-box)
Cipher Blok (Block Cipher) PPCB – 1. Confusion dan Diffusion dari Shannon Confusion : Menyembunyikan hubungan apapun antara plainteks, cipherteks dan kunci. Hal ini akan membuat kriptanalis frustasi untuk mencari pola-pola yang muncul pada cipherteks. Confusion akan membuat hubungan statistik plainteks, cipherteks dan kunci menjadi rumit.
Cipher Blok (Block Cipher) PPCB – 1. Confusion dan Diffusion dari Shannon Diffusion : Menyebarkanpengaruhsatu bit plainteksataukuncikesebanyakmungkinciphertekssehinggaperubahanpadaciphertekstidakdapatdiprediksi. Untukmendapatkankeamanan yang tinggi, prinsip confusion dan diffusion diulangberkali-kali padatiap-tiapblokenkripsidengankombinasi yang berbeda.
Cipher Blok (Block Cipher) PPCB – 2. Cipher Berulang (Iterated Cipher) Fungsi transformasi sederhana yang mengubah plainteks menjadi cipherteks diulang sejumlah kali. Pada setiap putaran digunakan subkey atau kunci putaran (roundkey) yang dikombinasikan dengan plainteks. Plainteks dinyatakan dengan C0 dan cipherteks dinyatakan dengan Cr
Cipher Blok (Block Cipher) PPCB – 2. Cipher Berulang (Iterated Cipher) Secaramatematis cipher berulangdinyatakansebagai i= 1,2,….,r (r adalahjumlahputaran) Ki= subkeypadaputaranke-i f = fungsitransformasi (didalamnyaterdapatfungsisubstitusi, permutasi, dan/atauekspansi, kompresi)
Cipher Blok (Block Cipher) PPCB – 3. Jaringan Feistel (Feistel Network) Hampirsemuaalgoritma cipher blokbekerjadalam model JaringanFeistel. JaringanFeistelditemukanoleh Horst Feisteltahun 1970. Model JaringanFeisteladalahsebagaiberikut : • Bagiblok yang panjangnya n-bit menjadi 2 bagian. Kiri (L) dankanan (R), yang masing-masingpanjangnya n/2 (dengansyarat n harusgenap)
Cipher Blok (Block Cipher) PPCB – 3. Jaringan Feistel (Feistel Network) • Definisikan cipher blok berulang dimana hasil dari putaran ke-I ditentukan dari hasil putaran sebelumnya, yaitu : Li = Ri-1 Ri = Li-1 f(Ri-1,Ki)
Cipher Blok (Block Cipher) PPCB – 3. Jaringan Feistel (Feistel Network) i = 1,2,….,r (r adalah jumlah putaran) Ki= subkey pada putaran ke-i f = fungsi transformasi (didalamnya terdapat fungsi substitusi, permutasi, dan/atau ekspansi, kompresi)
Cipher Blok (Block Cipher) PPCB – 3. Jaringan Feistel (Feistel Network)
Cipher Blok (Block Cipher) PPCB – 3. Jaringan Feistel (Feistel Network) Plainteks adalah gabungan L dan R awal, atau secara formal dinyatakan dengan (L0 ,R0). Sedangkan cipherteks didapatkan dari L dan R hasil dari putaran terakhir setelah terlebih dahulu dipertukarkan, atau secara formal dinyatakan sebagai (Rr ,Lr)
Cipher Blok (Block Cipher) PPCB – 3. Jaringan Feistel (Feistel Network) Jaringan Feistel banyakdipakai dalam algoritma kriptografi seperti DES (Data Encryption Standard), LOKI, GOST, FEAL, Lucifer, Blowfish, Khufu, Khafre dll karena model ini bersifat REVERSIBLE untuk proses enkripsi dan dekripsi.
Cipher Blok (Block Cipher) PPCB – 3. Jaringan Feistel (Feistel Network) Sifat REVERSIBLE ini membuat kita tidak perlu membuat algoritma baru untuk mendekripsi cipherteks menjadi plainteks. Karena operator XOR mengkombinasikan setengah bagian kiri dengan hasil dari fungsi transformasi f, maka persamaan berikut pasti benar :
Cipher Blok (Block Cipher) PPCB – 3. Jaringan Feistel (Feistel Network) Sifat REVERSIBLE tidak tergantung dengan fungsi f sehingga fungsi f dapat dibuat serumit mungkin
Cipher Blok (Block Cipher) PPCB – 4. 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 2 kali berturut-turut terhadap plainteks akan menghasilkan kembali plainteksnya
Cipher Blok (Block Cipher) PPCB – 4. Kunci Lemah (Weak Key) Misalkan KLadalah kunci lemah, E adalah fungsi enkripsi, D adalah fungsi dekripsi, P adalah plainteks dan C adalah cipherteks, maka persamaan berikut menunjukkan fenomena kunci lemah : EKZ(P) = C DKL(C) = EKZ(C) = P
Cipher Blok (Block Cipher) PPCB – 4. Kunci Lemah (Weak Key) Cipher blok yang bagus tidak mempunyai kunci lemah. Meskipun demikian, algortima yang mempunyai sedikit kunci lemah seperti DES tidak begitu masalah, karena jumlah kunci lemah itu relatif sangat kecil dibandingkan jumlah kunci keseluruhan.
Cipher Blok (Block Cipher) PPCB – 5. Kotak-S (S-Box) Kotak-S adalah MATRIKS yang berisi substitusi sederhana yang memetakan suatu 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 dinamakan kotak m x n S-Box.
Cipher Blok (Block Cipher) PPCB – 5. Kotak-S (S-Box) Kotak-S merupakan satu-satunya langkah nirlanjar didalam algoritma, karena operasinya adalah LOOK-UP TABLE. Masukan dari operasi LOOK-UP TABLE dijadikan sebagai indeks Kotak-S dan keluarannya adalah entry didalam Kotak-S.
Cipher Blok (Block Cipher) PPCB – 5. Kotak-S (S-Box) Contoh : Kotak-S dalam DES adalah 6x4 S-Box yang berarti memetakan 6 bit masukan menjadi 4 keluaran. Salah satu Kotak-S yang ada dalam algoritma DES : Baris diberi nomor 0 sampai 3 Kolom diberi nomor 0 sampai 13
Cipher Blok (Block Cipher) PPCB – 5. Kotak-S (S-Box) Masukan untuk proses substitusi adalah 6 bit, b1b2b3b4b5b6 Nomor baris dari tabel ditunjukkan oleh string bit b1b6 Nomor kolom ditunjukkan oleh string bit b2b3b4b5
Cipher Blok (Block Cipher) PPCB – 5. Kotak-S (S-Box) Misalkan masukan adalah 110100 Nomor baris tabel = 10 (baris nomor 2 S-Box) Nomor kolom tabel = 1010 (kolom nomor 10 S-Box)
Cipher Blok (Block Cipher) PPCB – 5. Kotak-S (S-Box) Sehingga substitusi untuk 110100 adalah ENTRY pada baris nomor 2 dan kolom nomor 10 yaitu angka 4 atau 0100
Cipher Blok (Block Cipher) PPCB – 5. Kotak-S (S-Box) Perancangan S-Box menjadi isu penting karena S-Box harus dirancang sedemikian rupa hingga kekuatan kriptografinya bagus dan mudah di-implementasikan. Ada 4 cara pendekatan yang dapat digunakan dalam mengisi S-Box :
Cipher Blok (Block Cipher) PPCB – 5. Kotak-S (S-Box) • Dipilih secara acak Untuk S-Box yang kecil, cara pengisian secara acak tidak aman, namun untuk S-Box yang besar cara ini cukup bagus • Dipilih secara acak lalu diuji Sama seperti cara no.1, namun nilai acak yang dibangkitkan diuji apakah memenuhi sifat tertentu
Cipher Blok (Block Cipher) PPCB – 5. Kotak-S (S-Box) • Dibuat Oleh Orang (Man-Made) Entry didalam S-Box dibangkitkan dengan teknik yang lebih intuitif. • Dihitung Secara Matematis (Math-Made) Entry dalam S-Box dibangkitkan berdasarkan prinsip matematika yang terbukti aman dari serangan kriptanalis.
Cipher Blok (Block Cipher) Beberapa Algoritma Cipher Blok Banyak algoritma kriptografi cipher blok yang sudah pernah dipublikasikan, seperti DES (Data Ecryption Standard), TRIPLE DES, IDEA (International Data Encryption Algorithm), BLOWFISH, GOST, SAFER, LOKI, FEAL, RC2, RC5, SERPENT, dan yang terbaru adalah AES (Advanced Encryption Standard). DES dan AES menjadi standar untuk enkripsi cipher blok.
Cipher Blok (Block Cipher) Beberapa Algoritma Cipher Blok DES : Pelajari materi di berkas fotokopi hal.136-147 AES : Pelajari materi di berkas fotokopi hal. 157-170