APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA RSA BERBASIS WEB

dokumen-dokumen yang mirip
RSA (Rivest, Shamir, Adleman) Encryption

Perhitungan dan Implementasi Algoritma RSA pada PHP

BAB 1. Pendahuluan. 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi


BAB I PENDAHULUAN 1.1. Latar Belakang

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

BAB II LANDASAN TEORI

Algoritma RSA dan ElGamal

BAB 2 LANDASAN TEORI

Penerapan Algoritma Kriftografi Rives Shamir Adleman (RSA) Pada Sebuah Image

PENGAMANAN DOKUMEN MENGGUNAKAN METODE RSA (RIVEST SHAMIR ADLEMAN)BERBASIS WEB

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal

BAB 2 LANDASAN TEORI

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

VISUALISASI ALGORITMA RSA DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

BAB III KUNCI PUBLIK

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

Adi Shamir, one of the authors of RSA: Rivest, Shamir and Adleman

BAB I PENDAHULUAN. Pengiriman informasi yang dilakukan dengan mengirimkan data tanpa melakukan

Enkripsi Dan Deskripsi Menggunakan Algoritma RSA

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

Analisis dan Implementasi Penerapan Enkripsi Algoritma Kunci Publik RSA Dalam Pengiriman Data Web-form

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

BAB 2 LANDASAN TEORI

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB Kriptografi

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA VIGENERE CIPHER ASCII BERBASIS JAVA Rizki Septian Adi Pradana 1), Entik Insanudin ST MT 2)

BAB I PENDAHULUAN , 1.1. Latar Belakang

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

Analisis Penggunaan Algoritma RSA untuk Enkripsi Gambar dalam Aplikasi Social Messaging

DESAIN DAN IMPLEMENTASI PRETTY GOOD PRIVACY (PGP) UNTUK KEAMANAN DOKUMEN PADA PT PUTRA JATRA MANDIRI PALEMBANG

BAB 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

BAB III METODOLOGI PENELITIAN. ditemukan oleh Rivest, Shamir dan Adleman (RSA) pada tahun

Algoritma Kriptografi Kunci-publik RSA menggunakan Chinese Remainder Theorem

BAB IV HASIL DAN UJI COBA

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB I PENDAHULUAN. dengan cepat mengirim informasi kepada pihak lain. Akan tetapi, seiring

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB

Perbandingan Algoritma Kunci Nirsimetris ElGammal dan RSA pada Citra Berwarna

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

BAB III ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN Latar belakang

Implementasi Keamanan SMS Dengan Algoritma RSA Pada Smartphone Android

BAB 3 KRIPTOGRAFI RSA

Perbandingan Algoritma RSA dan Rabin

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

MEMBANGUN APLIKASI KEAMANAN DATA TEKS DENGAN METODE RSA CRT BERBASIS ANDROID

IMPLEMENTASI ALGORITMA VIGENERE CIPHER DAN RIVEST SHAMMER ADLEMAN (RSA) DALAM KEAMANAN DATA TEKS

BAB III ANALISA DAN PERANCANGAN SISTEM

Properti Algoritma RSA

BAB II TINJAUAN PUSTAKA

BAB II BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN 1.1 Latar Belakang

2017 Ilmu Komputer Unila Publishing Network all right reserve

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

Modifikasi Affine Cipher Dan Vigènere Cipher Dengan Menggunakan N Bit

Tanda Tangan Digital Majemuk dengan Kunci Publik Tunggal dengan Algoritma RSA dan El Gamal

PENGGUNAAN ALGORITMA KRIPTOGRAFI POHLIG HELLMAN DALAM MENGAMANKAN DATA

Aplikasi Laporan Keuangan Akuntansi Bulog-Jakarta Menggunakan Algoritma MD5 dan RSA

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

BAB III ANALISIS DAN DESAIN SISTEM

Rancangan dan Implementasi Algoritma Pembangkitan Kunci Kombinasi antara Algoritma RSA dan ElGamal

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB III ANALISIS. Pada tahap analisis, dilakukan penguraian terhadap topik penelitian untuk

BAB 3 ANALISIS DAN PERANCANGAN. utuh ke dalam bagian-bagian komponennya dengan maksud untuk

Pengaman Pengiriman Pesan Via SMS dengan Algoritma RSA Berbasis Android

Metode Enkripsi RSA. Swastyayana Wisesa ) 1) Jurusan Teknik Informatika ITB, Bandung,

IMPLEMENTASI ALGORITMA RSA UNTUK PENGAMANAN DATA BERBENTUK TEKS

KOMBINASI ALGORITMA DES DAN ALGORITMA RSA PADA SISTEM LISTRIK PRABAYAR

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI-DEKRIPSI CITRA DIGITAL BERWARNA

ANALISA KRIPTOGRAFI KUNCI PUBLIK RSA DAN SIMULASI PENCEGAHAN MAN-IN-THE-MIDDLE ATTACK DENGAN MENGGUNAKAN INTERLOCK PROTOCOL

Transkripsi:

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA RSA BERBASIS WEB Enung Nurjanah Teknik Informatika UIN Sunan Gunung Djati Bandung email : enungnurjanah@students.uinsgd.ac.id Abstraksi Cryptography adalah suatu ilmu ataupun seni mengamankan pesan, dan dilakukan oleh cryptographer. data-data yang diamankan meliputi beberapa aspek seperti aspek keamanan pesan seperti kerahasiaan, integritas data, serta otentikasi. Salah satu algoritma kriptografi yang sering digunakan dalam proses pengamanan data yaitu algoritma RSA. RSA merupakan kependekan dari nama-nama penemu algoritma ini yaitu Ron, Shamir dan Adleman. RSA adalah salah satu algoritma yang menggunkan konsep kiptografi kunci publik (asimetri / kunci yang digunakan untuk mengenkripsi berbeda dengan yang digunakan untuk mendekripsi). Pada jurnal ini, penulis membahas kode program dan algortima RSA berdasarkan tabel ASCII menggunakan bahasa pemrograman PHP. Kata Kunci : Kritografi, RSA, ASCII, PHP I. Pendahuluan Kata kriptografi berasal dari bahasa Yunani, dan berasal dari dua kata yaitu crypto dan graphia. Crypto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain. Secara umum ada dua tipe algoritma kriptografi berdasarkan kuncinya yaitu algoritma simetris dan algoritma asimetris. Algoritma simetris adalah algoritma yang memiliki kunci enkripsi dan dekripsi yang sama, sedangkan untuk algoritma asimetris terdiri atas dua buah kunci yaitu kunci publik untuk melakukan enkripsi sedangkan kunci pribadi untuk melakukan dekripsi. Dalam algoritma kunci asimetris, kunci yang didistribusikan adalah kunci publik yang tidak diperlukan kerahasiaanya sedangkan kunci pribadi tetap disimpan atau tidak didistribusikan. Setiap orang yang memiliki kunci publik dapat melakukan proses enkripsi tetapi hasil dari enkripsi tersebut hanya bisa dibaca oleh orang yang memiliki kunci pribadi. Algortima termasuk dalam kategori algorita asimetris, dimana kunci yang digunakan untuk mengenkripsi berbeda dengan yang digunakan untuk mendekripsi. berdasarkan sejarah algoritma ini dijabarkan tahun 1997 oleh Ron Rivest, Adi Shamir dan Len Adleman dari Massachusetts Institute of Techlologi. Algoritma tersebut dipatenkan oleh Massachusetts institute of Technologi pada tahun 1983 di amerika serikat sebagai U.S Patent 4.405.829. paten tersebut berlaku hingga 21 September 2000. semenjak algortima RSAdipublikasikan sebagai apliaksi paten, regulasi di sebagian besar Negara-negara lain tidak memungkinkan penggunaan paten. Ciri-ciri kriptografi kunci asimetri: Kunci enkripsi tidaksama dengan kunci dekripsi Algoritma kriptografinya disebut algoritma asimetri Contoh algoritma: RSA, Elgamal, dll. Konsep algoritma Asimetri dapat digambarkan dengan gambar berikut ini. 1

Gambar 1. Skema Algoritma Asimetri Proses Generate Key adalah proses untuk membangkitkan kunci yang digunakan untuk proses enkripsi maupun dekripsi. Rancangan proses generate key dapat dilihat pada Gambar 2. Algoritma Kriptografi RSA menggunakan beberapa persamaan dalam melakukan proses generate key, proses enkripsi dan dekripsi A. Generate kay Algoritma Kriptografi RSA memerlukan sepasang kunci yang dibangkitkan dengan memilih bilangan prima p dan q, beberapa besaran yang digunakan dalam mengenerate kunci RSA yaitu : Besaran p dan q (bilangan prima) n = p x q Totient(n) = (p - 1)(q - 1) e (Kunci Enkripsi) d (Kunci Dekripsi) m (Plaintext) c (Ciphertext) Sifat Tidak Tidak Tidak B. Proses Enkripsi Proses enkripsi merupakan proses untuk menyandikan kalimat plaintext yang kita miliki. cara melakukannnya yatiu dengan menggunakan formula c = p^e mod n; dimana e merupakan ciphertext, p (plaintext), e merupakan kunci enkripsi, dan n merupakan kunci public. C. Proses Dekripsi Proses dekripsi merupakan proses untuk mengembalikan kalimat yang telah disandikan menjadi kalimat dalam bentuk yang dapat dipahami. formula yang digunakan yaitu p = c ^ d mod n, dimana p merupakan plaintext, c (ciphertext), d (kunci dekripsi) dan n merupakan kunci public. II. A. Generate Key Metode Penelitian Gambar 2. Diagram alir proses B. Proses Enkripsi Proses enkripsi merupakan proses untuk mengubah data sumber menjadi file ciphertext dengan menggunakan nilai-nilai kunci enkripsi dan kunci publik yang dihasilkan dari proses

generate key. Rancangan proses enkripsi dapat dilihat pada Gambar 3. keamanan data yang siap untuk digunakan. Form utama merupakan halaman awal aplikasi kriptografi yang terdiri atas berbagai macam menu yang digunakan untuk membuka halaman-halaman lain yang berkaitan. Tampilan halaman utama aplikasi sistem kriptografi RSA dapat dilihat pada Gambar 5. Gambar 5. Tampilan halaman Utama Gambar 3. Diagram Alur Proses Enkripsi C. Proses Dekripsi Proses dekripsi adalah proses untuk mengembalikan ciphertext kedalam bentuk plaintext, dengan menggunakan kunci pribadi dekripsi dan kunci public. Rancangan proses dekripsi dapat dilihat pada Gambar 4. B. Generate Kunci Hal yang harus dilakukan pertama kali dalam proses mengenerate kunci yaitu dengan menginputkan dua bilangan prima yatiu p dan q, kemudian setelah menginputkan bilangan prima p dan q, aplikasi akan menghitung kunci public (n), kunci enkripsi ( c) dan kunci dekripsi (d). Form Generate key dapat dilihat pada form gamb 6. Gambar 6. Tampilan generate key Gambar 3. Diagram Alur Proses Enkripsi III. Hasil dan Pembahasan A. Halaman Utaman Setelah proses perancangan dilakukan maka dihasilkan sebuah aplikasi sistem Proses Generate kunci ini dilakukan dengan menggunakan cara sebagai berikut : 1. Pilih bilangan prima p (misal : p = 13 ) dan pilih bilangan prima q (misal : q = 17) 2. Hitung nilai untuk kunci public n dengan formula : n = p x q = 13 x 17 = 221 3. Hitung totien n dengan formula : t(n)= (p-1)(q-1) = (13-1)(17-1) = 192

4. Pilih kunci e yang merupakan bilangan yang relative prima terhadap t(n) misal, e=5. 5. Cari kunci d dengan menggunakan algoritma eucleadean yang di perluas, yaitu dengan cara berikut : 192 = 38 x 5 + 2 5 = 2 x 2 + 1 2 = 2 x 1 + 0 n = 1, a1 = 5, q1 = 38 n = 2, a2 = 2, q2 = 2 n = 3, a3 = 1, q3 = 2 t0 = 0; t1 = 1; t2 = t0 q1.t1 = 0 38(1) = -38 t3 = t1 q2.t2 = 1 2(-38) = 77 didapatkan kunci d = 77 6. didapatkan kunci n (public) = 221 e (enkripsi) = 5 d (dekripsi) = 77 Perose generate key merupakan tahapan paling penting dalam proses enkripsi dan dekripsi dengan menggunakan algoritma RSA, karena pada tahap ini adalah tahap untuk mencari kunci yang dapat digunakan untuk enkripsi dan dekripsi. Berdasarkan percobaan jika bilangan yang diambil untuk p dan q bukan bilangan prima maka hal ini akan berdampak pada peroses dekripsi yaitu data yang telah di enkripsi tidak dapat di kembalikan menjadi bentuk plaintext, hal ini dikarenakan pada saat penghitungan mencari kunci d dengan menggunakan algoritma eucleadean, disitu yang dicari adalah bilangan FPB dengan cara membagi bilangan dari totien n dengan bilangan kunci e hingga sisa pembagiannya bernilai 0, nilai dari FPB nya kembali menjadi nilai totien n. C. Proses Enkripsi Setelah kunci enkripsi dan kunci public didapatkan, proses selanjutnya yatiu melakukan enkripsi, dalam hal ini enkripsi yang dilakukan berupa data text. prosesnya yairu inputkan text yang akan di enkripsi, kemudian inputkan kunci public dan kunci enkripsinya. Form enkripsi dapat dilihat pada gambar berikut : Gambar 7. Form proses Enkripsi Output ciphertext yang dihasilkan yaitu dalam bentuk bilangan decimal, untuk memisahkan tiap katanya digunakan tanda titik, sehingga dalam proses dekripsi aplikasi akan lebih mudah dalam proses penghitungan serta pengembalian dalam bentuk plaintext. Proses dekripsi dilakukan dengan menggunakan formula : c = Keterangan : c = Ciphertext m = Plaintext e = kunci enkripsi n = kunci public Contoh enkripsi kata SAYA c1 = 70 c2 = c3 = c4 = Kata SAYA setelah di enkripsi menjadi 70.182.72.182. D. Proses Dekripsi Peroses dekripsi atau proses pengembalian data yang telah disandikan kedalah bentuk plaintext, yaitu dilakukan dengan cara menginputkan ciphertext pada textarea decription, kemudian inputkan kunci public dan inputkan kunci dekripsinya. Form Proses dekripsi dapat digambarkan dengan gambar berikut : Gambar 8. Form Dekripsi

Setelah di dekripsi kalimat ciphertext kembali lagi menjadi kaliamt plaintext yang dapat di baca. Teknik Dekripsi dilakukan dengan menggunakan formula : m = Keterangan : c = Ciphertext m = Plaintext e = kunci enkripsi n = kunci public Contoh proses Dekripsi mengembalikan ciphertext 70.182.72.182. Untuk menghitung perpangkatan yang jumlahnya terlalu banyak, gunakan algoritma sequre and multiply, Langkah-langkahnya yatiu : Langkah-langkahnya : - Binerkan kunci d (yang menjadi pangkatnya). - Pangkatkan nilai biner dari d satu per satu dengan 2, kemudian kalikan dengan nilai m. - Hasil perhitungan pada langkah kedua moduluskan dengan nilai n. - Ambil hasil akhir dari baris paling akhir. Contoh biner dari kunci d = 221 adalah 11011101, prosesnya dijelaskan pada tabel dibawah ini : Untuk ciphertext 70 : c1 = 70 IV. Simpulan Simpulan yang diperoleh setelah melakukan perancangan, pembuatan dan pengujian program Sistem Kriptografi RSA yaitu: 1. Algoritam RSA cukup mudah untuk diterapkan dalam proses penyembunyian informasi, dengan tingkat keamanan yang cukup kuat, bahkan menurut penemu dari algoritma ini, jika bilangan prima untuk p dan q berkisar 200 digit, maka butuh 400 milyar tahun untuk memfaktorkannya. hal ini menunjukan jika algoritma RSA cukup baik dalam proses pengamanannya. 2. Untuk membangun kunci pada Algoritma RSA tidak dapat digunakan dengan menggunakan bilangan selain bilangan prima, karena hal ini akan berdampak pada proses penghitungan kunci dekripsi. Daftar Pustaka Devha, C. P. (2013). Pengamanan Pesan menggunakan Algoritma RIvher Shank Adleman (RSA). Bandung: perpustakaan.upi.edu. Munir, R. (2010). Matematika Diskrit. Bandung: Informatika. Tamam, M. T. (2010). Penerapan Algoritma Kriptografi ElGamal. Jurnal EECCIS Vol. IV, No. 1, Juni 2010, 13. Biner Proses Hasil (mod n=221) 1 1^2 x 70 70 1 70 ^2 x 70 8 0 70 ^ 2 38 1 38 ^2 x 70 83 1 82 ^2 x 70 8 1 8 ^2 x 70 59 0 70 ^ 2 38 1 38 ^2 x 70 83 83 Lakukan proses diatas sampai ditemukan plaintext dari semua ciphertext, seperti berikut ini : m1 = 83 m2 = m3 = m4 =