KEAMANAN KOMPUTER ADITYO NUGROHO,ST TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE TUBAN PERTEMUAN 4 – ALGORITMA kriptografi klasik
Apa itu Algoritma Klasik ? Algoritma cipher yang BERBASIS KARAKTER. Enkripsi dan Dekripsi dilakukan pada setiap karakter pesan. Semua algoritma klasikKRIPTOGRAFI KUNCI SIMETRI
3 Alasan mempelajari Algoritma Klasik Memberi pemahaman konsep dasar kriptografi Dasar algoritma Kriptografi Modern Mempermudah pemahaman potensi-potensi kelemahan sistem cipher
Pengelompokan algoritma klasik Cipher SUBSTITUSI (Substitution Ciphers) Cipher TRANSPOSISI (Transpotition Ciphers)
Cipher SUBSTITUSI Cipher Alfabet Tunggal Disebut juga CIPHER SUBSTITUSI SEDERHANA. Satu huruf di plainteks diganti dengan tepat satu huruf cipherteks.
Cipher SUBSTITUSI Cipher Alfabet Tunggal Contoh : Caesar Cipher, cipherteks diperoleh dari menggeser huruf plainteks sejauh n karakter. Contoh : Tabel substitusi A B C D E F .. Y Z I Q M T N G
Cipher SUBSTITUSI Cipher Alfabet Majemuk Dibuat dari sejumlah cipher alfabet-tunggal, masing-masing dengan kunci yang berbeda. Ditemukan pertama kali tahun 1568 oleh Leon Battista Alberti. Digunakan oleh tentara AS selama Perang Sipil Amerika.
Cipher SUBSTITUSI Cipher Alfabet Majemuk Contoh : Vigenere Cipher Misal K adalah barisan kunci K = k1 k2 k3 k4 k5 ..... km Maka cipherteks : y1(p) = (p+ki) mod 26 Dimana ki untuk 1 ≤ i ≤ m
Cipher SUBSTITUSI Cipher Alfabet Majemuk Misalkan periode m=20, maka 20 karakter pertama dienkripsi dengan persamaan sebelumnya, dimana setiap karakter ke-i menggunakan kunci ki dan diulang untuk setiap 20 karakter selanjutnya. P : K R I T O G F L A S D E M N C V .
Cipher SUBSTITUSI Cipher Alfabet Majemuk Maka huruf K dienkripsi dengan kunci L : (K+L)mod26 = (10+11)mod26 = 21 = V Huruf R dienkripsi dengan kunci A : (R+A)mod26 = (17+0)mod26 = 17 = R Dan seterusnya…
Cipher SUBSTITUSI Cipher Substitusi Homofonik Seperti cipher alfabet-tunggal, tetapi setiap huruf dalam plainteks dapat dipetakan ke SALAH SATU dari BEBERAPA unit cipherteks (CDL,BK,AU ; YDO,DA). Semua unit cipherteks yang berkorespondensi dengan satu huruf plainteks : homofonik
Cipher SUBSTITUSI Cipher Substitusi Homofonik Semakin sering frekuensi kemunculan suatu huruf, makin banyak pilihan untuk memilih korespondensi cipherteksnya. Tujuan : menyembunyikan hubungan statistik antara plainteks dengan cipherteks sehingga menyulitkan teknik analisis frekuensi.
Cipher SUBSTITUSI Cipher Substitusi Poligram Setiap kelompok huruf disubstitusi dengan kelompok huruf cipherteks. Misal AS diganti dengan RT, BY diganti dengan SL, dll. Keuntungan : distribusi kemunculan poligraf menjadi datar, sehingga menyulitkan analisis frekuensi.
Cipher TRANSPOSISI Huruf-huruf dalam plainteks tetap sama, hanya saja urutanya dirubah atau melakukan TRANSPOSE terhadap rangkaian karakter dalam teks. Nama lain : PERMUTASI / PENGACAKAN Contoh : Scytale oleh tentara sparta.
Cipher TRANSPOSISI Contoh : P : TEKNIKPERANGKATLUNAK Tulis pesan secara horisontal selebar 5 karakter : TEKNI KPERA NGKAT LUNAK
Cipher TRANSPOSISI Kemudian baca secara vertikal : TKNLEPGUKEKNNRAAIATK Cara mengembalikannya bagaimana ???
Super Enkripsi Cipher substitusi dan transposisi dapat dikombinasikan untuk memperoleh cipher yang lebih kuat daripada hanya satu cipher saja. Substitusi dulu baru transposisi Transposisi dulu baru substitusi
Super Enkripsi Plainteks : HELLO WORLD Enkripsi dengan Caesar Cipher : KHOOR ZRUOG Enkripsi dengan transposisi : KHOO RZRU OGZZ
Affine Cipher Perluasan dari Caesar Cipher. Mengalikan plainteks dengan sebuah nilai dan menambahkannya dengan sebuah pergeseran.
Affine Cipher C = mP + b (mod n) n : ukuran alfabet m : bilangan bulat relatif prima dengan n (jika tidak relatif prima, dekripsi tidak dapat dilakukan) b : jumlah pergeseran
Affine Cipher Contoh : K R I P T O 10 17 8 15 19 14 (memisalkan A=0, Z=25) Dienkripsi dengan mengambil m=7 (karena relatif prima dengan 26) C = 7P + 10 (mod26) p1=10c1=(7.10)+10=80=2(mod26) hasil : “C” Dst… sehingga Ciphreteks : CZOLNE
One Time Pad Satu-satunya cipher yang TIDAK DAPAT DIPECAHKAN (unbreakable cipher). Cipher yang tidak dapat dipecahkan dikatakan memiliki tingkat kerahasiaan yang sempurna (perfect secrecy)
One Time Pad Dua syarat untuk merancang unbreakable cipher : Kunci harus dipilih secara acak dan mempunyai peluang yang sama untuk terpilih Panjang kunci harus sama dengan panjang plainteks yang akan dienkripsi
One Time Pad Kedua syarat tersebut menyebabkan plainteks yang sama dalam beberapa kali proses enkripsi pasti menjadi cipherteks yang sama sekali berbeda. One time pad (pad=kertas bloknot) adalah kertas yang berisi deretan karakter-karakter kunci yang berisi huruf-huruf yang tersusun acak.
One Time Pad Satu pad hanya digunakan sekali (one-time) untuk mengenkripsi pesan, kemudian pad yang sama digunakan sekali untuk mendekripsi pesan. Setelah itu pad harus dihancurkan supata tidak dipakai kembali untuk mengenkripsi pesan lain.
One Time Pad Satu karakter kunci mengenkripsikan satu karakter plainteks. ci = (pi + ki) mod 26
One Time Pad Sistem OTP tidak dapat dipecahkan karena : Barisan kunci acak yang ditambahkan ke plainteks yang tidak acak menghasilkan cipherteks yang seluruhnya acak Beberapa barisan kunci untuk mendekripsi cipherteks mungkin menghasilkan beberapa plainteks yang mempunyai makna.
One Time Pad Cipherteks : HOJKOREGHP Jika Kunci : LMCCAWAAZD Plainteks : SALMONEGGS Jika Kunci : ZDVUZOEYEO Plainteks : GREENFIELD
One Time Pad Meski OTP merupakan cipher yang sempurna aman, tetapi faktanya tidak digunakan secara universal dalam aplikasi kriptorafi sebagai satu-satunya sistem cipher yang tidak dapat dipecahkan (hanya sedikit sistem komunikasi yang menggunakan OTP).
One Time Pad Alasan mengapa OTP jarang digunakan : Karena panjang kunci harus sama dengan panjang pesan, maka OTP hanya cocok untuk pesan berukuran kecil. Pada aplikasi untuk mengenkripsi data tersimpan, timbul masalah dalam penyimpanan kunci. Pada aplikasi untuk komunikasi pesan, timbul masalah dalam pendistribusian kunci.
One Time Pad Karena kunci dibangkitkan secara acak, maka “tidak mungkin” pengirim dan penerima membangkitkan kunci yang sama secara simultan. Jadi, salah seorang dari mereka harus membangkitkan kunci lalu mengirimkannya ke pihak lain.