BAB III KUNCI PUBLIK

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

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Kriptografi Kunci Rahasia & Kunci Publik

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

Perhitungan dan Implementasi Algoritma RSA pada PHP

BAB II TINJAUAN PUSTAKA

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II LANDASAN TEORI

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

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA RSA BERBASIS WEB

BAB II LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 3 KRIPTOGRAFI RSA

BAB 2 LANDASAN TEORI

PENERAPAN TEORI BILANGAN DALAM ALGORITMA ENKRIPSI PADA PRETTY GOOD PRIVACY (PGP)

BAB 1. Pendahuluan. 1.1 Latar Belakang Masalah

Properti Algoritma RSA

Kriptografi. A. Kriptografi. B. Enkripsi

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

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


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

Penggunaan Digital Signature Standard (DSS) dalam Pengamanan Informasi

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

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

Tandatangan Digital. Yus Jayusman STMIK BANDUNG

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1. LATAR BELAKANG

Perbandingan Algoritma Kunci Nirsimetris ElGammal dan RSA pada Citra Berwarna

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

APLIKASI TEORI BILANGAN DALAM KRIPTOGRAFI KUNCI PUBLIK DAN ALGORITMA DIFFIE-HELLMAN

BAB 1 PENDAHULUAN Latar Belakang

Algoritma RSA dan ElGamal

Modifikasi Algoritma RSA dengan Chinese Reamainder Theorem dan Hensel Lifting

BAB 2 TINJAUAN PUSTAKA

FAST EXPONENTIATION. 1. Konsep Modulo 2. Perpangkatan Cepat

Public Key Cryptography

BAB I PENDAHULUAN. keamanannya. Oleh karena itu, dikembangkan metode - metode kriptografi file

IMPLEMENTASI ALGORITMA RSA UNTUK PENGAMANAN DATA BERBENTUK TEKS

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

BAB 2 LANDASAN TEORI

KRIPTOGRAFI KUNCI PUBLIK

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

Sistem Kriptografi Kunci-Publik

BAB I PENDAHULUAN. Perkembangan teknologi saat ini sangat pesat sekalidenganbanyaknya

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

2.1 Keamanan Informasi

BAB 2 LANDASAN TEORI

Skema Boneh-Franklin Identity-Based Encryption dan Identity-Based Mediated RSA

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB II LANDASAN TEORI

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB IV HASIL DAN UJI COBA

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

Manajemen Keamanan Informasi

BAB I PENDAHULUAN. 1.1 Latar Belakang

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

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

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

BAB I PENDAHULUAN , 1.1. Latar Belakang

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

Perbandingan Algoritma RSA dan Rabin

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

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

Penerapan Digital Signature pada Dunia Internet

Security Sistem Informasi.

BAB 2 TINJAUAN PUSTAKA

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

Analisis Implementasi Algoritma Kunci Publik pada Tanda Tangan Digital

+ Basic Cryptography

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Rusmala 1, Islamiyah 2

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB 2 TINJAUAN TEORETIS

Analisis Penggunaan Algoritma RSA untuk Enkripsi Gambar dalam Aplikasi Social Messaging

VISUALISASI ALGORITMA RSA DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

Integrasi Kriptografi Kunci Publik dan Kriptografi Kunci Simetri

BAB III ANALISIS DAN DESAIN SISTEM

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

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

Enkripsi Dan Deskripsi Menggunakan Algoritma RSA

KRIPTOGRAFI. Oleh : Suyatno Budiharjo Page 1

Analisis dan Implementasi Serangan Kunci secara Konkuren pada Algoritma RSA

BAB 2 TINJAUAN PUSTAKA

ENKRIPSI DAN DEKRIPSI (II)

Analisis dan Perbandingan Kecepatan Algoritma RSA dan Algoritma ElGamal

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

MODEL KEAMANAN INFORMASI BERBASIS DIGITAL SIGNATURE DENGAN ALGORITMA RSA

BAB II TINJAUAN PUSTAKA

Transkripsi:

BAB III KUNCI PUBLIK Kriptografi dengan metode kunci publik atau asimetri merupakan perkembangan ilmu kriptografi yang sangat besar dalam sejarah kriptografi itu sendiri. Mekanisme kriptografi dengan model konvensional lebih didasarkan pada teknik substitusi dan permutasi dengan kunci yang sama. Hal ini sangat memungkinkan bagi cryptoanalyst untuk dengan mudah memecahkan algoritma konvensional. Metode enkripsi kunci publik menawarkan keamanan yang lebih tinggi dan lebih kompleks daripada metode konvensional. Metode kunci publik tidak hanya berdasar pada subtitusi dan permutasi saja, tetapi juga perhitungan matematik. Yang lebih penting lagi, metode kunci publik menggunakan dua buah kunci yang berbeda. Dengan penggunaan dua kunci, kerahasiaan, distribusi kunci dan otentifikasi semakin dapat ditingkatkan keamanannya. Namun, pada dasarnya kita tidak dapat mengatakan bahwa metode kunci publik lebih aman daripada metode konvensional. Keamanan, selain ditunjang oleh algoritma yang dipakai untuk enkripsi, ditentukan juga oleh panjangnya kunci dan komputasinya. Hanya saja metode kunci publik lebih memungkinkan untuk menggunakan kunci yang lebih bervariatif. 3.1. Prinsip Kerja

Metode enkripsi kunci publik membutuhkan dua buah kunci di dalam algoritmanya, yaitu kunci publik dan kunci pribadi. Kunci publik digunakan untuk mengenkripsi plaintext menjadi ciphertext dan kunci ini tidak terlalu bersifat rahasia sehingga dapat diketahui oleh banyak orang. Kunci pribadi digunakan untuk mendekripsi ciphertext menjadi plaintext dan kunci ini bersifat rahasia sehingga hanya user saja yang boleh mengetahui kunci ini. Secara umum, prinsip kerja dari metode kunci publik dapat dijelaskan sebagai berikut : 1. Setiap user masing masing membuat sepasang kunci untuk pesan yang akan diterimanya, yaitu kunci publik dan kunci pribadi. 2. Setiap user mengumumkan kunci publiknya masing masing sehingga user lain yang akan mengirim pesan kepada user tersebut dapat mengenkripsi pesannya dengan menggunakan kunci publik dari user yang akan dikirimi. 3. Jika A ingin mengirim pesan kepada user B, maka user A harus menggunakan kunci publik yang telah diumumkan oleh B untuk mengenkripsi pesan yang akan dikirimkan kepada B. 4. Ketika B menerima pesan yang berupa ciphertext dari A, maka ia mendekripsinya dengan kunci pribadi yang dimilikinya. Tidak ada user lain yang dapat mendekripsi ciphertext tersebut karena hanya B yang tahu kunci pribadinya.

Dengan pendekatan model semacam ini, setiap user dapat mengetahui kunci publik dari masing masing user lain, tetapi tidak dapat mengetahui kunci pribadi yang dimiliki user lain. Selama user dapat menjaga kunci pribadinya masing masing, dapat dikatakan bahwa komunikasi pesan masih aman. Setiap saat masing masing user dapat mengubah kunci pribadi dan kunci publiknya masing masing dan mengumumkan kunci publiknya kembali. Prinsip kerja dari metode ini juga dapat dijelaskan melalui rumus umum seperti di bawah ini. User A ingin mengirim pesan X = [X 1,X 2,,X M ] dimana M adalah jumlah huruf alfabet pesan. User B membuat dua buah kunci KU b sebagai kunci publik dan KR b sebagai kunci pribadi dan kemudian memberikan kunci publik tersebut kepada user A. Dengan pesan X dan kunci publik KU b, A membentuk ciphertext Y = [Y 1,Y 2,, Y N ] dengan rumus sebagai berikut : Y = E KUb (X)

User B menerima ciphertext Y dan mendekripsi ciphertext tersebut dengan menggunakan kunci pribadi KR b. X = D KRb (Y) Jika ada pihak ketiga yang mengetahui Y dan KU b, tetapi tidak mengetahui KR b atau X, maka dia harus membuat estimasi untuk KR b dan X agar dapat memecahkan ciphertext tersebut menjadi plaintext. Penggunaan metode kunci publik ini sangat luas dan dapat diimplementasikan ke dalam berbagai macam aplikasi. Tetapi, secara umum penggunaan metode kunci publik ini dapat dikategorikan menjadi 3 hal, yaitu :

1. Enkripsi/dekripsi : digunakan untuk aplikasi yang membutuhkan fungsi enkripsi atau dekripsi. 2. Tanda tangan digital : digunakan untuk aplikasi yang membutuhkan otentifikasi data, sehingga dapat menjaga integritas data sekaligus tanpa penolakan. 3. Pertukaran kunci : digunakan untuk aplikasi yang memerlukan pertukaran kunci yang bersifat rahasia. Beberapa algoritma metode kunci publik dapat diimplementasikan pada ketiga kategori diatas, tetapi ada beberapa pula yang bersifat khusus untuk kategori tertentu, misalnya algoritma RSA, LUC dapat digunakan untuk ketiga kategori tersebut, DSS hanya dapat digunakan pada tanda tangan digital dan Diffie Hellman hanya dapat digunakan pada kategori pertukaran kunci. Pada dasarnya, ada beberapa syarat yang hahrus dipenuhi di dalam metode enkripsi kunci publik ini : 1. Mudah bagi user untuk membentuk sepasang kunci (kunci publik dan kunci pribadi) 2. Mudah bagi user lain untuk mengetahui kunci publik milik kita dan kemudian mengenkripsi pesan yang akan dikirimkan kepada kita dengan kunci tersebut. 3. Mudah bagi penerima pesan untuk mendekripsi pesan ciphertext yang telah diterima dengan kunci pribadi yang dimilikinya. 4. Tidak mudah bagi musuh untuk mengetahui kunci publik untuk menentukan kunci pribadi yang dimiliki oleh user lain. 3.2. Algoritma RSA

Algoritma ini dikembangkan oleh Ron Rivest, Adi Shamir, dan Len Adleman pada tahun 1977. Algoritma ini sekaligus menjawab tantangan dari sebuah paper yang dibuat oleh Diffie dan Hellman tentang pendekatan baru mengenai algoritma kriptografi yang dapat memenuhi kebutuhan untuk metode kunci publik. Algoritma Rivest Shamir Adleman (RSA) ini adalah algoritma metode kunci publik yang paling banyak dipakai sampai saat ini. RSA merupakan algoritma yang melibatkan ekspresi dengan fungsi eksponensial. Plaintext dienkripsi dalam blok blok, dimana setiap blok tersebut mempunyai nilai biner yang kurang dari angka tertentu (n). Proses enkripsi dan dekripsi untuk plaintext blok M dan ciphertext blok C dapat digambarkan sebagai berikut : C = M e mod n M = C d mod n = (M e ) d mod n = M ed mod n Kedua belah pihak (pengirim dan penerima) harus mengetahui nilai dari n. Pengirim mengetahui nilai e dan hanya penerima yang tahu nilai d. Jadi, dapat disimpulkan bahwa kunci publik dari algoritma ini adalah KU = {e,n} dan kunci pribadinya adalah KR = {d,n}. Untuk penentuan kunci ini juga tidaklah bebas, harus melalui rumus tertentu. Secara lengkap, langkah langkah yang harus dilakukan di dalam algoritma RSA adalah sebagai berikut : 1. Pilih 2 bilangan prima p dan q. 2. Cari n = pq 3. Hitung ø(n)=(p 1)(q 1)

4. Pilih e yang relatif prima terhadap ø(n) dan kurang dari ø(n) 5. Tentukan d dimana ed = 1 mod ø(n) dan d < ø(n) 6. Didapat kunci publik {e,n} dan kunci pribadi {d,n}. 7. Bilangan p dan q juga harus dirahasiakan sehingga kunci pribadi dapat kita tulis sebagai {d,p,q}. 8. Dengan kedua kunci tersebut, user sudah dapat melakukan enkripsi ataupun dekripsi dengan rumus yang sudah ditulis sebelumnya. Untuk dapat mengetahui dengan lebih jelas prinsip kerja algoritma RSA ini, kita terapkan langkah langkah tersebut di dalam contoh berikut. Penentuan kunci publik dan kunci pribadi : 1. Pilih 2 bilangan prima p dan q, misalnya 7 dan 17 2. Cari n = pq = 7 x 17 = 119 3. Hitung ø(n)=(p 1)(q 1) = (7 1)(17 1) = 96 4. Pilih e yang relatif prima terhadap ø(n) = 96 dan kurang dari ø(n), dalam hal ini e = 5 5. Tentukan d dimana ed = 1 mod ø(n) dan d < ø(n), berarti 5 x d = 1 mod 96, d = 77 karena 5 x 77 = 4 x 96 + 1 6. Didapat kunci publik {5,119 } dan kunci pribadi {77,119 } Jika kita menggunakan kunci tersebut untuk mengenkripsi pesan M = 19, maka C = M e mod n = 19 5 mod 119 = 66 Jadi, ciphertext yang dihasilkan oleh pesan tersebut adalah 66 Jika kita ingin mendekripsi ciphertext tersebut, kita masukkan rumus dengan kunci pribadi :

M = C d mod n = 66 77 mod 119 = 19 Dalam memecahkan algoritma RSA ini, seorang cryptoanalyst dapat melakukan pendekatan sebagai berikut : Brute force : mencoba semua kemungkinan kunci pribadi Mencoba mencari faktor p dan q, sehingga dapat dihitung ø(n). Dengan mengetahui ø(n), maka dapat ditentukan faktor d. Menentukan ø(n) secara langsung tanpa menentukan p dan q. Hal ini juga dapat menemukan hasil perhitungan dari faktor d. Menentukan d secara langsung, tanpa menentukan ø(n). 3.3. Manajemen Kunci Permasalahan yang muncul dari kriptografi ini adalah bagaimana mendistribusikan kunci yang digunakan di dalam algoritma kriptografi tersebut. Dalam hal ini, kita akan mempelajari bagaimana harus mendistribusikan kunci publik yang akan digunakan untuk algoritma kriptografi dengan metode kunci publik. Ada beberapa teknik yang dapat dilakukan di dalam distribusi kunci, tetapi hal tersebut dapat dikategorikan menjadi 4 hal berikut : 1. Public announcement 2. Publicly available directory 3. Public key authority 4. Publik key certificates

3.3.1. Public Announcement Kunci publik dapat didistribusikan secara umum, karena realitasnya, kunci publik adalah kunci umum yang digunakan oleh pengirim pesan untuk mengenkripsi pesan yang akan dikirimkan kepada kita. Kelemahan dari metode ini adalah bahwa siapapun dapat mengirimkan kunci publik. Hal ini membawa konsekwensi adanya user lain yang berpura pura mengirimkan kunci publik atas nama kita. 3.3.2. Publicly Available Directory Keamanan yang lebih tinggi dapat diperoleh dengan menggunakan sebuah direktori dinamis yang berisi kunci publik. Pengorganisasian kunci publik dapat menjadi tanggung jawab dari organisasi tertentu yang dipercaya. Syarat yang harus dipenuhi : Organisasi mengatur direktori penyimpanan kunci publik dengan nama dan kunci publik yang dimiliki oleh user yang bersangkutan. Setiap user harus regristrasi terlebih dahulu, sehingga pengaturan direktori kunci publik dapat dilakukan dengan baik. Dengan pengaturan dan regristrasi tersebut, setiap user masih tetap dapat mengubah kunci publik yang dimilikinya dengan bebas.

Secara periodik, organisasi yang mengatur direktori kunci publik dapat mengumumkan direktori tersebut kepada user. User yang teregristrasi harus dapat mengakses direktori tersebut secara elektronis/melalui komputer. 3.3.3. Public Key Authority Model lain yang lebih aman adalah dengan otentifikasi yang lebih bisa dipercaya agar user dapat memasuki direktori kunci publik. Pada dasarnya, prinsip kerja metode ini sama dengan prinsip kerja model sebelumnya yang telah kita pelajari, namun untuk dapat mengakses direktori harus diotentifikasi terlebih dahulu.

3.3.4. Public Key Certificates Pendekatan yang lain yang bisa digunakan dalam manajemen kunci adalah sertifikasi kunci publik. Pendekatan ini pertama kali dikenalkan oleh Kohnfelder. Prinsip kerja metode ini adalah dengan pembuatan sertifikat yang digunakan oleh user untuk dapat mempertukarkan kunci.