Jenis Algoritma Kriptografi LANDASAN TEORI

2.3 Jenis Algoritma Kriptografi

2.3.1. Kriptografi kunci simetri Algoritma kunci simetri adalah algoritma kriptografi yang mana kunci untuk mengenkripsinya sama dengan kunci untuk mendekripsinya Munir, 2006. Algoritma ini juga disebut algoritma kunci privat dikarenakan pengirim dan penerima sebelum dapat berkomunikasi harus mengetahui kunci yang digunakan. Kunci algoritma ini harus tetap dijaga kerahasiaannya untuk dapat melakukan komunikasi dengan aman Schneier, 1996. Skema kriptografi kunci simetri ditunjukkan pada gambar 2.2. Gambar 2.2 Skema Kriptografi Kunci Simetri Schneier, 1996 Terdapat tiga cara yang pada umumnya digunakan sebagai dasar dari algoritma kriptografi kunci simetri Cole, 2003 yaitu 1. Subsitusi, yaitu proses mengambil sebuah karakter kemudian menukarkannya dengan karakter yang lain. Untuk itu dibutuhkan tabel pemetaan satu-satu karakter. Contoh tabel pemetaan karakter ditunjukkan pada tabel 2.1. Tabel 2.1. Contoh Tabel Pemetaan Karakter 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 H S N U W B J M T A V Y F Q L X D Z G P E R C O I K Misalkan kita mempunyai pesan “SUBSITUSI” maka S digantikan dengan huruf G, U dengan huruf E dan seterusnya, sehingga “SUBSITUSI” menjadi “GESGTPEGT”. 2. Permutasi, yaitu penukaran posisi huruf dalam pesan berdasarkan kunci tertentu. Cara kerja permutasi berbanding terbalik dengan subtitusi, jika dalam teknik subtitusi, posisi karakter tetap namun identitasnya diubah dengan karakter lain, maka dalam permutasi identitas karakternya yang tetap, namun posisinya yang diubah. Sebelum dilakukan permutasi, plainteks dibagi terlebih dahulu ke dalam Universitas Sumatera Utara blok karakter dengan ukuran yang tetap sesuai panjang kunci. Contoh tabel permutasi karakter ditunjukkan pada tabel 2.2. Tabel 2.2. Contoh Tabel Permutasi Karakter 2 3 1 P E R M U T A S I Kunci Pesan Misalkan kita mempunyai pesan “PERMUTASI” dengan kunci 231. Maka huruf- huruf pada pesan disusun ulang sesuai dengan kunci. Huruf pertama pesan menjadi huruf kedua, huruf kedua menjadi huruf ketiga dan seterusnya, sehingga “PERMUTASI” menjadi “RPETMUIAS”. 3. XOR, merupakan operasi matematika yang beroperasi pada tingkat binary, sehingga pesan harus terlebih dahulu diubah ke dalam bentuk binary-nya. XOR memiliki ciri yang unik yaitu ketika sebuah pesan dikenakan XOR dengan sebuah kunci, maka akan menghasilkan cipherteks dan jika cipherteks tersebut dikenakan XOR dengan kunci yang sama maka akan mengembalikan pesan tersebut ke dalam bentuk yang semula. Misalkan kita mempunyai pesan rahasia “XOR” dan kunci “ABC”, maka terlebih dahulu kita mengubah pesan dan kunci tersebut ke dalam bentuk binary-nya, X = 01011000 A = 01000001 O = 01001111 B = 01000010 R = 01010010 C = 01000011 Kemudian kita melakukan operasi XOR antara pesan dengan kunci Pesan = 01011000 01001111 01010010 Kunci = 01000001 01000010 01000011 Ciphertext = 00011001 00001101 00010001 Untuk mengembalikan pesan ke dalam bentuk semula, kita melakukan XOR antara pesan dengan kunci yang sama, maka akan dihasilkan pesan semula. Ciphertext = 00011001 01001101 01010001 Kunci = 01000001 01000010 01000011 Pesan = 01011000 01001111 01010010 Universitas Sumatera Utara Schneier 1996 membagi kriptografi kunci simetri dalam dua kategori yaitu block cipher dan stream cipher. Block cipher beroperasi dalam satuan blok plainteks dan cipherteks, biasanya blok tersebut berukuran 64 bit namun terkadang dapat lebih besar. Sedangkan stream cipher beroperasi dalam satuan bit atau byte pada satu waktu. 2.3.2. Kriptografi kunci asimetri Kriptografi kunci simetri menggunakan dua buah kunci yaitu kunci publik dan kunci privat. Apapun yang dienkripsi menggunakan satu kunci, maka hanya dapat didekripsi oleh kunci yang lain. Cara kerja kriptografi kunci asimetri adalah sebagai berikut, kita membebaskan setiap orang untuk mengetahui kunci publik kita, namun kita harus menjaga kunci privat kita agar hanya kita yang mengetahuinya. Ketika seseorang ingin mengirim pesan pada kita, maka ia harus mengenkripsinya dengan kunci publik kita. Sehingga pesan tersebut hanya dapat diketahui oleh kita yang memiliki kunci privat untuk mendekripsi pesan tersebut. Skema kriptografi kunci asimetri ditunjukkan pada gambar 2.3. Gambar 2.3. Skema Kriptografi Kunci Asimetri Schneier, 1996 Kriptografi kunci asimetri menjawab masalah pertukaran kunci dan masalah nirpenyangkalan, walaupun cara kerjanya sangat lambat. Dalam kriptografi kunci asimetri pendistribusian kunci tidak mengharuskan dikirim melalui saluran yang aman, tetapi yang menjadi keharusan adalah saluran yang digunakan dapat dipercaya. Saluran aman maksudnya bahwa tidak ada seorangpun yang dapat mengetahui isi informasi selama proses pengiriman, sedangkan pada saluran terpercaya setiap orang dapat mengetahui isi informasi tetapi kita mendapat jaminan bahwa informasi yang dikirim berasal dari sumber yang terpercaya dengan kata lain tidak ada terjadi perubahan informasi selama proses pengiriman. Hal ini dikarenakan setiap orang dapat membuat satu pasangan kunci privat dan publik dan menyatakan bahwa kunci publiknya tersebut sebagai milik orang lain. Dalam hal nirpenyangkalan, jika kita ingin membuktikan bahwa kitalah yang telah mengirim pesan maka ketika kita Universitas Sumatera Utara mengenkripsi pesan dengan kunci privat kita, maka setiap orang dapat mengetahui pesan kita dengan mendekripsinya dengan kunci publik kita, namun hanya kitalah satu-satunya orang yang mungkin mengirim pesan karena kunci publik kita hanya dapat digunakan pada pesan yang dienkripsikan dengan kunci privat kita. Algoritma yang menggunakan kriptografi kunci asimetri diantaranya RSA dan Elgamal Cole, 2003. 2.3.3. Hash Algoritma Hash adalah transformasi satu arah pada pesan plainteks, artinya setelah mengalami hash pesan tidak dapat dikembalikan ke bentuk semula. Hash menerima plainteks dalam ukuran apapun dan menghasilkan keluaran dengan ukuran yang lebih kecil dalam ukuran yang tetap. Hash sangat berguna dalam penyimpanan password dan dalam tanda tangan dikarenakan tidak adanya kunci. Beberapa algoritma hash diantaranya MD5, MD4, HMAC dan SHA Cole, 2003.

2.4. RC4