Transcript Document

Kriptografi (Simetry Key)
Materi 6
Pemrograman Jaringan
Dosen: Eko Prasetyo
Teknik Informatika UMG
2012
Istilah Penting
Plaintext:


Pesan atau data yang dapat dibaca yang dimasukkan kedalam algoritma sebagai input.
Encryption algorithm:


Algoritma enkripsi yang melakukan bermacam-macam substitusi dan transformasi
pada plaintext
Secret Key


Kunci untuk melakukan enkripsi dan dekripsi. Nilainya tidak tergantung pada plaintext
maupun algoritma. Algoritma akan menghasilkan output yang berbeda tergantung
kunci yang digunakan. Substitusi dan transformasi dilakukan oleh algoritma menurut
kuncinya.
Ciphertext:


Pesan yang segera dihasilkan sebagai output. Tergantung pada plaintext dan kunci.

Untuk sebuah pesan, dua kunci yang berbeda akan menghasilkan dua ciphertext yang
berbeda.
Decryption algorithm:


2
Algoritma yang menerima cipher text dan mencocokkan kunci sehingga menghasilkan
plaintext yang asli.
Kebutuhan Enkripsi Konvensional
Ada 2 hal yang dibutuhkan dalam enkripsi konvensional:
algoritma yang kokoh, kerahasiaan kunci
Algoritma enkripsi yang kokoh



Minimal, lawan yang tahu algoritma dan mempunyai akses ke sebuah
chipertext tidak bisa mendekrip ciphertext atau mendapat kuncinya.
Kerahasiaan kunci


3
Pengirim dan penerima harus mendapat salinan secret key dengan
cara yang aman dan dijaga kerahasiaannya.
Kriptosistem
Plaintext, X = [X1, X2, ..., XM]
Pesan, M
Kunci, K = [K1, K2, ..., KJ]
Ciphertext Y = [Y1, Y2, ..., YN]
Algoritma akan membentuk cipher Y, Y = E(K, X)
Algoritma akan mengembalikan plaintext X, X = D(K, Y)






4
Karakteristik Kriptografi
Tipe operasi yang digunakan untuk mentransformasi plaintext ke
ciphertext





Ada 2: substitusi dan transposisi
Substitusi: setiap elemen plaintext (bit, karakter, atau kelompok karakter)
dipetakan ke elemen yang lain.
Transposisi: elemen plaintext ditata ulang posisinya
Tidak boleh ada informasi yang hilang (harus bisa dikembalikan lagi plaintext
yang asli)
Jumlah kunci yang digunakan



Simetry Key: pengirim dan penerima menggunakan kunci yang sama (enkripsi
konvensional)
Asimetry Key: pengirim dan penenrima menggunakan kunci berbeda (enkripsi
kunci publik)
Cara plaintext diproses



5
Block chiper: memproses setiap blok input untuk mendapat satu blok
keluaran masing-masing
Stream chiper: memproses input secara kontinyu, menhasilkan satu elemen
keluaran
Cryptanalysis
Tujuan dari penyerangan sistem enkripsi adalah untuk
mendapatkan kunci, kemudian dengan mudah me-recover
plaintext dari cipher yang didapat.
Ada 2 pendekatan dalam penyerangan sistem enkripsi
konvensional:
Cryptanalysis: Cryptanalytic menyerang sifat alami algoritma dan
beberapa pengetahuan karakteristik umum plaintext atau bahkan
beberapa sampel pasangan plaintext-chipertext
Brute-force attack: Penyerang mencoba setiap kunci yang
mungkin pada potongan chipertext sampai mendapat terjemahan
plaintext yang dapat dipahami. Rata-rata, separuh dari semua
kunci yang mungkin harus dicoba untuk mencapai keberhasilan.
Teknik Substitusi: Caesar cipher, Monoalphabetic Ciphers, Hill
Cipher, Polyalphabetic Ciphers, dsb.
Teknik Transposisi.






6
Caesar Cipher
Metode substituasi tertua, dibuat oleh Julius Caesar
Substitusi dengan mengganti setiap karakter alfabet
dengan 3 karakter didepannya dalam urutan alfabet.
Misal:





Plain : meet me after the toga party
cipher: PHHW PH DIWHU WKH WRJD SDUWB

Pola subtitusi:

Kita bisa memberi nomor ekivalen untuk setiap karakter
sebagai berikut:
7
Caesar Cipher
Untuk setiap huruf plaintext p, men-substitusi
huruf cipher C:


C = E(3, p) = (p + 3) mod 26
Pergeseran tidak selalu 3, bisa sembarang
angka, secara general:



C = E(k, p) = (p + k) mod 26
Dimana k diambil dalam range 1 sampai 25
Algoritma dekripsi dilakukan dengan formula:


p = D(k, C) = (C k) mod 26
Ada 3 masalah ketika Caesar cipher diserang
dengan brute-force cryptanalysis:




Algoritma enkripsi dan dekripsi sudah dikenal
Hanya 25 kunci yang bisa dicoba
Bahasa plaintext sudah diketahui dan mudah
dikenali
Dengan asumsi bahwa algoritma diketahui,
umumnya algoritma ingin agar metode bruteforce harus mencoba kemungkinan kunci yang
banyak. Misal, untuk Triple DES, menggunakan
168 bit kunci, maka penyerang harus mencoba
kunci sebanyak 2168 atau 3,7 x 1050 kunci.

8
Vigenere Cipher
Teknik polyalfabetik yang paling mudah
Jenis Multi Caesar Cipher yang lebih efektif
Kuncinya menggunakan beberapa karakter dengan panjang
K = [K1 K2 … KN]
Hanya menggunakan karakter alfabet
Kunci diulang terus sepanjang plaintext
Dekripsi dilakukan dengan arah sebaliknya
Teknik enkripsi ini sudah kuno dan banyak metode untuk
pemecahan kunci dan plaintextnya, seperti Kasiski, dsb.







Contoh: Menggunakan kunci deceptive

key:
deceptivedeceptivedeceptive
plaintext: wearediscoveredsaveyourself
ciphertext:ZICVTWQNGRZGVTWAVZHCQYGLMGJ
9
Teknik Transposisi



Teknik enkripsi dengan melakukan urutan permutasi.
Metode termudah: menata plaintext dalam arah
diagonal kemudian membaca pada arah horizontal
Contoh: plaintext

"meet me after the toga party"

Dienkripsi menjadi:
m e m a t r h t g p r y
e t e f e t e o a a t

Hasil enkripsi:
MEMATRHTGPRYETEFETEOAAT

10
Teknik Transposisi



Metode yang lebih sulit: menata plaintext dalam arah horizontal,
kemudian membaca dalam arah vertikal
Permutasi urutan pembacaan kolom menjadi kunci enkripsi dan
dekripsi
Contoh,

Kemudian lakukan transposisi lagi untuk mendapat cipher yang lebih
aman

Untuk dekripsi, lakukan proses kebalikan dari enkripsi
11
Any Question ?