BAB I PENDAHULUAN
1.1. Latar Belakang Masalah Perkembangan teknologi yang begitu pesat memungkinkan manusia dapat berkomunikasi dan saling bertukar informasi/data secara jarak jauh. Antar kota antar wilayah antar negara bahkan antar benua, bukan merupakan suatu kendala lagi dalam melakukan komunikasi dan pertukaran data. Seiring dengan itu tuntutan akan sekuritas (keamanan) terhadap kerahasiaan informasi yang saling dipertukarkan tersebut semakin meningkat. Begitu banyak pengguna seperti departemen pertahanan, suatu perusahaan atau bahkan individu-individu tidak ingin informasi yang disampaikannya diketahui oleh orang lain atau kompetitornya atau negara lain. Oleh karena itu dikembangkanlah cabang ilmu yang mempelajari tentang cara pengamanan data atau dikenal dengan istilah Kriptografi. Menurut Mollin,( 2007 ) kriptografi adalah sebuah metode mengirimkan pesan secara rahasia dan disamarkan, sehingga hanya penerima pesan yang dituju yang dapat merubah, menghapus dan membaca pesan tersebut. Dalam bahasa Yunani Kriptografi berarti kryptos yang artinya yang tersembunyi dan graphein yang artinya menulis. Pesan asli disebut plaintext, dan pesan yang disamarkan disebut ciphertext. pesan yang terakhir, dikemas dan dikirim, disebut kriptogram. Proses membalikkan dan mengubah plaintext ke ciphertext disebut enkripsi, encryption, atau enciphering. proses untuk mengubah ciphertext menjadi plaintext, yang disampaikan oleh penerima disebut dekripsi atau menguraikan. Orang yang mendesain dan merancang sistem kriptografi disebut kriptografer. Sedangkan orang yang menggunakan teknik matematika dan statistika tanpa ia harus mengetahui kunci secara legal dalam rangka
memecahkan ciphertext menjadi plaintext disebut
kriptoanalis.
Universitas Sumatera Utara
Dalam penelitian ini penulis tertarik untuk membahas tentang kriptografi kunci publik RSA serta bagaimana merancang aplikasinya. Sebagaimana yang telah dilakukan oleh Arifin, ( 2009 ) disimpulkan bahwa, RSA merupakan salah satu solusi yang baik untuk mengatasi masalah keamanan dan kerahasiaan data yang pada umumnya diterapkan dalam pengiriman dan penyimpanan data melalui media elektronik. Dan dianggap sebagai algoritma kriptografi yang paling aman saat ini. Hal ini dikarenakan belum ditemukannya algoritma yang mangkus (efisien) untuk memecahkan sistem keamanan yang diberikan oleh sistem RSA. Dalam kriptografi kunci publik terdapat dua konsep utama yakni enkripsi dan dekripsi. Enkripsi adalah proses dimana informasi/data yang hendak dikirim diubah menjadi bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan menggunakan algoritma tertentu. Dekripsi adalah kebalikan dari enkripsi yaitu mengubah kembali bentuk tersamar tersebut menjadi informasi awal, prosesnya dapat dilihat pada gambar 1.1. Munir, ( 2006 )
Gambar 1.1 Proses Enkripsi dan Dekripsi Kunci Publik
Pembangkitan bilangan prima adalah sebuah permasalahan yang esensial di dalam ilmu komputer dan teori bilangan, terutama dalam bidang kriptografi. Hal ini dikarenakan protokol-protokol enkripsi kunci publik didasarkan pada penggunaan dari bilangan prima dengan ukuran besar. Sedangkan keamanan sistem kriptografi kunci publik sering didasarkan pada kesulitan untuk mendapatkan faktor-faktor prima dari suatu bilangan prima yang sangat besar.
Universitas Sumatera Utara
Sebagaimana yang telah disimpulkan oleh Siang, ( 2002 ) bahwa semakin pesat perkembangan komputer, semakin terasalah pentingnya peranan bilangan prima. Bilangan prima yang dulunya dianggap sebagai sesuatu yang tidak memiliki manfaat, kini menjadi bagian yang tak terpisahkan dalam keamanan data. Kriptografi dewasa ini lebih dari sekedar enkripsi dan dekripsi. Tanda tangan digital (digital signature) mulai banyak dipakai untuk mencegah pemalsuan dokumen elektronik. Semuanya itu membutuhkan bilangan prima. Dalam hal ini penulis menggunakan algoritma The Sieve of Eratosthenes. Pada hasil penelitian Oni, ( 2011 ) disimpulkan bahwa algoritma Linear Congruential Generators (LCG), algoritma Well Equidistributed Long-period Linear (WELL) dan SIMD-oriented Fast Mersenne Twister (SFMT) dapat digunakan untuk menghasilkan bilangan acak semu (pseudorandom). Dari segi kecepatan LCG membutuhkan waktu yang paling pendek dalam menghasilkan bilangan acak. Sedangkan dari sisi periode WELL mempunyai periode yang paling panjang hal ini membuat WELL mempunyai tingkat keamanan paling tinggi. Meningkatnya tingkat keamanan akan berbanding terbalik dengan kecepatan. Sehingga bila diingiinkan keamanan yang lebih tinggi maka kecepatan akan berkurang dan bila menginginkan kecepatan yang tinggi maka keamanan akan berkurang. Karena mempunyai tingkat keamanan yang cukup tinggi dan kecepatan yang cukup cepat, memungkinkan Algoritma Well Equidistributed Long-period Linear (WELL) dan SIMD-oriented Fast Mersenne Twister (SFMT) untuk digunakan dalam berbagai algoritma untuk fungsi-fungsi kriptografi. Selain itu algoritma Algoritma Well Equidistributed Long-period Linear (WELL) dan SIMD-oriented Fast Mersenne Twister (SFMT) tergolong cryptographically secure pseudorandom generator (CSPRNG). Untuk pembangkit bilangan acak penulis menggunakan algoritma Linear Congruential Generator (LCG). LCG adalah salah satu pembangkit bilangan acak tertua dan sangat terkenal. LCG adalah algoritma yang sering diimplementasikan pada beberapa bahasa pemrograman untuk membangkitkan bilangan acak. Namun jika dilihat dari angka yang dihasilkan, algoritma Linear Congruential Generator (LCG) memiliki kelemahan. Sebab angka (bilangan acak) yang dihasilkan dapat
Universitas Sumatera Utara
diprediksi urutan kemunculannya. Oleh karena itu penulis tertarik untuk menganalisa bagaimana cara mendapatkan bilangan yang cukup acak dengan LCG yang nantinya bilangan tersebut digunakan sebagai kunci dalam aplikasi RSA.
1.2. Perumusan Masalah Berdasarkan uraian yang telah dijelaskan sebelumnya yang menjadi perumusan masalah adalah bagaimana mengamankan data dengan algoritma The Sieve Of Eratosthenes dan LCG pada RSA.
1.3. Batasan Masalah Batasan masalah dalam penelitian ini adalah : 1. Tidak diteliti tentang serangan terhadap Kriptografi. 2. Tidak membandingkan dengan metode Kriptografi lain. 3. Tidak membandingkan dengan algoritma pembangkitan acak dan prima lain. 4. Hasil enkripsi tidak dikonversi kedalam ASCII (dalam bentuk angka – angka). 5. Pengambilan bilangan m berdasarkan hitungan detik keberapa saat transaksi. 6. Pengambilan bilangan acak b dibatasi 1 s/d 100. 7. Dalam simulasi program, jenis pesan yang digunakan dalam bentuk text yang dimasukkan secara manual. 8. Dalam pembuatan aplikasi menggunakan bahasa pemrograman PHP.
Universitas Sumatera Utara
1.4. Tujuan Penelitian Tujuan penelitian ini adalah sebagai berikut : 1. Untuk mengamankan data atau pesan dengan kombinasi algoritma The Sieve of Eratosthenes dan Linear Congruential Generator (LCG) berbasis RSA, kedalam bentuk aplikasi komputer. 2. Memodifikasi variabel algoritma Linear Congruential Generator (LCG) sehingga bilangan yang dihasilkan cukup acak untuk RSA.
1.5. Manfaat Penelitian Manfaat penelitian ini adalah sebagai berikut : 1. Mengetahui bahwa dalam algoritma kunci publik RSA dapat menggunakan metode Linear Congruential Generator (LCG) untuk membangkitkan bilagan acak dan
The Sieve of Eratosthenes untuk membangkitkan
bilangan prima. 2. Mengetahui
apakah
algoritma
LCG
dapat
dianggap
sebagai
Cryptographically-secure.
Universitas Sumatera Utara