KRIPTOGRAFI SUMBER: RINALDI MUNIR, ITB. MATERI KULIAH: 1. Pengantar kriptografi 2. Kriptografi Klasik Cipher Substitusi (Substitution Ciphers) Cipher Transposisi (Transposition Ciphers) 3. Steganografi (LSB/Least Significant Bit) 4. Kriptografi Modern DES(Data Encryption Standard) AES(Advanced Encryption Standard) RSA(Rivest Shamir Adleman) dan ElGamal (optional) Knapsack (Optional) Hash dan MD5 (optional) DSS(Digital Signature Standard) PENGANTAR KRIPTOGRAFI Beberapa istilah : Pengirim pesan sender Penerima pesan receiver Pesan (plaintext/cleartext) data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah Pesan tidak dapat dimengerti maknanya oleh pihak lain disandikan cipherteks (ciphertext) atau kriptogram (cryptogram). Enkripsi Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau enciphering (ISO 7498-2). Dekripsi Proses mengembalikan cipherteks menjadi plainteksnya disebut dekripsi (decryption) atau deciphering (ISO 7498-2). plaintext chipertext enkripsi dekripsi Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan (message). Kriptografer (cryptographer) praktisinya/pengguna kriptografi Algoritma kriptografi adalah: aturan untuk enchipering dan dechiperin, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Kunci adalah parameter yang digunakan untuk transformasi enciphering dan dechipering. Cryptosystem : algoritma kriptografi plainteks cipherteks kunci. Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan selama ditransmisikan. (enemy, adversary, intruder, interceptor, bad guy) Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan chiperteks menjadi plainteks tanpa mengetahui kunci yang diberikan. Pelakunya disebut kriptanalis. Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalisis. Kriptografi Tentara Sparta (Yunani) 400 SM. scytale. Aplikasi kriptografi: Pengiriman data melalui saluran komunikasi. Penyimpanan data di dalam disk storage. Kegunaan Kriptografi : Menjaga kerahasiaan (confidentiality) pesan, Keabsahan pengirim (user authentication). “Apakah pesan yang diterima benar-benar berasal dari pengirim yang sesungguhnya?” Keaslian pesan (message authentication). “Apakah pesan yang diterima tidak mengalami perubahan (modifikasi)?” Anti-penyangkalan (nonrepudiation). Pengirim tidak dapat menyangkal Notasi Matematis C = chiperteks P = plainteks Fungsi enkripsi E memetakan P ke C, E(P) = C Fungsi dekripsi D memetakan C ke P, D(C) = P D(E(P)) = P Kekuatan algoritma kriptografi Banyaknya kerja yang dibutuhkan untuk memecahkan data chiperteks menjadi plainteksnya = waktu. Menjaga kerahasiaan algoritmanya (algoritma restricted) Kriptografi modern kekuatan kriptografinya terletak pada kunci (deretan karakter atau bilangan bulat) yang dijaga kerahasiaannya. Dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi menjadi EK(P) = C DK(C) = P dan kedua fungsi ini memenuhi DK(EK(P)) = P plaintext K1 enkripsi chipertext K2 dekripsi Ada dua kemungkinan kunci: K1 = K2 system kriptografinya disebut sistem simetri atau system konvensional. Cth: DES (Data Encyption Standard). K1 ≠ K2 system kriptografinya disebut sistem nirsimetri atau system kunci public. Cth: RSA (Rivest-Shamir-Adleman) Metode Penyadapan Wiretapping Penyadap mencegat data yang ditransmisikan pada saluran kabel komunikasi dengan menggunakan sambungan perangkat keras. Electromagnetic eavesdropping Penyadap mencegat data yang ditransmisikan melalui saluran wireless, misalnya radio dan microwive. Acoustic Eavesdropping. Menangkap gelombang suara yang dihasilkan oleh suara manusia. Macam serangan: Exhaustive attack atau brute force attack (trial and error). Asumsi yang digunakan: Kriptanalis mengetahui algoritma kriptografi Kriptanalis memiliki sebagian plainteks dan cipherteks yang bersesuaian. Analytical attack Menganalisis kelemahan algoritma kriptografi. Memecahkan persamaan-persamaan matematika pada algoritma kriptografi Asumsi yang digunakan: Kriptanalis mengetahui algoritma kriptografi. Data yang digunakan untuk menyerang sistem kriptografi dapat dikategorikan sebagai berikut: Chipertext only. Kriptanalis memiliki beberapa cipherteks dari beberap pesan, semuanya dienkripsi dengan algoritma yang sama. Known plaintext dan corresponding chipertext. Beberapa pesan yang formatnya terstruktur membuka peluang kepada kriptanalis untuk menerka plainteks dari cipherteks yang bersesuaian. Chosen plaintext dan corresponding chipertext. Kriptanalis dapat memilih plainteks tertentu untuk dienkripsikan, yaitu plainteksplainteks yang lebih mengarahkan penemuan kunci. Chosen chipertext dan corresponding plaintext. Kriptanalis memiliki akses terhadap cipherteks yang didekripsi (misalnya terhadap mesin elektronik yang melakukan dekripsi secara otomatis). Kompleksitas serangan dapat diukur dengan beberapa cara: Kompleksitas data (data complexity) Jumlah data yang dibutuhkan sebagai masukan untuk serangan. Semakin banyak data yang dibutuhkan untuk melakukan serangan, berarti semakin bagus algoritma kriptografi tersebut. Kompleksitas waktu (time complexity) Waktu yang dibutuhkan untuk melakukan serangan. Ini disebut juga faktor kerja (work factor). Semakin lama waktu yang dibutuhkan untuk untuk melakukan serangan, berarti semakin bagus algoritma kriptografi tersebut. Kompleksitas ruang memori (space/storage complexity) Jumlah memori yang dibutuhkan untuk melakukan serangan. Semakin banyak memori yang yang dibutuhkan untuk untuk melakukan serangan, berarti semakin bagus algoritma kriptografi tersebut. Keamanan Algoritma Kriptografi Sebuah algoritma kriptografi dikatakan aman (computationally secure) bila ia memenuhi tiga criteria berikut: Persamaan matematis yang menggambarkan operasi algoritma kriptografi sangat kompleks sehingga algoritma tidak mungkin dipecahkan secara analitik. Biaya untuk memecahkan cipherteks melampaui nilai informasi yang terkandung di dalam cipherteks tersebut. Waktu yang diperlukan untuk memecahkan cipherteks melampaui lamanya waktu informasi tersebut harus dijaga kerahasiaannya.