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

(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. NIP. 196101121987031003


(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

DAFTAR TABEL ... ix

DAFTAR GAMBAR ... x

DAFTAR LAMPIRAN ... xi

ARTI LAMBANG ... xii

BAB 1 PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah ... 2

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

Tabel 4.6 Waktu Proses Enkripsi RSA dengan aplikasi IDE Visual Studio 2010(**) 97 Tabel 4.7 Perbandingan Waktu Proses Enkripsi Visual Basic 6.0(*) dengan IDE Microsoft Visual Studio 2010 Ultimate(**) ... 97


(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 LAMPIRAN-LAMPIRAN ... 105


(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 kunci publik (public key). Namun algoritma kunci publik (public key) lebih sering


(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 publik. Adapun yang menjadi batasan masalah adalah sebagai berikut :


(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 tangan digital, proses enkripsi dan dekripsi algoritma kriptografi RSA.


(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

Spasi 32 @ 64 ` 96

! 33 A 65 a 97

“ 34 B 66 b 98

# 35 C 67 c 99

$ 36 D 68 d 100

% 37 E 69 e 101

& 38 F 70 f 102

„ 39 G 71 g 103

( 40 H 72 h 104


(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

+ 43 K 75 k 107

, 44 L 76 l 108

- 45 M 77 m 109

. 46 N 78 n 110

/ 47 O 79 o 111

0 48 P 80 p 112

1 49 Q 81 q 113

2 50 R 82 r 114

3 51 S 83 s 115

4 52 T 84 t 116

5 53 U 85 u 117

6 54 V 86 v 118

7 55 W 87 w 119

8 56 X 88 x 120

9 57 Y 89 y 121

: 58 Z 90 z 122

; 59 [ 91 { 123

< 60 \ 92 | 124

= 61 ] 93 } 125

> 62 ^ 94 ~ 126

? 63 _ 95

3.2 Algoritma Kriptografi RSA

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 yaitu, (R)ivest, (S)hamir, dan (A)dleman. RSA merupakan algoritma kunci publik


(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)

2. (tidak rahasia)

3. (rahasia)

4. (kunci enkripsi) (tidak rahasia)

5. (kuni dekripsi) (rahasia)

6. (plainteks) (rahasia)

7. (chiperteks) (tidak 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 .

2. dengan adalah

faktor prima dari .

Berdasarkan sifat dengan bilangan bulat , maka persamaan (1) menjadi

Ganti dengan sehingga

Berdasarkan sifat dan persamaan (3) dikalikan dengan diperoleh

Misalkan dipilih

atau

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 dan dekripsi. Dalam menentukan dua bilangan prima sebagai kunci adalah


(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 .

Contoh 3.1.1.1

Misalkan B akan membangkitkan kunci publik dan kunci pribadi miliknya. B memilih dan (keduanya prima). Selanjutnya B menghitung

dan

B memilih karena relatif prima terhadap . B mengumumkan nilai dan .

Selanjutnya B menghitung nilai dengan algoritma Euclid yang diperluas menjadi

, ,

, ,

, ,


(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

dan

Contoh 3.1.1.2.

Misalkan B akan membangkitkan kunci publik dan kunci pribadi miliknya. B memilih dan (keduanya prima). Selanjutnya B menghitung

dan

B memilih karena relatif prima terhadap . B mengumumkan nilai dan .

Selanjutnya B menghitung nilai dengan algoritma Euclid yang diperluas menjadi

, ,

, ,

, ,

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


(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

Kunci publik dipublikasikan


(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

Nilai-nilai ini masih terletak di selang agar transformasi menjadi satu-ke-satu.

A mengetahui kunci publik B adalah dan . A dapat 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

Nilai-nilai ini masih terletak di selang agar transformasi menjadi satu-ke-satu.

A mengetahui kunci publik B adalah dan . A dapat 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

Akhirnya diperoleh plainteks semula yaitu yang dalam sistem karakter pengkodean ASCII

Contoh 3.2.3.2.

B akan mendekripsi pesan dengan menggunakan kunci pribadi

. Blok-blok chiperteks didekripsikan dengan cara


(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 RSA.


(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 RSA.


(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

dan

Direktur tersebut memilih bilangan karena relatif prima dengan

.

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 12 blok yang berukuran 3 digit


(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

Nilai-nilai ini masih terletak di selang agar transformasi menjadi satu-ke-satu.

Dengan menggunakan kunci pribadi miliknya yaitu dan

, 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

Karena nilai yang dikirim oleh direktur sama dengan nilai yang didapat 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 sangat besar.


(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 algoritma kriptografi RSA dan Diffie-Hellman.


(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

6. Lalu A dan B saling mengirim nilai dan dan menjaga nilai acak masing-masing yaitu dan .

7. A mulai menghitung kunci rahasia yang akan digunakan untuk enkripsi dan dekripsi yaitu dengan menggunakan perhitungan

.

8. B pun mulai menghitung kunci rahasia yang akan digunakan untuk enkripsi dan dekripsi yaitu dengan menggunakan perhitungan

.

9. Maka nilai sehingga A dan B dapat memulai bertukar pesan.

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.

B memiliki kunci dan kunci pribadi . Selanjutnya B melakukan perhitungan 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 pembangkitan kunci dan enkripsi program kriptografi RSA


(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, dapat menggunakan bahasa pemrograman lain serta aplikasi lainnya.


(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 Bandung.


(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 Associates, Inc.


(1)

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.

B memiliki kunci dan kunci pribadi . Selanjutnya B melakukan perhitungan sebagai berikut.


(2)

73

Tabel 3.6 Proses Dekripsi Menggunakan Kriptografi Elgamal

Karakter


(3)

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 pembangkitan kunci dan enkripsi program kriptografi RSA


(4)

100

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, dapat menggunakan bahasa pemrograman lain serta aplikasi lainnya.


(5)

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 Bandung.


(6)

102

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 Associates, Inc.