Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
PENGAMANAN PESAN RAHASIA MENGGUNAKAN
ALGORITMA KRIPTOGRAFI RIVEST SHAMIR ADLEMAN
(RSA)
SKRIPSI
Diajukan untuk Memenuhi Sebagian dari Syarat Memperoleh Gelar Sarjana Sains
Program Studi Matematika Konsentrasi Aljabar
Oleh:
Chandra Putra Devha 0905803
JURUSAN PENDIDIKAN MATEMATIKA
FAKULTAS PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PENDIDIKAN INDONESIA
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
PENGAMANAN PESAN RAHASIA MENGGUNAKAN ALGORITMA KRIPTOGRAFI RIVEST-SHAMIR-ADLEMAN (RSA)
Oleh
Chandra Putra Devha
Sebuah skripsi yang diajukan untuk memenuhi salah satu syarat untuk memperoleh gelar Sarjana Sains pada
Fakultas Pendidikan Matematika dan Ilmu Pengetahuan Alam
© Chandra Putra Devha 2013 Universitas Pendidikan Indonesia
Oktober 2013
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Skripsi ini tidak boleh diperbanyak seluruhya atau sebagian, dengan dicetak ulang, difoto kopi, atau cara lainnya tanpa ijin dari penulis.
LEMBAR PENGESAHAN
PENGAMANAN PESAN RAHASIA MENGGUNAKAN
ALGORITMA KRIPTOGRAFI RIVEST SHAMIR ADLEMAN (RSA)
Oleh:
Chandra Putra Devha 0905803
Disetujui dan Disahkan Oleh:
Pembimbing I,
Dr. Elah Nurlaelah, M.Si. NIP. 196411231991032002
Pembimbing II,
Dr. Kusnandi, M.Si. NIP. 196903301993031002
Mengetahui,
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu Drs. Turmudi, M.Ed., M.Sc., Ph.D.
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
ABSTRAK
Chandra Putra Devha. (2013). Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest-Shamir-Adleman (RSA).
Penelitian ini dilatar belakangi oleh tingkat keamanan dari informasi dan komunikasi yang rendah. Padahal, tingkat keamanan informasi dan komunikasi merupakan faktor penting agar terhindar dari pencurian data atau manipulasi data. Oleh karena itu, perlu dilakukan upaya untuk meningkatkan hal tersebut. Salah satunya dengan menggunakan kriptografi. Kriptografi merupakan ilmu yang mempelajari teknik matematika yang berhubungan dengan keamanana informasi. Salah satu algoritma kriptografi yaitu algoritma kriptografi RSA. RSA merupakan algoritma kriptografi asimetris karena menggunakan dua kunci, yaitu kunci publik dan kunci pribadi. Ada tiga algoritma dalam kriptografi RSA, yaitu pembangkitan kunci, proses enkripsi, dan proses dekripsi. Algoritma ini memiliki tingkat keamanan yang terletak pada sulitnya memfaktorkan sebuah bilangan besar menjadi dua buah bilangan prima. Kelemahan dari algoritma kriptografi RSA adalah waktu yang dibutuhkan untuk melakukan proses pembangkitan kunci, enkripsi dan dekripsi lambat. Sedangkan kelebihannya terletak pada sulitnya memecahkan kunci dan penggunaan kunci yang lebih efektif.
Kata kunci: algoritma, RSA, kriptografi, enkripsi, dekripsi, kunci, bilangan prima
ABSTRACT
This research is motivated by security level of information and communication which is low. In fact, security level of information and communication is the main factor to avoid stealing data or manipulating data happen. Therefore, needed to find a way to improve it. One of that way is using cryptography. Cryptography is the study of mathematical techniques related to aspect of informations security. one of the cryptography is RSA algorithm. RSA algorithm is asymmetric cryptography algorithm because it use two keys; public key and private key. The RSA algorithm involves three steps; key generation algorithm, encryption algorithm, and decryption algorithm. This algorithm has security level based on presumed difficulty of factoring large number, become two primes number. The weakness of RSA algorithm is time to execute key generate algorithm, encryption algorithm, and decryption algorithm is slow. And the strength of it based on difficulty of break the key and better effective of using the key.
Keywords: algorithm, RSA, cryptography, encryption, decryption, key, prime
v
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
DAFTAR ISI
Halaman
PERNYATAAN ... i
ABSTRAK ... ii
KATA PENGANTAR ... iii
UCAPAN TERIMA KASIH ... iv
DAFTAR ISI ... v
1.4 Tujuan Penulisan ... 3
1.5 Manfaat Penulisan ... 3
BAB 2LANDASAN TEORI 2.1 Kriptografi ... 4
2.1.1. Sejarah Kriptografi ... 5
2.1.2. Algoritma Kriptografi ... 7
2.1.2.1.Algoritma Kriptografi Simetris ... 7
2.1.2.2.Algoritma Kriptografi Asimetris ... 8
2.1.3. Sistem Kriptografi ... 9
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
2.2.1 Divisibility ... 10
2.2.2 Algoritma Pembagian ... 12
2.2.3 Representasi Bilangan Bulat ... 13
2.2.4 Pembagi Persekutuan Terbesar ... 15
2.2.5 Algoritma Euclid ... 17
2.2.6 Algoritma Euclid yang Diperluas ... 18
2.2.7 Bilangan Prima ... 19
2.3 Struktur Aljabar ... 20
2.3.1 Pemetaan ... 21
2.3.2 Grup ... 21
2.3.3 Ring dan Field ... 22
2.4 Konsep Dasar Matematika dalam Algoritma RSA ... 23
2.4.1 Persamaan Kongruen... 24
2.4.2 Residue Class ... 26
2.4.3 Residue Class Ring... 27
2.4.4 Multiplikatif Grup Residue ... 29
2.4.5 Teorema Fermat ... 31
2.4.6 Metode Fast Exponentiation... 33
2.4.7 Tes Keprimaan ... 34
2.4.7.1Tes Fermat ... 34
2.4.7.2Bilangan Carmichael ... 35
2.4.7.3Tes Miller-Rabin ... 35
2.5 Digital Signature ... 36
2.5.1 Layanan Keamanan ... 36
BAB 3KRIPTOGRAFI RSA 3.1 Sistem ASCII... 39
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
3.2.1 Proses Pembangkitan Kunci ... 42
3.2.2 Proses Enkripsi ... 48
3.2.3 Proses Dekripsi ... 51
3.3 Digital Signature Algoritma Kriptografi RSA ... 53
3.3.1. Konsep Digital Signature ... 53
3.3.2. Algoritma Digital Signature Kriptografi RSA ... 54
3.2.3.1Proses Pembangkitan Kunci ... 55
3.2.3.2Proses Sign Digital Signature ... 59
3.2.3.3Proses Verifikasi Digital Signature ... 61
3.4 Keamanan RSA ... 65
3.5 Kelebihan dan Kekurangan RSA ... 66
BAB 4IMPLEMENTASI DAN UJI COBA 4.1 Sarana Implementasi ... 74
4.2 Implementasi Algoritma RSA ... 75
4.2.1. Deklarasi Nama Program, Unit, Variabel dan Tipe Data ... 75
4.2.2. Fungsi dan Prosedur ... 76
4.3 Uji Coba Program... 84
4.3.1. Bahan Pengujian ... 84
4.3.2. Pengujian Program ... 84
4.3.2.1Pengujian Proses Input Bilangan Prima ... 84
4.3.2.2Pengujian Proses Pembangkitan Kunci ... 85
4.3.2.3Pengujian Proses Enkripsi dan Dekripsi ... 88
4.4 Perbandingan Uji Coba ... 89
4.4.1 Perbandingan Uji Coba Terhadap Waktu Proses Pembangkitan Kunci ... 90
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu BAB 5KESIMPULAN DAN SARAN
5.1 Kesimpulan... 99
5.2 Saran ... 100
DAFTAR PUSTAKA ... 101
LAMPIRAN-LAMPIRAN ... 103
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
DAFTAR TABEL
Halaman
Tabel 2.1 Contoh Iterasi Algoritma Euclid yang Diperluas ... 19
Tabel 3.1 Kode ASCII... 39
Tabel 3.2Waktu Proses RSA ... 67
Tabel 3.3Waktu Proses Diffie-Hellman ... 67
Tabel 3.4 Waktu Proses Enkripsi dan Dekripsi RSA ... 69
Tabel 3.5 Waktu Proses Enkripsi dan Dekripsi Elgamal ... 70
Tabel 3.6 Proses Enkripsi Menggunakan Kriptografi Elgamal ... 72
Tabel 3.7 Proses Dekripsi Menggunakan Kriptografi Elgamal ... 73
Tabel 4.1 Spesifikasi Perangkat Keras ... 74
Tabel 4.2 Spesifikasi Perangkat Lunak ... 74
Tabel 4.3 Waktu Proses Pembentukan Kunci dengan Visual Basic 6.0(*) ... 90
Tabel 4.4 Waktu Proses Pembentukan Kunci dengan IDE Microsoft Visual Studio 2010 Ultimate(**) ... 92
Tabel 4.5 Waktu Proses Enkripsi dengan Visual Basic 6.0(*) ... 95
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
DAFTAR GAMBAR
Halaman
Gambar 2.1 Skema Algoritma Simetris ... 8
Gambar 2.2 Skema Algoritma Asimetris ... 9
Gambar 2.3 Skema Digital Signature... 38
Gambar 3.1 Flowchart Algoritma Pembangkitan Kunci... 45
Gambar 3.2 Flowchart Pembangkitan Kunci Lanjutan ... 46
Gambar 3.3 Flowchart Pembangkitan Kunci Lanjutan ... 47
Gambar 3.4 Flowchart Algoritma Enkripsi ... 50
Gambar 3.5 Flowchart Proses Dekripsi ... 52
Gambar 3.6 Skema Digital Signature Kriptografi RSA ... 54
Gambar 3.7 Flowchart Pembangkitan Kunci Digital Signature Kriptografi RSA .... 56
Gambar 3.8 Flowchart Pembangkitan Kunci Digital Signature Kriptografi RSA .... 57
Gambar 3.9 Flowchart Pembangkitan Kunci Digital Signature Kriptografi RSA .... 58
Gambar 3.10 Flowchart Sign Digital Signature Kriptografi RSA ... 60
Gambar 3.11 Flowchart Verifikasi Digital Signature Kriptografi RSA ... 62
Gambar 4.1 Tampilan Proses Input Bilangan Prima ... 85
Gambar 4.2 Tampilan Proses Input Bilangan Prima pada Contoh 3.1.1.1 ... 85
Gambar 4.3 Tampilan Proses Pembangkitan Kunci ... 86
Gambar 4.4 Tampilan Informasi Nilai Diterima ... 86
Gambar 4.5 Tampilan Proses Input Nilai ... 86
Gambar 4.6 Tampilan Proses Pembangkitan Kunci Pada Contoh 3.1.1.1 ... 87
Gambar 4.7 Tampilan Informasi Nilai Diterima pada Contoh 3.1.1.1 ... 87
Gambar 4.8 Tampilan Proses Input Nilai pada Contoh 3.1.1.1 ... 87
Gambar 4.9 Tampilan Proses Enkripsi dan Dekripsi ... 88
Gambar 4.10 Tampilan Proses Enkripsi pada Contoh 3.1.1.1 ... 89
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
DAFTAR LAMPIRAN
Halaman
1
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu BAB 1
PENDAHULUAN
1.1 Latar Belakang Masalah
Di zaman modern seperti sekarang, perkembangan teknologi sangat
berpengaruh besar terhadap segala aspek kehidupan. Banyak sekali manfaat dan
kemudahan yang didapat dengan adanya teknologi yang terus berkembang, salah
satunya di bidang informasi dan komunikasi. Dengan adanya internet, semua
orang bisa saling berkomunikasi dan bertukar informasi dengan mudah. Namun,
hal tersebut juga memiliki dampak buruk karena rawan terjadi pencurian data. Hal
ini tentu akan merugikan banyak pihak, terutama bagi pengusaha, pemerintah,
bank, dan pihak lain yang memiliki dokumen rahasia. Oleh karena itu, keamanan
informasi merupakan faktor penting yang harus dipenuhi. Berbagai cara telah
dilakukan untuk mengamankan informasi rahasia tersebut. Salah satu cara yang
ditempuh adalah dengan mengubah informasi tersebut menjadi sandi-sandi yang
sulit dibaca dan hanya bisa dibaca oleh pihak tertentu, metode ini disebut
kriptografi.
Kriptografi merupakan studi matematis yang terkait dengan aspek-aspek
yang berhubungan dengan keamanan informasi seperti menyembunyikan isi data,
mencegah data dapat dirubah tanpa terdeteksi, ataupun mencegah data digunakan
tanpa otoritas yang cukup. Kriptografi dilakukan untuk menyembunyikan konten
dari suatu informasi dengan mengubah informasi tersebut menjadi sandi dengan
menggunakan kunci, dan untuk membacanya diperlukan kunci pula. Orang yang
melakukan proses kriptografi disebut kriptografer. Kebalikan dari kriptografi
adalah Kriptoanalisis, yaitu seni dan ilmu untuk memecahkan Chiperteks menjadi
Plainteks tanpa melalui cara yang seharusnya, dan orangnya disebut Kriptoanalis.
Berdasarkan kerahasiaan kuncinya, algoritma dari kriptografi dapat
dibedakan menjadi algoitma sandi kunci rahasia (private key) dan algoritma sandi
2
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
digunakan karena penggunaanya yang lebih efisien dari kunci rahasia (private
key). Salah satu algoritma kunci publik (public key) yang sering digunakan adalah
algoritma Rivest-Shamir-Adleman (RSA). Algoritma RSA dikembangkan oleh
Ron (R)ivest, Adi (S)hamir, dan Len (A)dleman dari Massachussets Institute of
Technology (MIT) pada tahun 1978. Secara garis besar, algoritma RSA
melibatkan perkalian dua bilangan prima yang besar dan dengan tambahan operasi
matematika lain menghasilkan dua kunci, yaitu kunci publik (public key) dan
kunci pribadi (private key). Pembuatan kunci tersebut dilakukan dengan memilih
bilangan prima acak yang besar.
Berdasarkan uraian di atas, penulis tertarik untuk mengkaji lebih lanjut algoritma
kriptografi Rivest-Shamir-Adleman (RSA). Oleh karena itu, penulis mengambil
judul “Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi
Rivest-Shamir-Adleman (RSA)”.
1.2 Rumusan Masalah
Berdasarkan latar belakang masalah yang telah diuraikan, maka dibuat
beberapa rumusan masalah sebagai berikut.
1. Apa konsep matematis yang melandasi pembentukan algoritma
kriptografi RSA?
2. Bagaimana cara kerja algoritma kriptografi RSA dan aplikasinya
dalam tanda tangan digital?
3. Bagaimana implementasi algoritma RSA dalam bentuk program yang
sederhana?
4. Bagaimana hasil analisis dan perbandingan program implementasi
algoritma RSA?
1.3 Batasan Masalah
Sesuai dengan judul skripsi ini, pembahasan lebih difokuskan pada
algoritma kriptografi RSA yang merupakan bagian dari algorima kriptografi kunci
3
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)
Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
1. Pembahasan mengenai algoritma kriptografi RSA ini meliputi konsep
matematis yang melandasinya.
2. Membahas proses penyandian meliputi pembentukan kunci, enkripsi
pesan, dan dekripsi pesan.
3. Pembahasan implementasi RSA pada tanda tangan digital hanya
meliputi konsep teoritis.
4. Program yang dibuat merupakan implementasi dari algoritma RSA
dengan menggunakan Visual Basic 6.0.
1.4 Tujuan Penulisan
Berdasarkan rumusan masalah yang telah diuraikan, maka skripsi ini
bertujuan untuk memberikan gambaran mengenai:
1. Konsep matematis yang melandasi pembentukan algoritma kriptografi
RSA beserta penerapannya pada tanda tangan digital.
2. Cara kerja algoritma kriptografi RSA dan aplikasinya dalam tanda
tangan digital.
3. Implementasi algoritma kriptografi RSA dalam bentuk program yang
sederhana.
4. Hasil analisis dan perbandingan program implementasi algoritma RSA
1.5 Manfaat Penulisan
Penulis berharap skripsi ini dapat memberi pengetahuan tentang konsep
matematis yang melandasi algoritma kriptografi RSA, penerapan pada tanda
39 Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
BAB 3
KRIPTOGRAFI RSA
3.1 Sistem ASCII
Sebelumnya, akan dijelaskan terlebih dahulu Sistem ASCII sebagai system
standar pengkodean dalam pertukaran informasi yaitu Sistem ASCII. Plainteks
yang akan dienkripsi dengan algoritma RSA merupakan angka-angka,
sedangkan pesan yang dikirimkan biasanya berbentuk teks atau tulisan. Oleh
karena itu, dibutuhkan suatu kode yang sifatnya universal untuk mengubah
pesan teks menjadi plainteks yang berbentuk angka. ASCII (American
Standard Code for Information Interchange) atau Kode Standar Amerika untuk
Pertukaran Informasi adalah suatu standar internasional dalam kode huruf dan
symbolyang bersifat universal. ASCII selalu digunakan oleh computer dan alat
komunikasi lain untuk menunjukkan teks. Kode ASCII sebenranya memiliki
komposisi bilangan biner 8 bit dimulai dari 0000 0000 sampai 1111 1111.
Total kombinasi yang dihasilkan sebanyak 256 dimulai dari 0 sampai 255.
Kode ASCII terdiri dari karakter umum yang biasa digunakan dalam penulisan
data. Kode ASCII yang biasa digunakan dalam penulisan data dapat dilihat
dalam tabel berikut :
Tabel 3.1 Kode ASCII
Karakter Kode ASCII Karakter Kode ASCII Karakter Kode ASCII
40
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
* 42 J 74 j 106
RSA merupakan salah satu algoritma kriptografi kunci publik.Algoritma
ini adalah algoritma pertama yang cocok dalam melakukan digital signature.Saat
ini algoritma RSA merupakan algoritma yang paling sering dipakai dari algoritma
kunci publik lainnya.Algoritma RSA dikembangkan pertama kali oleh Ron
Rivest, Adi Shamir, dan Len Adleman dari Massachussets Institute of Technology
pada tahun 1978. Nama RSA sendiri diambil dari nama ketiga peneliti tersebut
41
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
yang memilik dua kunci yaitu kunci publik (public key) dan kunci pribadi (private
key).
RSA terbagi menjadi tiga proses, yaitu pembangkitan kunci, enkripsi dan
dekripsi. Dasar proses enkripsi dan dekripsi pada algoritma RSA yaitu konsep
bilangan prima dan aritmatika modulo. Kunci enkripsi tidak dirahasiakan dan
diberikan kepada umum (disebut kunci publik), sedangkan kunci untuk dekripsi
bersifat rahasia (disebut kunci pribadi).
Untuk menemukan kunci dekripsi, dilakukan dengan cara memfaktorkan bilangan
bulat menjadi faktor-faktor primanya. Namun, memfaktorkan bilangan bulat
menjadi faktor primanya tidak mudah karena belum ada cara yang efisien untuk
melakukan pemfaktoran. Cara yang paling mungkin dilakukan adalah dengan
pohon faktor. Namun semakin besar bilangan yang akan difaktorkan maka
semakin lama pula waktu yang dibutuhkan untuk menyelesaikannya. Jadi semakin
besar bilangan yang akan difaktorkan, semakin sulit pemfaktorannya, semakin
kuat pula algoritma RSA. Oleh karena itu, dalam menggunakan algoritma RSA
dianjurkan menggunakan bilangan yang sangat besar agar keamanannya dapat
terjamin.
Besaran-besaran yang digunakan pada algoritma RSA antara lain :
1. dan bilangan prima (rahasia)
Algoritma RSA didasarkan pada Teorema Euler yang menyatakan bahwa
42
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
1. relatif prima terhadap .
Substitusi (6) ke persamaan (4) menjadi
Persamaan (7) dapat ditulis kembali menjadi
yang berarti bahwa ketika dipangkatkan dan dipangkatkan lagi dengan
menghasilkan m lagi.
Berdasarkan persamaan (8), dirumuskan enkripsi dan enkripsi yaitu:
dan
3.2.1. Proses Pembangkitan Kunci
Algoritma RSA memiliki dua kunci yang berbeda untuk proses enkripsi
43
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
bilangan prima yang besar, karena pemfaktoran bilangan dari dua bilangan prima
yang besar sangat sulit, sehingga keamanan pesan lebih terjamin.
Pasangan kunci adalah elemen penting dari algoritma RSA.Berikut ini
langkah-langkah dalam membangkitkan dua kunci algoritma RSA.
1. Pilih dua bilangan prima sembarang, dan .
2. Hitung .
3. Hitung .
4. Pilih kunci publik e, yang relatif prima terhadap .
5. Bangkitkan kunci pribadi dengan menggunakan .
Hasil dari algoritma tersebut akan menghasilkan dua kunci, yaitu kunci publik
dan kunci pribadi .
Selanjutnya B menghitung nilai dengan algoritma Euclid yang
44
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Karena dapat ditulis menjadi , maka didapat . Sehingga diperoleh . Ini adalah kunci pribadi untuk mendekripsikan pesan dan harus dirahasiakan oleh B.
Dari perhitungan tersebut didapat kunci publik dan kunci pribadi
berturut-turut adalah
Selanjutnya B menghitung nilai dengan algoritma Euclid yang
diperluas menjadi kunci pribadi untuk mendekripsikan pesan dan harus dirahasiakan oleh B.
Dari perhitungan tersebut didapat kunci publik dan kunci pribadi
45
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
dan
Berikut merupakan flowchart pembangkitan kunci dengan algoritma RSA.
Gambar 3.1 Flowchart Algoritma Pembangkitan Kunci
Start
Bilangan Prima Positif Bilangan Prima Positif
Bukan Prima Tes Miller Rabin
, dengan positif.
, dengan .
, dengan positif.
, dengan .
YA
TIDAK
Jika dan
Print dan prima
46
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Gambar 3.2 Flowchart Pembangkitan Kunci Lanjutan
TIDAK
TIDAK
YA YA
B
( ) Algoritma Euclid
A
Pilih relatif prima,
TIDAK
47
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Gambar 3.3 Flowchart Pembangkitan Kunci Lanjutan
B
END
Kunci rahasia
Kunci Publik
Mencari Invers dari b Algoritma Euclid Diperluas
48
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
3.2.2. Proses Enkripsi
Langkah-langkah dalam melakukan proses enkripsi adalah sebagai berikut:
1. Ambil kunci public penerima pesan, e, dan modulus n.
2. Plainteks dibuat menjadi blok-blok sedemikian sehingga setiap blok merepresentasikan nilai di selang . 3. Setiap blok dienkripsi menjadi blok dengan rumus
Contoh 3.2.2.1.
Misalkan A akan mengirim pesan ke B. Pesan (Plainteks) yang
akan dikirim adalah
atau dalam sistem desimal pengkodean ASCII adalah
A memecah menjadi blok yang lebih kecil, misalkan membagi menjadi
5 blok yang berukuran 2 digit
mengenkripsikan setiap blok plainteks sebagai berikut
49
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Jadi chiperteks yang dihasilkan adalah
Contoh 3.2.2.2.
Misalkan A akan mengirim pesan ke B. Pesan (Plainteks) yang
akan dikirim adalah
atau dalam sistem desimal pengkodean ASCII adalah
A memecah menjadi blok yang lebih kecil, misalkan membagi menjadi
6 blok yang berukuran 3 digit
mengenkripsikan setiap blok plainteks sebagai berikut
Jadi chiperteks yang dihasilkan adalah
50
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Gambar 3.4 Flowchart Algoritma Enkripsi
Start
Kunci Publik
Plainteks
Plainteks ASCII (Desimal)
Cipherteks
Proses Merubah Plainteks Dengan Metode Fast Exponentiation
END
Cipherteks dikirim ke penerima
YA
51
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
3.2.3. Proses Dekripsi
Langkah-langkah dalam melakukan proses dekripsi adalah sebagai berikut:
1. Setiap blok chiperteks didekripsi kembali menjadi blok dengan
rumus
2. Blok-blok diubah kembali menjadi bentuk huruf dengan kode ASCII.
Contoh 3.2.3.1.
B akan mendekripsi pesan dengan menggunakan kunci pribadi
. Blok-blok chiperteks didekripsikan dengan cara
B akan mendekripsi pesan dengan menggunakan kunci pribadi
52
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Akhirnya diperoleh plainteks semula yaitu yang dalam sistem karakter pengkodean ASCII
Berikut merupakan flowchart dekripsi pesan dengan algoritma RSA.
Gambar 3.5 Flowchart Proses Dekripsi
Start
Kunci rahasia
Cipherteks
Proses Merubah Plainteks Dengan Metode Fast Exponentiation
END
ASCII (Karakter)
53
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
3.3 Digital Signature Algoritma Kriptografi RSA
Sistem Kriptografi Algoritma Kriptografi RSA dapat dimodifikasi
sehingga memenuhi sistem digital signature.Ada beberapa perbedaan dari
algoritma RSA yang dibahas di awal, dimana pihak pembentuk kunci merupakan
si pengirim pesan, berbeda dengan algoritma RSA, pembentukan kunci dilakukan
oleh penerima pesan. Perbedaan lainnya terletak pada pembuatan nilai tanda
tangan dan verifikasi nilai tanda tangan, dengan proses enkripsi dan dekripsi
pesan pada algoritma RSA. Jika pada enkripsi pesan digunakan kunci public, dan
proses dekripsi pesan menggunakan kunci pribadi, sebaliknya pada proses
pembuatan nilai tanda tangan justru menggunakan kunci pribadi, sedangkan
verifikasi pesan menggunakan kunci public. Berikut merupakan konsep serta
algoritma digital signature dengan kriptografi RSA.
3.2.1 Konsep Digital Signature RSA
Secara garis besarnya, konsep digital signature dengan algoritma RSA
diawali dengan pembangkitan kunci oleh si pengirim pesan.Setelah itu, dengan
kunci pribadi yang dimilikinya, si pengirim pesan mencari nilai tanda tangan yang
bersesuaian dengan isi pesan, dan mengirimkan nilai pesan beserta nilai tanda
tangan ke penerima.Lalu dengan kunci public dari pengirim pesan, penerima
mencari nilai pesan dengan menggunakan nilai tanda tangan yang diberikan. Jika
nilai pesan dari pengirim sama dengan hasil perhitungan dari penerima, maka
pesan tersebut terbukti valid. Berikut skema digital signature demgam algoritma
54
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Gambar 3.6 Skema Digital Signature Kriptografi RSA
3.2.2 Algoritma Digital Signature Kriptografi RSA
Algoritma digital signature dengan kriptografi RSA terdiri dari tiga proses,
yaitu proses pembangkitaan kunci, proses sign digital signature, dan proses verify
digital signature. Pada dasarnya, ketiga proses tersebut mempunyai langkah yang
sama dengan tiga proses algoritma RSA, hanya terdapat beberapa perbedaan,
yaitu pembuat pembangkitan kunci merupakan si pengirim pesan, berbeda dengan
kriptografi RSA, dengan penerima pesan sebagai pembangkitan kunci. Selain itu
ada perbedaan dari proses sign dan verify dengan proses enkripsi dan dekripsi.
Jika dalam proses enkripsi menggunakan kunci public dan proses dekripsi
menggunakan kunci pribadi, sedangkan pada proses sign digital signature
menggunakan kunci pribadi, dan proses verify menggunakan kunci public.
Berikut merupakan algoritma pembuatan digital signature dengan kriptografi
RSA.
Kunci Publik A
Terima A
dokumen
Kunci Pribadi A
55
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
3.2.3.1Proses Pembangkitan Kunci
Sama halnya dengan proses pembangkitan kunci dengan algoritma RSA,
proses pembangkitan kunci untuk digital signature dengan algoritma RSA
menghasilkan kunci public dan kunci privat. Perbedaannya terletak pada si
pembangkit kunci.Jika pada pembangkitan kunci algoritma RSA, si penerima
pesan yang membangkitkan kunci, namun pada digital signature algoritma RSA,
si pengirim pesan lah yang membangkitkan kunci. Untuk tahap-tahap
pembangkitan kunci digital signature sama dengan pembangkitan algoitma RSA,
yaitu:
1. Pilih dua bilangan prima sembarang, dan .
2. Hitung .
3. Hitung .
4. Pilih kunci publik e, yang relatif prima terhadap .
5. Bangkitkan kunci pribadi dengan menggunakan .
Hasil dari algoritma tersebut akan menghasilkan dua kunci, yaitu kunci publik
dan kunci pribadi .
56
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Gambar 3.7 Flowchart Pembangkitan Kunci Digital Signature Kriptografi RSA
Start
Bilangan Prima Positif Bilangan Prima Positif
Bukan Prima Tes Miller Rabin
, dengan positif.
, dengan .
, dengan positif.
, dengan .
Jika dan
Print dan prima
A
YA
57
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Gambar 3.8 Flowchart Pembangkitan Kunci Digital Signature Kriptografi RSA
TIDAK
TIDAK
YA YA
B
( ) Algoritma Euclid
A
Pilih relatif prima,
TIDAK
58
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Gambar 3.9 Flowchart Pembangkitan Kunci Digital Signature Kriptografi RSA
B
END
Kunci rahasia
Kunci Publik
Mencari Invers dari b Algoritma Euclid Diperluas
59
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
3.2.3.2Proses Sign Digital Signature
Pada proses sign digital signature, langkah yang dilakukan sama dengan
proses enkripsi pada algoritma RSA. Perbedaannya selain terletak di pembuat
kunci, hasil yang dihasilkannya merupakan nilai dari digital signature. Dan proses
mendapatkan nilai sign digital signature menggunakan kunci privat, berbeda
dengan proses enkripsi yang menggunakan kunci publik. Jika pada tanda tangan
manual, hanya ada satu tanda tangan untuk satu pengirim, namun pada digital
signature bisa banyak nilai tanda tangan karena bergantung pada isi pesan yang
akan dikirim. Berikut adalah langkah pembuatan sign digital signature.
Langkah-langkah dalam melakukan proses enkripsi adalah sebagai berikut:
1. Ambil kunci privat, , yang telah dibangkitkan pengirim dan modulus
.
2. Plainteks dibuat menjadi blok-blok sedemikian sehingga setiap blok merepresentasikan nilai di selang . 3. Nilai digital signature didapat dengan menggunakan rumus berikut:
4. Pengirim mengirim nilai pesan beserta nilai tanda tangan
60
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Gambar 3.10 Flowchart Sign Digital Signature Kriptografi RSA
Start
Kunci Rahasia
Plainteks
Plainteks ASCII (desimal)
Proses Signature dengan Metode Fast Exponentiation
Nilai Tanda Tangan (
END
Nilai Tanda Tangan dikirim
YA
61
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
3.2.3.3Proses Verifikasi Digital Signature
Sama halnya dengan proses sign digital signature, langkah dalam proses
verifikasi pun sama dengan proses dekripsi pada algoritma RSA. Namun pada
proses verifikasi, menggunakan kunci public dari pengirim, berbeda dengan
dekripsi algoritma RSA yang menggunakan kunci pribadi dari penerima itu
sendiri. Langkah-langkah dalam melakukan proses verifikasi adalah sebagai
berikut:
1. Penerima pesan menerima nilai pesan beserta tanda tangan pesan
.
2. Setiap blok nilai digital signature diubah menjadi blok dengan
rumus
3. Bandingkan nilai dan , apabila maka pesan tersebut dapat dipercaya keasliannya.
4. Blok-blok diubah kembali menjadi bentuk huruf dengan kode ASCII.
Berikut merupakan flowchart proses verifikasi digital signature dengan algoritma
62
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Gambar 3.11 Flowchart Verifikasi Digital Signature Kriptografi RSA
YA
Pesan tersebut masih otentik atau masih
utuh
TIDAK
Pesan tersebut tidak otentik atau tidak masih
utuh Plainteks
Kunci Publik Signature
Nilai Verifikasi (
END
Proses Verifikasi dengan Metode Fast Exponentiation
Dekripsi Cipherteks Plainteks
63
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Berikut adalah contoh dari digital signature dengan menggunakan algoritma RSA.
Contoh 3.2.3.4.
Seorang direktur akan mengirimkan sebuah pesan kepada seluruh pegawainya.
Karena pesan tersebut sangat penting, direktur tersebut akan memberikan digital
signature pada pesan yang akan ia sampaikan dengan menggunakan digital
signature algoritma kriptografi RSA untuk menghindari perubahan isi pesan yang
dilakukan pihak tak berwenang. Hal yang pertama dilakukan direktur tersebut
yaitu membangkitkan kunci public dan pribadi. Direktur tersebut memilih
bilangan dan . Dari dua bilangan prima tersebut, didapat
Selanjutnya Direktur tersebut menghitung nilai dengan algoritma Euclid
yang diperluas menjadi
Dari perhitungan tersebut didapat kunci publik dan kunci pribadi berturut-turut
adalah dan
Misalkan pesan (plainteks) yang akan dikirim direktur tersebut
yaitu
atau dalam sistem desimal pengkodean ASCII adalah
A memecah menjadi blok yang lebih kecil, misalkan membagi menjadi
64
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
, direktur tersebut akan menghitung nilai digital signature dari pesan yang akan ia kirim sebagai berikut:
65
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Jadi pesan yang dikirim oleh direktur tersebut adalah
Setelah menerima pesan dari direktur, para karyawan akan mendekripsi pesan dan
memverifikasi pesan tersebut. Langkah pertama adalah mengambil kunci public
dari direktur, yaitu . Dengan kunci public tersebut, karyawan memverifikasi pesan yang dikirim oleh direktur denga cara
dari hasil perhitungan karyawan, maka dapat disimpulkan bahwa keutuhan pesan
tersebut dapat dijamin. Dan dengan mengubah kode tersebut dalam tabel ASCII,
didapat pesan asli dari direktur yaitu
3.3 Keamanan RSA
Pengamanan pesan dengan menggunakan algoritma RSA
didasarkan pada dua masalah matematika,yaitu:
1. Penanganan masalah faktorisasi pada bilangan bilangan yang
66
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
2. Permasalahan perhitungan modulus yang bersesuaian dengan
persamaan . Sampai saat ini, untuk memecahkan algoritma yang paling baik adalah dengan memfaktorkan nilai menjadi nilai dan
sehingga akan didapat nilai sehingga didapat nilai yang didapat dari nilai . Oleh karena itu, sangat disarankan agar
nilai dari dan memiliki panjang 100 digit sehingga menghasilkan nilai
berukuran 200 digit. Dengan cara tersebut, akan sangat menyulitkan
untuk memfaktorkan nilai . Menurut Rivest, Shamir, dan Adleman,butuh
waktu komputasi selama 400 milyar untuk memfaktorkan bilangan
berukuran 200 digit. Meskipun belum ada bukti yang menyatakan bahwa
memfaktorkan nilai merupakan satu-satunya cara untuk membongkar
algoritma RSA, namun tetap saja belum ada metode yang lebih efisien dari
pemfaktoran nilai .
3.4 Kelebihan dan Kekurangan RSA
Dalam penggunaan kriptografi RSA, tentu terdapat eberapa
kekurangan dan kelebihan yang didapat. Sekarang akan dibahas beberapa
kekurangan dan kelebihan serta perbandingan kriptografi RSA dengan
kriprografi lainnya.
Menurut Yudi Retanto dalam artikelnya yang berjudul
“Perbandingan Algoritma RSA dan Diffie-Hellman” terdapat beberapa
perbedaan yang terdapat pada kedua algoritma tersebut.Yang pertama
adalah perbandingan waktu. Menurut penelitian yang dilakukan oleh Yudi
Retanto, didapat rata-rata waktu yang diperlukan algoritma RSA adalah
433,9 ms sedangkan untuk algoritma Diffie-Hellman membutuhkan
rata-rata 318,5 ms. Sehingga dapat dikatakan bahwa kecepatan proses
algoritma Diffie-Hellman lebih baik dari algoritma RSA. Hal ini terjadi
karena algoritma pada kriptografi Diffie-Hellman lebih sederhana
dibandingkan dengan algoritma RSA. Berikut tabel waktu proses dari
67
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
a. Algoritma RSA
Tabel 3.2 Waktu Proses RSA
b. Algoritma Diffie-Hellman.
Tabel 3.3 Waktu Proses Diffie-Hellman
68
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Lalu dari perbandingan tingkat keamanan pun algoritma Diffie-Hellman
lebih unggul dari algoritma RSA. Hal ini karena pada algoritma RSA,nilai
dipublikasikan sehingga ada kemungkinan dibongkar oleh pihak lain sengan cara
pemfaktoran nilai menjadi dan sehingga didapat nilai . Sedangkan pada
algoritma Diffie-Hellman, nilai dan yang dipilih oleh masing-masing pihak
tidak dikirimkan sehingga terjamin keamanannya. Namun dalam efektifitas kunci,
algoritma RSAunggul dari algoritma Diffie-Hellman,karena dalam algoritma
Diffie-Hellman, membutuhkan pertukaran data antar pihak untuk saling
berkomunikasi, sehingga akan butuh data baru dan pertukaran data baru jika ingin
melakukan komunikasi dengan pihak lain. Sedangkan pada algoritma RSA, tidak
perlu lagi melakukan pembangkitan kunci. Setiap pihak cukup mengambil kunci
publik yang telah tersedia tanpa harus melakukan pembangkitan kunci dari awal.
Berikut merupakan proses pembangkitan kunci kriptografi Diffie-Hellman.
Algoritma Diffie Hellman merupakan salah satu algoritma kunci simetris karena
hanya menggunakan kunci pribadi dalam proses enkripsi dekripsinya. Berikut ini
adalah langkah-langkah yang dilakukan:
1. Ada dua pihak yang akan saling berkomunikasi, yaitu A dan B.
2. Untuk berkomunikasi, A dan B perlu mengetahui kunci pribadi
masing-masing.
3. Caranya yaitu A dan B memilih sebuah bilangan prima dan bilangan
bulat dimana dan relatif prima dengan . 4. A memilih satu bilangan acak rahasia lalu menghitung
69
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
5. B juga memilih bilangan acak rahasia lalu menghitung
Menurut penelitian Nikolaus Indra dalam artikelnya yang berjudul
“Analisis dan Perbandingan Kecepatan Algoritma RSA dan Algoritma Elgamal”didapat bahwa waktu proses algoritma RSA lebih baik dibandingkan
dengan algoritma Elgamal. Hal ini dikarenakan proses algoritma pada Elgamal
lebih kompleks daripada algoritma RSA. Berikut tabel waktu proses algoritma
kriptografi RSA dan Elgamal.
a. Algoritma RSA.
Tabel 3.4 Waktu Proses Enkripsi dan Dekripsi RSA
70
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
b. Algoritma Elgamal
Tabel 3.5 Waktu Proses Enkripsi dan Dekripsi Elgamal
Namun karena hal tersebut, tingkat keamanan pesan dengan
algoritma Elgamal lebih baik dari algoritma RSA. Karena kompleksnya
algoritma Elgamal, membuat algoritma Elgamal lebih sulit dipecahkan
daripada algoritma RSA. Untuk perbandingan dalam hal efektifitas,
algoritma RSA lebih unggul dari algoritma Elgamal. Dalam algoritma
RSA,chiperteks yang dihasilkan hanya memiliksatu nilai,sedangkan pada
algoritma Elgamal, chiperteks yang dihasilkan ada dua untuk setiap
bloknya. Berikut sekilas tentang algoritma dari kriptografi Elgamal.
Keamanan kriptografi Elgamal terletak pada tingkat kesulitan
dalam menghitung logaritma diskrit. Logaritma diskrit dalam kriptografi
Elgamal adalah sebagai berikut: terdapat bilangan prima dan terdapat
bilangan bulat dan . Maka harus dicari nilai sedemikian sehingga
Bilangan disebut logaritma diskrit terhadap dengan basis
( ).
Parameter yang dibutuhkan algoritma Elgamal adalah:
1. (tidak rahasia)
2. (tidak rahasia)
3. (rahasia)
4. (tidak rahasia)
Langkah dalam membangkitkan kunci public dan kunci pribadi adalah :
1. Pilih sembarang bilangan prima dan elemen primitif .
71
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
3. Hitung .
4. Publikasikan nilai dan rahasiakan nilai .
dari langkah tersebut, maka akan didapat kunci public dan kunci pribadi yaitu
dan
Setelah mendapatkan kunci public dan kunci pribadi, selanjutnya akan dilakukan
proses enkripsi terhadap plainteks. Proses enkripsi algoritma Elgamal adalag
sebagai berikut:
1. Plainteks dipecah menjadi blok yang kecil . 2. Pilih bilangan acak yang terletak pada nilai . 3. Setiap blok dienkripsi dengan rumus
dan
diperoleh chiperteks . Jadi ukuran chiperteks dua kali dari ukuran plainteksnya.Bilangan ditentukan oleh pengirim dan harus dijaga
kerahasiaannya jadi hanya pengirim saja yang mengetahuinya, tetapi nilai
hanya digunakan saat enkripsi, sehingg tidak perlu disimpan.
Selanjutnya akan dijelaskan proses dekripsi dari algoritma Elgamal, yaitu:
1. Gunakan kunci privat untuk menghitung . 2. Hitung .
3. Diperoleh plainteks
Contoh :
Misalkan A dan B akan berkomunikasi dengan menggunakan kriptografi Elgamal.
B membangkitkan kunci public dan kunci pribadi dengan memilih bilangan prima
dan elemen primitive . Selanjutnya dipilih dan dihitunh
72
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
diperolehkunci public dan kunci pribadi . Lalu B memberikan kunci kepada A.
Selanjutnya A akan mengirim pesan kepada B yaitu “Temui aku”. Pesan tersebut
akan dienkripsi oleh A dengan menggunakan kunci public dari B. pesan tersebut
jika diubah ke dalam kode ASCII akan menjadi
Pembagian blok sesuai kode dalam tiap kata. Sehingga jika A melakukan proses
enkripsi akan menghasilkan chiperteks yaitu
Tabel 3.6 Proses Enkripsi Menggunakan Kriptografi Elgamal
Berdasarkan tabel tersebut, diperoleh chiperteks sebagai berikut
Chiperteks ini dikirimkan oleh A kepada B.
Selanjutnya B akan melakukan proses dekripsi terhadap chiperteks yang
dikirimkan A, dengan cara sebagai berikut.
73
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Tabel 3.6 Proses Dekripsi Menggunakan Kriptografi Elgamal
Karakter
99 Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan uraian yang telah dijelaskan dalam skripsi mengenai
algoritma kriptografi RSA,diperoleh kesimpulan sebagai berikut.
1. Konsep-konsep matematis yang melandasi pembentukan algoritma
kriptografi RSA adalah divisible, algoritma pembagian, pembagi
persekutuan terbesar, bilangan prima, persamaan kongruen, grup
berhingga, pemetaan, dan Teorema Euler tentang persamaan
kongruen.
2. Cara kerja algoritma kriptografi RSA terdiri dari proses pembangkitan
kunci, proses enkripsi, dan proses dekripsi. Dan cara kerja aplikasi
algoritma kriptografi RSA dalam tanda tangan digital terdiri dari
proses pembangkitan kunci, proses sign digital signature, dan proses
verifikasi digital signature.
3. Implementasi algoritma kriptografi RSA dalam program yang
sederhana, yaitu program algoritma kriptografi RSA, dibuat
menggunakan aplikasi Visual Basic 6.0.
4. Setelah dilakukan analisis dan perbandingan program kriptografi RSA
menggunakan Visual Basic 6.0 yang dibuat penulis dengan program
menggunakan IDE Microsoft Visual Studio 2010 yang dibuat Yudi
Retanto dan Nikolaus Indra didapat hasil berupa kelebihan dan
kekurangan pada program kriptografi RSA menggunakan Visual
Basic 6.0 yang dibuat penulis. Kelebihan dari program kriptografi
RSA menggunakan Visual Basic 6.0 yang dibuat penulis jika
dibandingkan dengan program menggunakan IDE Microsoft Visual
Studio 2010 adalah aspek waktu proses pembangkitan kunci dan
enkripsi yang lebih cepat. Berikut hasil perbandingan waktu proses
100
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
menggunakan Visual Basic 6.0 dengan program menggunakan IDE
Microsoft Visual Studio 2010. Namun, program kriptografi RSA
menggunakan aplikasi Visual Basic 6.0 yang dibuat penulis memiliki
beberapa kekurangan. Karena program tersebut menggunakan tipe
data Double yang terbatas pada
sampai (Negatif) dan
sampai
(positif) sehingga perlu diperhatikan besarnya bilangan prima dan
kunci publik yang akan dipilih. Lalu pada penghitungan nilai kunci
pribadi perlu dihitung secara manual sehingga kurang praktis.
5.2 Saran
Berdasarkan uraian yang telah dijelaskan dan kesimpulan dalam skripsi
mengenai algoritma kriptografi RSA, penulis memberikan beberapa saran sebagai
berikut.
1. Algoritma kriptografi RSA dapat digunakan sebagai salah satu pilihan
dalam menjaga dan mengamankan pesan rahasia karena sulitnya
melakukan faktorisasi terhadap bilangan yang terbentuk dari dua
bilangan prima yang besar sehingga tingkat keamanan algoritma
kriptografi RSA cukup tinggi.
2. Perlu diperhatikan pemilihan bilangan prima dan dua kunci yang
dibangkitkan dalam proses pembangkitan kunci untuk menjaga dari
ancaman serangan-serangan terhadap keamanan algoritma kriptografi
RSA.
3. Meski memiliki keterbatasan pada input bilangan, program kriptografi
RSA dengan menggunakan aplikasi Visual Basic 6.0 yang dibuat
penulis dapat digunakan sebagai alternatif dalam memahami algoritma
kriptografi RSA.
4. Bagi penulis lain yang tertarik untuk membuat sebuah program
sederhana mengenai implementasi dari algoritma kriptografi RSA,
101 Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
DAFTAR PUSTAKA
Ariyus, D. (2008). Awal Sejarah Kriptografi di Dunia. Yogyakarta, STMIK
AMIKOM.
Burton, D. M. (2007). Elementary Number Theory. New York: The McGraw-Hill
Companies, Inc.
Durbin, J. R. (2000). Modern Algebra, an Introduction 4th Edition. New York:
John Wiley & Sons, Inc.
Gallian, J. A. (1998). Contemporary Abstract Algebra 4th Edition. Boston:
Houghton Mifflin Company.
Indra, N. (2011). Analisis dan Perbandingan Kecepatan Algoritma RSA dan
Algoritma Elgamal. Bandung: Institut Teknologi Bandung.
Isaacs, I. M. (1993). Algebra, a Graduate Course. California: Brooks/Cole
Publishing Company.
Laba, L. G. (2011). Penerapan Algoritma RSA dan Rabin dalam Digital
Signature. Bandung: Institut Teknologi Bandung.
Lidl, R dan Pilz, G. (1997). Applied Abstract Algebra 2th Edition. New York:
Springer-Verlag, Inc.
Menezes, A. J., van Oorschot, P. C. , dan Vanstonem S. A. (1996). Handbook of
Applied Cryptography. United States of America: CRC Press, Inc.
Munir, R. (2004). Algoritma RSA dan Elgamal. Bandung: Institut Teknologi
102
Chandra Putra Devha, 2013
Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) Universitas Pendidikan Indonesia | repository.upi.edu | perpustakaan.upi.edu
Retanto, Y. (2011). Perbandingan Algoritma RSA dan Diffie-Hellman. Bandung:
Institut Teknologi Bandung.
Riyanto, M. Z. (2007). Pengamanan Pesan Rahasia Menggunakan Algoritma
Kriptografi Elgamal Atas Grup Pergandaan . Yogyakarta: Universitas
Gadjah Mada.
Sadikin, R. (2012). Kriptografi untuk Keamanan Jaringan dan Implementasinya
dalam Bahasa Java. Yogyakarta: C. V. ANDI OFFSET.
Wahyudin. (2000). Pengantar Aljabar Abstrak. Bandung: CV. Delta Bawean.
Wicaksono, P. A. (2011). Studi Pemakaian Algoritma RSA dalam Proses Enkripsi
dan Aplikasinya. Bandung: Institut Teknologi Bandung.
Zimmermann, P. (2009). AnIntroduction to Cryptography. Santa Clara: Network