Kriptografi Implementasi Algoritma One Time Pad pada Mikrokontroler Atmega32 untuk Keamanan Password Sistem Kendali Pintu Berbasis Android

BAB 2 LANDASAN TEORI

2.1. Kriptografi

Ditinjau dari segi terminologinya, kata kriptografi berasal dari bahasa Yunani yaitu crypto yang berarti secret rahasia dan graphia yang berarti writing tulisan. Jadi kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain. Maka secara termonologi kriptografi merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut Ariyus, 2008. 2.1.1. Jenis-jenis algoritma kriptografi Algoritma Kriptografi dibagi tiga berdasarkan kunci yang dipakai, yaitu algoritma simetri menggunakan satu kunci untuk proses enkripsi dan dekripsi, algoritma asimetri menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi, dan fungsi hash Ariyus, 2008. 2.1.1.1. Algoritma simetris Algoritma simetris adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya Wandani, 2012 . Algoritma simetris sering juga disebut sebagai algoritma kunci rahasia, algoritma kunci tunggal atau algoritma satu kunci Lilda, 2008. Bila mengirim pesan dengan algoritma ini, si penerima pesan harus diberitahu kunci dari pesan tersebut agar bisa mendekripsikan pesan yang dikirim. Keamanan dari pesan yang menggunakan algoritma ini tergantung pada kunci. Universitas Sumatera Utara 6 Jika kunci tersebut diketahui oleh orang lain maka orang tersebut dapat melakukan enkripsi dan dekripsi pada pesan Sadikin, 2012. Yang termasuk algoritma kunci simetris adalah hill cipher, vigenere cipher, caesar cipher, OTP, DES, RC2, RC4, RC5, IDEA, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael AES, Blowfish, GOST, A5, Kasumi dan lain-lainnya. Gambar 2.1 Skema Kriptografi Simetris 2.1.1.2. Algoritma asimetris Kunci yang digunakan dalam algoritma asimetri asymmetric cryptosystems untuk melakukan enkripsi dan dekripsi berbeda Smart, 2004. Algoritma asimetris disebut juga dengan kriptografi kunci publik karena algortima ini memiliki kunci yang berbeda untuk enkripsi dan dekripsi, dimana enkripsi menggunakan public key dan untuk dekripsinya menggunakan private key. Public key dan private key harus saling berpasangan secara matematis. Dengan memberikan public key, pembuat kunci berhak memberikan dan mendapatkan public key agar pesan aman dan hanya bisa dibaca oleh si pembuat kunci. Dalam kriptografi kunci asimetri, hampir semua algoritma kriptografinya menggunakan konsep kunci publik, seperti Rivest-Shamir-Adleman RSA, El-Gamal, Rabin dan sebagainya Harahap, 2014. Kecuali algoritma Pohlig˗Hellman karena kunci enkripsi maupun kunci dekripsinya bersifat rahasia. Gambar 2.2 Kriptografi Asimetris 2.1.2. Algoritma One Time Pad Algoritma ini ditemukan pada tahun 1917 oleh Mayor Joseph Mauborgne dan Gilbert Vernam. Cipher ini termasuk ke dalam kelompok algoritma kriptografi simetri Algoritma Enkripsi Algoritma Dekripsi Kunci Rahasia Teks Asli Teks Asli Ciphertext Universitas Sumatera Utara 7 Prameswara, 2013. One Time Pad berisi deretan karakter kunci yang dibangkitkan secara acak dan setiap kunci hanya bisa dipakai sekali pakai. Pemilihan kunci harus secara acak dan kunci hanya bisa digunkan satu kali saja agar algoritma One Time Pad tidak mudah dipecahkan Mollin, 2007. Panjang stream karakter kunci sama dengan panjang pesan. One Time Pad pad = kertas bloknot berisi barisan karakter-karakter kunci yang dibangkitkan secara acak. Satu pad hanya digunakan sekali one time saja untuk mengenkripsi pesan, setelah itu pad yang telah digunakan dihancurkan. Panjang kunci One Time Pad = panjang teks asli sehingga tidak ada kebutuhan untuk mengulang penggunaan kunci selama proses enkripsi. Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere. Enkripsi: ci = pi + ki mod 26.........................................2.1 Dekripsi: pi = ci–ki mod 26....................................... 2.2 Dimana: ci= cipherteks pi= plainteks ki= kunci Bila diketahui teks asli: “ONETIMEPAD” Dengan kunci: “TBFRGFARM” Diasumsikan A= 0, B = 1, . . . , Z=25. Maka akan didapat teks-kode : “ IPKLPSFHGQ ” yang mana diperoleh sebagai berikut: O + T mod 26 = I N + B mod 26 = P E + F mod 26 = K T + R mod 26 = L I + G mod 26 = P M + F mod 26 = S E + A mod 26 = F P + R mod 26 = H A + F mod 26 = G D + M mod 26 = Q Universitas Sumatera Utara 8 Sistem One Time Pad tidak dapat dipecahkan karena beberapa alasan yaitu barisan kunci acak + teks asli yang tidak acak = teks kode yang seluruhnya acak. Mendekripsi teks kode dengan beberapa kunci berbeda dapat menghasilkan teks asli yang bermakna sehingga kriptanalis tidak punya cara untuk menentukan teks asli mana yang benar. Algoritma ini memiliki beberapa kelemahan, yaitu : Kunci yang dipakai haruslah benar-benar acak. Menggunakan pseudorandom generator tidak dihitung, karena algoritma ini memiliki bagian yang tidak acak. Panjang kunci juga harus sama dengan panjang pesan, sehingga hanya cocok untuk pesan berukuran kecil. Selain itu, karena kunci dibangkitkan secara acak, maka tidak mungkin pengirim dan penerima membangkitkan kunci yang sama secara simultan, dan karena kerahasiaan kunci harus dijamin, maka perlu ada perlindungan selama pengiriman kunci. Oleh karena itu, algoritma ini hanya dapat digunakan jika tersedia saluran komunikasi kedua yang cukup aman untuk mengirim kunci Prameswara, 2013. 2.1.3. Blum Blum Shub generator Blum Blum Shub generator merupakan algoritma pembangkit bilangan yang cukup sederhana. BBS diperkenalkan pada tahun 1986 pada Lenore Blum, Manuel Blum, dan Michael Shub Schneier, 1996 . Berikut ini algoritma dari BBS : 1. Pilih dua bilangan prima p dan q, di mana p dan q keduanya kongruen 3 modulo 4. p ≡ 3 mod 4 dan q ≡ 3 mod 4 2. Hasilkan bilangan bulat blum n dengan menghitung n= p x q. 3. Pilih lagi sebuah bilangan acak s sebagai seed, bilangan yang dipilih harus memenuhi kriteria: a. 2 ≤ s n. b. s dan n relatif prima. 4. Hitung nilai x = s 2 mod n. 5. Hasilkan bilangan bit acak dengan cara : a. Hitung x i = x i-12 mod n. b. Hasilkan z i = bit - bit yang diambil dari x i . Bit yang diambil bisa merupakan LSB Least Significant Bit hanya satu bit atau sebanyak j bit j tidak melebihi log 2 log 2 n. Universitas Sumatera Utara 9 6. Bilangan bit acak dapat digunakan langsung atau diformat dengan aturan tertentu, sedemikian hingga menjadi bilangan bulat.

2.2. Mikrokontroler ATMega32