Keamanan Informasi Week 3 – Enkripsi Algoritma Simetris
Outline Definisi Enkripsi Tujuan Kriptografi Prinsip Kriptografi Skema Sistem Kriptografi Algoritma Kriptografi
Definisi Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Dikarenakan enkripsi telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya organisasi- organisasi tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang menggunakan enkripsi.
Definisi Kriptografi : Berasal dari kata cryptography diadopsi dari bahasa Yunani untuk merujuk kepada “secret- writing” Ilmu yang ditujukan untuk mempelajari dan melakukan eksplorasi seputar keamanan pengiriman sebuah pesan (message). Praktisi yang menggunakannya sering disebut dengan kriptografer (cryptographer). .
Implementasi kriptografi: Dasar pengembangannya menggunakan model matematika. Banyak digunakan terutama dalam bidang pertahanan dan keamanan. Umum diaplikasikan untuk segala aktivitas yang berhubungan dengan Teknologi Informasi.
Prinsip Kriptografi: Menjaga kerahasiaan (confidentiality) pesan. Keabsahan pengirim (user authentication). Keaslian pesan (message authentication). Anti-penyangkalan (non-repudiation).
Skema Sistem Kriptografi
Pemodelan Matematis: Plaintext : x Algoritma : tambahkan x dengan bilangan 13 Key : f(x) Ciphertext : (x+13)
Contoh: enkripsi dekripsi Plaintext Televisi sudah dibeli Key Key Ciphertext Gryrivfv fhqnu qvoryv
Elemen Sistem Kriptografi: Plaintext: yakni pesan sumber yang pertama dibuat oleh user; dapat dibaca oleh orang umumnya . Ciphertext: ini adalah bentuk setelah pesan dalam plaintext telah diubah bentuknya menjadi lebih aman dan tidak dapat dibaca. Proses mengubah plaintext menjadi ciphertext disebut encryption (enciphering), dan proses membalikkannya kembali disebut decryption (deciphering). Cryptographic algorithm: yaitu mekanisme/ tahapan yang digunakan berdasar operasi matematika untuk mengubah plaintext menjadi ciphertext.
Elemen Sistem Kriptografi: Key: yakni kunci yang digunakan berdasar pada cryptographic algorithm untuk melakukan proses enkripsi dan dekripsi kepada pesan yang dikirimkan. Ini berarti bahwa hanya user yang memiliki key saja yang dapat men-decrypt sebuah pesan dalam bentuk ciphertext.
Skema Proses Enkripsi dan Dekripsi Plaintext dekripsi Ciphertext
Algoritma Kriptografi Berdasarkan jenis kunci yang digunakan : Algoritma Simetris Algoritma Asimetris Berdasarkan besar data yang diolah : Algoritma Block Cipher Algoritma Stream Cipher
Berdasarkan jenis kunci yang digunakan : Algoritma Simetris Algoritma simetris (symmetric algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan sama dengan kunci dekripsi sehingga algoritma ini disebut juga sebagai single-key algorithm.
Berdasarkan jenis kunci yang digunakan : Kelebihan algoritma simetris : Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik. Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time Kelemahan algoritma simetris : Untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut. Permasalahan dalam pengiriman kunci itu sendiri yang disebut “key distribution problem”
Berdasarkan jenis kunci yang digunakan : Algoritma Asimetris Algoritma asimetris (asymmetric algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma ini menggunakan dua kunci yakni kunci publik (public key) dan kunci privat (private key). Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan.
Berdasarkan jenis kunci yang digunakan : Kelebihan algoritma asimetris : Masalah keamanan pada distribusi kunci dapat lebih baik Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit Kelemahan algoritma asimetris : Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris.
Berdasarkan besar data yang diolah : Block Cipher algoritma kriptografi ini bekerja pada suatu data yang berbentuk blok/kelompok data dengan panjang data tertentu (dalam beberapa byte), jadi dalam sekali proses enkripsi atau dekripsi data yang masuk mempunyai ukuran yang sama. Stream Cipher algoritma yang dalam operasinya bekerja dalam suatu pesan berupa bit tunggal atau terkadang dalam suatu byte, jadi format data berupa aliran dari bit untuk kemudian mengalami proses enkripsi dan dekripsi.
Keamanan Kriptografi: Sistem yang handal bisa melewatkan sebuah pesan dalam bentuk ciphertext pada sebuah kanal yang belum tentu aman. Ada tiga aspek untuk melindungi sebuah pesan yang ingin dikirimkan, yaitu dengan memberi lapisan keamanan pada sisi: pengirim, penerima, dan kanal yang digunakan untuk media pengiriman.
Kesimpulannya, sistem kriprografi (cryptosystem) adalah interaksi diantara elemen-elemen sistem yang terdiri dari: algoritma kriptografi, plaintext, ciphertext, dan kunci untuk menghasilkan bentuk baru dari perubahan bentuk sebelumnya. Orang yang berusaha untuk melakukan penyadapan atau pembongkaran disebut dengan penyadap (eavesdropper) atau intruder.
Cryptography Proses menyandikan plaintext menjadi ciphertext disebut enkripsi (encryption) atau enciphering Proses mengembalikan ciphertext menjadi plaintextnya disebut dekripsi (decryption) atau deciphering plaintext ciphertext plaintext semula enkripsi dekripsi
Apa hubungan antara cryptanalysis dan cryptology ???
Definisi : Cryptanalysis adalah cara yang digunakan untuk memecahkan chipertext menjadi plaintext tanpa mengetahui kunci (key) yang sebenarnya. User yang melakukannya disebut cryptanalyst. Cryptology adalah studi yang dilakukan untuk mempelajari segala bentuk tentang cryptography dan cryptanalysis.
Persamaan cryptography dan cryptanalysis: Mengeksplorasi bagaimana proses menerjemahkan ciphertext menjadi plaintext. Perbedaan cryptography dan cryptanalysis: cryptography bekerja secara legal berdasar proses legitimasi sebagaimana mestinya (yakni pengirim atau penerima pesan). cryptanalysis bekerja secara ilegal karena dilakukan dengan cara menyadap untuk memungkin yang tidak berhak mengakses informasi.
Fakta sejarah penggunaan kriptografi: Tentara Yunani pada perang di Sparta (400SM) menggunakan scytale, yakni pita panjang dari daun papyrus + sebatang silinder, yang digunakan sebagai alat untuk mengirimkan pesan rahasia perihal strategi perang.
Skema Scytale: Plaintext ditulis secara horisontal (yakni baris per baris). Jika pita dilepas, maka huruf-huruf pada pita telah tersusun membentuk pesan rahasia (ciphertext). Agar penerima bisa membaca pesan tersebut, maka pita dililitkan kembali menggunakan silinder yang diameternya sama dengan diameter silinder si pengirim.
Implementasi enkripsi proses pengiriman data melalui kanal komunikasi (kanal suara atau kanal data). mekanisme penyimpanan data ke dalam disk- storage.
Skema Implementasi Kriptografi: dikirimkan transmitter di-enkripsi menjadi ciphertext plaintext Basisdata
Contoh Contoh-contoh pada data tersimpan: Dokumen teks Plainteks (plain.txt): Ketika saya berjalan-jalan di pantai, saya menemukan banyak sekali kepiting yang merangkak menuju laut. Mereka adalah anak-anak kepiting yang baru menetas dari dalam pasir. Naluri mereka mengatakan bahwa laut adalah tempat kehidupan mereka Cipherteks (cipher.txt): Ztâxzp/épêp/qtüyp{p}<yp{p}/sx/p}âpx;épêp/|t}t|äzp}/qp}êpz/étzp{x/ztxâx}vêp}v/|tüp}vzpz/|t}äyä/{päâ=/\tützppsp{pw/p}pz<p}pz/ztxâx}v/êp}v/qpüä|t}tâpé/spüx/sp{p|/péxü=/]p{äüx|ttüzp/|t}vpâpzp}/qpwåp/{päâ/psp{pwât|pâ/ztwxsäp}/|tützp=
Implementasi Kriptografi pada image: Ciphertext (sabrina1.jpg): Plaintext (sabrina.jpg):
Contoh Dokumen basisdata Plainteks (siswa.dbf): NIM Nama Tinggi Berat 000001 Soleha 160 46 000002 Cahaya 156 41 000003 Aisyah 165 55 000004 Kasih 170 62 Cipherteks (siswa2.dbf): NIM Nama Tinggi Berat 000001 tüp}vzpz/| {äâ |äzp} épêp 000002 tâpé/spüx/sp péxü= ztwx 000003 pâ/ztwxsäp }/|tü spüx 000004 |äzp}/qp qp}ê wxsä
Kekuatan sebuah sistem kriptografi: Semakin banyak usaha yang diperlukan, untuk membongkar sebuah cryptosystems, maka semakin lama waktu yang dibutuhkan; sehingga semakin kuat algoritma kriptografi yang digunakan, artinya semakin aman digunakan untuk menyandikan pesan
Kekuatan sebuah sistem kriptografi: Sebuah algoritma cryptography bersifat restricted, apabila kekuatan kriptografi-nya ditentukan dengan menjaga kerahasiaan algoritma tersebut. Saat ini algoritma bersifat restricted tidak lagi banyak digunakan; dengan alasan tidak cocok dalam penggunaan pada karakter open-systems.
Kekuatan sebuah sistem kriptografi: Pada lingkungan dengan karakter open-systems, kekuatan algoritma cryptograpy-nya terletak pada key yang digunakan, yakni berupa deretan karakter atau bilangan bulat.
Fungsi pemetaan PC ; disebut E (encryption): P = plaintext Jika disimbolkan: C = chipertext maka: Fungsi pemetaan PC ; disebut E (encryption): E(P) = C Fungsi pemetaan C P disebut D (decryption): D(C) = P
dan ekivalen menjadi: EK(P) = C DK(C) = P DK(EK(P)) = P Dengan menggunakan key (K), fungsi enkripsi dan dekripsi berubah menjadi: EK(P) = C untuk enkripsi DK(C) = P untuk dekripsi dan ekivalen menjadi: DK(EK(P)) = P
Skema Proses Enkripsi dan Dekripsi dengan K: Plaintext dekripsi Ciphertext K
Apabila kunci (K) enkripsi sama dengan kunci dekripsi, maka sistem kriptografi-nya disebut sistem simetris (sistem konvensional); dan algoritma kriptografi-nya disebut dengan algoritma simetri atau algoritma konvensional. Contohnya: Algoritma DES (Data Encyption Standard).
Penggunaan simetris Cypher subtitusi : 2. Cipher Transposisi Monoalfabet Polyalfabet Monograf /unilateral Polygraf /multilateral 2. Cipher Transposisi
1. Cipher Substitusi Monoalfabet : setiap karakter chipertext menggantikan satu macam karakter plaintext Polyalfabet : setiap karakter chipertext menggantikan lebih dari satu macam karakter plaintext Monograf /unilateral: satu enkripsi dilakukan terhadap satu karakter plaintext Polygraf /multilateral: satu enkripsi dilakukan terhadap lebih dari satu karakter plaintext
1. Cipher Substitusi - Caesar Cipher Tiap huruf alfabet digeser 3 huruf ke kanan pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Contoh: Plainteks: AWASI ASTERIX DAN TEMANNYA OBELIX Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA
1. Cipher Substitusi - Caesar Cipher Dalam praktek, cipherteks dikelompokkan ke dalam kelompok n-huruf, misalnya kelompok 4-huruf: DZDV LDVW HULA GDQW HPDQ QBAR EHOL A Atau membuang semua spasi: DZDVLDVWHULAGDQWHPDQQBAREHOLA Tujuannya agar kriptanalisis menjadi lebih sulit
1. Cipher Substitusi - Vigènere Cipher Termasuk ke dalam cipher abjad-majemuk (polyalpabetic substitution cipher ). Algoritma tersebut baru dikenal luas 200 tahun kemudian yang oleh penemunya cipher tersebut kemudian dinamakan Vigènere Cipher. Vigènere Cipher menggunakan Bujursangkar Vigènere untuk melakukan enkripsi. Setiap baris di dalam bujursangkar menyatakan huruf- huruf cipherteks yang diperoleh dengan Caesar Cipher.
1. Cipher Substitusi - Vigènere Cipher
1. Cipher Substitusi - Vigènere Cipher Contoh penerapan Vigènere Cipher : Plainteks : THIS PLAINTEXT Kunci : sony sonysonys Cipherteks : LVVQ HZNGFHRVL Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang secara periodik. Dalam hal ini Kunci “sony” diulang sebanyak panjang plaintext-nya Pada dasarnya, setiap enkripsi huruf adalah Caesar cipher dengan kunci yang berbeda-beda. c(‘T’) = (‘T’ + ‘s’) mod 26 = L T = 19 dan s= 18 (19+18)%26 = 11 L c(‘H’) = (‘H’ + ‘o’) mod 26 = V, dst
2. Cipher Transposisi Cipherteks diperoleh dengan mengubah posisi huruf di dalam plainteks. Dengan kata lain, algoritma ini melakukan transpose terhadap rangkaian huruf di dalam plainteks. Nama lain untuk metode ini adalah permutasi, karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut.
Contoh : Teknik substitusikode geser (shift) dengan Modulus 26 memberikan angka ke setiap alfabet seperti a 0, B 1 ……Z 25. Agar lebih jelas, perhatikan contoh dibawah ini: A B C D E F G H I J K L M 0 1 2 3 4 5 6 7 8 9 10 11 12 N O P Q R S T U V W X Y Z 13 14 15 16 17 18 19 20 21 22 23 24 25
Teks – asli : “We Will Meet at mild Night” Kalimat diatas mendapat angka dari setiap huruf sebagai berikut : 22 4 22 8 11 11 12 4 4 19 0 19 12 8 3 13 8 6 7 19 Untuk mendapatkan teks-kode, kita mempunyai kunci 11. dengan menambahkan setiap nilai dari teks asli dengan kunci 11 maka didapat: 7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4
jIka lebih dari 20, setelah ditambah dengan kunci maka akan dikurangi dengan 26. misalnya, 22+11=33 – 26 = 7. setelah menjadi huruf maka akan didapatkan teks – kode :
“H P H T W W X P P E L E X T O Y T R S E” Teks-asli : We will meet at mind night Teks kode : HPHTWWXPPELEXTOYTRSE Kunci : 11
File: enkripisi.js
File: enkripisi.js
Terima Kasih