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

dokumen-dokumen yang mirip
Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

BAB Kriptografi

BAB II LANDASAN TEORI

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE


BAB I PENDAHULUAN 1.1. Latar Belakang

BAB 2 TINJAUAN PUSTAKA

Aplikasi Merkle-Hellman Knapsack Untuk Kriptografi File Teks

ANALISIS PERBANDINGAN ALGORITMA SIMETRIS TINY ENCRYPTION ALGORITHM DAN LOKI DALAM ENKRIPSI DAN DEKRIPSI DATA

Perhitungan dan Implementasi Algoritma RSA pada PHP

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

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

BAB II LANDASAN TEORI

Perbandingan Sistem Kriptografi Kunci Publik RSA dan ECC

BAB 2 LANDASAN TEORI

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB 1 PENDAHULUAN Latar Belakang

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

Kriptografi Kunci Rahasia & Kunci Publik

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

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

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

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

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

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

+ Basic Cryptography

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah. Pada dasarnya sistem administrasi kependudukan merupakan sub sistem dari

Kriptografi. A. Kriptografi. B. Enkripsi

BAB II. Dasar-Dasar Kemanan Sistem Informasi

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB II LANDASAN TEORI

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

APLIKASI ENKRIPSI CITRA DIGITAL MENGGUNAKAN ALGORITMA GINGERBREADMAN MAP. Suryadi MT 1 Tony Gunawan 2. Abstrak

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

Manajemen Keamanan Informasi

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB III KUNCI PUBLIK

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS

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

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

BAB 2 LANDASAN TEORI

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

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

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

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

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah

Security Sistem Informasi.

A-2 Sistem Kriptografi Stream Cipher Berbasis Fungsi Chaos Circle Map dengan Pertukaran Kunci Stickel

BAB III ANALISIS DAN DESAIN SISTEM

DAFTAR ISI LEMBAR PENGESAHAN SURAT PERNYATAAN ABSTRAC KATA PENGANTAR

Teknik-Teknik Kriptanalisis Pada RSA

PENGAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA STREAM CIPHER SEAL

Enkripsi Teks dengan Algoritma Affine Cipher

Serangan (Attack) Terhadap Kriptografi

BAB I PENDAHULUAN 1.1 Latar Belakang

Implementasi Algoritma RSA dan Three-Pass Protocol pada Sistem Pertukaran Pesan Rahasia

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

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

Penggunaan Digital Signature Standard (DSS) dalam Pengamanan Informasi

SKRIPSI BILQIS

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

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

Kriptosistem Knapsack

Modifikasi Kriptografi One Time Pad (OTP) Menggunakan Padding Dinamis dalam Pengamanan Data File

Penerapan algoritma RSA dan Rabin dalam Digital Signature

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

SISTEM KRIPTOGRAFI. Mata kuliah Jaringan Komputer Iskandar Ikbal, S.T., M.Kom

ANALISIS PERBANDINGAN KINERJA ALGORITMA TWOFISH DAN TEA (TINY ENCRYPTION ALGORITHM) PADA DATA SUARA

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA RSA BERBASIS WEB

BAB I PENDAHULUAN. Kerahasiaan dan keamanan saat melakukan pertukaran. data adalah hal yang sangat penting dalam komunikasi data,

2.5.1 Enkripsi Dekripsi BAB III. IMPLEMENTASI ALGORITMA DAN REALISASI PERANGKAT LUNAK Program Pengaman Data Dengan

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

BAB I PENDAHULUAN , 1.1. Latar Belakang

BAB 2 LANDASAN TEORI

TINJAUAN PUSTAKA. Protokol

Bab 2: Kriptografi. Landasan Matematika. Fungsi

Pertukaran kunci Diffie-Hellman dengan Pembangkit Bilangan Acak Linear Congruential Generator (LCG)

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

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

VISUALISASI ALGORITMA RSA DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN JAVA

Public Key Cryptography

Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER)

PENGAMANAN DATA MENGGUNAKAN METODA ENKRIPSI SIMETRI DENGAN ALGORITMA FEAL

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik

BAB 2 LANDASAN TEORI

(pencurian, penyadapan) data. Pengamanan data dapat dilakukan dengan dua cara, yaitu steganography dan cryptography.

BAB 2 TINJAUAN PUSTAKA

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

Pengenalan Kriptografi

BAB 1 PENDAHULUAN Latar Belakang

Transkripsi:

ANALISIS WAKTU ENKRIPSI-DEKRIPSI FILE TEXT MENGGUNAKAN METODA ONE-TIME PAD (OTP) DAN RIVEST, SHAMIR, ADLEMAN (RSA) Samuel Lukas, Ni Putu Sri Artati Fakultas Ilmu Komputer, Jurusan Teknik Informatika, Universitas Pelita Harapan slukas@uph.edu ABSTRACT The explosive growth in computer systems and their interconnections via networks have increased the inter-dependence of both organizations and individuals on information stored in the networking. This, in turn, has led to a heightened awareness of the need to protect a system from network-based attacks. Therefore, there is a necessity for installing a secure and efficient method to protect the data. The focus of this paper is two fold : one-time pad and RSA. One-time pad is an unbreakable encryption algorithm, which is based on the symmetric-key algorithm, well loved by spies and high level government agencies. On the other hand, RSA is a cryptographic algorithm that met the requirements for public-key system (asymmetric-key). In this paper we will compare the time to encrypt and decrypt text files using both methods. Encryption time using RSA depends on the key length. Beside that, the computation complexity of RSA is more complicated than one-time pad. Therefore the CPU resource needed for encryption using OTP is more efficient than RSA. Keywords: Secure Data, Encryption, RSA, OTP. 1. Pendahuluan Seiring dengan meningkatnya penggunaan sistem jaringan dalam komunikasi (penyaluran data yang rahasia), keamanan selama pengiriman data sangat dibutuhkan untuk menghindari data yang dicuri atau dirubah oleh pihak pihak yang tidak berwenang. Salah satu cara untuk mengamankan data tersebut adalah dengan melakukan enkripsi terhadap data yang akan dikirim. Ada dua metode enkripsi, yaitu metode enkripsi kunci simetris dan metode enkripsi kunci asimetris. Salah satu metode kunci simetris adalah metode one-time pad (OTP). Metode ini merupakan suatu metode yang sangat kuat karena panjang kunci sama dengan panjang pesan yang dikirim dan kunci yang digunakan adalah session key, dimana kunci hanya berlaku untuk satu kali proses enkripsi. Metode ini sangat baik untuk mengirim pesan yang panjang karena akan semakin sulit untuk mengetahui kunci yang digunakan. Dan salah satu contoh metode enkripsi asimetris adalah RSA. Saat ini metode RSA merupakan metode yang paling digemari. Metode ini dianggap cukup kuat karena menggunakan sistem kunci publik dan kunci pribadi. Semakin panjang kunci, maka waktu yang dibutuhkan untuk memecahkan kunci akan semakin lama. Kegiatan kriptanalisis mencoba untuk mendapatkan plaintext dari ciphertext tanpa mengetahui rangkaian kunci dan sistem / logaritma yang digunakan untuk mengenkrip plaintext tersebut. Namun saat ini, kerahasiaan dari algoritma yang digunakan tidak akan menjamin kerahasiaan plaintext yang dienkrip, sehingga diasumsikan bahwa lawan/kriptanalis lawan sudah mengetahui algoritma yang digunakan dan ciphertext. Di sisi lain, selain kerahasiaan algoritma, yang diperlukan dalam enkripsi data adalah efisien tidaknya metode yang digunakan. Dalam hal ini, efisiensi mengarah pada kecepatan dalam mengenkrip data dan kekuatan kunci yang digunakan yang berkaitan dengan waktu yang dibutuhkan untuk memecahkan kunci. Pada makalah ini dibahas dua metoda enkripsi yaitu one-time pad (OTP) dan Rivest, Shamir, Adleman (RSA) serta juga dibahas kekuatan dan kelemahan kedua metoda beserta analisis waktu yang dibutuhkan untuk melakukan enkripsi dan dekripsi berkas text dengan membangun suatu sistem simulasi untuk melakukan enkripsi kedua metoda. 2. Algoritma Kriptografi Algoritma kriptografi pertama kali dikembangkan untuk mengizinkan organisasi tertentu yang ditunjuk untuk mengakses suatu informasi. Kriptografi merupakan suatu ilmu ataupun seni mengamankan pesan dan dilakukan oleh kriptografer. Sedangkan kriptanalisis adalah suatu ilmu dan seni membuka (breaking) ciphertext dan orang yang melakukannya disebut kriptanalis. Komponen komponen dalam kriptografi yang sangat penting adalah secrecy, integrity dan authenticity [1]. Secrecy adalah komponen yang digunakan untuk menjaga pesan yang biasanya digunakan oleh seseorang yang mengirim pesan. Komponen ini hanya mengizinkan seseorang yang tahu akan kunci pada pesan yang telah dienkripsi dengan algoritma kriptografi. Integrity adalah komponen yang digunakan untuk memeriksa apakah sebuah pesan telah diubah pada saat pengiriman, biasanya menggunakan algoritma hash. Authenticity atau autentikasi adalah komponen yang mengidentifikasi keaslian suatu pesan dan memberikan jaminan keautentikannya, serta menguji identitas seseorang apabila ia akan memasuki sebuah sistem. 50

Metode enkripsi ada dua kelompok besar yaitu kelompok kunci semetris dan kelompok kunci tidak simetris. Kunci simetris sering disebut metode konvensional yang merupakan suatu metode enkripsi, dimana kunci enkripsi bisa dihitung dari kunci dekripsi atau sebaliknya. Metode enkripsi kunci simetris memiliki kunci yang sama untuk melakukan enkripsi maupun dekripsi. Kunci tersebut sering disebut single-key atau one-key. Untuk melakukan proses enkripsi maupun proses dekripsi informasi, kunci ini harus diketahui oleh kedua belah pihak (pengirim dan penerima) [2]. E k (P) = C dan D k (C) = P Metode enkripsi kunci simetris dibagi menjadi dua kategori, yaitu : 1. Block cipher, merupakan proses enkripsi plaintext dalam grup bit (plaintext dibagi menjadi blok blok bit data, dan proses enkripsi dilakukan per blok) 2. Stream cipher, merupakan proses enkripsi per bit atau per byte (enkripsi dilakukan pada tiap bit / byte data) 2.1 Metode Enkripsi One-Time Pad (OTP) Metode enkripsi one-time pad merupakan salah satu golongan metode enkripsi kunci simetris, kategori stream cipher. Metode ini sering disebut Vernam Cipher, yang merupakan metode enkripsi kunci simetris yang tidak terpecahkan (unbreakable by exhaustive search) [3]. Metode enkripsi one-time pad merupakan metode yang sempurna (perfect methods) yang paling sederhana. Metode ini disebut sebagai perfect methods karena beberapa hal, yaitu: 1. Tidak mungkin bisa dipecahkan dengan melakukan perhitungan matematis. 2. Tidak mungkin ada dua buah pesan (plaintext) yang berbeda menjadi dua buah ciphertext yang sama. Metode enkripsi one-time pad memiliki beberapa sifat [3], yaitu : 1. Kunci yang digunakan hanya diketahui oleh pengirim dan penerima informasi / pesan. 2. Kunci dibuat dengan menggunakan PRNG (Pseudo-Random Number Generator) dan bersifat acak, meskipun keadaan proses pembuatan kunci diketahui. 3. Panjang kunci yang sama dengan panjang pesan. 4. Kunci hanya digunakan untuk satu kali proses enkripsi (session key). Metode enkripsi one-time pad disebut metode yang aman dan tidak mungkin dipecahkan karena ada beberapa hal [3], yaitu : 1. Plaintext, ciphertext, dan kunci merupakan rangkaian huruf (string) dengan panjang tertentu dan hasil enkripsi berupa ciphertext, yang merupakan hasil XOR plaintext dengan kunci. 2. Kunci hanya digunakan untuk satu kali proses enkripsi dan setelah kunci selesai digunakan, kunci segera dihancurkan atau dibuang. 3. Mudah dibuktikan secara matematis, dimana pada metode ini no-nontrivial single ciphertext attacks, diasumsikan pendistribusian kunci secara seragam. Metode one-time pad atau Vernam Cipher tidak akan bisa dipecahkan apabila digunakan dengan tepat. Apabila setiap karakter pada kunci benar benar acak, kriptanalis hanya bisa mencoba setiap kunci yang mungkin untuk setiap posisi ciphertext. Proses ini merupakan proses tanpa arti, karena ini sama dengan mencoba semua pesan yang mungkin, yang bisa dienkrip oleh kunci. Sebagai contoh, dengan panjang kunci 14 karakter atau 14 byte = 112 bit, jumlah pesan yang mungkin adalah pada daerah 2 112. Ciphertext tidak bisa menyediakan penunjuk, yang mana dari kemungkinan kemungkinan tersebut merupakan pesan yang sebenarnya [4]. Algoritma enkripsi-dekripsi dalam metode OTP (4) : 1. Plaintext diubah ke dalam bentuk bit sehingga P : {0, 1} l, dimana l adalah panjang pesan dalam bit 2. Bentuk bilangan random biner sebanyak panjang pesan untuk menjadi kunci. K : {0, 1} l, dimana K adalah kunci 3. Chipertext didapat dengan melakukan exclusive or dari P dan K. Secara matematik maka C = Enc(K, P) = P K, dimana adalah lambang xor. P = Dec(K,C) = C K = ((P K) K) = (P (K K)) = P 2.2 Metode Enkripsi RSA Algoritma RSA diambil dari nama penemunya, yaitu Ron Rivest, Adi Shamir, dan Leonard Adleman, yang diperkenalkan pada tahun 1978. Sekilas, algoritma RSA sama dengan metode Merkle-Hellman, memecahkan sejumlah enkripsi untuk menemukan bagian yang akan ditambahkan pada penjumlahan tertentu, atau dikalikan pada perkalian tertentu [5]. Algoritma ini menggunakan dua buah kunci, yaitu kunci publik digunakan dalam proses enkripsi, dan kunci pribadi yang digunakan dalam proses dekripsi. Kedua kunci ini bekerja berpasangan. Dalam proses enkripsi dekripsi menggunakan metode RSA, plaintext dienkrip mengunakan sistem block cipher, dimana tiap blok memiliki nilai biner lebih kecil dari suatu bilangan n. Sehingga, ukuran blok harus kurang dari atau 51

sama dengan log 2 (n). Kunci untuk enkripsi terdiri dari sepasang bilangan bulat (integer) (e, n) dan untuk dekripsi (d, n). Bilangan e adalah kunci publik, sedangkan nilai d adalah kunci pribadi [5]. Algoritma enkripsi-dekripsi dengan metoda RSA adalah sebagai berikut: 1. Ambil dua bilangan prima p dan q yang besar masing-masing mendekati 100 digit. 2. Hitung n = p x q dan φ(n) = (p 1) * (q 1) dimana φ(n) adalah Euler totient dari n yaitu bilangan positif kurang dari n dan relative prima dengan n (gcd φ(n) dan n sama dengan 1). 3. Cari bilangan e, yang relatif prima terhadap φ(n) dan harus lebih kecil dari φ(n). 4. Hitung d dimana d = e -1 mod φ(n) atau e*d mod φ(n) = 1. 5. Lakukan enkripsi dengan n dan e dimana C = P e mod n. 6. Lakukan dekripsi dengan n dan d dimana P = C d mod n. 3. Perancangan Sistem dan Penerapannya Sistem diimplementasikan dalam bentuk program yang dibangun menggunakan bahasa pemrograman Visual Basic. Berkas data masukan adalah data berupa bilangan dan huruf (karakter). Sistem kemudian menterjemahkan setiap karakter ke dalam bilangan ASCII. Kemudian dienkripsikan dengan metoda OTP dan dengan metoda RSA. Sistem akan memperlihatkan tingkat efektivitas dan efisiensi dalam mengenkrip pesan yang panjang, terutama dari segi waktu yang dibutuhkan. Dalam kasus ini, diasumsikan bahwa penyerang mengetahui ciphertext (C), kunci publik (e), dan modulus (n) untuk metode RSA, sedangkan untuk metode OTP, pengguna hanya mengetahui ciphertext. Rancangan sistem enkripsi an dekripsi dengan algoritma OTP diperlihatkan pada langkah berikut: 1. Mengambil berkas text dengan ukuran tertentu. 2. Membentuk berkas kunci yang berukuran sama dengan ukuran berkas masukan. 3. Melakukan enkripsi dengan melakukan proses XOR pada berkas masukan dan berkas kunci yang sudah diubahkan ke dalam bentuk ASCII. 4. Berkas chipertext didapat dengan melakukan konversi hasil proses XOR enkripsi ke dalam bentuk berkas text. 5. Proses dekripsi dilakukan dengan proses yang sama tetapi dengan melakukan proses XOR antara chipertext dengan berkas kuncinya. Rancangan sistem enkripsi an dekripsi dengan algoritma RSA diperlihatkan pada langkah berikut: 1. Tentukan dua buah bilangan prima yaitu p dan q. Kemudian dihitung modulus n, n = p * q dan Euler totient, Φ(n), Φ(n) = (p 1) * (q 1). 2. Pilih satu bilangan bulat (integer) e (kunci publik) relative prima terhadap Φ(n) dimana gcd(e, Φ(n)) = 1. 3. Teks yang dimasukkan (P) diubah ke dalam bilangan ASCII, selanjutnya akan dibuat ciphertext dengan rumus C = P e mod n 4. Untuk mendekrip ciphertext, harus ditentukan d (kunci pribadi), dimana d = e -1 mod Φ(n). Proses dekripsi dilakukan dengan menggunakan rumus P = C d mod n. Pada proses enkripsi-dekripsi teks dengan menggunakan metode RSA, waktu yang dibutuhkan untuk enkripsi dan dekripsi sangat dipengaruhi oleh jenis karakter yang dienkrip (karena nilai ASCII setiap bilangan berbeda). Oleh karena itu, data (file teks) yang dibuat tidak hanya berupa karakter acak, namun ada yang berupa deretan karakter dengan huruf yang sama sepanjang yang diinginkan. 4. Hasil Percobaan dan Pembahasan Percobaan dilakukan dua tahapan besar. Tahapan pertama adalah menguji waktu yang dibutuhkan untuk mengenkripsi dan dekripsi terhadap ukuran berkas berdasarkan metoda OTP. Pada tahapan ini dilakukan dua kali percobaan dengan berkas masukan yang berisi karakter acak dengan ukuran yang berbeda dan dua kali juga dilakukan percobaan dengan berkas masukan yang berisi karakter seragam dengan ukuran yang berbeda. Hasil pengujian dengan karakter acak dan ukuran berbeda diperlihatkan pada Gambar 1. Pada grafik terlihat bahwa ukuran berkas berbanding lurus dengan waktu enkripsi dan dekripsi yang dibutuhkan. Waktu yang dibutuhkan untuk dekripsi lebih lama dibandingkan dengan waktu enkripsi. Waktu enkripsi rata-rata setiap karakter adalah 0.000165 detik sedangkan untuk dekripsi adalah 0.000185. Percobaan untuk berkas berkarakter seragam maka terlihat bahwa waktu yang dibutuhkan untuk enkripsi dan dekripsi karater A adalah 0.000166 dan 0.000191 sedangkan karakter Z adalah 0.000171 dan 0.000178. 52

Waktu Enkripsi-Dekripsi Metoda OTP Berkas Seragam 3.5 3 Waktu yang dibutuhkan (detik) 2.5 2 1.5 1 0.5 0 0 2000 4000 6000 8000 10000 12000 Ukuran berkas masukan (byte) Enkripsi 1 Dekripsi 1 Enkripsi 2 Dekripsi 2 Gambar 1. Grafik Hasil Proses Enkripsi-Dekripsi Metode OTP Kekuatan metoda OTP adalah kunci yang terbentuk acak dan panjang, dimana setiap karakter memiliki kunci yang berbeda dan tidak ada perulangan. Apabila seseorang ingin memecahkan kunci tersebut (hanya dengan mendapatkan ciphertext), maka penyerang harus mencoba setiap kemungkinan yang ada. Katakanlah seorang penyerang menemukan ciphertext A#<n, dimana A = 01000001, selanjutnya penyerang harus melakukan XOR, dari 00000000 XOR 01000001 sampai 11111111 XOR 01000001. Seandainya penyerang menemukan satu karakter yang memiliki arti, penyerang tidak bisa mengetahui secara pasti bahwa huruf yang ditemukan merupakan salah satu karakter pada plaintext. Hal ini disebabkan karena sangat banyak satu kata yang terdiri dari empat karakter. Sehingga tidak akan bisa ditebak rangkaian karakter yang sebenarnya. Di sisi lain, kunci yang digunakan hanya berlaku untuk satu kali proses enkripsi-dekripsi. Dan yang menjadi keunggulan metode ini adalah menggunakan sistem stream cipher, dimana proses enkripsi terjadi per bit atau per byte (per karakter). Sehingga, apabila penyerang bisa menemukan kunci untuk satu karakter, maka kunci itu tidak bisa digunakan untuk mendekrip karakter yang lainnya. Dari segi proses yang terjadi, proses enkripsi dengan menggunakan metode OTP sangat sederhana, yaitu hanya melakukan proses XOR. Untuk data yang panjang, metode ini sangat bagus, karena dari segi waktu yang dibutuhkan, metode ini sangat cepat. Kelemahan metoda ini justru juga karena panjangnya kunci. Karena kunci merupakan rangkaian karakter yang panjang, tidak memungkinkan pengguna untuk mengingat kunci yang digunakan, sehingga berkas kunci harus disimpan. Oleh karena itu, proses enkripsi harus dilakukan pada komputer yang tidak terhubung dengan jaringan. Hal ini bertujuan agar tidak ada penyusup yang bisa merekam atau menyadap kunci yang digunakan. Hal lainnya adalah bagaimana membuat kunci agar selalu acak. Tahapan kedua adalah menguji waktu yang dibutuhkan untuk mengenkripsi dan mendekripsi terhadap ukuran berkas berdasarkan metoda RSA. Pada tahapan ini dilakukan dua kali percobaan dengan berkas masukan yang berisi karakter acak dengan ukuran yang berbeda dan dua kali juga dilakukan percobaan dengan berkas masukan yang berisi karakter seragam dengan ukuran yang berbeda. Hasil pengujian dengan karakter acak dan ukuran berbeda diperlihatkan pada Gambar 2. 53

0.3 0.25 0.2 0.15 0.1 0.05 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 Enkripsi-1 Dekripsi-1 Enkripsi-2 Dekripsi-2 Gambar 2. Grafik Hasil Proses Enkripsi-Dekripsi Metode RSA Pada grafik terlihat bahwa ukuran berkas berbanding lurus dengan waktu enkripsi dan dekripsi yang dibutuhkan. Berbeda dengan metoda OTP, waktu yang dibutuhkan untuk enkripsi lebih lama dibandingkan dengan waktu dekripsi. Waktu enkripsi rata-rata setiap karakter adalah 0.0000294 detik sedangkan untuk dekripsi adalah 0.0000296. Meskipun demikian jika dibanding dengan metoda OTP, metoda RSA lebih cepat. Percobaan untuk berkas yang berkarakter seragam didapat bahwa kecepatan proses enkripsi maupun dekripsi berbeda meskipun ukuran berkas sama dan parameter RSA yaitu nilai p, q, e, dan d yang sama. Hal ini terkait dengan nilai karakter dalam bilangan ASCII, dimana setiap karakter memiliki nilai yang berbeda. Waktu enkripsi atau dekripsi huruf z (ASCII = 122) akan lebih besar dibandingkan dengan waktu enkripsi atau dekripsi huruf a (ASCII = 97). Waktu yang dibutuhkan dalam proses enkripsi dipengaruhi oleh besarnya nilai p, q, dan e (kunci publik). Begitu pula dengan proses dekripsi yang dipengaruhi oleh p, q, dan d (kunci pribadi). Pada percobaan dengan nilai p = 11, q = 13, e = 49, dan d = 49, diperoleh waktu enkripsi untuk karakter z dengan panjang 10002 karakter sebesar 0.26953125 detik (1/10 waktu enkripsi dengan metode OTP) dan waktu dekripsi sebesar 0.2109375 detik. Sedangkan berkas yang sama dengan nilai p = 23, q = 11, e = 49, dan d = 9, diperoleh waktu enkripsi sebesar 0.27734375 detik dan waktu dekripsi sebesar 0.16015625 detik. Beberapa percobaan lain dilakukan dan disimpulkan bahwa semakin besar nilai d ataupun e pada proses dekripsi maupun enkripsi maka waktu yang dibutuhkan akan semakin besar. Hal ini adalah sesuai dengan teori. Perlu dicatat bahwa data di atas adalah hasil dari proses enkrisi dan dekripsi dengan blok data 8 bit. Dalam metode RSA, proses yang terjadi adalah proses block cipher, dimana proses terjadi per blok. Suatu teks dengan panjang 1000 bit, dienkrip dengan modulus n sepanjang 128 bit, maka teks tersebut dipecah menjadi beberapa kelompok, dimana tiap kelompok besarnya adalah 128 bit. Sehingga akan diperoleh 8 kelompok. Apabila kelompok terakhir tidak mencukupi sampai 128 bit, maka ditambahkan dengan karakter 0. Satu kelompok data (128 bit) dipangkatkan dengan kunci publik e dan di-mod dengan n, dimana n = p * q. Dalam proses ini akan terjadi sejumlah perulangan. Secara otomatis, waktu yang dibutuhkan untuk mengenkrip data dengan nilai e besar lebih lama dibandingkan dengan data dengan nilai e kecil. Kekuatan pada metoda RSA terletak pada pemilihan bilangan prima, p dan q, sehingga penyerang sulit memfaktorkan modulus n. Bilangan prima p dan q harus merupakan bilangan prima besar, karena semakin besar nilai p dan q, maka nilai n akan semakin besar, sehingga untuk memfaktorkan n akan membutuhkan waktu yang lama dan biaya yang sangat besar. Untuk memfaktorkan suatu bilangan yang sangat besar tidak akan cukup menggunakan satu buah komputer, namun dibutuhkan banyak komputer. Selain itu, kekuatan dari metode RSA adalah penggunaan logaritma diskrit dalam perhitungan, dan sistem one way. Logaritma diskrit digunakan pada saat proses enkripsi maupun dekripsi, yaitu proses P e mod n dan C d mod n. Dengan sistem one way, suatu perhitungan akan mudah dikerjakan, namun untuk mengembalikan (membalik) hasil perhitungan tersebut akan sangat sulit dan membutuhkan waktu yang cukup lama. Sebagai contoh, dalam menentukan modulo 54

inverse. Untuk menghitung ed mod Φ(n) akan sangat mudah dan cepat (e, d, dan Φ(n) diketahui), sedangkan untuk menghitung d, dengan diketahui e dan Φ(n), akan sangat sulit dan membutuhkan waktu. Kerumitan rumus dan perhitungan yang dilakukan dalam metode RSA merupakan suatu kekuatan yang sekaligus bisa menjadi kelemahan. Dengan perhitungan yang rumit akan sangat sulit untuk dipecahkan dan membutuhkan waktu yang lama. Di sisi lain, agar perhitungan bisa dilakukan dengan benar, maka pengguna harus memillih bilangan bilangan yang tepat. Sebagai contoh, pada langkah awal, pengguna harus memilih suatu bilangan prima yang besar (p dan q), dimana untuk memilih bilangan bilangan tersebut tidak bisa secara acak, harus menggunakan rumus untuk membuktikan bahwa bilangan bilangan tersebut adalah bilangan prima. Selain itu, pemilihan nilai e (kunci publik) merupakan suatu proses yang cukup memakan waktu, karena harus dipilih bilangan yang relatif prima dengan Euler totient (Φ(n)). 5. Kesimpulan Melalui beberapa percobaan maka dapat disimpulkan sebagai berikut : Dari hasil analisis, bisa diketahui bahwa metode OTP merupakan metode enkripsi yang tidak bisa dipecahkan dan menggunakan sistem stream cipher serta kunci merupakan session key. Namun, panjangnya kunci menjadi kendala bagi pengguna. Metode RSA sangat digemari karena umur kunci yang panjang dan penggunaan kunci publik, dimana penerima bisa menghitung kunci yang digunakan untuk dekripsi dari kunci yang digunakan untuk enkripsi (kunci publik) dan dari modulus n, sehingga pengguna tidak perlu melakukan pertukaran kunci. Kekuatan metode RSA terletak pada besarnya bilangan prima (p dan q). Karena dengan semakin besar nilai p dan q maka akan semakin sulit untuk difaktorkan. Namun kompleksitas metode RSA, berkaitan dengan sistem pengalian dari bilangan bulat modulo n yang merupakan prosedur yang relatif kompleks untuk diterapkan. Meskipun hasil percobaan memperlihatkan proses enkripsi dan dekripsi RSA lebih cepat dibandingkan dengan OTP, namun secara teoritis lebih lama dikarenakan nilai p dan q. Daftar Pustaka [1] Wagner, Neal R., (2002), The Laws of Cryptography : Perfect Cryptography : The One-Time Pad. http://www.cs.utsa.edu/~wagner/laws/pas.html [2] Schneier, Bruce, (1996), Applied Cryptography, Edisi 2, USA, John Wiley & Sons.Inc. [3] Wille, Christoph, (2001), Unbreakable Using One tie Pad, http://archive.devx.com/sourcebank/search.asp [4] Jarecki, Stanilw, (2004), Introduction to Cryptography : Lecture 1 : Crypto Overview, Perfect Secrecy, One Time Pad. [5] Stallings, William, (1999), Crypthography and Network Security Principle and Practice, Edisi 2, New Jersey : Printice-Hall. Inc. 55