I.1 Latar Belakang
Dalam era globalisasi sekarang ini, keamanan merupakan aspek yang sangat penting dalam transaksi informasi. Informasi yang dipertukarkan tidak semuanya terbuka bagi setiap orang. Informasi tersebut terkadang hanya ditujukan bagi kalangan tertentu saja dan dijaga kerahasiaanya dari orang lain. komunikasi data global yang selalu berubah, hubungan Internet yang murah, dan cepatnya perkembangan software, keamanan menjadi isu yang semakin penting. Keamanan saat ini menjadi suatu kebutuhan dasar karena komputasi global tidak aman. Teknik mengamankan informasi tersebut erat kaitannya dengan kriptografi.
Kriptografi adalah studi teknik matematik yang berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, autentikasi entitas, dan
autentikasi asal data (Menezes et al. 1996). Dalam kriptografi, ada dua proses
yang sangat penting, yaitu enkripsi dan dekripsi. Enkripsi merupakan proses mengubah pesan asli (plaintext) menjadi pesan yang dikodekan (ciphertext). Sedangkan dekripsi adalah proses mendapatkan plaintext dari ciphertext. Beberapa algoritma yang digunakan untuk enkripsi dan dekripsi pesan, misalnya
Data Encryption Standard (DES), Triple-DES, Advanced Encryption Standard
(AES), Blowfish, 3DES, RC5, RSA, dan lain sebagainya (Dony Ariyus, Pengantar Kriptografi Teori, Analisis, dan Implementasi, 2008, STMIK AMIKOM Yogyakarta).
RSA adalah sebuah algoritma pada enkripsi kunci publik yang dikembangkan oleh Rivest-Shamir-Adleman. Algoritma ini menggunakan kunci publik atau kunci yang berbeda untuk enkripsi dan dekripsi. Keamanan metode ini terletak pada kesulitan untuk memfaktorkan modulus n yang sangat besar, tetapi kelebihan ini mengakibatkan lambatnya waktu untuk menyelesaikan proses.
Kecepatan public key encription merupakan suatu kendala pada proses pertukaran informasi rahasia antar dua proses yang membutuhkan kecepatan tinggi seperti kebutuhan pada protokol secure socket layer (SSL), dimana satu
server melayani permintaan lebih dari satu client menggunakan public key encription, sehingga secara keseluruhan akan menggunakan waktu proses yang
sangat besar dan memperlambat proses keseluruhan.
Salah satu metode yang aman untuk mempercepat proses dekripsi RSA adalah menggunakan Chinese Remainder Theorem. RSA-CRT adalah RSA yang dimodifikasi dengan menggunakan CRT yang bertujuan untuk mempercepat proses dekripsi.
Berdasarkan uraian di atas, penulis tertarik untuk mengajukan skripsi yang berjudul : "Perancangan AplikasiMetode Chinese Remainder Theorem (CRT) dalam meningkatkan kecepatan Dekripsi pada Kriptografi RSA".
I.2 Ruang Lingkup Permasalahan I.2.1 Identifikasi Masalah
Adapun identifikasi masalah yang ada yaitu sebagai berikut :
2. Penerapan metode yang tepat untuk mempercepat proses enkripsi dan
dekripsi.
3. Terjadinya penyalahgunaan dari pihak yang tidak bertanggung jawab.
I.2.2 Perumusan Masalah
Algoritma kecepatan RSA yang original, setelah melakukan pengurangan akhir, sebuah instruksi kondisi menentukan hasil dimana pengurangan akhir harus dibuang. Sebab hasil dikembalikan oleh nilai bukan oleh alamatnya, jika hasil tersebut terus disimpan, ini akan tercetak ulang (copy). Untuk menghindari terjadinya cetak ulang tersebut sebuah loop kosong mengsimulasikan waktu pengambilan oleh nilai copy-an tersebut. Metode ini dapat dideteksi dengan mudah dalam sebuah power attack.
Berdasarkan latar belakang masalah seperti dijelaskan di atas maka penulis merumuskan masalah yang akan dibahas dalam skripsi ini diantaranya :
1. Bagaimana mengimplementasikan CRT untuk memepercepat kriptografi RSA?
2. Bagaimana mengukur kecepatan hasil kriptografi RSA dengan penambahan metode CRT ?.
I.2.3 Batasan Masalah
Pada RSA standar, baik enkripsi maupun dekripsi merupakan pemangkatan modular (modular exponentiation) yang dapat dilakukan dengan serangkaian perkalian modular. Proses ini memerlukan waktu komputasi yang relatif lama.
Dengan mengimplementasikan Chinese Remainder Theorem (CRT) pada RSA waktu komputasi dapat direduksi sehingga proses enkripsi dan dekripsi bisa lebih cepat.
Mengingat keterbatasan waktu dalam penulisan dan pengumpulan data maka penulis memberikan batasan masalah untuk mempermudah penyusunan laporan yang sistematis agar mudah di pahami oleh pembaca yaitu :
1. Pesan yang di enkripsi dan dekripsi adalah berupa teks.
2. Penelitian ini lebih mengarahkan pada analisa kecepatan dengan panjang kunci yang digunakan, dengan hasil implementasi RSA yang berbeda-beda yaitu RSA sederhana dan RSA-CRT
3. Bahasa program yang digunakan adalah Microsoft Visual Studio 2010.
I.3 Tujuan dan Manfaat I.3.1 Tujuan
Tujuan dari penelitian ini adalah:
1. Melakukan proses enkripsi dan dekripsi terhadap pesan teks dengan menggunakan metode RSA dan RSA-CRT (Chinese Remainder Theorem). 2. Metode CRT (Chinese Remainder Theorem) ini dapat menghitung besarya
peningkatan kecepatan yang diperoleh dengan metode yang digunakan. 3. Mengetahui tingkat perbandingan kecepatan metode RSA dengan metode
RSA-CRT.
I.3.2 Manfaat
Adapun manfaat yang diharapkan dalam penelitian ini adalah :
1. Diperoleh suatu cara alternatif untuk menambah kecepatan dekripsi RSA melalui implementasi software yang tidak terlampau banyak mengubah struktur komputer serta tidak mengabaikan keamanan datanya.
2. Algotirma RSA dengan metode CRT memiliki kecepatan proses lebih baik dibandingkan dengan Algoritma RSA standart.
3. Keamanan data lebih terjamin karena kompleksitas problem faktorisasi bilangan bulat.
4. Menjadikan suatu aplikasi enkripsi dan untuk mempercepat dekripsi pesan dengan menggunakan metode CRT pada kriptografi RSA.
I.4 Metodologi Penelitian
1. Observasi
Pada tahap ini dilakukan eksplorasi terhadap beberapa perangkat dan konsep yang akan digunakan dalam membuat tugas skripsi. Eksplorasi dilakukan pada beberapa perangkat yang akan digunakan untuk membangun sistem dalam skripsi ini seperti Microsoft Visual Studio 2010. Eksplorasi konsep dilakukan dengan cara studi literatur yaitu dengan studi dari berbagai macam buku teks, jurnal dan skripsi.
2. Analisis Algoritma
Pada tahap ini dilakukan analisis terhadap kompleksitas algoritma RSA dan RSA-CRT yang meliputi:
a. kompleksitas algoritma pembangkitan kunci, b. kompleksitas algoritma enkripsi, dan
c. kompleksitas algoritma dekripsi. 3. Analisis Keamanan
Pada tahap ini dilakukan analisis keamanan algoritma RSA dan RSA-CRT melalui telaah pustaka dari berbagai literatur. Literatur diambil dari buku, makalah, dan internet.
4. Analisis Hasil Implementasi
Pada tahap ini dilakukan analisis uji running time terhadap hasil implementasi enkripsi dan dekripsi algoritma RSA dan RSA-CRT. Hal-hal yang diamati adalah :
Waktu yang diperlukan untuk melakukan enkripsi atau dekripsi pada RSA dan enkripsi atau dekripsi pada RSA-CRT.
Selain itu terdapat beberapa prosedur pembuatan sistem sebagai berikut:
I.1 Prosedur Perancangan
Penelitian yang dilakukan berkaitan dengan desain dan implementasi aplikasi adalah sebagai berikut :
Gambar 1 : Prosedur Perancangan
I.2 Analisis Kebutuhan
Analisis kebutuhan perangkat lunak (software requirements analysis) merupakan aktivitas awal dari siklus hidup pengembangan perangkat lunak. Tahap analisis adalah tahapan pengumpulan kebutuhan-kebutuhan dari semua elemen sistem perangkat lunak yang akan dibuat.
Target :
Perancangan Aplikasi Metode Chinese Remainder
Theorem (CRT) dalam meningkatkan kecepatan dekripsi pada Kriptografi RSA
Analisis Kebutuhan :
Membantu setiap user dapat mengambil data lebih cepat pada Kriptografi RSA dengan Metode CRT
Spesifikasi :
Penentuan spesifikasi hardware dan software yang digunakan.
Validasi :
Hasil keputusan berdasarkan teks yang diinput
Finalisasi :
Hasil akhir berupa informasi yang bermanfaat untuk user dan orang lain
Verifikasi Tidak
Ya Desain & Implementasi :
Penginputan teks dengan metode RSA dan CRT, aplikasinya menggunkan Microsoft
Adapun analisis kebutuhan dalam rancangan sistem yang akan dibangun adalah sebagai berukut :
1. Data atau informsi apa yang akan diproses merupakan data langkah pembuatan aplikasi.
2. Fungsi apa yang diinginkan yaitu program yang dirancang merupakan aplikasi kriptografi teks sebagai pemanfaatan pada desktop dan menggunakan
Microsoft Visual Studio 2010.
Didalam memperoleh data yang dibutuhkan pada analisis kebutuhan, penulis menggunakan beberapa teknik yaitu :
a. Pengamatan (Observation), yaitu setiap kegiatan untuk melakukan pengukuran, pengamatan yang berhubungan dengan masalah yang akan dihadapi dengan menggunakan indera penglihatan secara langsung.
b. Studi Dokumentasi yaitu melakukan pengumpulan data yang akan dilakukan dengan mempelajari berbagai sumber-sumber yang berasal dari buku, jurnal maupun internet yang akan dijadikan gambaran dari penulisan skripsi.
I.3 Spesifikasi dan Desain
Spesifikasi kebutuhan perangkat lunak atau Software Requirements
Spefication (SRS) adalah sebuah dokumen yang berisi pernyataan lengkap dari
apa yang dapat dilakukan oleh perangkat lunak, tanpa menjelaskan bagaimana hal tersebut dikerjakan oleh perangkat lunak. Suatu SRS harus mencantumkan tentang
deskripsi dengan lingkungannya.
Adapun spesifikasi kebutuhan di dalam membangun perangkat lunak yang akan di rancang adalah sebagai berikut :
a. Spesifikasi Perangkat Keras
Spesifikasi perangkat keras yang dibutuhkan yaitu : 1) Processor Intel Core i3 @ 2,53 Ghz
2) Ram 2 GB 3) Hardisk 380 GB 4) Keyboard dan Mouse b. Spesifikasi Perangkat Lunak
Adapun spesifikasi perangkat lunak yang dibutuhkan yaitu: 1) Sistem Operasi Windows 7 Ultimate 32-bit
2) Microsoft Visual Studio 2010.
I.4 Implementasi dan Verifikasi
Perancangan adalah langkah awal pada tahap pengembangan suatu sistem. Perancangan dapat didefinisikan sebagai proses untuk mengaplikasikan berbagai macam teknik dan prinsip untuk tujuan pendefinisian secara rinci suatu perangkat, proses atau sistem agar dapat direalisasikan dalam suatu bentuk fisik.
Sedangkan Implementasi merupakan tahap pengkodean yang merupakan suatu proses translasi. Rancangan detil ditranslasikan ke dalam suatu bahasa pemrograman. Bahasa pemrograman adalah alat yang digunakan untuk komunikasi antara manusia dan komputer. Verifikasi program merupakan suatu metode yang digunakan untuk menjamin kebenaran suatu program. Metode ini mencegah terjadinya kesalahan dengan memberikan jaminan kebenaran berdasarkan komputasi matematis.
Tentunya metode ini berbeda dengan testing yang menjamin program dengan mencari kebenaran dan kesalahan lewat sejumlah data sebagai masukan.
Verifikasi program melakukan simbolisasi masukan sehingga jaminan diberikan
untuk semua data yang berlaku sebagai masukan.
Pada tahap implementasi, dilakukan pengkodean dan perancangan aplikasi yang telah dibuat sebelumnya kedalam bahasa pemrograman. Bahasa pemrograman yang digunakan adalah Basic dimana proses pengetikan kode program (coding) dilakukan pada aplikasi Microsoft Visual Studio 2010.
I.5 Validasi
Validasi merupakan proses untuk menunjukkan seberapa besar nilai keakuratan program terhadap kondisi-kondisi saat pemakaian sebenarnya. Proses ini menjalankan skenario berdasarkan data dan lingkungan yang merepresentasikan dunia nyata dengan menggunakan mesin percobaan.
I.6 Finalisasi
Finalisasi merupakan istilah generik yang merujuk pada tahapan akhir prosedur didalam perancangan perangkat lunak yaitu dengan menginstall atau memasang perangkat lunak yang telah selesai kedalam komputer pengguna.
I.4.1 Analisa Tentang Sistem Yang Ada
Metode yang penulis gunakan dalam penulisan skripsi ini mulai dari pengumpulan data hingga nanti sampai kepada terselesaikannya skripsi ini adalah sebagai berikut :
1. Studi Kepustakan (Library Research)
Memperoleh data dengan membaca E-Book yang berhubungan dengan masalah yang sedang dibahas.
2. Internet (Surfing)
Memperoleh data dari situs-situs yang berhubungan dengan masalah yang sedang dibahas dan men-download-nya sebagai bahan referensi. Dalam hal ini penulis melakukan download terhadap dokumentasi-dokumentasi, FAQ (Frequently Asked Questions), RFC (Request For Comments) dan How to
Manual yang terdapat pada situs-situs yang berhubungan dengan masalah yang
sedang dibahas.
I.4.2. Pengujian / Uji Coba Sistem
Dalam pengujian ini penulis menguji coba aplikasi yang menggunakan metode RSA dan CRT ini dengan menggunakan Microsoft Visual Studio 2010 sebagai Software, aplikasi ini akan berfungsi jika tidak mengalami kesalahan
coding script,dan hasilnya akan menampilkan interface Microsoft Visual Studio 2010 dengan metode yang sudah diterapkan.
I.5 Keaslian Penelitian
Tabel 1. Keaslian Penelitian
No Nama Peneliti Tahun Hasil
1 Sentot Kromodimoeljo Judul : Teori dan aplikasi
Kriptografi
2010 Buku ini membahas konsep dasar enkripsi dan berbagai teknik untuk kriptografi public
key (enkripsi asimetris).
2 Kamal Mahmudi
Judul : Sifat prima terhadap fungsional Algoritma RSA
2010 Kelebihan: Algoritma RSA sebenarnya tidak
bergantung pada bilangan prima, namun Mempermudah proses perhitungan (n)untuk n=p .q Kelemahan: Membangkitkan bilangan prima besar menghabiskan banyak waktu dan ruang memori pada hardware.
I.5. Sistematika Penulisan
Sistematika penulisan ini terdiri dari 5 bab, dengan tujuan untuk mempermudah dalam pembahasan. Adapun sistematika penulisan tersebut adalah sebagai berikut :
BAB I :PENDAHULUAN
Pendahuluan BAB ini menerangkan tentang latar belakang. Ruang lingkup permasalahan, tujuan dan manfaat, metode penelitian, dan sistematika penulisan.
3 Muhamamad Reza Firdaus Zen
Judul :Algoritma Kriptografi kunci-publik RSA menggunakan Chinese
Remainder Theorem (CRT)
2011 Kelebihan :
Metode ini didasarkan pada ide bahwa mengalikan dua bilangan dapat mudah dilakukan, khususnya dengan perangkat komputer. Kelemahan:
Memfaktorkan bilangan dapat jadi sulit
dilakukan,Contohnya dua bilangan prima misalnya x dan y dan menghitung hasil
operasi kalinya N = xy. Tetapi jika diberikan nilai N,akan sulit untuk menemukanfaktor-faktornya yaitu x dan y,terutama untuk bilangan N yang besar.
BAB II :TINJAUAN PUSTAKA
Pada BAB ini menerangkan tentang teori dasar yang berhubungan dengan program yang dirancang, serta bahasa pemrograman yang digunakan.
BAB III :ANALISIS MASALAH DAN RANCANGAN PROGRAM
Pada BAB ini mengemukakan tentang analisis masalah program yang akan dirancang dan rancangan program yang digunakan dalam penulisan skripsi ini.
BAB IV :IMPLEMENTASI DAN ANALISIS PROGRAM
Pada BAB ini mengemukakan tentang hasil implementasi sistem yang dirancang mencakup uji coba sistem, tampilan, serta perangkat yang dibutuhkan, serta analisa sistem yang dirancang untuk mengetahui kelebihan dan kelemahan sistem yang dibuat.
BAB V :KESIMPULAN DAN SARAN
Pada BAB ini berisi kesimpulan penelitian dan saran dari penelitian sebagai perbaikan di masa yang akan datang.