• Tidak ada hasil yang ditemukan

PENGAMANAN PESAN RAHASIA MENGGUNAKAN ALGORITMA KRIPTOGRAFI RIVEST SHAMIR ADLEMAN (RSA).

N/A
N/A
Protected

Academic year: 2017

Membagikan "PENGAMANAN PESAN RAHASIA MENGGUNAKAN ALGORITMA KRIPTOGRAFI RIVEST SHAMIR ADLEMAN (RSA)."

Copied!
54
0
0

Teks penuh

(1)

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

(2)

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

(3)

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,

(4)

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.

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

Print

Print

Pilih relatif prima,

TIDAK

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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)

(30)

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

(31)

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

(32)

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 .

(33)

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

(34)

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

Print

Print

Pilih relatif prima,

TIDAK

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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

(41)

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:

(42)

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

(43)

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

(44)

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

(45)

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

(46)

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

(47)

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 .

(48)

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

(49)

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.

(50)

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

(51)

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

(52)

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,

(53)

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

(54)

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

Gambar

Tabel 3.1 Kode ASCII
Gambar 3.1 Flowchart Algoritma Pembangkitan Kunci
Gambar 3.2 Flowchart Pembangkitan Kunci Lanjutan
Gambar 3.3 Flowchart Pembangkitan Kunci Lanjutan
+7

Referensi

Dokumen terkait

Pada penelitian ini dilakukan proses kriptografi dengan menggunakan Kombinasi Rivest Shamir Adleman (RSA) dan ElGamal dalam Penyandian Citra Bitmap untuk

Pertukaran data harus bersifat rahasia dikarenakan dalam gambar terdapat berbagai macam informasi penting, agar isi pesan yang dikirimkan tetap rahasia dan tidak

untuk membuka pesan rahasia dengan key yang sama dengan yang digunakan pengirim yang telah dienkrip dan dikirim oleh pengirim.Algoritma kriptografi RSA

Perangkat lunak Kriptografi Modifikasi Algoritma Vigenere Cipher untuk Pengamanan Pesan Rahasia dapat menggunakan kunci berlapis 3 dan menginput 46 karakter yg ada

Pengamanan file dengan kriptografi telah digunakan dalam file pdf, dengan menggunakan algoritma RSA [4], pada penelitian lain algoritma kriptografi RSA dapat digunakan untuk melakukan

Perangkat lunak Kriptografi Modifikasi Algoritma Hill Cipher untuk Pengamanan Pesan Rahasia dapat menggunakan kunci matriks 2x2 untuk melakukan enkripsi dan dekripsi

Untuk menangani masalah tersebut maka diperlukan suatu aplikasi pengamanan data yang dapat mencegah dan mengamankan data-data yang dimiliki dari para pemakai yang tidak berhak

Selanjutnya setelah proses pembangkitan kunci selesai, langkah selanjutnya adalah mengacak pesan rahasia menggunakan kunci yang telah dibuat dan menyisipkannya pada citra