Perhitungan dan Implementasi Algoritma RSA pada PHP

dokumen-dokumen yang mirip
Kajian Perhitungan dan Penerapan Algoritma RSA pada Proses Pengamanan Data

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

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

Algoritma RSA dan ElGamal

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

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

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

RSA (Rivest, Shamir, Adleman) Encryption

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

BAB 2 LANDASAN TEORI

Kriptografi Kunci Rahasia & Kunci Publik

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Perbandingan Algoritma RSA dan Rabin

BAB 2 TINJAUAN PUSTAKA

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

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA RSA BERBASIS WEB

BAB 2 LANDASAN TEORI

Public Key Cryptography

BAB III ANALISIS DAN PERANCANGAN

BAB II TINJAUAN PUSTAKA

Properti Algoritma RSA

BAB II LANDASAN TEORI

MODUL PERKULIAHAN EDISI 1 MATEMATIKA DISKRIT

Enkripsi Dan Deskripsi Menggunakan Algoritma RSA

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB 1. Pendahuluan. 1.1 Latar Belakang Masalah

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS

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

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB II TINJAUAN PUSTAKA

Sistem Kriptografi Kunci-Publik

Bab 2: Kriptografi. Landasan Matematika. Fungsi

Perbandingan Algoritma Kunci Nirsimetris ElGammal dan RSA pada Citra Berwarna

BAB 3 KRIPTOGRAFI RSA

Kriptografi Dan Algoritma RSA

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

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

Penggunaan Teori Bilangan dan Kriptografi dalam Peningkatan Keamanan Aplikasi Personal and Group Messaging

BAB 2 LANDASAN TEORI Interaksi Manusia dan Komputer. interaktif untuk digunakan oleh manusia. Golden Rules of Interaction Design, yaitu:

BAB III KUNCI PUBLIK

Algoritma Kriptografi Modern (AES, RSA, MD5)

KRIPTOGRAFI KUNCI PUBLIK

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

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

BAB II LANDASAN TEORI

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

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

BAB 1 PENDAHULUAN Latar Belakang

BAB II TINJAUAN PUSTAKA

2.1 Keamanan Informasi

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

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti

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

Kegunaan Chinese Remainder Theorem dalam Mempercepat dan Meningkatkan Efisiensi Peforma Sistem Kriptografi RSA

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

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

Pengenalan Kriptografi

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

BAB I PENDAHULUAN. Universitas Sumatera Utara

Penerapan Algoritma Modulo dan Bilangan Prima dalam Algoritma Kriptografi Rivest-Shamir-Adleman (RSA)

KLEPTOGRAFI PADA ALGORITMA KRIPTOGRAFI RSA

APLIKASI ENKRIPSI DATA PADA FILE TEKS DENGAN ALGORITMA RSA (RIVEST SHAMIR ADLEMAN)

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

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

Rekayasa Internet. Susmini I. Lestariningati, M.T. Cryptography

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

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

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Rusmala 1, Islamiyah 2

FAST EXPONENTIATION. 1. Konsep Modulo 2. Perpangkatan Cepat

Modifikasi Algoritma RSA dengan Chinese Reamainder Theorem dan Hensel Lifting

VISUALISASI ALGORITMA RSA DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

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

BAB II BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN 1.1. LATAR BELAKANG

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

Manajemen Keamanan Informasi

METODE ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN ALGORITMA ELGAMAL

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

Aplikasi Perkalian dan Invers Matriks dalam Kriptografi Hill Cipher

Analisis Penggunaan Algoritma RSA untuk Enkripsi Gambar dalam Aplikasi Social Messaging

IMPLEMENTASI ALGORITMA BLOWFISH UNTUK ENKRPSI DAN DEKRIPSI BERBASIS WEB

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN , 1.1. Latar Belakang

BAB III ANALISIS DAN DESAIN SISTEM

BAB I PENDAHULUAN 1.1 Latar Belakang

Transkripsi:

Perhitungan dan Implementasi Algoritma RSA pada PHP Rini Amelia Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Sunan Gunung Djati Bandung. Jalan A.H Nasution No. 105, Bandung Email: rini.amelia@student.uinsgd.ac.id Abstrak Algoritma RSA merupakan salah satu kriptografi asimetri, yang menggunakan dua kunci berbeda yaitu kunci public (public key) dan kunci pribadi (private key). Kunci public bersifat tidak rahasia sedangkan kunci pribadi bersifat rahasia. Dalam kriptografi asimetri, dua kunci tersebut diatur sehingga memiliki hubungan dalam suatu persamaan aritmatika modulo. Pada makalah ini akan dibahas bagaimana perhitungan algoritma RSA dan penerapan algoritma rsa menggunakan php. Kata kunci: penerapan, perhitungan, algoritma RSA, php. 1 PENDAHULUAN Enkripsi tidak dirahasiakan dan diketahui umum (sehingga dinamakan juga kunci publik), namun kunci untuk dekripsi bersifat rahasia. Kunci dekripsi dibangkitkan dari beberapa buah bilangan prima bersama-sama dengan kunci enkripsi. Untuk menemukan kunci dekripsi, suatu bilangan non prima harus difaktorkan menjadi faktor primanya. Dalam kenyataannya, memfaktorkan bilangan non prima menjadi faktor primanya bukanlah pekerjaan yang mudah. Belum ada algoritma yang secara efisien yang dapat melakukan pemfaktoran tersebut. Semakin besar bilangan non primanya maka semakin sulit pula pemfaktorannya. Semakin sulit Dari sekian banyak algoritma kriptografi yang pernah dibuat, algoritma yang paling populer adalah algoritma RSA. Algoritma RSA dibuat oleh 3 orang peneliti dari MIT (Massachussets Institute of Technology) pada tahun 1976, yaitu: Ron (R)ivest, Adi (S)hamir, dan Leonard (A)dleman. Algorima

RSA mendasarkan proses enkripsi dan dekripsinya pada konsep bilangan prima dan aritmatika modulo. Kunci enkripsi maupun kunci dekripsi keduanya harus berupa bilangan bulat. Kunci pemfaktorannya, semakin kuat pula algoritma RSA. Algoritma RSA merupakan salah satu kriptografi asimetri, yakni jenis kriptografi yang menggunakan dua kunci yang berbeda : kunci public (public key) dan kunci pribadi (private key). Dengan demikian, maka terdapat satu kunci, yakni kunci publik, yang dapat dikirimkan melalui saluran yang bebas, tanpa adanya suatu kemanan tertentu. Hal ini bertolak belakang dengan kriptografi simetri yang hanya menggunakan satu jenis kunci dan kunci tersebut harus terus terjaga keamanan serta kerahasiaannya. Dalam kriptografi asimetri, dua kunci tersebut diatur sedemikian sehingga memiliki hubungan dalam suatu persamaan aritmatika modulo. Pada makalah ini akan dibahas bagaimana perhitungan algoritma RSA dan penerapan algoritma rsa menggunakan php. 2 DASAR TEORI Kriptografi adalah komputasi integer dengan Aritmatika Modulo. Operator yang digunakan pada aritmatika modulo adalah mod [1]. Operator mod memberikan sisa pembagian dari bilangan bulat. Misalkan a adalah bilangan bulat dan m adalah bilangan bulat > 0. Operasi a mod m memberikan sisa pembagian dari a dan m. Dapat dikatakan pula bahwa a mod m = r, sedemikian sehingga a = mq + r, dimana 0 r < m. Jika terdapat bilangan bulat a dan b sedemikian sehingga keduanya mempunyai sisa yang sama jika dibagi dengan bilangan bulat positif m, maka a dan b adalah kongruen dalam modulo m dan dilambangkan dengan a b (mod m). Operator mod juga digunakan dalam persamaan berdasarkan teorema Fermat, yakni a p 1 1 (mod p), dengan p adalah bilangan prima dan a adalah bilangan bulat yang tidak habis dibagi dengan p. Aritmatika Modulo nantinya akan banyak dipergunakan pada pembahasan selanjutnya. Kriptografi adalah seni dan ilmu dalam menuliskan pesan rahasia, artinya suatu informasi diubah sedemikian sehingga menjadi tidak dapat dimengerti oleh orang yang tidak diinginkan untuk mengetahui informasi tersebut. Namun, perubahan informasi tersebut harus dapat dikembalikan seperti semula (reversible) agar dapat dibaca oleh orang yang berhak. Penyandiaan pesan tersebut

selanjutnya dinamakan cipher atau cryptosystem. Chiper adalah sepasang fungsi yang tidak dapat dibalik, yakni k fv(enciphering function) dan k (deciphering function). Fungsi k f memetakan elemen xdalam himpunan S menjadi elemen k f (x) dalam himpunan T, sehingga mencari pemetaan balikan (inverse) menjadi sangat sulit tanpa mengetahui k. Elemen dari S disebut sebagai plaintext dan elemen dari T disebut sebagai ciphertext. Fungsi k g adalah balikan (inverse) dari k f. k yang disebut juga sebagai deciphering key (kunci dekripsi). Jika k = k, atau k sangatlah gampang untuk dihitung dengan memanfaatkan nilai k, maka kriptografi yang dipakai disebut dengan symmetric cryptography (kriptografi simetri) dan kunci dari kriptografi ini disebut secret key (kunci rahasia). Namun, jika k sangat sulit untuk diketahui, walaupun dengan mengetahui k, maka kriptografi yang dipakai disebut dengan asymmetric cryptography (kriptografi asimetri) dan k disebut sebagai public key (kunci publik) dan k disebut dengan private key (kunci pribadi). Proses enkripsi dan dekripsi seperti ditunjukkan pada Gambar 1 2.1 Kriptografi Simetri Kriptografi simetri adalah metode enkripsi dimana pengirim dan penerima pesan memiliki kunci yang sama, atau dalam beberapa kasus kedua kunci berbeda namun mempunya relasi dengan perhitungan yang mudah. Studi modern terfokuskan pada block cipher dan stream cipher serta aplikasinya. Block cipher adalah aplikasi modern dari Alberti s polyphabetic cipher. Block cipher menerima masukan berupa blok plaintext dan sebuah kunci dan kemudian menghasilkan keluaran blok ciphertext dengan ukuran yang sama. Dikarenakan pesan yang dikirim hampir selalu lebih panjang dari single block (blok tunggal), maka diperlukan metode penggabungan beberapa blok. Data Encryption Standard (DES) dan Advanced Encryption Standard (AES) adalah contoh block ciphers yang dijadikan standar kriptografi oleh pemerintahan Amerika Serikat.

Dalam kriptografi asimetri, kunci public dapat secara bebas disebarluaskan, sedangkan kunci pribadi harus senantiasa dijaga kerahasiaa nnya. Kunci public digunakan untuk enkripsi, sedangkan kunci pribadi digunakan untuk dekripsi. Diffie dan Hellman membuktikan bahwa kriptografi asimetri adalah mungkin dengan menerapkan protokol pertukaran kunci Diffie- Hellman. 3.PEMBAHASAN 3.1Perhitungan dan Penerapan Algoritma RSA pada PHP Gambar 2 : pembangkitan kunci rsa Gambar 1 : pembangkitan kunci rsa Gambar 3 : enkripsi

5. d (kunci dekripsi) (rahasia) 6. m (plainteks) (rahasia) 7. c (cipherteks) (tidak rahasia) Proses Enkripsi Proses Dekripsi Langkah1 : Tentukan p dan q (termasukbilangan prima) p = 7 q = 13 Langkah2 : Gambar 4 : deskripsi Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktorfaktor prima. Pemfaktoran dilakukan untuk memperoleh kunci pribadi. Selama pemfaktoran bilangan besar menjadi faktorfaktor prima belum ditemukanalgoritma yang mangkus, maka selama itu pula keamanan algoritma RSA tetap terjamin. Besaran-besaran yang digunakan pada algoritma RSA: [5] 1. p dan q bilangan prima (rahasia) 2. n = p q (tidak rahasia) 3. φ(n ) = (p 1)(q 1) (rahasia) 4. e (kunci enkripsi) (tidak rahasia) n = p x q = 7 x 13 = 91 Langkah3 : totient (n) = (p-1)(q-1) = (7-1)(13-1) = 72 nilaidari e yang relatif prima terhadaptotient (n), kitapilih 5, karena 5 relatif prima terhadap 91. Maka di dapatkan e = 5 Langkah4 : Hitungnilai d denganmenggunakanalgoritm aeuclid yang diperluas, denganteknik :

72 = 14 x 5 + 2 5 = 2 x 2 + 1 2 = 2 x 1 + 0 n = 1, a1 = 5, q1 = 14 n = 2, a2 = 2, q2 = 2 m4 = 72 m5 = 65 m6 = 82 m7 = 84 m8 = 79 n = 3, a3 = 1, q3 = 2 t0 = 0; t1 = 1; t2 = t0 q1.t1 = 0 14(1) = - 14 = 58 t3 = t1 q2.t2 = 1 2(-14) = 29 Kesimpulan : e = 5, n = 91 d = 29, n = 91 Diketahui plainteks :SOEHARTO ENKRIPSI c = c1 = c2 = c3 = c4 = c5 = c6 = 10 c7 = c8 = RUMUS ENKRIPSI c = e = 5, n = 91 d = 29, n = 91 m1 = 83 m2 = 79 m3 = 69 DESKRIPSI m = m1 = m2= 79 m3 = 69

m4 = 72 m5 = 65 m6 = 82 m7= 84 m8 = 79 HASIL DESKRIPSI : SOEHARTO 2. IMPLEMENTASI ALGORITMA RSA PADA PHP Gambar 6 : Tampilan Proses Hasil Input Kunci Gambar 5 : Tampilan Input Kunci

Gambar 7 : tampilan proses enkripsi Gambar 7 : tampilan proses deskripsi Kekuatan dan Keamanan RSA Keamanan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi faktor primanya, yang dalam hal ini n = p q. Sekali n berhasil difaktorkan menjadi p dan q, maka φ(n) = (p 1) (q 1) dapat dihitung. Penemu algoritma RSA menyarankan nilai p dan q panjangnya lebih dari 100 digit.dengan demikian hasil kali n = p q akan berukuran lebih dari 200 digit. Menurut Rivest dan kawankawan, uasaha untuk mencari faktor bilangan 200 digit membutuhkan waktu komputasi selama 4 milyar tahun! (dengan asumsi bahwa algoritma pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang dipakai mempunyai kecepatan 1 milidetik). Untunglah algoritma yang paling mangkus untuk memfaktorkan bilangan yang besar belum ditemukan. Inilah yang membuat algoritma RSA tetap dipakai hingga saat ini. Selagi belum ditemukan algoritma yang mangkus untuk memfaktorkan bilangan bulat menjadi faktor primanya, maka algoritma RSA tetap direkomendasikan untuk menyandikan pesan.

4. SIMPULAN Berdasarkan hasil analisis dan perhitungan algoritma RSA dapat disimpulkan bahwa: Keamanan algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan non prima menjadi factor primanya, yang dalam hal ini n = p q. Semakin tinggi angka yang digunakan maka akan semakin sulit pula pesan/sandi dapat ditebak oleh pihak ketiga. DAFTAR KEPUSTAKAAN [1] http://en.wikipedia.org/wiki /Cryptography, Cryptography, [2] Munir, Rinaldi. (2004). Kriptografi, Departemen Teknik Informatika,ITB.