Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

dokumen-dokumen yang mirip
Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

RSA (Rivest, Shamir, Adleman) Encryption

Perhitungan dan Implementasi Algoritma RSA pada PHP

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

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

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Properti Algoritma RSA

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

BAB III ANALISIS DAN PERANCANGAN

Algoritma RSA dan ElGamal

BAB 2 LANDASAN TEORI

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

BAB 3 KRIPTOGRAFI RSA

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN , 1.1. Latar Belakang

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

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

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

BAB III KUNCI PUBLIK

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

BAB III ANALISIS DAN DESAIN SISTEM

Perbandingan Algoritma RSA dan Rabin

Enkripsi Dan Deskripsi Menggunakan Algoritma RSA

BAB 2 TINJAUAN PUSTAKA

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

BAB II TINJAUAN PUSTAKA

BAB 1. Pendahuluan. 1.1 Latar Belakang Masalah

Kriptografi Kunci Rahasia & Kunci Publik

ANALISIS WAKTU ENKRIPSI-DEKRIPSI FILE TEXT MENGGUNAKAN METODA ONE-TIME PAD (OTP) DAN RIVEST, SHAMIR, ADLEMAN (RSA)


BAB 1 PENDAHULUAN Latar Belakang

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

BAB 2 LANDASAN TEORI

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB I PENDAHULUAN 1.1 Latar Belakang

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

VISUALISASI ALGORITMA RSA DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

Perbandingan Algoritma Kunci Nirsimetris ElGammal dan RSA pada Citra Berwarna

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

Manajemen Keamanan Informasi

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

Perbandingan Penggunaan Bilangan Prima Aman Dan Tidak Aman Pada Proses Pembentukan Kunci Algoritma Elgamal

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

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

Pengenalan Kriptografi

BAB II LANDASAN TEORI

I. PENDAHULUAN. Key Words Tanda Tangan Digital, , Steganografi, SHA1, RSA

BAB I PENDAHULUAN. 1.1 Latar Belakang

2.1 Keamanan Informasi

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

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

FAST EXPONENTIATION. 1. Konsep Modulo 2. Perpangkatan Cepat

BAB IV HASIL DAN UJI COBA

KLEPTOGRAFI PADA ALGORITMA KRIPTOGRAFI RSA

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

Public Key Cryptography

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

Studi dan Implementasi Algoritma RSA dan MD5 pada Aplikasi Digital Signature (Studi Kasus pada Sistem Akademik Terpadu (SIAP) STMIK Sumedang)

IMPLEMENTASI ALGORITMA RSA DAN QR CODE UNTUK KEAMANAN TRANSKRIP NILAI DI POLITEKNIK NEGERI LHOKSEUMAWE

BAB III ANALISIS DAN DESAIN SISTEM

Kajian Perhitungan dan Penerapan Algoritma RSA pada Proses Pengamanan Data

MODUL PERKULIAHAN EDISI 1 MATEMATIKA DISKRIT

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

PERANCANGAN SIMULASI MAN IN THE MIDDLE ATTACK PADA ALGORITMA KRIPTOGRAFI RSA DAN PENCEGAHANNYA DENGAN INTERLOCK PROTOCOL NASKAH PUBLIKASI

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA RSA BERBASIS WEB

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

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB II TINJAUAN PUSTAKA

Cryptography. Abdul Aziz

BAB 2 LANDASAN TEORI

Algoritma Kriptografi Modern (AES, RSA, MD5)

TINJAUAN PUSTAKA. Protokol

BAB 2 TINJAUAN TEORETIS

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

METODE ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN ALGORITMA ELGAMAL

Studi dan Implementasi RSA, SHA-1, TimeStamp Untuk penangangan Non Repudiation

PENERAPAN KRIPTOGRAFI DAN STEGANOGRAFI PADA CITRA DIGITAL MENGGUNAKAN ALGORITMA RSA BERBASIS ANDROID

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN. Di era globalisasi saat ini, mendapatkan informasi sangatlah mudah. Setiap

BAB I PENDAHULUAN. Pada tahun 1970-an muncul sebuah alat atau media komunikasi yang bernama Instant

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

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

PENERAPAN ALGORITMA KRIPTOGRAFI ASIMETRIS RSA UNTUK KEAMANAN DATA DI ORACLE

BAB II TINJAUAN PUSTAKA

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

ABSTRAK. Universitas Kristen Maranatha

Kriptosistem Knapsack

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

Transkripsi:

Konsep Enkripsi dan Dekripsi Berdasarkan Kunci Tidak Simetris Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara Dalam tulisan saya pada bulan Agustus lalu telah dijelaskan bagaimana prinsip dari enkripsi dan dekripsi dengan menggunakan kunci simetris. Pada tulisan saya bulan ini saya akan melanjutkan tentang enkripsi dan dekripsi dengan menggunakan kunci tidak simetris atau asymmetric key. Seiring dengan banyaknya aplikasi digital dan bertambahnya pengguna internet, maka informasi yang disimpan dalam data digital juga bertambah. Setiap aplikasi yang baru diperkenalkan di internet biasanya selalu ada celah keamanan, maka semakin banyak aplikasi diinternet, maka makin banyak juga celah celah yang terbuka bagi orang orang yang ingin berbuat jahat. Oleh karena itu faktor keamanan menjadi suatu hal yang serius dalam semua applikasi yang ada di internet, terutama aplikasi aplikasi yang berhubungan dengan keuangan. Salah satu cara untuk melindungi atau mencegah data kita dibaca oleh orang orang yang tidak bertanggung jawab adalah dengan mengenkrip data tersebut. Enkripsi adalah suatu proses untuk merubah sebuah pesan, data atau informasi (biasa disebut plaintext), sehingga informasi tersebut tidak dapat dibaca oleh orang yang tidak bertanggung jawab (ciphertext). Jadi plaintext adalah informasi yang dapat dimengerti dan ciphertext adalah informasi yang tidak dapat dimengerti atau dibaca. Enkripsi adalah bagian dari sebuah ilmu yang disebut kriptologi atau kriptografi. Kriptografi adalah sebuah ilmu yang mempelajari teknik untuk membuat sebuah pesan atau informasi tidak dapat dibaca oleh orang yang tidak berhak. Ada dua teknik yang cukup terkenal dalam kriptografi yaitu: symmetric key encryption dan public key encryption. Symmetric-key encryption atau enkripsi dengan menggunakan kunci simetris sudah ssaya bahas pada bulan Agustus lalu. Pada tulisan ini saya akan membahas enkripsi dengan menggunakan kunci tidak simetris. Ada beberapa kelemahan dari enkripsi dengan menggunakan kunci simetris, yaitu: 1. Distribusi kunci, pada kenyataannya cara atau media untuk memberikan kunci menjadi masalah, sebab apabila data yang sudah dienkrip dan dikirim ke pihak lain, maka kita juga perlu mengirimkan juga kuncinya.

2. Terlalu banyak kunci, setiap kita berkomunikasi atau mengirim data kepada orang yang berbeda, kita juga harus menyediakan kunci yang berbeda beda pula. Ini menimbulkan masalah dalam mengingat atau menyimpan kunci kunci tersebut. 3. Tidak dapat dijamin apakah informasi berasal dari orang yang benar atau tidak apabila kunci tercuri. Oleh karena itu untuk mengatasi masalah tersebut maka diciptakanlah enkripsi dengan cara kunci asimetrik. Pada enkripsi asimetrik dibutuhkan dua buah kunci, yaitu: public key dan private key atau kunci umum dan kunci pribadi. Kunci umum memang kunci yang dibuat untuk disebarkan kepada public. Kunci umum ini digunakan oleh siapa saja yang ingin mengirim data atau pesan kepada orang yang mempunyai kunci umum tersebut. Sedangkan kunci pribadi harus dijaga kerahasiaannya dan digunakan untuk mengdekrip data atau pesan yang diterima. Hal ini dapat dijelaskan pada gambar 1. Gambar 1. Enkripsi dengan kunci umum (diambil dari buku Cryptography and Network Security oleh Stallings)

Salah satu algoritma enkripsi dengan kunci asimetrik yang terkenal adalah Algoritma RSA. Algoritma RSA ini 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. Algoritma ini menghasilkan sepasang kunci yang mana salah satu kunci dapat dijadikan kunci umum dan kunci yang lainnya menjadi kunci pribadi. Faktor yang menyebabkan tingginya tingkat keamanan adalah sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima dimana pemfaktoran ini dilakukan untuk mentukan kunci private. Besaran-besaran yang digunakan pada algoritma RSA: 1. p dan q bilangan prima (rahasia) 2. r = p q (tidak rahasia) 3. m = (p 1)(q 1) (rahasia) 4. PK (kunci enkripsi) (tidakrahasia) 5. SK (kunci dekripsi) (rahasia) 6. X (plainteks) (rahasia) 7. Y (cipherteks) (tidak rahasia) Cara untuk membuat kunci: 1. Tentukan 2 bilangan integer prima besar misal nya kita sebut p dan q. Pilihlah p dan q dengan ukuran besar agar tingkat keamanan semakin besar.misal nya 1024 bit. 2. Tentukan n, dimana n = p*q 3. Tentukan m, dimana m = (p-1)*(q-1) 4. Pilih e yang relatively prime terhadap m. Dimana e relatively prime terhadap m artinya faktor pembagi terbesar keduanya adalah 1, secara matematis disebut gcd(e,m) = 1. (dapat digunakan algoritma Euclid) 5. Cari d, sehingga e*d = 1 mod (m), atau d = (1+nm)/e.Untuk bilangan besar, dapat digunakan algoritma extended Euclid. 6. Kunci publik : e, n Kunci private : d, n Cara untuk enkripsi: Misal B mengenkripsi message M untuk A. Yang harus dilakukan B :

1. Ambil kunci publik A yg otentik (n, e) 2. Representasikan message sbg integer M dalam interval [0,n-1] 3. Hitung C = M ^ e (mod n) 4. Kirim C ke A Cara untuk dekripsi: Untuk mendekripsi A maka yang harus kita lakukan adalah Gunakan kunci pribadi d untuk menghasilkan M = C^(d) (mod n) Contoh enkripsi dan dekripsi dengan kunci umum dan kunci pribadi: Misalkan plainteks yang akan dienkripsikan adalah X = HARI INI Jika dibuat dalam sistem desimal (pengkodean ASCII) adalah H A R I (SPASI) I N I 72 65 82 73 32 73 78 73 Solusi : Pecah X menjadi blok yang lebih kecil, misalnya X dipecah menjadi enam blok yang berukuran 3 digit: x1 = 726 x2 = 582 x3 = 733 x4 = 273 x5 = 787 x6 = 003 (ditambah 0) Proses pemecahan melihat dalam interval [0,n-1] interval [0, 3336] Blok-blok plainteks dienkripsikan sebagai berikut: 726^79 mod 3337 = 215 = y1 582^79 mod 3337 = 776 = y2

733^79 mod 3337 = 1743 = y3 273^79 mod 3337 = 933 = y4 787^79 mod 3337 = 1731 = y5 003^79 mod 3337 = 158 = y6 Jadi, cipherteks yang dihasilkan adalah Y = 215 776 1743 933 1731 158. Deskripsi : 215^1019 mod 3337 = 726 = x1 776^1019 mod 3337 = 582 = x2 1743^1019 mod 3337 = 733 = x3 933^1019 mod 3337= 273= x4 1731^1019 mod 3337= 787= x5 158^1019 mod 3337= 003= x6 Blok plainteks yang lain dikembalikan dengan cara yang serupa. Akhirnya kita memperoleh kembali plainteks semula P = 7265827332737873 yang dalam karakter ASCII adalah P = HARI INI.