Kriptografi Modern Kustanto Sumber Rinaldi Munir ITB 1
Kriptografi Modern Kustanto Sumber : Rinaldi Munir, ITB 1
Mengapa kriptografi modern ? l Klasik mudah dipecahkan, berbasis karakter l Modern Berbasis bit, semua data dan informasi dinyatakan dalam bentuk rangkaian (string) bit biner (0 dan 1). 2
Contoh kriptografi modern l Pesan bit biner dipecah menjadi beberapa blok l Contoh: Plainteks 100111010110 di bagi menjadi blok bit yang panjangnya (4) 1001 1101 0110 setiap blok menyatakan bil dari 0 s/d 15: 9 13 6 3
Bila planteks dibagi menjadi blok berukuran 3 bit: 100 111 010 110 maka setiap blok menyatakan bilangan dari 0 – 7, yaitu: 4 7 2 6 (jika panjang rangkaian bit tdk habis dibagi dgn ukuran blok yang ditetapkan, maka blok yang terakhir ditambah dgn bit semu yang disebut padding bits). Contoh: Bila planteks tersebut dibagi menjadi blok berukuran 5 -bit, akan menjadi: 10011 10101 00010 4
Cara lain untuk menyatakan rangkaian bit adalah dengan notasi heksadesimal (HEX), rangkaian bit dibagi menjadi blok yang berukuran 4 bit dengan representasi dalam HEX l kode Hex: 0000 = 0 0001 = 1 0100 = 4 0101 = 5 1000 = 8 1011 = 9 1100 = C 1101 = D 0010 = 2 0011 = 3 0011 = 6 0111 = 7 1010 = A 1011 = B 1101 = E 1111 = F l Contoh: plainteks 100111010110 dibagi menjadi blok bit yang panjangnya 4, menjadi: 1001 1101 0110 Notasi HEX nya adalah: 9 D 6 5
Operasi Biner Dlm Cipher Mode Bit l Notasi: (XOR), l Aturan Operasi: 0 0=0 1 0=1 0 1=1 1 1=0 l Operasi XOR identik dgn penjumlahan modulo 2: 0 0 = 0 0 + 0 (mod 2) = 0 0 1 = 1 0 + 1 (mod 2) = 1 1 0 = 1 0 + 1 (mod 2) = 1 1 1 = 0 1 + 1 (mod 2) = 0 6
l Hukum-hukum yang terkait dengan operator XOR: (i) a a = 0 (ii) a b = b a (komutatif) (iii) a (b c) = (a b) c (asosiatif) 7
8
Enkripsi dengan XOR l Enkripsi: C= P K, l dimana: C: Cipherteks, P: Planteks, K: Kunci Dekripsi: P=C K l Contoh: plaintext (‘a’) = 97= key (‘A’) = 65 = cipherteks key plainteks 01100001 01000001 00100000 32 01000001 01100001 9
Latihan Soal l Planteks=82, Key=karakter !! l Planteks=121, Key=karakter $ l Planteks=karakter e, Key=karakter 5 10
Cipher Aliran l Chiper aliran mengenkripsi plainteks chiperteks bit per bit (1 bit setiap kali transformasi) atau byte per byte (1 karakter=1 byte). Chiperteks diperoleh dengan melakukan penjumlahan modolu 2 satu bit plainteks dengan satu bit kunci: ci=(pi + ki) mod 2, dimana: ci=bit cipherteks pi=bit plainteks ki=bit kunci Plainteks diperoleh dgn melakukan penjumlahan mod 2 satu bit cipherteks degan satu bit kunci: pi=(ci + ki) mod 2, mengingat penjumlahan mod 2 identik dengan operasi bit dengan operator XOR, makapersamaannya dapat ditulus sbb: ci=pi ki dan deskripsinya: pi=ci ki 11
12
l Bit-bit kunci keystream l Keystream keystream generator. Pengirim: Keystream di-XOR-kan dengan bit-bit plainteks, p 1, p 2, …, menghasilkan aliran bit-bit cipherteks: ci = pi ki Penerima: Dibangkitkan keystream yang sama untuk mendekripsi : pi = ci ki 13
l Contoh: Plainteks: Keystream: Cipherteks: 1100101 1000110 0100011 l Keamanan sistem cipher aliran bergantung seluruhnya pada keystream generator. 14
l Keystream generator prosedur yang sama di sisi pengirim dan penerima pesan. l Keystream generator dapat membangkitkan keystream berbasis bit per bit / blok-blok bit. 15
Latihan l Potongan planteks 01100101 di enkripsikan dengan potongan aliran kunci 00110101 P K C 01100101 001101010000 Jika kriptanalis meneukan potongan plainteks 01100101 dan cipherteks yang berkoresponden 01010000 , Bagaimana kriptanalis untuk mendeduksikan kunci dari dua buah informasi ini ? 16
End Of Session to day 17
- Slides: 17