Algoritma Rsa Dan Elgamal Sebagai Algoritma Tambahan Untuk Mengatasi Kelemahan Algoritma One (PDFDrive)
Algoritma Rsa Dan Elgamal Sebagai Algoritma Tambahan Untuk Mengatasi Kelemahan Algoritma One (PDFDrive)
2018
http://repositori.usu.ac.id/handle/123456789/3880
Downloaded from Repositori Institusi USU, Univsersitas Sumatera Utara
ALGORITMA RSA DAN ELGAMAL SEBAGAI ALGORITMA
TAMBAHAN UNTUK MENGATASI KELEMAHAN
ALGORITMA ONE TIME PAD PADA SKEMA
THREE PASS PROTOCOL
TESIS
TESIS
TESIS
Saya mengakui bahwa tesis ini merupakan hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
iii
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di
bawah ini:
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-
Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media,
memformat, mengelola dalam bentuk databse, merawat dan mempublikasikan tesis
saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai
penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.
iv
DATA PRIBADI
DATA PENDIDIKAN
vi
Penelitian ini bertujuan untuk menutup kekurangan dari algoritma one time pad pada
skema three pass protocol dengan merancang sebuah algoritma usulan dengan
tambahan algoritma RSA dan Elgamal untuk menutupi kekurangan tersebut. Pada
penelitian ini dilakukan modifikasi terhadap skema three pass protocol agar
mengijinkan terjadinya pertukaran public key. Pesan yang diuji adalah pesan teks.
Terdapat tiga algoritma kriptografi yang digunakan, yaitu algoritma one time pad yang
akan menghasilkan cipher text, algoritma Elgamal dan algoritma RSA yang akan
menghasilkan super cipher text. Algoritma Lehmann Primality Test digunakan untuk
membangkitkan bilangan prima, sedangkan kunci acak KA dan KB untuk algoritma
one time pad dibangkitkan dengan algoritma Blum Blum Shub. Ketiga cipher text
yang dihasilkan pada skema three pass protocol dilakukan enkripsi terlebih dahulu
dengan algoritma RSA atau algoritma Elgamal sebelum melewati jalur three pass
protocol, sehingga hanya super cipher text yang melewati jalur, sedangkan cipher text
tetap rahasia. Cipher text A dan cipher text B dienkripsi menggunakan algoritma
Elgamal menjadi super cipher text A dan super cipher text B, sedangkan cipher text
AB dienkripsi menggunakan algoritma RSA menjadi super cipher text AB. Kunci
yang boleh melewati jalur modifikasi three pass protocol hanya public key, sedangkan
private key dan kunci KA dan KB tidak diijinkan. Hasil pengujian menunjukkan,
perbedaan waktu proses dari algoritma yang dirancang dengan algoritma terdahulu
yang tidak signifikan, dengan ratio dari keduanya yang cenderung semakin mendekati
satu (selisih semaking mengecil) jika semakin panjang pesan yang diproses. Hasil
analisa keamanan menunjukkan algoritma yang dirancang aman dari ancaman teknik
XOR, teknik bruto force, teknik ciphertext-only analysis, dan teknik known-plain text
analysis. Hasil penelitian secara keseluruhan menunjukkan bahwa algoritma yang
dirancang cukup layak untuk diimplementasikan untuk pengiriman pesan teks dari
segi waktu proses dan tingkat keamanan yang dimiliki. Selain itu, algoritma yang
dirancang memiliki keamanan pengiriman pesan yang jauh lebih baik daripada
algoritma terdahulu.
Kata Kunci : One Time Pad, Three Pass Protocol, RSA, Elgamal
vii
This study aims to cover the shortcomings of a one time pad algorithm on a three pass
protocol scheme by designing a proposed algorithm with additional RSA and Elgamal
algorithms to cover the deficiency. In this study modification of the three pass
protocol scheme to allow the exchange of public key. The message tested is a text
message. There are three cryptographic algorithms used, one time pad algorithm that
will generate cipher text, Elgamal algorithm and RSA algorithm that will generate
super cipher text. Lehmann Primality Test algorithm is used to generate prime
numbers, while random keys KA and KB for one time pad algorithm are generated by
Blum Blum Shub algorithm. The three cipher text generated in the three pass protocol
scheme is encrypted with RSA algorithm or Elgamal algorithm before passing through
the three pass protocol, so only the super cipher text passes through the path, while
the cipher text remains confidential. Cipher text A and cipher text B are encrypted
using Elgamal algorithm to super cipher text A and super cipher text B, while cipher
text AB is encrypted using RSA algorithm to super cipher text AB. The passable key of
the three pass protocol module is public key only, while private keys and KA and KB
keys are not allowed. The test results show that the process time difference of the
algorithm designed with the previous algorithm is not significant, with the ratio of the
two which tends to be closer to one (the difference in semaking decreases) if the
length of the message is processed. The results of security analyzes show that
algorithms are designed to be safe from XOR technique threats, gross force
techniques, ciphertext-only analysis, and known-plain text analysis techniques.
Overall research results show that the designed algorithm is feasible enough to be
implemented for sending text messages in terms of process time and level of security
owned. In addition, the designed algorithm has a much better messaging security than
previous algorithms.
viii
Segala puji bagi Allah SWT, tuhan semesta alam segala nikmat dan karunia-Nya
sehingga penulis dapat menyelesaikan penelitian dan tesis ini tepat pada waktunya.
Shalawat besertakan salam juga penulis panjatkan kepada nabi besar Muhammad
SAW.
Pada kesempatan ini penulis mengucapkan terimakasih yang sebesar-besarnya
kepada :
1. Bapak Prof. Dr. Runtung Sitepu, SH, Mhum selaku Rektor Universitas Sumatera
Utara
2. Bapak Prof. Opim Salim Sitompul selaku Dekan Fakultas Ilmu Komputer dan
Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Prof. Dr. Muhammad Zarlis selaku Ketua Program Studi Magister (S2)
Teknik Informatika Universitas Sumatera Utara dan panitia penguji tesis yang
banyak memberikan masukan dan saran kepada penulis.
4. Bapak Dr. Syahril Efendi, S.Si, M.IT selaku dosen pembimbing I yang selalu
membimbing dan mengkoreksi penelitian penulis serta memberikan berbagai
saran agar penelitian yang dihasilkan menjadi semakin lebih baik.
5. Bapak Suherman, Ph.D dosen pembimbing II yang memberikan banyak masukan,
saran, dan arahan dalam proses penelitian yang penulis lakukan sehingga
menghasilkan tesis yang lebih baik.
6. Prof. Dr. Herman Mawengkang selaku panitia penguji tesis yang memberikan
banyak masukan dan saran kepada penulis.
7. Seluruh dosen dan tenaga pengajar Fakultas Ilmu Komputer dan Teknologi
Informasi Universitas Sumatera Utara yang telah memberikan banyak
pengetahuan mereka kepada penulis selama proses perkuliahan.
8. Kedua orangtua penulis dan kakak kandung penulis yang selalu memberikan
semangat selama penulis menyelesaikan pendidikan strata-2 di Fakultas Ilmu
Komputer dan Teknologi Informasi Universitas Sumatera Utara.
9. Istri tercinta Hartati Rianti, S.E yang selalu memberikan dukungan, dan semangat
kepada penulis.
10. Seluruh pegawai dan tata usaha Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara yang mengurus segala administrasi penulis selama
menyelesaikan pendidikan Strata-2, terutama bang Ewin dan Kak Inest.
11. Miss Merry selaku supervisor di British Learning Centre yang selalu memberikan
kemudahan dan ijin kepada penulis saat permisi meninggalkan kantor guna
menyelesaikan kegiatan dan urusan akademik di Universitas Sumatera Utara.
12. Azhary Rizky Lubis, S.Sos (Ari Lenk) yang selalu ada disaat penulis
membutuhkan pertolongan untuk fotocopy dan jilid tesis selama bimbingan.
13. Seluruh rekan-rekan KOM C 2015 program studi Magister (S2) Teknik
Informatika Fakultas Fakultas Ilmu Komputer dan Teknologi Informasi, Rizky,
ix
BAB 1 – PENDAHULUAN
1.1. Latar Belakang Masalah ....................................................................... 1
1.2. Rumusan Masalah ................................................................................ 3
1.3. Batasan Masalah................................................................................... 3
1.4. Tujuan Penelitian ................................................................................. 4
1.5. Manfaat Penelitian ............................................................................... 4
xi
xii
DAFTAR PUSTAKA
LAMPIRAN
xiii
xiv
xv
xvi
xvii
PENDAHULUAN
Skema three pass protocol di kembangkan oleh Adi Shamir, seorang profesor
berkebangsaan Israel sekitar tahun 1980. Protokol ini memiliki kerangka tiga jalur
untuk melakukan pengiriman pesan atau data. Protokol ini juga memungkinkan dua
pihak saling bertukar informasi dengan aman tanpa harus melakukan pertukaran
kunci, sehingga masalah distribusi kunci yang ada pada algoritma simetris dapat
teratasi dengan baik (Oktaviana, 2016).
Algoritma-algoritma dengan teknik XOR (eksklusif-OR) dapat
diimplementasikan pada skema protokol ini, seperti algoritma one time pad
(Oktaviana, 2016), vigenere cipher (Subandi, 2017), dan caesar cipher (A. Siahaan,
2016). Selain itu, algoritma berbasis matriks seperti hill cipher juga dapat
diimplementasikan pada skema protokol ini (A. Abdullah,2015).
Pada formula di atas, dapat dijelaskan bahwa andai Anton ingin mengirimkan
pesan kepada Beby, Anton akan mengenkripsi pesan dengan kunci yang dia miliki
yaitu (KA) dengan formula cipher text (M , setalah itu cipher text A hasil
enkripsi akan dikirim ke Beby, lalu Beby akan mengenkripsi cipher text A dengan
kunci yang dia miliki (KB) dengan formula cipher text (M , lalu cipher
text AB hasil enkripsi akan dikirim kembali ke Anton dan Anton akan mendeskripsi
cipher text AB menjadi cipher text B dengan kunci yang dia miliki (KA) yang
menghasilkan formula cipher text (M Ciphert text B ini akan dikirimkan
kembali kepada Beby, lalu Beby akan mendeskripsi cipher text B dengan kunci yang
dia miliki (Kb) yang akan menghasilkan M (plain text) (Jun Lang, 2012).
Pada penjelasan di atas, jika Ucok berhasil melakukan penyadapan terhadap
komunikasi percakapan Anton dan Beby dan mendapatkan ketiga cipher text yang
dikirim, yaitu cipher text A, cipher text AB, dan cipher text B, maka Ucok akan
dengan sangat mudah mendapatkan M atau plain text dari pesan yang dikirim hanya
dengan melakukan operasi XOR terhadap cipher text A dengan cipher text AB, dan
hasilnya kembali di XOR kan dengan cipher text B. Dengan kelemahan fatal ini, maka
skema three pass protocol yang dirancang untuk komunikasi yang lebih aman menjadi
sangat tidak aman.
Algoritma one time pad yang merupakan algoritma unbreakable atau algoritma
yang tidak terpecahkan akan menjadi algoritma yang tidak layak pakai dari segi
keamanan jika digunakan pada skema three pass protocol karena kelemahan yang
telah dijelaskan sebelumnya. Untuk mengatasi kelemahan tersebut, perlu dilakukan
sesuatu pada cipher text A, cipher text AB, dan cipher text B agar jika ketiganya di-
XOR-kan tidak akan menghasilkan M (plain text).
Algoritma RSA(Rivest Shamir Adleman) dan Elgamal merupakan algoritma
kriptografi kunci publik atau asimetris, dimana algoritma ini memiliki kunci yang
berbeda dalam melakukan enkripsi dan deskripsi. Dalam proses pembangkitan kunci
dengan algoritma ini akan menghasilkan dua buah kunci, yaitu : public key yang
bersifat tidak rahasia dan dapat dipublikasikan dan diketahui secara bebas. Public key
hanya digunakan untuk melakukan enkripsi. Satu kunci yang lain adalah private key
yang bersifat sangat rahasia, tidak boleh didistribusikan, dan hanya penerima pesan
yang boleh mengetahui kunci ini. Private key digunakan untuk melakukan deskripsi
cipher text. Jika private key diketahui oleh pihak lain, maka pihak tersebut akan
dengan sangat mudah mendeskripsikan cipher text.
Algoritma RSA dan Elgamal merupakan algoritma yang memiliki tingkat
keamanan yang sangat baik. Algoritma RSA secara de facto bahkan menjadi algoritma
asimetris resmi yang digunakan pada banyak bidang. Tingkat keamanan algoritma
RSA terletak pada sulitnya memfaktorkan bilangan bulat menjadi dua buah bilangan
prima, sedangkan tingkat keamanan algoritma Elgamal terletak pada sulitnya
menghitung logaritma diskrit (Okeyinka, 2015).
Pada penelitian ini, algoritma RSA dan Elgamal akan digunakan untuk
melakukan modifikasi terhadap cipher text A, cipher text AB, dan cipher text B
sebelum dilakukan pengiriman dan melewati jalur komunikasi, agar pesan M tidak
dapat direkontruksi dengan meng-XOR-kan ketiga cipher text yang telah terjadi
modifikasi.
Berdasarkan latar belakang yang telah diuraikan, maka dapat diambil beberapa
rumusan masalah sebagai berikut :
1. Adanya kelemahan yang fatal pada cipher text dari algoritma one time pad jika
diterapkan pada skema three pass protocol..
2. Tingkat keamanan yang rendah dari cipher text yang dikirim pada skema three
pass protocol.
6. Penelitian ini tidak mencari efisiensi waktu proses, tetapi pada tingkat
keamanan.
7. Perbandingan waktu proses akan tetap dilakukan antara kombinasi algoritma
pada penelitian ini (one time pad, RSA, dan Elgamal) dengan hanya algoritma
one time pada jalur three pass protocol.
8. Pengujian tingkat keamanan akan dilakukan dengan menganalisis teknik
kriptoanalis XOR, bruto force, ciphertext-only analysis, dan known-plaintext
analysis.
9. Pesan yang diuji adalah pesan text.
LANDASAN TEORI
2.1. Kriptografi
2.1.1. Pengertian kriptografi
Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan
suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak
memiliki kunci dekripsi. Dekripsi menggunakan kunci dekripsi untuk mendapatkan
data asli kembali. Proses enkripsi dilakukan menggunakan suatu algoritma dengan
beberapa parameter. Biasanya algoritma tidak dirahasiakan, bahkan enkripsi yang
mengandalkan kerahasiaan algoritma dianggap sesuatu yang tidak baik. Rahasia
terletak di beberapa parameter yang digunakan, jadi kunci ditentukan oleh parameter.
Parameter yang menentukan kunci dekripsi itulah yang harus dirahasiakan (parameter
menjadi ekuivalen dengan kunci) (Kromodimoeljo, 2010).
Dalam arti lain, kriptografi adalah seni dan ilmu dalam mengamankan pesan.
Dalam dunia kriptografi, pesan disebut plain text atau clear text. Proses untuk
menyamarkan pesan dengan cara sedemikian rupa untuk menyembunyikan isi aslinya
disebut enkripsi. Pesan yang telah dienkripsi disebut cipher text. Proses pengembalian
sebuah cipher text ke plain text disebut dekripsi.
Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek keamanan
informasi (Munir, 2006), yaitu:
1. Privacy/Confidentiality
Aspek yang berhubungan dengan penjagaan isi informasi dari siapapun kecuali
yang memiliki otoritas atau kunci rahasia untuk membuka informasi yang telah
dienkripsi.
2. Integrity
Aspek yang berhubungan dengan penjagaan dari perubahan data secara tidak sah
dan menjamin bahwa isi pesan tidak dapat diubah tanpa ijin.
3. Authentication
Aspek yang berhubungan dengan identifikasi atau pengenalan, baik secara
kesatuan sistem maupun informasi itu sendiri.
4. Non-repudiation
Usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman suatu
informasi oleh yang mengirimkan, atau harus dapat membuktikan bahwa suatu
pesan berasal dari seseorang, apabila dia menyangkal mengirim informasi tersebut.
Sebuah algoritma yang digunakan untuk melakukan proses enkripsi terhadap plain
text menjadi cipher text dan proses dekripsi terhadap cipher text kembali menjadi
plain text dengan suatu aturan dan kunci tertentu. Sehingga pada suatu algoritma
kriptografi terdapat tiga buah proses, yaitu: generate key, enkripsi, dan dekripsi.
2. Plain text
Yaitu pesan atau data dalam bentuk aslinya dapat terbaca. Plaintext merupakan
masukan bagi algoritma enkripsi
3. Cipher text
Cipher text adalah keluaran algoritma enkipsi. Cipher text dapat dianggap sebagai
pesan dalam bentuk tersembunyi. Algoritma enkripsi yang baik akan menghasilkan
cipher text yang kelihatan acak. Selanjutnya digunakan istilah teks sandi sebagai
sinonim kata cipher text
4. Key (kunci)
Sebuah kunci yang akan mempengaruhi dan menentukan hasil dari proses enkripsi
dan dekripsi dengan suatu algoritma kriptografi. Kunci dapat dibangkitkan dengan
suatu aturan algoritma tertentu atau dengan memilih kunci secara bebas.
Kunci terbagi menjadi dua jenis, yaitu :
a. Kunci Simetris
Kunci untuk melakukan proses enkripsi sama dengan kunci untuk melakukan
proses dekripsi, sehingga hanya dikenal sebuah kunci untuk satu proses enkripsi
dekripsi. Kunci simetris bersifat sangat rahasia, dan mutlak hanya boleh
diketahui oleh pengirim dan penerima pesan.
b. Kunci Asimetris
Kunci untuk melakukan proses enkripsi berbeda dengan untuk melakukan
proses dekripsi. Kunci untuk melakukan proses enkripsi disebut dengan public
key. Public key bersifat tidak rahasia dan boleh diketahui oleh siapapun dan
dapat disebarkan secara bebas. Kunci untuk melakukan proses dekripsi disebut
sebagai private key. Privatekey bersifat sangat rahasia dan hanya boleh diketahui
oleh penerima pesan atau pembangkit kunci, bahkan pengirim pesan juga tidak
diijinkan mengetahui private key.
5. Enkripsi
Proses mengubah plain text menjadi cipher text dengan suatu algoritma kriptografi
tertentu dan dengan sebuah kunci tertentu. Baik menggunakan kunci simetris atau
menggunakan kunci asimetris (public key).
6. Dekripsi
Proses mengubah cipher text menjadi plain text kembali dengan algoritma
kriptografi tertentu dan dengan sebuah kunci tertentu. Baik kunci simetris atau
kunci asimetris (private key).
Algoritma kunci simetris adalah suatu algoritma kriptografi yang melakukan proses
enkripsi dan dekripsi dengan menggunakan sebuah kunci yang sama. Apabila kunci
yang digunakan dalam melakukan enkripsi dan dekripsi berbeda, maka menyebabkan
keluaran terakhir dari algoritma kacau, sehingga tidak berhasil mengembalikan bentuk
cipher text ke plain text semula. Karena kunci ini memegang peranan yang sangat
penting dalam melakukan enkripsi maupun dekripsi, maka algoritma simetris ini
disebut juga dengan algoritma kunci rahasia (secret key algorithm).
Algortima ini mengharuskan pengirim dan penerima pesan untuk menyetujui
kunci yang akan digunakan dan keamanan dari algoritma ini tergantung dari kunci
yang digunakan, sehingga kunci ini harus dirahasiakan. Jika kunci ini disebarkan
berarti semua orang dapat melakukan enkripsi dan dekripsi pesan dalam sistem
tersebut.
Dalam notasi matematika, proses algoritma kunci rahasia digambarkan sebagai
berikut:
Ek(P) = C ................................................ [2.1]
Dk(C) = P ................................................ [2.2]
Keterangan :
E = Fungsi enkripsi
D = Fungsi dekripsi
k = Kunci simetris (sama untuk enkripsi maupun dekripsi)
C = Cipher text
Gambar 2.2. Proses Enkripsi dan Dekripsi Data dengan Algoritma Kunci Simetris
(Subandi, 2017)
Algoritma Simetris dapat dibagi menjadi dua kategori, yaitu algoritma stream
(stream algorithm) atau stream ciphers, yang beroperasi pada setiap bit dari plain text,
dan algoritma blok (block algorithms) atau cipher blok (block ciphers), yang
beroperasi pada kelompok-kelompok bit.
Algoritma kunci publik (disebut juga algoritma kunci asimetris) dirancang sedemikian
rupa sehingga kunci yang digunakan untuk enkripsi berbeda dari kunci yang
digunakan untuk dekripsi. Selanjutnya, kunci dekripsi tidak dapat dihitung dengan
kunci enkripsi (setidaknya dengan proses yang sangat sulit dan atau dengan waktu
yang cukup lama).
Algoritma ini disebut kunci publik karena kunci enkripsi dapat diberitahukan
ke publik: Orang asing dapat menggunakan kunci enkripsi untuk mengenkripsi pesan,
namun hanya orang-orang tertentu saja dengan kunci dekripsi yang sesuai yang dapat
mendekripsi pesan. Dalam sistem ini, kunci enkripsi sering disebut sebagai public key,
dan kunci dekripsi sering disebut private key. Private key terkadang disebut kunci
rahasia, tetapi untuk menghindari kerancuan dengan algoritma simetris, istilah
tersebut tidak digunakan (Schneier, 1996).
Gambar 2.3. Proses Enkripsi dan Dekripsi Data dengan Algoritma Kunci Asimetris
(Subandi, 2017)
Enkripsi menggunakan kunci publik K disimbolkan :
Epublic (P) = C ............................................... [2.3]
Walaupun publickey dan privatekey berbeda, dekripsi dengan privatekey yang
cocok disimbolkan dengan:
Dprivate (C) = P ............................................... [2.4]
Keterangan :
E = Fungsi enkripsi
D = Fungsi dekripsi
Public =Public Key
Private = Private Key
C = Cipher text
P = Pesan (message) atau plain text.
One time pad termasuk dalam kriptografi klasik yang berkunci simetris. One time pad
disebut juga sebagai algoritma yang tidak terpecahkan (unbreakable) atau juga
diketahui sebagai holy grail algorithm (Iqbal,2016).
Algoritma one time pad mempunyai cara kerja dimana penerima pesan
mempunya salinan kunci yang sama dan kunci tersebut hanya dipakai satu kali (one
time) untuk enkripsi dan dekripsi dan setelah digunakan maka pad (kertas block not)
harus segera dihancurkan agar tidak bisa dipakai lagi untuk enkripsi dan dekripsi
pesan yang lain.
Pengirim dan penerima harus sama-sama memiliki satu set materi kunci acak
dan memiliki panjang yang sama dengan panjang plain text. Jadi secara teori alasan
algoritma one time pad tidak dapat dipecahkan karena kuncinya secara sempurna
diacak, memiliki panjang yang sama dengan plain text, dirahasiakan, dan hanya
dipakai sekali saja (Srikantaswamy, 2011)
Cipher text yang dihasilkan oleh algoritma one time pad memiliki panjang yang
sama dengan panjang dari plain text. Algoritma one time pad memiliki panjang kunci
yang sama dengan panjang plain text dan cipher text. Sehingga tidak ada kebutuhan
untuk mengulang penggunaaan kunci selama proses enkripsi.
Proses kerja dari algoritma one time pad dapat menggunakan proses kerja klasik
atau modern. Proses kerja klasik dapat dilakukan dengan membuat tabel encoding
untuk mengkonversi karakter ke desimal untuk dilakukan proses enkripsi dan dekripsi.
Proses kerja modern dapat dilakukan dengan teknik XOR dengan meng-XOR-kan
setiap karakter plain text dengan pasangan kuncinya.(Srikantaswamy, 2011).
Adapun aturan enkripsi dan dekripsi dari algoritma one time pad dengan proses kerja
klasik adalah sebagai berikut:
Enkripsi Ci = (Pi + Ki)mod 26 .................................. [2.5]
Dekripsi Pi= (Ci - Ki) mod 26 ................................... [2.6]
Dimana:
P = Plain text
C = Cipher text
i = Urutan karakter dari plain text, cipher text, atau kunci.
Contoh:
Plain text : ILKOM
Langkah awal adalah dengan membuat tabel encoding untuk konversi karakter
ke desimal seperti tabel berikut:
A B C D E F G H I J K L M N O P Q R S T U VW X Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Proses kerja algoritma one time pad secara modern dapat juga disebut sebagai vernam
cipher. Prosesnya dilakukan dengan meng-XOR-kan setiap karakter cipher text
dengan masing-masing pasangan kuncinya (Munir, 2016).
Logika operasi XOR ditunjukkan pada tabel 2.2 berikut:
Tabel 2.2. Logika XOR
p q Hasil
1 1 0
1 0 1
0 1 1
0 0 0
Keterangan :
C = Cipher Text
P = Plain Text
K = Kunci
i = Urutan bit
Contoh :
Plain text : ILKOM
Kunci : GXONW
Plain text dan kunci dikonversikan terlebih dahulu ke dalam bentuk biner
berdasarkan kode ASCII, lalu lakukan operasi XOR untuk enkripsi dan
dekripsi, seperti yang terlihat pada tabel berikut:
I L K O M
Plain text
1001001 1001100 1001011 1001111 1001101
G X O N W
Kunci
1001001 1001100 1001011 1001111 1001101
Cipher text
0001110 0010100 0000100 0000001 0011010
Biner
Cipher text
e 14 4 1 1a
Heksadesimal
Cipher text
e 14 4 1 1a
Heksadesimal
Cipher text
0001110 0010100 0000100 0000001 0011010
Biner
G X O N W
Kunci
1001001 1001100 1001011 1001111 1001101
1001001 1001100 1001011 1001111 1001101
Cipher text
I L K O M
RSA diciptakan oleh Ron Rivest, Adi Shamir, dan Leonard Adleman, sesuai dengan
nama penemunya, pada tahun 1970-an. Rancangan ini bergantung pada kerumitan
dalam memfaktorisasi bilangan bulat (integer) yang berbeda dari penyelesaian
algoritma diskrit (Kallam, 2011). Proses pada algoritma RSA terdiri dari tiga buah
proses, yaitu:
p = cd (mod n).
Contoh :
Anton membuat sistem kunci publiknya dengan pertama-tama memilih dua
bilangan prima, p = 17 dan q = 11. Maka didapat nilai n = p * q = 187 dan ɸ (n) = (p-
1)(q-1) = 16 * 10 = 160. Anton membutuhkan sebuah e, dimana gcd(e, 160) = 1 dan
memilih e = 7. Sekarang Anton harus menemukan d, invers e modulo ɸ (n). Anton
menyadari bahwa 23* 7 = 161 = 10 * 16 + 1 (atau menggunakan algoritma
Euclidean), dan maka d = 23. Kemudian Anton mempublish public key : {7,187}, dan
menyimpan private key : {23,187}.
Algoritma Elgamal dirancang oleh seorang ilmuan yang berasal dari Mesir bernama
Taher Elgamal pada tahun 1984 berdasarkan konsep algoritma Diffie-Helman.
Algoritma ini termasuk dalam kategori algoritma kriptografi kunci publik atau
asimetris. Algoritma ini awalnya digunakan untuk proses digital signature, namun
kemudian dimodifikasi sehingga bisa digunakan untuk proses enkripsi dan dekripsi
(Munir, 2006).
Algoritma kriptografi kunci publik Elgamal merupakan algoritma block chiper
yaitu algoritma yang melakukan proses enkripsi pada blok-blok plain text yang
kemudian menghasilkan blok-blok cipher text, yang nantinya blok-blok cipher text
tersebut akan didekripsi kembali dan hasilnya kemudian digabungkan menjadi plain
text semula. Algoritma Elgamal mempunyai kunci publik yang terdiri dari tiga buah
bilangan dan kunci rahasia yang terdiri dari dua buah bilangan.
Keamanan algoritma Elgamal terletak pada kesulitan perhitungan logaritma
diskrit pada modulo prima yang besar, sehingga upaya untuk menyelesaikan masalah
logaritma ini menjadi sulit untuk dipecahkan yang menjadi kelebihan dari algoritma
ini. Selain itu, algoritma ini juga memiliki kelebihan lain, yaitu bahwa suatu plain text
yang sama akan dienkripsi menjadi cipher text yang berbeda-beda. Akan tetapi,
walaupun cipher text yang diperoleh berbeda-beda, tetapi pada proses dekripsi akan
diperoleh plain text yang sama.
Algoritma ini memiliki pembangkitan kunci yang menggunakan logaritma
diskrit dan metode enkripsi dekripsi yang menggunakan proses komputasi yang besar
sehingga hasil enkripsinya berukuran dua kali dari ukuran semula. Dimana hal
tersebut menjadi kekurangan dari algoritma ini. Dikarenakan membutuhkan
komputasi yang besar, maka algoritma ini membutuhkan resource atau sumber daya
yang baik dan processor yang mampu untuk melakukan komputasi yang besar
(Caroline, 2011).
Proses pembentukan kunci ini terdiri dari pembentukan kunci publik dan juga
pembentukan kunci rahasia. Kunci publik ini akan digunakan pada proses
pengenkripsian, sedangkan kunci rahasia digunakan pada saat proses pendekripsian.
Proses enkripsi menggunakan kunci publik (y,g,p) dan sebuah bilanganacak dengan
syarat 1 ≤ k ≤ p-2. Untuk setiap karakter dalam pesan dienkripsi harus menggunakan
bilangan k yang selalu berbeda untuk meningkatkan keacakan dankeamanan dari
cipher text yang dihasilkan.
Satu karakter yang direpresentasikan dengan menggunakan bilangan bulat
ASCII akan menghasilkan kode dalam bentuk blok yang terdiri atas dua nilai (a,b).
Berikut adalah langkah-langkahuntuk proses enkripsi:
1. Ambil karakter plain text dan konversikan ke dalam bentuk desimal
berdasarkan tabel ASCII yang disebut dengan m.
Dekripsi dari cipher text ke plain text menggunakan kunci rahasia x dan p yang
disimpan kerahasiaanya oleh penerima pesan. Bilangan (y, g, p) sebagai kunci publik
dan x sebagai kunci rahasia pada algoritma Elgamal yang didapat pada proses
pembentukan kunci. Jika diberikan cipher text (a, b), maka cipher text tersebut dapat
didekripsi menjadi plain text dengan persamaan sebagai berikut:
m = b.c mod p ...................................................... [2.14]
Dimana m adalah plain text. Nilai dari variabel c dapat dicari dengan
menggunakan persamaan sebagai berikut :
c = ap-1-xmod p ...................................................... [2.15]
Berikut langkah-langkah untuk proses dekripsi:
1. Ambil blok cipher text hasil enkripsi oleh pengirim
2. Dengan menggunakan bilangan x, yang menjadi bagian dari kunci rahasia,
maka lakukan pengoperasian terhadap blok cipher text dengan persamaan
diatas.
Dalam kriptografi, Shamir’s three pass protocol (dalam penelitian ini hanya disebut
dengan three pass protocol), dalam proses pengiriman pesan merupakan suatu
kerangka kerja yang memungkinkan satu pihak untuk aman mengirim pesan ke pihak
kedua tanpa perlu untuk bertukar atau mendistribusikan kunci rahasia. Disebut dengan
Shamir’s three pass protocol karena pengirim dan penerima pesan melakukan
pertukaran sebanyak tiga tahap untuk mengenkripsi pesan tersebut.
Shamir’s three pass protocol pertama kali dikembangkan oleh Adi Shamir pada
sekitar tahun 1980. Konsep dasar Shamir’s Three pass protocol adalah bahwa masing-
masing pihak memiliki kunci enkripsi pribadi dan sebuah kunci dekripsi pribadi.
Kedua belah pihak menggunakan kunci mereka masing-masing untuk mengenkripsi
pesan dan kemudian untuk mendekripsi pesan. Dalam hal ini pengirim disebut sebagai
Anton dan penerima disebut sebagai Beby. Sehingga dengan skema three pass
protocol, Anton dan Beby dapat saling bertukar data tanpa harus melakukan
pertukaran kunci. Tidak terjadinya pertukaran kunci, maka kunci tidak akan bisa
disadap dan kerahasiaan akan tetap terjamin (Oktaviana, 2016).
Skema dari alur kerja three pass protocol dapat dilihat pada gambar 2.5 berikut:
Blum Blum Shub cukup terkenal sebagai sebuah algoritma pembangkit bilangan acak
yang baik dikarenakan kemangkusannya dan kesederhanaannya. BBS dibuat
padatahun 1986 oleh tiga orang: Lenore Blum, Manuel Blum, dan Michael Shub
(Lietara, 2016).
Pada penelitian ini, kunci enkripsi-dekripsi algoritma one time pad yang
digunakan serta kunci perotasian cipher text dibangkitkan dengan pembangkit
bilangan acak cryptographically secure pseudorandom generator (CSPRNG)
menggunakan teori bilangan Blum-Blum Shub. Algoritma pembangkitan bilangan
acak BBS adalah sebagai berikut: (Munir, 2006).
1. Pilih dua buah bilangan prima rahasia p dan q, yang masing-masing kongruen 3
modulo 4 atau 3 = x mod 4 (dalam praktek bilangan prima yang digunakan
cukup besar).
2. Kalikan keduanya menjadi n = pq. Bilangan n ini disebut bilangan bulat Blum.
3. Pilih bilangan acak lain s, sebagai umpan sedemikian sehingga:
(i) 2 ≤ s ≤ n
(ii) s dan n relatif prima
kemudian hitung x0 = s2 mod n
4. Barisan bit acak dihasilkan dengan melakukan iterasi berikut sepanjang yang
diinginkan.
(iii) hitung xi = xi-12 mod n
(iv) zi = bit LSB dari xi
Barisan bit acak yang dihasilkan adalah z1, z2, z3, ...
Yang menarik dari algoritma pembangkit bilangan acak ini adalah bahwa tidak
perlu melakukan iterasi untuk mendapatkan bilangan acak jika p dan q diketahui,
sebab xi dapat dihitung secara langsung. Keamanan BBS terletak pada sulitnya
memfaktorkan. Nilai n tidak perlu rahasia dan dapat diumumkan kepada publik. BBS
tidak dapat diprediksi dari arah kiri dan tidak dapat diprediksi dari arah kanan, yaitu
berarti jika diberikan barisan bit yang dihasilkan oleh BBS, kriptanalis tidak dapat
menganalisa barisan bit sebelumnya dan barisan bit sesudahnya dalam urutan bilangan
acak yang dihasilkan.
Dua buah bilangan bulat dapat memiliki faktor pembagi yang sama. Misalkan a dan b
adalah dua buah bilangan bulat tidak nol. Pembagi bersama terbesar (PBB) dari a dan
b adalah bilangan bulat terbesar d sedemikian sehingga d|a dan d|b. Dalam hal ini kita
nyatakan bahwa PBB (a,b) = d.
Misalnya 45 memiliki faktor pembagi 1, 3, 5, 9, 15, dan 45 sendiri; sedangkan
36 memiliki faktor pembagi 1, 2, 3, 4, 9, 12, 18, dan 36 sendiri.
Faktor pembagi bersama dari 45 dan 36 adalah 1, 3, 9, yang terbesar adalah 9
sehingga disimpulkan PBB(45, 36) = 9 (Munir, 2006).
Dalam menentukan PBB perlu digunakan suatu algoritma yang lebih baik yaitu
dengan algoritma Euclidean.
Menurut Munir (2006), langkah-langkah dalam algoritma Euclidean adalah
sebagai berikut :
1. Jika n = 0 maka
2. m adalah PBB(m, n);
3. stop.
4. Bagilah m dengan n dan misalkan r adalah sisanya .
5. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke
langkah 1.
27 mod 3 = 0 ( 27 = 3 . 9 + 0)
6 mod 8 = 6 (6 = 8 . 0 + 6)
0 mod 12 = 12 (0 = 12 . 0 + 12)
- 41 mod 9 = 4 ( - 41 = 9 (- 5) + 4)
- 39 mod 13 = 0 (- 39 = 13 (- 3) + 0)
Penjelasan untuk (v): karena a negatif, bagi |a| dengan m mendapatkan sisa r’.
Maka a mod m = m – r’ bila r’ ≠ 0. Jadi |- 41| mod 9 = 5, sehingga – 41 mod 9
= 9 – 5 = 4.
Jika a mod m = 0, maka dikatakan bahwa a adalah kelipatan dari m, yaitu a
habis dibagi dengan m. Misalnya pada 27 mod 3 = 0, berarti 27 adalah
kelipatan 3.
Apabila suatu bilangan dikalikan dengan inversnya hasilnya adalah 1. Dari aritmatika
dasar diketahui bahwa:
3 * 5 ≡ 15 (mod 7) ≡ 1 (mod 7)
invers ditemukan.
3 * 6 ≡ 18 (mod 7) ≡ 4 (mod 7)
Langkah 2. Invers modulo dari A mod C adalah B dengan nilai yang membuat
A * B mod C = 1.
5 adalah invers modulo dari 3 mod 7 karena 5 * 3 (mod 7) = 1
Jika n ≥ 1 adalah integer. Maka dapat didefinisikan Fungis Euler Phi ɸ dengan ɸ (n) =
jumlah bilangan bulat (integer) positif yang kurang dari n dan relatif prima dengan n.
Contoh :
ɸ (1) = 1, ɸ (2) = 1, ɸ (3) = 2, ɸ (4) = 2, ɸ (5) = 4, ɸ (6) = 2, ɸ (15) = 8
ɸ (15) = 8, artinya terdapat 8 bilangan bulat positif yang kurang dari 15 dan
relatif prima dengan 15 yaitu 1, 2, 4, 7, 8, 11, 13, 14 (Sizemore, 2012).
Relatif prima atau koprima adalah himpunan bilangan dimana Faktor Pembagi
Terbesar (GCD) adalah 1 (Turner:2008:127).
METODE PENELITIAN
Bab ini membahas alur dari metode penelitian yang digunakan dalam menjalankan
penelitian agar penelitian berjalan lebih terstruktur dan terencana. Adapun metode
penelitian yang digunakan dapat dilihat pada diagram dibawah ini, dan penjelasan tiap
butir metode dijelaskan pada masing-masing sub-bab.
Algoritma One time pad pada saat ini masih merupakan algoritma kriptografi yang
unbreakable yang berarti cipher text dari algoritma ini tidak dapat dipecahkan, tetapi
jika algoritma ini diterapkan pada skema three-pass protocol, maka algoritma ini akan
sangat mudah untuk dipecahkan. Sebagai contoh, dapat dilihat pada kasus di bawah
ini :
“Anton ingin mengirim sebuah pesan kepada Beby. Untuk merahasiakan pesan
yang dikirim, maka pesan akan dienkripsi terlebih dahulu. Dan untuk lebih
mengamankan pesan, maka tidak boleh terjadi pertukaran kunci deskripsi antara
Anton dan Beby, sehingga mereka sepakat untuk menggunakan skema three-pass
protocol dalam proses pengiriman data yang memungkinkan tidak terjadinya
pertukaran kunci. Sedangkan algoritma kriptografi yang dipilih adalah algoritma one
time pad. Dan pesan yang akan dikirim adalah : Komputer.
Skema dari three-pass protocol dapat dilihat pada diagram skema berikut:
Gambar 3.2. Skema Three Pass Protocol yang digunakan Anton dan Beby
Proses enkripsi dan dekripsi dari algoritma one time pad dalam dilihat pada
persamaan dibawah ini :
Dimana :
P = Plain text
C = Cipher text
i = Urutan bit dari plain text, cipher text, atau kunci.
Proses XOR
Skema three pass protocol terdiri dari tiga buah tahap sebagai berikut:
Anton akan membangkitkan kunci enkripsi-deskripsi secara acak sepanjang plain text
yaitu KA.
Plain text : Komputer.
Plain text dalam bentuk biner :
0100101101101111011011010111000001110101011101000110010101110010
Panjang biner dari plain text adalah 64 bit, sehingga Anton harus
membangkitkan kunci KA sepanjang 64 bit juga.
Andai kunci yang dibangkitkan adalah KA :
0110000100110011001101000100010001000110001101100011000001110001
Setelah itu, akan akan melakukan enkripsi terhadap plain text dengan kunci KA
dengan menggunakan algoritma One time pad, sebagai berikut :
Tabel 3.1. Proses Enkripsi Plain text dengan Kunci KA
Setelah itu, cipher text A dikirim ke Beby, sedangkan kunci Ka tetap disimpan
oleh Anton.
Setelah cipher text A diterima oleh Beby, maka Beby akan membangkitkan kunci KB
secara acak sepanjang cipher text A yang diterima.
Andai kunci KB yang dibangkitkan adalah
KB :
0011000000101001001010100101111001100111010010000100001001100000
Tabel 3.2. Proses Enkripsi Cipher text A dengan Kunci KB
Setelah Anton menerima cipher text AB dari Beby, cipher text AB tersebut dideskripsi
menggunakan kunci KA yang masih disimpan oleh Anton. Seperti ditunjukkan pada
tabel berikut :
Tabel 3.3. Proses Deskripsi Cipher text AB dengan Kunci KA
telah selesai. Cipher text B tersebut jika dideskripsi menggunakan kunci KB miliki
Beby akan menghasilkan pesan asli. Seperti yang ditunjukkan pada tabel 3.4 berikut:
Tabel 3.4. Proses Deskripsi Cipher text B dengan Kunci KB
Jika plain text yang masih dalam bentuk biner dikonversikan ke dalam karakter
pada tabel ASCII akan menghasilkan :
Plain text = Komputer.
Algoritma one time pad dengan skema three-pass protocol akan menimbulkan
masalah jika terdapat seorang intruder atau penyadap yang berhasil menyadap tiga
buah cipher text yang dikirim, yaitu cipher text A, cipher text AB, dan cipher text B.
Dengan meng-XOR-kan ketiga cipher text tersebut, maka akan dihasilkan plain text
atau pesan asli dengan sangat mudah. Seperti ditunjukkan pada tabel berikut :
Tabel 3.5. Proses Pembentukan Plain Text dengan Meng-XOR-kan Cipher Text A,
Cipher Text AB, dan Cipher Text B.
Jika plain text dikonversikan ke dalam karakter berdasarkan tabel ASCII, maka
hasilnya adalah Komputer.
Pada contoh di atas, dapat dilihat kelemahan dari algoritma one time pad jika
diterapkan pada skema three pass protocol. Analisis ini dapat dilakukan karena dalam
pengujian keamanan kriptografi, akan selalu diasumsikan bahwa:
Setelah tahap analisa masalah, maka tahap selanjutnya adalah tahap studi literatur.
Dimana, berbagai referensi yang berhubungan dengan penelitian ini dicari, dipelajari,
dan lalu digunakan sebagai acuan dalam menyelesaikan penelitian ini. Pengumpulan
data-data pendukung baik berupa teori atau hasil penelitian yang berhubungan dengan
penelitian ini diambil terutama dari jurnal, baik jurnal internasional maupun jurnal
nasional. Selain itu, data-data juga dikumpulkan melalui buku, baik buku cetak
maupun buku elektronik. Segala referensi yang digunakan akan dimuat pada daftar
pustaka dalam laporan penelitian tesis ini.
Setelah menganalisa dan memahami masalah yang ada, maka perlu dirancangnya
penyelesaian masalah untuk menyelesaikan masalah yang ada. Penyelesaian masalah
diajukan dalam bentuk proses yang baru yang akan memperbaiki masalah pada proses
yang lama.
Pada penelitian ini, diusulkan suatu penyelesaian, adapun usulan yang diajukan
sebagai penyelesaian masalah adalah dengan memodifikasi cipher text – cipher text
yang dihasilkan dari algoritma one time pad, baik pada cipher text A, cipher text AB,
maupun cipher text B. Sehingga, jika intruder berhasil mendapatkan ketiga cipher text
tersebut, maka intruder tidak dapat langsung meng-XOR-kan ketiga cipher text
tersebut untuk mendapatkan plain text. Selain itu, untuk memperkuat cipher text dari
algoritma one time pad, maka dibutuhkan algoritma pembangkit bilangan acak yang
benar-benar acak dan kuat untuk membangkitkan kunci KA dan Kunci KB yang
digunakan untuk proses enkripsi dan dekripsi. Pada penelitian ini diusulkan sebuah
algoritma pembangkit bilangan acak untuk membangkitkan kunci yaitu algoritma
Blum Blum Shub. Kunci rahasia hanya boleh digunakan untuk satu kali proses enkripsi
dan dekripsi, setelah itu, kunci rahasia harus segera dihancurkan.
Setelah dilakukan modifikasi terhadap cipher text, maka penerima pesan harus
mengetahui aturan modifikasi yang dilakukan, sehingga penerima masih dapat
melakukan deskripsi terhadap cipher text yang diterima. Selain itu, aturan modifikasi
harus lah kuat dan sulit untuk dipecahkan, sehingga intruder tidak dapat memecahkan
aturan modifikasi yang dilakukan dengan mudah dan cepat.
Untuk melakukan modifikasi terhadap cipher text, pada penelitian ini diusulkan
untuk menggunakan dua buah algoritma kriptografi asimetris, yaitu algoritma RSA
dan algoritma Elgamal. Sampai saat ini, algoritma RSA dan algoritma Elgamal masih
sangat kuat, dan sulit untuk dipecahkan. Beberapa penelitian juga membuktikan
bahwa algoritma RSA dan Elgamal masih merupakan algoritma asimeteris yang layak
dan aman untuk digunakan. Selain itu juga algoritma-algoritma ini memiliki dua buah
kunci, yaitu kunci publik (public key) yang hanya digunakan untuk proses enkripsi
dan bersifat tidak rahasia (bebas), dan kunci privat (private key) yang hanya
digunakan untuk proses deskripsi dan bersifat rahasia. Sama halnya dengan kunci
rahasia, private key dan public key juga hanya boleh untuk sekali proses enkripsi dan
dekripsi, setelah itu private key dan public key tersebut harus dimusnakan. Pada
penelitian ini cipher text A dan cipher text B akan dimodifikasi dengan menggunakan
algoritma Elgamal menjadi super cipher text A, dan super cipher text B. sedangkan
cipher text AB akan dimodifikasi menggunakan algoritma RSA menjadi super cipher
text AB.
Private key sangat bersifat rahasia, oleh karena itu hanya pembangkit kunci
yang boleh menyimpan private key. Hal ini dikarenakan kegunaan dari kunci ini yang
digunakan untuk proses dekripsi sehingga mengharuskan kunci ini benar-benar
rahasia dan tidak boleh tersebar atau ikut dikirimkan sebagai pesan. Berbeda dengan
Public key bersifat tidak rahasia dan boleh disebarkan sehingga bersifat bebas, karena
kunci ini hanya digunakan untuk proses enkripsi. Logikanya, siapa saja boleh
melakukan proses enkripsi, dan itu tidak akan mengurangi kerahasia data yang
dikirim, tetapi hanya orang-orang yang berhak saja yang boleh melakukan proses
dekripsi. Selain itu, private key akan sangat sulit dibentuk melalui public key,
setidaknya membutuhkan proses yang sangat lama dan sumber daya yang besar untuk
membentuk private key dari public key. Sehingga public key aman untuk disebarkan
dan aman untuk diketahui siapa saja tanpa khawatir mengganggu keamanan cipher
text.
Merujuk dari sifat public key yang aman untuk disebarkan, tanpa mengganggu
keamanan cipher text, maka public key masih layak jika ikut serta dikirimkan secara
tersendiri maupun bersamaan dengan cipher text pada skema three-pass protocol. Hal
ini dikarenakan, public key yang tidak bersifat rahasia walau syarat utama penggunaan
skema three-pass protocol yaitu tidak adanya pertukaran kunci yang dilakukan oleh
penerima dan pengirim. Tetapi, mengingat algoritma three pass protocol dirancang
untuk menjawab masalah key distribution pada algoritma simetris yang hanya
memiliki kunci rahasia, maka pertukaran kunci yang tidak boleh terjadi hanya
pertukaran kunci rahasia, tidak untuk kunci tidak rahasia (public key)
Jika menggunakan algoritma asimetris, maka public key perlu untuk dikirimakan
oleh penerima pesan kepada pengirim pesan agar pengirim pesan dapat melakukan
enkripsi terlebih dahulu terhadap pesan yang akan dikirim. Hal ini merujuk kepada
perbedaan dasar dari algoritma asimetris dengan algoritma simetris. Dimana, Dimana
algoritma kriptografi simetris hanya memiliki sebuah kunci yang digunakan untuk
proses enkripsi dan juga proses deskripsi, sehingga kunci ini benar-benar sangat rahasi
dan tidak dapat dikirim sebagai pesan karena akan dengan mudah dapat disadap.
Berdasarkan hal ini, algoritma kriptografi simteris tidak memenuhi syarat untuk
digunakan untuk memodifikasi cipher text A, cipher text AB, dan cipher text B pada
skema three-pass protocol.
Secara singkat analisa proses penyelesaian masalah yang diajukan Pada
penelitian ini terdiri dari lima poin:
1. Membangkitkan kunci enkripsi-deskripsi menggunakan algoritma Blum-
Blum Shub (BBS).
2. Semua kunci hanya boleh digunakan satu kali, baik untuk kunci rahasia,
public key, dan private key.
Untuk memungkinkan terjadinya pertukaran kunci publik (public key) pada skema
three pass protocol, maka terlebih dahulu harus dilakukan modifikasi terhadap skema
ini agar memungkinkan untuk terjadinya pertukaran kunci publik.
Berikut merupaka skema three pass protocol yang diusulkan setelah dilakukan
proses modifikasi:
Pada skema di atas, telah diijinkan terjadinya pertukaran public key dari Beby ke
Anton juga sebaliknya. Beby akan mengirim public key B sebanyak dua kali, dimana
kedua public key ini berbeda. Sedangkan anton akan mengirimkan satu kali public key
A.
Enkripsi menggunakan public key dilakukan setelah proses enkripsi atau
dekripsi dengan kunci rahasia (KA atau KB), sedangkan proses dekripsi dengan private
key dilakukan sebelum proses enkripsi atau dekripsi dengan kunci rahasia (KA atau
KB).
Sebelum melakukan pengiriman public key, maka secara otomatis public key
dan private key akan dibangkitkan secara bersamaan. Public key dikirim, sedangkan
private key tetap disimpan.
Pada penelitian ini digunakan lima buah algoritma dengan kegunaan masing-masing
dan sebuah skema pengiriman data yaitu modifikasi dari three pass protocol. Adapun
kelima algoritma yang digunakan adalah:
1. Algoritma one time pad
Algoritma one time pad digunakan untuk proses enkripsi awal dari plain text
menjadi cipher text A, dan enkripsi cipher text A menjadi cipher text AB. Lalu
algoritma ini digunakan untuk proses dekripsi cipher text AB menjadi cipher
text B, dan dekripsi cipher text B menjadi plain text.
Flowchart dari algoritma one time pad sebagai berikut:
2. Algoritma Elgamal
Algoritma Elgamal digunakan untuk melakukan enkripsi terhadap cipher text A
menjadi super cipher text A, dan enkripsi cipher text B menjadi super cipher
text B. Lalu algoritma ini digunakan untuk proses dekripsi dari cipher text A
menjadi super cipher text A, dan dekripsi super cipher text B menjadi cipher
text B.
Berikut flowchart dari algoritma Elgamal:
3. Algoritma RSA
Proses penyelesaian masalah yang diusulkan dibagi menjadi tiga buah tahapan,
termasuk skema modifikasi three pass protocol juga dibagi menjadi tiga buah tahapan.
Secara lengkap seluruh proses yang terjadi pada modifikasi skema three pass protocol
dapat dilihat pada gambar berikut:
Diagram proses tersebut terbagi menjadi tiga buah tahapan, adapun tahapan-
tahapan dari setiap proses tersebut adalah:
1. Tahap pertama
Tahap pertama dimulai dengan Beby membangkitkan public key B 1st dan
private key B 1st dengan algoritma Elgamal. Lalu Beby menyimpan private key
B 1st dan mengirimkan public key B 1st ke Anton.
Anton menyiapkan plain text yang akan dikirimkan, lalu membangkitkan kunci
acak KA sepanjang plain text menggunakan algoritma Blum Blum Shub. Setelah
itu, Anton mengenkripsi plain text menggunakan algoritma one time pad dengan
kunci KA menjadi cipher text A, lalu cipher text A kembali dienkripsi
menggunakan algoritma Elgamal dengan public key B 1st untuk menghasilkan
super cipher text A.
Diagram proses tahap pertama dapat dilihat pada diagram berikut:
Tahap kedua dimulai dengan diterimanya super cipher text A dan public key A
dari Anton oleh Beby. Beby lalu melakukan proses dekripsi terhadap cipher text
A yang diperoleh menggunakan algoritma Elgamal dengan private key B 1st
untuk menghasilkan cipher text A. Lalu dengan segera, Beby membangkitkan
kunci acak KB sepanjang cipher text A menggunakan algoritma Blum Blum
Shub. Lalu cipher text A yang diperoleh dienkripsi menggunakan algoritma one
time pad dengan kunci KB untuk menghasilkan cipher text AB. Cipher text AB
lalu kembali dienkripsi dengan menggunakan algoritma RSA dengan public key
A untuk menghasilkan super cipher text AB. Setelah itu, Beby dengan segera
kembali melakukan generate key, yaitu membangkitkan public key B 2nd dan
private key B 2nd. Private key B 2nd disimpan oleh Beby, sedangkan public key B
2nd bersama dengan super cipher text AB dikirim ke Anton. Ini adalah akhir dari
proses tahap kedua.
Sama seperti tahap pertama, seluruh bilangan prima yang dibutuhkan pada
proses ini dibangkitkan dengan menggunakan algoritma Lehmann Primality
Test. Diagram proses tahap kedua dapat dilihat pada gambar berikut:
3. Tahap ketiga
Tahap ketiga dimulai dengan diterimanya super cipher text AB dan public key B
2nd dari Beby oleh Anton. Dimana super cipher text AB tersebut didekripsi
menggunakan algoritma RSA dengan private key A untuk menghasilkan cipher
text AB. Lalu cipher text AB tersebut didekripsi menggunakan algoritma one
time pad dengan kunci KA, untuk menghasilkan cipher text B. Setelah itu, cipher
text B kembali dienkripsi menggunakan algoritma Elgamal dengan public key
B2nd untuk menghasilkan super cipher text B. Super cipher text B kemudian
dikirimkan ke Beby.
Setelah Beby menerima super cipher text B, lalu super cipher text B ini
didekripsi menggunakan algoritma Elgamal dengan private key B 2nd untuk
menghasilkan cipher text B, kemudian cipher text B ini didekripsi menggunakan
algoritma one time pad dengan kunci KB untuk menghasilkan plain text.
Sama seperti tahap pertama dan tahap kedua, seluruh bilangan prima yang
dibutuhkan pada proses tahap ketiga dibangkitkan menggunakan algoritma
Lehmann Primality Test. Diagram proses tahap ketiga dapat dilihat pada gambar
berikut:
Algoritma yang dirancang terlebih dahulu akan dianalisa tingkat kekuatannya sebelum
Pengujian keamanan dilakukan terhadap ketiga cipher text yang dikirimkan pada
proses yang diusulkan, yaitu super cipher text A, super cipher text B, dan super cipher
text B. Pengujian keamanan menggunakan empat tipe pengujian, yaitu:
1. XOR
Pengujian XOR dilakukan dengan melakukan operasi XOR pada super
cipher text A, super cipher text AB, dan super cipher text B secara
bersamaan. Hasil operasi XOR akan dianalisis apakah akan menghasilkan
kembali plain text, atau tetap tidak akan menghasilkan pesan bermakna
(cipher text). Pengujian ini mutlak diperlukan dikarenakan pada proses
terdahulu, jika cipher text A, cipher text AB, dan cipher text B dilakukan
operasi XOR secara bersamaan akan kembali menghasilkan plain text.
2. Bruto Force
Pengujian bruto force dilakukan untuk menganalisis berapa banyak intruder
harus mencoba melakukan enkripsi terhadap super cipher text maupun
cipher text hingga mendapatkan plain text dengan semua kemungkinan
kunci yang ada. Semakin banyak kunci yang harus dicoba, maka semakin
kuat super cipher text atau cipher text tersebut.
3. Ciphertext-Only Analysis
Pengujian keamanan dengan ciphertext-only analysis dilakukan dengan
memberikan asumsi bahwa intruder memiliki seluruh super cipher text A,
super cipher text AB, dan super cipher text B yang dikirim, tetapi interuder
sama sekali tidak memiliki sedikitpun potongan dari plain text. Dengan
asumsi tersebut, dilakukan analisis kemungkinan interuder dapat
memecahkan super cipher text menjadi plain text.
4. Known-Plaintext Analysis
Pengujian keamanan dengan teknik known-plaintext analysis dilakukan
dengan memberikan asumsi bahwa intruder mengetahui sebagian isi plain
text dari super cipher text yang berhasil didapatkan. Intruder berusaha
mencari kunci yang digunakan untuk membuat super cipher text. Dengan
asumsi tersebut, dilakukan analisis kemungkinan interuder akan
memecahkan super cipher text menjadi plain text.
Tahap ini merupakan tahap akhir dari penelitian, dimana pada tahap ini dilakukan
penarikan kesimpulan dari analisa hasil pengujian yang telah dilakukan. Penarikan
kesimpulan akan disajikan dalam bab V pada laporan penelitian tesis ini.
Pengujian algoritma dilakukan dengan skenario terdapat dua orang yang akan
melakukan komunikasi, dimana pengirim pesan bernama Anton akan mengirimkan
sebuah pesan kepada Beby. Pesan ini adalah pesan rahasia yang hanya boleh untuk
diketahui oleh Anton dan Beby. Pesan ini akan dikirimkan dengan algoritma yang
dirancang dalam penelitian ini. Adapun pesan yang akan dikirim disebut plain text. Isi
plain text tersebut adalah:
Plain text : Informatika
Algoritma yang dirancang terdiri dari tiga buah tahapan, adapun proses yang
terjadi pada setiap tahapan sebagai berikut:
5) Nilai g<p. disini g<p-2, maka g = x0 mod (p-2) = 111547 mod 1756 =
856.
6) Sehingga g = 856
c. Membangkitkan bilangan acak x
1) Pilih duah buah bilangan prima p dan q. (bilangan prima dibangkitkan
dengan algoritma Lehmann Primality Test). Bilangan yang dipilih:
p = 1567 dan q : 1399
Hitung n = p.q. Sehingga n = (1567)(1399) = 2192233
2) Pilih bilangan s, dimana 2 ≤ s ≤ n dan GCD(s,n) = 1 atau relatif prima.
Dipilih s = 849117, karena GCD(849117, 2192233) = 1
3) Hitung x0 = s2 mod n = 8491172 mod 2192233 = 552785
4) Nilai g<p. disini g<p-2, maka g = x0 mod (p-2) = 552785 mod 1756 =
1087
5) Sehingga x = 1087
d. Membangkitkan bilangan y
Hitung y dengan persamaan:
y = gx mod p = 8561087 mod 1759 = 1148
Setelah didapatkan nilai p, g, x, dan y, maka dapat dibentuk private key B 1st dan
public key B1st. Dimana
Public key B 1st = (y,g,p), oleh karena itu maka:
Public key B 1st = (1148, 856, 1759)
Private key B1st = (x.p), oleh karena itu maka:
Private key B1st = (1087, 1759)
Beby selanjutnya mengirimkan public key B1st ke Anton dan menyimpan
private key B 1st.
2. Pembangkitan kunci acak KA
Plain text yang dikirim adalah Informatika, memiliki panjang karakter 11
karakter. Plain text terlebih dahulu diubah kedalam bentuk biner 8 bit
berdasarkan kode ASCII sehingga menjadi:
Plain text : Informatika
I : 01001001
n : 01101110
f : 01100110
o : 01101111
r : 01110010
m : 01101101
a : 01100001
t : 01110100
i : 01101001
k : 01101011
a : 01100001
Plain text :
0100100101101110011001100110111101110010011011010110000101110100
011010010110101101100001
Panjang bit plain text = 88 bit
Setelah panjang bit plain text diketahui, maka bangkitkan bit acak sepanjang bit
plain text untuk menjadi kunci acak KA dengan algoritma Blum Blum Shub
berikut:
1) Pilih bilangan prima p dan q. p = 1423 dan q = 1423.
2) n = p.q = (1423) (1423) = 2024929
3) s = 784624, karena GCD(784624, 2024929) = 1
Setelah itu, bangkitkan bit acak sebanyak 88 bit acak dengan persamaan x i = xi-1
mod p, dimana x0 = s mod p
1) x0 = 7846242 mod 2024929 = 1732293 mod 2 =1
2) x1 = 17322932 mod 2024929 = 1581086 mod 2 =0
2
3) x2 = 1581086 mod 2024929 = 1390884 mod 2 =0
4) x3 = 13908842 mod 2024929 = 1882726 mod 2 =0
5) x4 = 18827262 mod 2024929 = 752215 mod 2 =1
6) x5 = 7522152 mod 2024929 = 1495755 mod 2 =1
7) x6 = 14957552 mod 2024929 = 1740724 mod 2 =0
Berdasarkan hasil operasi XOR pada tabel 4.1. diketahui bahwa cipher text A
adalah:
1100010101101000010110100000001011001111100111000101010011101100
000001000101000001011011
4. Enkripsi cipher text A dengan algoritma Elgamal
Cipher text A yang dihasilkan lalu dienkripsi menggunakan algoritma Elgamal
dengan public key B 1st yang diterima oleh Anton dari Beby. Adapun public key
B 1st yang diterima:
Public key B 1st = 1148,856,1759
Dimana y = 1148, g = 856, p = 1759.
Langkah-langkah enkripsi cipher text A dengan algoritma Elgamal sebagai
berikut:
1) Konversi cipher text A ke dalam bentuk desimal menjadi:
Cipher text A =
11000101011010000101101000000010110011111001110001010100111011
00000001000101000001011011
11000101 = 197
01101000 = 104
01011010 = 90
00000010 =2
11001111 = 207
10011100 = 156
01010100 = 84
11101100 = 236
00000100 =4
01010000 = 80
01011011 = 91
Sehingga Cipher text A = 197 104 90 2 207 156 84 236 4 80 91
2) Enkripsi cipher text A
Cipher text A memiliki 11 blok, enkripsi dilakukan perblok, dan dimulai dari
blok ke 0 sampai blok ke 10 dengan persamaan: a = gk mod p. dimana k
adalah bilangan acak dengan syarat 1≤k≤p-2 yang dibangkitkan dengan
algoritma Blum Blum Shub dengan parameter nilai:
p = 1039
q = 1319
n = 1370441
s = 70096.
Maka, proses enkripsi yang terjadi adalah:
Blok ke - 0
k = 700962 mod 1370441 = 418231 mod 1757 = 65
m0 = 197
a = 85665 mod 1759 = 823
65
b = (1148 )(197) mod 1759 = 1447
Blok ke - 1
k = 4182312 mod 1370441 = 932326 mod 1757 = 1116
m1 = 104
a = 8561116 mod 1759 = 513
1116
b = (1148 )(104) mod 1759 = 179
Blok ke - 2
k = 9323262 mod 1370441 = 786765 mod 1757 = 1386
m2 = 90
a = 8561386 mod 1759 = 1492
1386
b = (1148 )(90) mod 1759 = 10
Blok ke - 3
k = 7867652 mod 1370441 = 1115227 mod 1757 = 1289
m3 =2
a = 8561289 mod 1759 = 1046
b = (11481289)(2) mod 1759 = 1345
Blok ke - 4
k = 11152272 mod 1370441 = 1236389 mod 1757 = 1218
m4 = 207
a = 8561218 mod 1759 = 999
b = (11481218)(207) mod 1759 = 1166
Blok ke - 5
k = 12363892 mod 1370441 = 716312 mod 1757 = 1213
m5 = 156
a = 8561213 mod 1759 = 1697
b = (11481213)(156) mod 1759 = 1545
Blok ke - 6
k = 7163122 mod 1370441 = 177857 mod 1757 = 400
m6 = 84
a = 856400 mod 1759 = 527
b = (1148400)(84) mod 1759 = 180
Blok ke - 7
k = 1778572 mod 1370441 = 593287 mod 1757 = 1178
m7 = 236
a = 8561178 mod 1759 = 1249
b = (11481178)(236) mod 1759 = 1148
Blok ke - 8
k = 5932872 mod 1370441 = 1286606 mod 1757 = 482
m8 =4
a = 856482 mod 1759 = 872
b = (1148482)(4) mod 1759 = 1270
Blok ke - 9
k = 12866062 mod 1370441 = 685777 mod 1757 = 547
m9 = 80
a = 856547 mod 1759 = 1743
b = (1148547)(80) mod 1759 = 1560
Blok ke - 10
k = 6857772 mod 1370441 = 1337523 mod 1757 = 446
m10 = 91
a = 856446 mod 1759 = 98
b = (1148446)(91) mod 1759 = 95
Dengan aturan bahwa a dan b adalah sebuah blok cipher text, maka didapat:
Super cipher text A =
823,1447.513,179.1492,10.1046,1345.999,1166.1697,1545.527,180.1249,11
48.872,1270.1743,1560.98,95.
5. Pembangkitan kunci RSA
Setelah Super cipher text A berhasil dibangkitkan, maka dengan segera Anton
harus membangkitkan kunci RSA yang terdiri dari private key A dan public key
A. Langkah-langkah membangkitkan kunci RSA sebagai berikut:
1) Pilih bilangan prima p dan q
Bilangan prima dibangkitkan dengan algoritma Lehmann Primality Test
sehingga mendapatkan bilangan prima p = 1823 dan q = 1087.
2) Hitung nilai n
Dengan persamaan n = p.q, maka n = (1823)(1087) = 1981601
Pada proses tahap kedua dimulai dengan diterimanya super cipher text A dan public
key A oleh Beby dari Anton. Dimana akan dilakukan lima proses lebih lanjut pada
tahap kedua, yaitu:
1. Dekripsi Super cipher text A dengan Algoritma Elgamal
Setelah Beby menerima super cipher text A, maka Beby segera melakukan
proses dekripsi dengan algoritma Elgamal menggunakan private key B 1st yang
disimpan oleh Beby untuk menghasilkan cipher text A.
Diketahui:
Private key B 1st = 1087,1759, dimana x = 1087 dan p = 1759.
Super cipher text A =
823,1447.513,179.1492,10.1046,1345.999,1166.1697,1545.527,180.1249,1148.
872,1270.1743,1560.98,95.
Super cipher text A didekripsi dengan persamaan:
Blok ke - 0
c = 823(1759-1-1087) mod 1759 = 332
m0 = (1447)(332) mod 1759 = 197
Biner m = 11000101
Blok ke - 1
c = 513(1759-1-1087) mod 1759 = 374
m1 = (179)(374) mod 1759 = 104
Biner m = 01101000
Blok ke - 2
c = 1492(1759-1-1087) mod 1759 =9
m2 = (10)(9) mod 1759 = 90
Biner m = 01011010
Blok ke - 3
c = 1046(1759-1-1087) mod 1759 = 1742
m3 = (1345)(1742) mod 1759 =2
Biner m = 00000010
Blok ke - 4
c = 999(1759-1-1087) mod 1759 = 1640
m4 = (1166)(1640) mod 1759 = 207
Biner m = 11001111
Blok ke - 5
c = 1697(1759-1-1087) mod 1759 = 1561
m5 = (1545)(1561) mod 1759 = 156
Biner m = 10011100
Blok ke - 6
c = 527(1759-1-1087) mod 1759 = 235
m6 = (180)(235) mod 1759 = 84
Biner m = 01010100
Blok ke - 7
c = 1249(1759-1-1087) mod 1759 = 656
m7 = (1148)(656) mod 1759 = 236
Biner m = 11101100
Blok ke - 8
c = 872(1759-1-1087) mod 1759 = 241
m8 = (1270)(241) mod 1759 =4
Biner m = 00000100
Blok ke - 9
c = 1743(1759-1-1087) mod 1759 = 857
m9 = (1560)(857) mod 1759 = 80
Biner m = 01010000
Blok ke - 10
c = 98(1759-1-1087) mod 1759 = 1223
m10 = (95)(1223) mod 1759 = 91
Biner m = 01011011
Berdasarkan hasil operasi XOR pada tabel 4.2, didapatkan cipher text AB
adalah:
Cipher text AB =
0000110111110101001100011101001110010011101001110101001010110000
001000110111011011100101
4. Enkripsi cipher text AB dengan algoritma RSA
Setelah cipher text AB berhasil didapatkan, maka Beby segera melakukan
enkripsi terhadap cipher text AB untuk mendapatkan super cipher text AB
dengan algoritma RSA menggunakan public key A yang didapatkan dari Anton.
Tetapi, cipher text AB terlebih dahulu harus dikonversikan ke dalam bentuk
desimal, sehingga menjadi:
00001101 = 13
11110101 = 245
00110001 = 49
11010011 = 211
10010011 = 147
10100111 = 167
01010010 = 82
10110000 = 176
00100011 = 35
01110110 = 118
11100101 = 229
Sehingga, cipher text AB = 13 245 49 211 147 167 82 176 35 118 229
Setelah cipher text AB dikonversi ke desimal, maka lakukan enkripsi untuk
setiap blok cipher text AB dengan persamaan Ci = Pie mod n dengan public key
A = 55, 1981601, dimana e = 55 dan n = 1981601. Proses enkripsi yang terjadi
dapat dilihat sebagai berikut:
C0 = 13055 mod 1981601 = 188995
C1 = 245155 mod 1981601 = 1810559
C2 = 49255 mod 1981601 = 1525828
C3 = 211355 mod 1981601 = 1316477
Tahap ketiga dimulai saat diterimanya super cipher text AB dan public key B 2nd dari
Beby oleh Anton. Dimana setelah itu akan dilakukan lima buah proses lebih lanjut,
yaitu:
1. Dekripsi Super cipher text AB dengan Algoritma RSA
Setelah super cipher text AB diterima oleh Anton, maka dengan segera Anton
melakukan proses dekripsi terhadap super cipher text Ab menjadi cipher text
AB dengan algoritma RSA menggunakan private key A yang dimiliki oleh
Anton.
Diketahui bahwa:
Super cipher text AB =
188995.1810559.1525828.1316477.1517234.285760.1092624.1719632.144290
7.226010.1830987.
Private key A = 1151239, 1981601, dimana d = 1151239 dan n = 1981601
Proses dekripsi super cipher text AB dengan algoritma RSA menggunakan
persamaan Pi = Cid mod n. Adapun prosesnya sebagai berikut:
P0 = 18899501151239 mod 1981601 = 13 = 00001101
P1 = 181055911151239 mod 1981601 = 245 = 11110101
P2 = 152582821151239 mod 1981601 = 49 = 00110001
P3 = 131647731151239 mod 1981601 = 211 = 11010011
Berdasarkan hasil operasi XOR pada tabel 4.3, didapatkan cipher text B adalah:
1000000111110011000011011011111000101110010101100110011100101000
010011100100110111011111
p = 1607
q = 1531
n = 2460317
s = 677099
Diketahui:
Public key B 2nd = 605,1116,1877, dimana y = 605, g = 1116, p = 1877.
Maka, proses enkripsi yang terjadi adalah:
Blok ke - 0
k = 6770992 mod 2460317 = 205070 mod 1875 = 695
m0 = 129
a = 1116695 mod 1877 = 1073
695
b = (605 )(129) mod 1877 = 674
Blok ke - 1
k = 2050702 mod 2460317 = 1966736 mod 1875 = 1736
m1 = 243
a = 11161736 mod 1877 = 132
b = (6051736)(243) mod 1877 = 983
Blok ke - 2
k = 19667362 mod 2460317 = 1614221 mod 1875 = 1721
m2 = 13
a = 11161721 mod 1877 = 871
b = (6051721)(13) mod 1877 = 1307
Blok ke - 3
k = 16142212 mod 2460317 = 3726 mod 1875 = 1851
m3 = 190
a = 11161851 mod 1877 = 1743
b = (6051851)(190) mod 1877 = 1177
Blok ke - 4
k = 37262 mod 2460317 = 1581491 mod 1875 = 866
m4 = 46
a = 1116866 mod 1877 = 1668
b = (605866)(46) mod 1877 = 1596
Blok ke - 5
k = 15814912 mod 2460317 = 2266904 mod 1875 = 29
m5 = 86
a = 111629 mod 1877 = 909
b = (60529)(86) mod 1877 = 79
Blok ke - 6
k = 22669042 mod 2460317 = 1928901 mod 1875 = 1401
m6 = 103
a = 11161401 mod 1877 = 1799
b = (6051401)(103) mod 1877 = 1435
Blok ke - 7
k = 19289012 mod 2460317 = 398845 mod 1875 = 1345
m7 = 40
a = 11161345 mod 1877 = 76
b = (6051345)(40) mod 1877 = 1494
Blok ke - 8
k = 3988452 mod 2460317 = 617756 mod 1875 = 881
m8 = 78
a = 1116881 mod 1877 = 367
b = (605881)(78) mod 1877 = 941
Blok ke - 9
k = 6177562 mod 2460317 = 245349 mod 1875 = 1599
m9 = 77
Blok ke - 10
k = 2453492 mod 2460317 = 2016079 mod 1875 = 454
m10 = 223
a = 1116454 mod 1877 = 390
454
b = (605 )(223) mod 1877 = 1623
Dengan aturan bahwa a dan b adalah sebuah blok cipher text, maka didapat:
Super cipher text B =
1073,674.132,983.871,1307.1743,1177.1668,1596.909,79.1799,1435.76,1494.3
67,941.19,1252.390,1623.
Blok ke - 0
c = 1073(1877-1-401) mod 1877 = 1802
m0 = (674)(1802) mod 1877 = 129
Biner m = 10000001
Blok ke - 1
c = 132(1877-1-401) mod 1877 = 132
m1 = (983)(132) mod 1877 = 243
Biner m = 11110011
Blok ke - 2
c = 871(1877-1-401) mod 1877 = 787
m2 = (1307)(787) mod 1877 = 13
Biner m = 00001101
Blok ke - 3
c = 1743(1877-1-401) mod 1877 = 1260
m3 = (1177)(1260) mod 1877 = 190
Biner m = 10111110
Blok ke - 4
c = 1668(1877-1-401) mod 1877 = 1790
m4 = (1596)(1790) mod 1877 = 46
Biner m = 00101110
Blok ke - 5
c = 909(1877-1-401) mod 1877 = 405
m5 = (79)(405) mod 1877 = 86
Biner m = 01010110
Blok ke - 6
c = 1799(1877-1-401) mod 1877 = 21
m6 = (1435)(21) mod 1877 = 103
Biner m = 01100111
Blok ke - 7
c = 76(1877-1-401) mod 1877 = 1279
m7 = (1494)(1279) mod 1877 = 40
Biner m = 00101000
Blok ke - 8
c = 367(1877-1-401) mod 1877 = 782
m8 = (941)(782) mod 1877 = 78
Biner m = 01001110
Blok ke - 9
c = 19(1877-1-401) mod 1877 = 1054
m9 = (1252)(1054) mod 1877 = 77
Biner m = 01001101
Blok ke - 10
c = 390(1877-1-401) mod 1877 = 376
m10 = (1623)(376) mod 1877 = 223
Biner m = 11011111
Cipher text B =
1000000111110011000011011011111000101110010101100110011100101000
010011100100110111011111
5. Dekripsi Cipher text B dengan Algoritma One time pad
Setelah Beby berhasil mendapatkan cipher text B dari proses dekripsi Super
cipher text B dengan menggunakan algoritma Elgamal, maka Beby dengan
segera melakukan proses dekripsi terhadap ciphert text B dengan algoritma one
time pad pada proses XOR menggunakan kunci KB untuk mendapatkan plain
text.
Diketahui:
Cipher text B =
1000000111110011000011011011111000101110010101100110011100101000
010011100100110111011111
Kunci KB =
1100100010011101011010111101000101011100001110110000011001011100
001001110010011010111110
Proses dekripsi dapat dilihat pada tabel 4.4 berikut:
Tabel 4.4. Proses Dekripsi Cipher text B dengan Kunci KB
01001001 = I
01101110 = n
01100110 = f
01101111 = o
01110010 = r
01101101 = m
01100001 = a
01110100 = t
01101001 = i
01101011 = k
01100001 = a
Gabungkan seluruh karakter yang didapatkan sehingga menghasilkan:
Plain text = Informatika
Tabel 4.5. Perbandingan Waktu Proses dari Algoritma yang Dirancang dengan
Algoritma Terdahulu
Waktu Proses
Panjang Waktu Proses
Nama Algoritma yang
No Pesan Algoritma Terdahulu
Pesan Dirancang
(Karakter) (ms)
(ms)
1 A 10 0.0072388648986816 0.0027339458465576
2 B 20 0.0093448162078857 0.0039491653442383
3 C 50 0.015640020370483 0.0069119930267334
4 D 100 0.042346954345703 0.022449970245361
5 E 200 0.087727069854736 0.036191940307617
6 F 500 0.15630197525024 0.10586500167847
7 G 1000 0.32381987571716 0.20496797561646
8 H 2000 0.58216500282288 0.3674521446228
9 I 5000 1.6609079837799 1.2502000331879
10 J 10000 4.309779882431 3.801255941391
Jika data untuk panjang pesan 10 sampai 1000 pada tabel 4.5 disajikan dalam
bentuk bar graph, maka data tersebut dapat dilihat pada gambar berikut:
Jika data untuk panjang pesan 2000 sampai 10000 pada tabel 4.5 disajikan
dalam bentuk bar graph, maka data tersebut dapat dilihat pada gambar berikut:
Pada gambar 4.1 dan gambar 4.2 dapat dilihat bahwa, selisih waktu proses dari
algoritma yang dirancang dengan algoritma terdahulu tidak terlalu signifikan, dimana
grafik bar menunjukkan tidak adanya perbedaan yang sangat signifikan. Oleh karena
itu, pertambahan waktu proses pada algoritma yang dirancang dengan peningkatan
keamanan yang didapat masih sangat layak untuk digunakan. Hal ini dikarenakan
karena waktu proses yang dibutuhkan algoritma yang dirancang dengan algoritma
terdahulu tidak jauh berbeda.
Rasio perbandingan dari waktu proses algoritma yang dirancang dengan waktu
proses algoritma terdahulu dapat dilihat pada tabel 4.6 berikut:
Tabel 4.6. Rasio Perbandingan dari Waktu Proses Algoritma yang Dirancang
dengan Waktu Proses Algoritma Terdahulu
Data pada tabel 4.6 dapat disajikan dalam bentuk line graph berikut:
Gambar 4.3. Rasio Perbandingan dari waktu proses algoritma yang dirancang
dengan waktu proses algoritma terdahulu
Gambar 4.4. Grafik dari Seluruh Data Pengujian Algoritma yang Dirancang
dengan Algoritma Terdahulu
Gambar 4.4 menunjukkan bahwa, semakin panjang pesan yang diproses maka
waktu proses yang dibutuhkan meningkat dengan sangat signifikan, baik waktu proses
yang dibutuhkan oleh algoritma yang dirancang maupun waktu proses algoritma
terdahulu.
Hasil pemrosesan dari algoritma yang dirancang memiliki tiga buah cipher text yang
dikirim pada jalur modifikasi three pass protocol, yaitu super cipher text A, super
cipher text AB, dan super cipher text B. Super cipher text A merupakan hasil enkripsi
dari cipher text A, super cipher text AB merupakan hasil enkripsi dari cipher text AB,
dan super cipher text B merupakan hasil enkripsi dari cipher text B.
Langkah termudah untuk membentuk plain text adalah dengan melakukan
proses XOR terhadap cipher text A, cipher text AB, dan cipher text B secara bersama-
sama. Tetapi, untuk melakukan hal ini, maka intruder harus terlebih dahulu mampu
untuk melakukan dekripsi terhadap ketiga super cipher text untuk menghasilkan
cipher text, tentu saja ini bukan hal yang mudah.
Untuk mendekripsi super cipher text A dan super cipher text B, maka intruder
harus mampu menembus pertahanan algoritma Elgamal. Dimana untuk proses
dekripsi dibutuhkan private key yang benar, sedangkan private key tidak pernah
dikirimkan sehingga intruder mustahil untuk melakukan penyadapan. Selain dari pada
itu, super cipher text A dan super cipher text B membutuhkan private key yang
berbeda-beda, sehingga andai intruder berhasil menembus keamanan algoritma
Elgamal pada super cipher text A, maka belum tentu intruder juga dengan mudah
dapat menembus keamanan algoritma Elgamal pada super cipher text A.
Syarat agar plain dapat dibentuk dengan proses XOR, maka intruder harus
memiliki ketiga cipher text, baik cipher text A, cipher text AB, dan cipher text B.
Andai intruder berhasil menembus semua keamanan algoritma Elgamal, sehingga dari
super cipher text A dihasilkan cipher text A, dan super cipher text B dihasilkan cipher
text B. Maka kedua cipher text tersebut masih belum cukup untuk membentuk plain
text, intruder membutuhkan cipher text AB, sehingga intruder harus terlebih dahulu
menembus keamanan algoritma RSA pada super cipher text AB.
Jika intruder mencoba mendekripsi sebuah cipher text, baik cipher text A,
cipher text AB, atau cipher text B tanpa kunci, maka hal tersebut hampir mustahil
untuk dilakukan. Hal ini dikarenakan, intruder harus menembus keamanan algoritma
one time pad yang unbreakable pada cipher text, satu-satunya cara memecahkan sifat
unbreakable dari algoritma one time pad adalah dengan melakukan operasi XOR
terhadap ketiga cipher text sekaligus.
Pengujian keamanan pada cipher text dilakukan dangan empat buah parameter, yaitu:
4.4.1. XOR
Pada algoritma terdahulu, jika ketiga cipher text dilakukan operasi XOR secara
bersama-sama, maka plain text dapat dibentuk. Pada contoh dibawah, plain text adalah
Komputer, jika ketiga cipher text dilakukan operasi XOR, maka pllain text akan
terbentuk
Tabel 4.7. Proses Pembentukan Plain text dengan Meng-XOR-kan Cipher text A,
Cipher text AB, dan Cipher text B.
text, lalu hasilnya bandingkan dengan blok dari plain text yang berkorelasi. Jika
terdapat kemiripan atau pola biner yang sama atau hampir sama, maka dapat
dikatakan super cipher text tidak aman terhadap operasi XOR.
Biner dari setiap blok plain text dapat dilihat pada tabel 4.8 berikut:
Tabel 4.8. Konversi plain text ke bentuk biner
1. Teknik pertama
Biner dari nilai a dan bi dari setiap blok super cipher text A maupun blok
super cipher text B akan digabungkan.
Tabel 4.9. Konversi super cipher text A ke bentuk biner dengan teknik pertama
Tabel 4.11. Konversi super cipher text B ke bentuk biner dengan teknik pertama
Setelah mengetahui bentuk biner dari setiap blok super cipher text, maka dapat
dilakukan operasi XOR pada masing-masing blok super cipher text, lalu
dibandingkan dengan bentuk biner dari setiap blok plain text.
Merujuk pada hasil pengujian pada sub bab 4.12 dapat dilihat bahwa, setiap
pola bit dari dari plain text tidak memiliki kemiripan sama sekali terhadap pola
bit hasil operasi XOR, sehingga operasi XOR terhadap ketiga super cipher text
tidak akan dapat membentuk plain text, atau pola-pola yang mendekati
kemiripan dengan plain text.
Merujuk kepada panjang setiap blok plain text yang hanya 8 bit, jika hasil
operasi XOR dilakukan modulo dengan biner 28 atau 256. Maka perbandingan
hasil operasi XOR dengan plain sebagai berikut:
Tabel 4.13. Pengujian Modulo Hasil Operasi XOR terhadap plain text dengan Teknik
pertama.
Merujuk kepada tabel 4.13 dapat dilihat, hasil modulo dengan 256 terhadap
hasil operasi XOR memberikan hasil bahwa biner dari setiap blok dari modulo
hasil operasi XOR memiliki biner yang sangat berbeda terhadap biner dari
setiap blok plain text. Sehingga algoritma yang dirancang sangat aman dari
teknik penyerangan XOR dengan pengujian teknik pertama dengan modulo.
2. Teknik kedua
Pada teknik kedua, nilai a dan b pada setiap blok dari super cipher text A dan
super cipher text B akan dikalikan terlebih dahulu sebelum dilakukan konversi
ke dalam bentuk biner.
Tabel 4.14. Konversi super cipher text A ke bentuk biner dengan teknik kedua
Tabel 4.16. Konversi super cipher text B ke bentuk biner dengan teknik kedua
Blok Ke - Desimal a*b Biner
0 1073,674 723202 010110000100100000010
1 132,983 129756 000011111101011011100
2 871,1307 1138397 100010101111011011101
3 1743,1177 2051511 111110100110110110111
4 1668,1596 2662128 1010001001111011110000
5 909,79 71811 0000010001100010000011
6 1799,1435 2581565 1001110110010000111101
7 76,1494 113544 000011011101110001000
8 367,941 345347 001010100010100000011
9 19,1252 23788 0000000101110011101100
10 390,1623 632970 010011010100010001010
Setelah mengetahui bentuk biner dari setiap blok super cipher text, maka dapat
dilakukan operasi XOR pada masing-masing blok super cipher text, lalu
dibandingkan dengan bentuk biner dari setiap blok plain text.
Seperti yang ditunjukkan pada tabel 4.17 berikut:
Tabel 4.17. Pengujian proses XOR pada super cipher text A, super cipher text AB,
dan super cipher text B dengan teknik kedua.
Merujuk pada hasil pengujian pada sub bab 4.17 dapat dilihat bahwa, setiap
pola bit dari dari plain text tidak memiliki kemiripan sama sekali terhadap pola
bit hasil operasi XOR, sehingga operasi XOR terhadap ketiga super cipher text
tidak akan dapat membentuk plain text, atau pola-pola yang mendekati
kemiripan dengan plain text.
Merujuk kepada panjang setiap blok plain text yang hanya 8 bit, jika hasil
operasi XOR dilakukan modulo dengan biner 28 atau 256. Maka perbandingan
hasil operasi XOR dengan plain sebagai berikut:
Tabel 4.18. Pengujian Modulo Hasil Operasi XOR terhadap plain text dengan Teknik
Kedua.
8 10101000 01101001
9 01011110 01101011
10 10011111 01100001
Merujuk kepada tabel 4.18 dapat dilihat, hasil modulo dengan 256 terhadap
hasil operasi XOR memberikan hasil bahwa biner dari setiap blok dari modulo
hasil operasi XOR memiliki biner yang sangat berbeda terhadap biner dari
setiap blok plain text. Sehingga algoritma yang dirancang sangat aman dari
teknik penyerangan XOR dengan pengujian teknik kedua dengan modulo
mendapatkan ketiga cipher text tersebut, baik cipher text A, cipher text AB, dan
cipher text B.
Kekuatan utama dari kemanan algoritma one time pad terletak pada:
1) Kunci
Kunci algoritma one time pad memiliki panjang kunci yang sama dengan
panjang plain text. Oleh karena itu, kemunginan panjang kunci yang dapat
dibentuk adalah sebanyak bit plain text. Sebagai contoh:
Plain text = Informatika
Plain text tersebut terdiri dari 11 karakter, dimana 1 karakter terdiri dari 8 bit,
maka plain text “Informatika” memiliki panjang 88 bit. Oleh karena itu,
kemungkinan kunci yang dapat dibentuk adalah:
288 = 309.485.009.821.345.068.724.781.056
Dengan asumsi intruder dapat melakukan percobaan sebanyak 1 triliun
operasi per detik, maka untuk estimasi waktu terburuk dibutuhkan waktu:
288
= 9.813.705 Tahun.
10 12 3600 24 (365)
text dapat terpecahkan, tetapi intruder akan mendapatkan 10 juta jenis plain text
yang berbeda pula, sehingga intruder harus menentukan plain text mana yang
benar.
3. Algoritma RSA
Kesulitan dalam menembus keamanan algoritma RSA adalah sulitnya
melakukan pemaktoran terhadap suatu bilangan bulat menjadi dua buah
bilangan prima. Mengalikan dua buah bilangan prima adalah perkara yang
sangat mudah, tetapi memfaktorkan suatu bilangan bulat menjadi dua buah
bilangan prima tanpa mengetahui salah satu faktor primanya bukanlah perkara
yang mudah.
Hal ini sesuai dengan rumus pembangkitan kunci algoritma RSA. Private key
dapat dibentuk dari dua buah bilangan prima yaitu p dan q yang sangat rahasia.
Lalu bilangan n yang tidak rahasia dapat dicari dengan n = p.q. Langkah yang
paling masuk akal untuk mendapatkan private key dengan pasti adalah dengan
mengetahui nilai p dan q dengan memfaktorkan n, tetapi itu bukan perkara yang
mudah, apalagi jika nilai p adalah prima yang besar hingga mencapai 10 digit
lebih misalnya.
Cara lain yang dapat dilakukan adalah dengan teknik bruto force terhadap
probabiliti private key yang ada, dalam algoritma RSA diketahui bahwa:
Public key = (e, n), dimana e dan n tidak rahasia.
Private key = (d, n). Dimana 0 ≤ d ≤ n. n tidak rahasia tapi d sangat rahasia.
Dengan melihat syarat diatas, diketahui bahwa nilai n tidak rahasia, tetapi nilai d
sangat rahasia, sedangkan nilai d ada diantara 0 dan n. Oleh karena itu
banyaknya probabiliti private key yang dapat terjadi adalah sebanyak n. sebagai
contoh, jika p = 1987 dan q = 2779, dengan n = p.q, maka n = 5.521.873,
Sehingga dengan asumsi intruder dapat melakukan 1 juta operasi perdetik, maka
asumsi waktu terburuk yang dimiliki intruder untuk dapat mendekripsikan
cipher text hanya 6 detik, tetapi intruder akan mendapatkan 5.521.873 plain text
yang berbeda-beda sehingga akan membingungkan intruder untuk menentukan
plain text mana yang benar.
Dengan analisa tersebut, maka semakin panjang bilangan prima yang digunakan,
maka akan semakin aman cipher text. Hal ini dikarenakan semain banyak
probabiliti private key yang dapat terbentuk. Sebagai contoh jika p terdiri dari 7
digit, dan q terdiri dari 7 digit, maka nilai n yang terbentuk bisa mencapai 14
digit, dengan asumsi bahwa intruder dapat melakukan 1 juta operasi perdetik,
maka dibutuhkan setidaknya tiga tahun untuk mencoba seluruh kombinasi dari
private key yang mungkin. Ini waktu yang cukup lama untuk menjamin
keamanan dari plain text. Hal ini ditambah bahwa, intruder akan memiliki plain
text sebanyak 14 digit angka atau sebanyak puluhan triliun plain text yang
mungkin.
4. Algoritma yang dirancang
Pada algoritma yang dirancang, akan dihasilkan tiga buah cipher text yang
dikirim, yaitu super cipher text A, super cipher text AB, dan super cipher text B.
Super cipher text A merupakan hasil enkripsi cipher text A, super cipher text
AB merupakan hasil enkripsi cipher text AB, dan super cipher text B merupakan
hasil enkripsi cipher text B. cara termudah untuk mendapatkan plain text adalah
dengan melaukan operasi XOR terhadap ketiga cipher text. Oleh karena itu,
intruder harus mampu mendapatkan setiap cipher text dari super cipher text
yang ada. Setiap super cipher text memiliki dua lapis keamanan, yaitu:
1) Super cipher text A
Pada super cipher text A, lapisan keamanan pertama adalah Algoritma
Elgamal, sedangkan lapisan keamanan kedua adalah algoritma one time pad.
Untuk mendapatkan cipher text A, maka intruder harus menembus
keamanan algoritma Elgamal. Seperti yang dijelaskan tentang keamanan dari
algoritma Elgamal, intruder dapat mencoba seluruh private key yang
mungkin untuk mencoba mendekripsikan super cipher text A menjadi cipher
text A.
Andai bilangan prima yang digunakan adalah 1877 (tentu saja ini adalah
bilangan prima yang kecil, saat implementasi diharuskan menggunakan
bilangan prima yang besar), maka terdapat 1875 buah private key yang
mungkin terjadi, sehingga jika seluruh private key ini dicoba, maka intruder
akan mendapatkan 1875 versi dari cipher text A. Tentu saja seluruh cipher
text A ini yang berjumlah 1875 versi belum bermakna karena masih
dilindungi oleh algoritma one time pad, sehingga intruder tidak akan dapat
menentukan mana cipher text A yang sebenarnya. Sehingga cipher text ini
tidak akan dapat didekripsikan menjadi plain text. Mengingat kunci KA yang
digunakan untuk mengenkripsi plain text menjadi cipher text A tidak pernah
didistribusikan, sehingga intruder secara teori mustahil untuk menyadapnya.
Dengan banyaknya versi cipher text A yang ada dan tidak bermakna, maka
hal tersebut akan sangat menyulitkan usaha dari intruder untuk menentukan
cipher text A yang benar. Kemungkinan intruder mampu menebak cipher
text A dengan tepat adalah 1/1875.
2) Super cipher text AB
Pada super cipher text AB, lapisan keamanan pertaman adalah algoritma
RSA, sedangkan lapisan keamanan kedua adalah algoritma one time pad.
Untuk mendapatkan cipher text AB, maka intruder harus menembus
keamanan algoritma RSA. Seperti yang dijelaskan tentang keamanan dari
algoritma RSA, intruder dapat mencoba seluruh private key yang mungkin
untuk mencoba mendekripsikan super cipher text AB menjadi cipher text
AB.
Andai bilangan prima yang digunakan adalah p = 1931 dan q = 1471 (tentu
saja ini adalah bilangan prima yang kecil, saat implementasi diharuskan
menggunakan bilangan prima yang besar), maka didapat n = 2.840.501,
sehingga private key yang mungkin terjadi sebanyak 2.840.501. Jika
intruder melakukan dekripsi terhadap super cipher text AB, maka intruder
akan mendapatkan 2.840.501 cipher text AB yang berbeda, dan tentu saja
seluruh cipher text ini belum bermakna karena masih dilindungi oleh lapisan
keamanan kedua, yaitu algoritma one time pad. Mengingat banyaknya versi
cipher text AB yang terbentuk dan keseluruhannya tidak bermakna, maka
intruder tidak akan dapat mengetahui versi cipher text AB mana yang
merupakan cipher text AB yang sebenarnya, karena terdapat 2.840.501 versi
cipher text AB yang mungkin. Kemungkinan intruder mampu menebak
cipher text AB dengan tepat adalah 1/2840501.
3) Super cipher text B
Pada super cipher text B, lapisan keamanan pertama adalah Algoritma
Elgamal, sedangkan lapisan keamanan kedua adalah algoritma one time pad.
plain text yang memiliki makna. Andai jika intruder memiliki algoritma pengecekan
plain text bermakna, dan mampu melakukan operasi pengecekan 1 juta operasi
10.571.989.659.375
perdetik, maka dibutuhkan waktu: 10 6 3600 (24)
= 122 hari untuk mendapatkan
plain text yang sebenarnya. Asumsi ini didapatkan jika bilangan prima yang
digunakan lebih kecil dari 2000. Tetapi, jika bilangan prima yang digunakan
sepanjang 7 digit. Andai:
p = 6889547 untuk pembentukan super cipher text A
p = 3978571 dan = 9678717 untuk pembentukan super cipher text AB
p = 8321671 untuk pembentukan super cipher text B
maka akan dihasilkan:
(6889547-2)*(3978571*9678717)*( 8321671-2) =
2.207.729.612.002.043.035.439.261.235 versi dari cipher text. Jika intruder
ternyata mampu melakukan operasi pengecekan kata bermakna sebanyak 1 triliun
operasi perdetik maka waktu yang dibutuhkan untuk menemukan plain text yang
benar dan tepat adalah:
2.207.729.612.002.043.035.439.261.235
= 70.006.646 tahun.
(10 12 ) 3600 24 (365)
Tentu saja dengan waktu selama ini, maka teknik bruto force sangat amat tidak
layak digunakan untuk menembus keamanan dari algoritma yang dirancang. Sehingga
dapat disimpulkan bahwa algoritma yang dirancang terbebas dari ancaman keamanan
teknik bruto force.
Pada teknik ini, intruder diasumsikan hanya mengetahui cipher text yang dikirim,
tanpa mengetahui sedikitpun potongan dari plain text. Teknik yang dapat digunakan
pada cipher text-only analysis adalah dengan teknik frekuensi. Teknik frekuensi akan
berguna jika plain text dienkripsi perblok dan setiap blok plain text yang sama akan
menghasil cipher text yang sama pula.
Algoritma RSA dapat dianalisa menggunakan teknik frekuensi, karena setiap
blok plain text akan menghasilkan cipher text yang sama. Sebagai contoh, andai:
Karakter A dienkripsi menghasilkan cipher text 6954, dan karakter B
dienkripsi menghasilkan cipher text 3124, maka jika terdapat plain text BABA lalu
dienkripsi dengan kunci yang sama akan menghasilkan cipher text 3124. 6954. 3124.
6954. Dapat dilihat bahwa karakter A akan tetap menghasilkan cipher text 6954 dan
karakter B akan tetap menghasilkan cipher text 3124.
Jika diasumsikan intruder dengan teknik frekuensi mampu memcahkan super
cipher text AB menjadi cipher text AB, maka intruder masih harus memecahkan
super cipher text A dan super cipher text B. karena cipher text AB masih dilindungi
oleh algoritma one time pad. Oleh karena itu, intruder harus memecahkan super
cipher text A, dan super cipher text B untuk bisa mendapatkan plain text. Tetapi.
Super cipher text A dan super cipher text B dienkripsi menggunakan algoritma
Elgamal dengan persamaan a = gk mod p dan b = yk m mod p. Dimana k adalah
bilangan acak dengan syarat 1 ≤ k ≤ p-2. Hal ini mengakibatkan proses enkripsi akan
menghasilkan cipher text yang berbeda-beda bahkan untuk plain text yang sama
dikarenakan nilai k yang acak dan selalu berbeda untuk setiap blok data pada proses
enkripsi. Sehingga dengan teknik frekuensi, keamanan pada algoritma Elgamal tidak
dapat ditembus.
Oleh karena itu, dapat disimpulkan bahwa algoritma yang dirancang terbebas
dari ancaman keamanan dengan teknik cipher text-only analysis.
Pada teknik ini, intruder diasumsikan memiliki seluruh cipher text yang ada, dan
memiliki potongan dari plain text. Sehingga, dari potonga plain text tersebut, intruder
akan mencoba membangkitkan kunci dekripsi yang digunakan untuk dapat melakukan
proses dekripsi terhadap cipher text yang lain untuk menghasilkan plain text lainnya
yang belum diketahui.
Andai, dari sebuah plain text “Informatika” yang telah diuji pada sub bab 4.1.
intruder mengetahui sebagian dari plain text tersebut, yaitu “Info” dan intruder
mengetahui seluruh isi dari super cipher text A, cipher text AB, dan super cipher text
B yang ada. Seperti contoh sebagai berikut:
Potongan plain text yang di ketahui = Info
Super cipher text A =
823,1447.513,179.1492,10.1046,1345.999,1166.1697,1545.527,180.1249,1148
.872,1270.1743,1560.98,95.
Plain text Super cipher text A Super cipher text AB Super cipher text B
I 823,1447 188995 1073,674
n 513,179 1810559 132,983
f 1492,10 1525828 871,1307
o 1046,1345 1316477 1743,1177
r 999,1166 1517234 1668,1596
m 1697,1545 285760 909,79
a 527,180 1092624 1799,1435
t 1249,1148 1719632 76,1494
i 872,1270 1442907 367,941
k 1743,1560 226010 19,1252
a 98,95 1830987 390,1623
Mencoba membangkitkan private key dari plain text dan cipher text yang
berpasangan juga mustahil dilakukan. Karena cipher text dibangkitkan dengan public
key, bukan dengan private key. Lagi pula, plain text yang diketahui intruder bukan
merupakan plain text asal dari cipher text yang diketahui, misal:
Plain text “I” memiliki cipher text 823,1447. Plain text “I” bukan plain text
asal dari cipher text 823,1447 pada algoritma Elgamal, begitu juga cipher text
823,1447 bukan merupakan cipher text dari plain text “I” pada algoritma one time
pad.
Mencoba membangkitkan sebagian kunci KA dan KB dari plain text yang
diketahui juga mustahil untuk dilakukan, karena intruder tidak memiliki potongan
cipher text A, cipher text AB, atau cipher text B.
Berdasarkan analisis yang telah diterangkan, maka dapat disimpulkan bahwa
algoritma yang dirancang bebas dari ancaman dengan teknik known-plain text
analysis.
5.1. Kesimpulan
Setelah analisa dan pengujian yang dilakukan, maka dapat diambil beberapa
kesimpulan sebagai berikut:
1. Algoritma yang dirancang mampu menutupi kelemahan dari algoritma
terdahulu. Dimana plain text tidak akan dapat dibentuk dengan melakukan
operasi XOR dari super cipher text A, super cipher text AB, dan super cipher
text B.
2. Waktu proses yang dihasilkan dari algoritma yang dirancang dengan algoritma
terdahulu memiliki selisih yang tidak signifikan, bahkan perbandingan waktu
prosesnya akan cenderung semakin mengecil dan mendekati satu dengan
semakin panjangnya pesan yang diproses.
3. Algoritma yang dirancang terbebas dari ancaman keamanan yang menggunakan
teknik bruto force dengan catatan bahwa bilangan prima yang digunakan harus
minimal sepanjang 7 digit. Selain itu, algoritma yang dirancang juga terbebas
dari ancaman keamanan dengan teknik cipher text-only analysis dan teknik
known-plain text analysis.
4. Secara keseluruhan, baik dari segi waktu pemrosesan dan segi keamanan,
algoritma yang dirancang cukup layak untuk diimplementasikan dan digunakan
dalam proses pengiriman data.
5. Algoritma yang dirancang memiliki tingkat keamanan yang lebih tinggi
daripada algoritma terdahulu.
5.2. Saran
Untuk melengkapi berbagai hal yang tidak dibahas pada penelitian ini, dan untuk
menambah kontribusi bagi perkembangan ilmu pengetahuan, maka penulis
memberikan berbagai saran untuk mengembangkan penelitian ini. Berikut adalah
saran-saran yang penulis ebrikan:
1. Menggabungkan dengan algoritma kompresi, sehingga besar data yang dikirim
akan berkurang. Mengingat proses pengiriman cipher text akan dilakukan
sebanyak tiga kali pengiriman.
2. Menggunakan tiga buah algoritma asimetris, sehingga untuk setiap cipher text
akan dienkripsi menggunakan algoritma asimetris yang berbeda-beda untuk
meningkatkan keamanan pesan.
Jurnal
Abdullah, Alharith,. et al. 2015. A Realizable Quantum Three-Pass Protocol
Authentication Based on Hill-Cipher Algorithm. Hindawi Publishing
CorporationMathematical Problems in Engineering
Alkhzaimi, Hoda A,. 2016. Cryptanalysis of Selected Block Ciphers. Technical
University of Denmark
B. Bazith Mohammed,. 2013. Automatic Key Generation of Caesar Cipher.
International Journal of Engineering Trends and Technology.
Fujun, Zhan. 2013. The Application of ElGamal Encryption Technology to the
Information Security of Digital Library. TELKOMNIKA
Iqbal, Muhammad., et al. 2016. SMS EncryptionUsing One-Time Pad Cipher. IOSR
Journal of Computer Engineering (IOSR-JCE).
Kallam, Ravindra Babu., et al. 2011. An Enhanced RSA Public key Cryptographic
Algorithm. International Journal of Advanced Research in Computer Science.
Kanamori, Yoshito. Yoo, Seong-Moo . 2009. Quantum Three-Pass Protocol: Key
Distribution Using Quantum Superposition States. International Journal of
Network Security & Its Applications (IJNSA)
Lang, Jun. 2012. A no-key-exchange secure image sharing scheme based on Shamir’s
three-pass cryptography protocol and the multiple-parameter fractional Fourier
transform. OPTICS EXPRESS.
Lietara, Andreas Parry. 2009. Lietara, Andreas P. 2009. Analisis & Perbandingan
Blum Blum Shub dan Inversive Congruential Generator Beserta
Implementasinya. Jurnal ITB.
Murthy, R., et al. 2012. A Study on Asymmetric Key Exchange Authentication
Protocols. International Journal of Engineering and Innovative Technology
(IJEIT)
Okeyinka, A. 2015. Computational Speeds Analysis of RSA and ElGamal Algorithms
on Text Data. Proceedings of the World Congress on Engineering and Computer
Science
Buku :
A. Menezes,. 1996. Handbook of Applied Cryptography. CRC Press.
Caroline, Maureen Linda. 2011. Perbandingan Algoritma Kriptografi
RSA, Rabin, dan ElGamal. Makalah IF3058 Kriptografi
Kromodimoeljo, S. 2010. Teori dan Aplikasi Kriptografi. SPK IT Consulting.
$plain_text = $plain_text =
desimaltochar($otp_desimal); $plain_text.$biner;
echo"<font }
color=red><strong>Plain Text return $plain_text;
Biner : $plain_text_biner }
</strong></font><br> //--------Akhir fungsi konversi
<font color=red><strong>Plain karakter ke biner 8 bit----
Text : $plain_text //--Fungsi konversi karakter ke
</strong></font><br>"; biner 8 bit-------
$end = microtime(true); function desimaltochar($data)
$time = $end - $start; {
echo"<br><hr><font $data = trim($data);
color=green><strong> Time : $desimal = explode(" ",$data);
$time </strong></font><hr>"; $panjang = count($desimal);
for($i=0;$i<$panjang;$i++)
?> {
Nama File : fungsi.php $karakter =
<?php chr($desimal[$i]);
//---Fungsi konversi desimal ke
biner 8 bit $hasil .= $karakter;
function desimaltobiner($data) }
{ return $hasil;
$tampung = }
base_convert($data,10,2); //--------Akhir fungsi konversi
$length = strlen($tampung); karakter ke biner 8 bit----
if($length == 8) //--------Kumpulan fungsi
$biner = $tampung; pendukung Blum-Blum Shub
else if($length == 7) Generator------------
$biner = "0".$tampung; function primablum()
else if($length == 6) {
$biner = "00".$tampung; $dapat = true;
else if($length == 5) $prime = true;
$biner = "000".$tampung; while($dapat)
else if($length == 4) {
$biner = "0000".$tampung; if($prime)
else if($length == 3) {
$biner = "00000".$tampung; $rand = rand(1000,2000);
else if($length == 2) $p =
$biner = test_prime($rand,3);
"000000".$tampung; $mod_p = $p % 4;
else if($length == 1) if($mod_p == 3)
$biner = $prime = false;
"0000000".$tampung; }
return $biner;
} if(!$prime)
//-------------------- $dapat = false;
//--Fungsi konversi karakter ke }
biner 8 bit------- return $p;
function chartobiner($karakter) }
{ //------------------
$plain_text = ""; function nblum($p,$q)
$panjang = strlen($karakter); {
for($i=0;$i<$panjang;$i++) $n=gmp_strval(gmp_mul($p,$q));
{ return $n;
$desimal = }
ord($karakter[$i]); //------------------
//----Mencari Nilai S---
$biner = function sblum($n)
desimaltobiner($desimal); {
$b = 0;
} $string .= $string1.$string2;
function prima()
{ $cipher .= $a.",".$b.".";
$rand = rand(1000,2000); }
$prima = $hasil = array($string,$cipher);
test_prime($rand,3); return $hasil;
return $prima; }
} //------Akhir Enkripsi Elgamal
//----Akhir Fungsi membangkitkan //-----Fungsi mencari GCD = 1---
Bilangan Prima ------
//----Mencari nilai y untuk function gcd($totient)
Elgamal------ {
function y($g,$x,$p) $b = 0;
{ for($i=2;$i<300;$i++)
$y = { //mencoba perulangan max
gmp_strval(gmp_powm($g,$x,$p)); 300 kali
return $y; $gcd =
} gmp_strval(gmp_gcd($i,$totient))
//---Akir fungsi---------------- ;
--------- if($gcd == 1)
//--Pembangkit Bilangan Acak {
Elgamal----- $nilai[$b] = $i;
function acak_elgamal($s,$n,$p) $b++;
{ }
$mod = $p-2; }
$x = $e =
gmp_strval(gmp_powm($s,2,$n)); $nilai[array_rand($nilai)];
$hasil = $x % $mod; return $e;
}
return $hasil; //------------------------------
} ------
//--Pembangkit Bilangan Acak //-----Deskripsi Elgamal----
Elgamal-------- function
//---Fungsi Enkripsi Elgamal---- deskripsi_elgamal($cipher,$x,$p)
-- {
function $total_blok =
enkripsi_elgamal($plain,$y,$g,$p substr_count($cipher, ",");
,$s,$n) $pecah = explode(".",$cipher);
{ for($i=0; $i<$total_blok; $i++)
$data = explode(" ",$plain); {
$panjang = count($data); $string1 = "<br> Blok ke - $i
$k = $s; <br>";
for($i=0; $i<$panjang; $i++) $blok = explode(",",$pecah[$i]);
{ $a = $blok[0];
$string1 = "<br> Blok ke - $i $b = $blok[1];
<br>"; $c = gmp_strval(gmp_powm($a,$p-
$m = $data[$i]; 1-$x,$p));
$k = $string2 = "c = $c <br>";
acak_elgamal($k,$n,$p); $m =
gmp_strval(gmp_mod(gmp_mul($b,$c
$a = ),$p));
gmp_strval(gmp_powm($g,$k,$p)); $tampung =
$b = base_convert($m,10,2);
gmp_strval(gmp_mod(gmp_mul(gmp_p $length = strlen($tampung);
ow($y,$k),$m),$p)); if($length == 8)
$string2 = "k : $k <br> $biner = $tampung;
m : $m <br> else if($length == 7)
a : $a <br> $biner = "0".$tampung;
b : $b <br>"; else if($length == 6)
$biner = "00".$tampung;
PESAN A
KotaBinjai
PESAN B
Dia adalah Mahasiswa
PESAN C
Skema three pass protocol dikembangkan Adi Shamir.
PESAN D
Algoritma one time pad merupakan algoritma unbreakable (algoritma yang tidak akan
dapat terpecahkan)
PESAN E
Algoritma-algoritma dengan teknik XOR (eksklusif-OR) dapat diimplementasikan
pada skema protokol ini, seperti algoritma one time pad, vigenere cipher, dan caesar
cipher (Boni Oktaviana, 2016:20-21).
PESAN F
Algoritma-algoritma dengan teknik XOR (eksklusif-OR) dapat diimplementasikan
pada skema protokol ini, seperti algoritma one time pad (Oktaviana, 2016), vigenere
cipher (Subandi, 2017), dan caesar cipher (A. Siahaan, 2016). Selain itu, algoritma
berbasis matriks seperti hill cipher juga dapat diimplementasikan pada skema protokol
ini (A. Abdullah,2015).
Algoritma dengan teknik XOR yang diimplementasikan untuk skema three pass
protocol memiliki kelemahan yang sangat fatal, bahkan untuk satusatu
PESAN G
Algoritma one time paad yang merupakan algoritma unbreakable atau algoritma yang
tidak terpecahkan akan menjadi algoritma yang tidak layak pakai dari segi keamanan
jika digunakan pada skema three pass protocol karena kelemahan yang telah
dijelaskan sebelumnya. Untuk mengatasi kelemahan tersebut, perlu dilakukan sesuatu
pada cipher text A, cipher text AB, dan cipher text B agar jika ketiganya di-XOR-kan
tidak akan menghasilkan M (plain text).
Algoritma RSA(Rivest Shamir Adleman) dan Elgamal merupakan algoritma
kriptografi kunci publik atau asimetris, dimana algoritma ini memiliki kunci yang
berbeda dalam melakukan enkripsi dan deskripsi. Dalam proses pembangkitan kunci
dengan algoritma ini akan menghasilkan dua buah kunci, yaitu : public key yang
bersifat tidak rahasia dan dapat dipublikasikan dan diketahui secara bebas. Public key
hanya digunakan untuk melakukan enkripsi. Satu kunci yang lain adalah private key
yang bersifat sangat rahasia, tidak boleh didistribusikan hanya penerima .
PESAN H
Algoritma one time paad yang merupakan algoritma unbreakable atau algoritma yang
tidak terpecahkan akan menjadi algoritma yang tidak layak pakai dari segi keamanan
jika digunakan pada skema three pass protocol karena kelemahan yang telah
dijelaskan sebelumnya. Untuk mengatasi kelemahan tersebut, perlu dilakukan sesuatu
pada cipher text A, cipher text AB, dan cipher text B agar jika ketiganya di-XOR-kan
tidak akan menghasilkan M (plain text).
Algoritma RSA(Rivest Shamir Adleman) dan Elgamal merupakan algoritma
kriptografi kunci publik atau asimetris, dimana algoritma ini memiliki kunci yang
berbeda dalam melakukan enkripsi dan deskripsi. Dalam proses pembangkitan kunci
dengan algoritma ini akan menghasilkan dua buah kunci, yaitu : public key yang
bersifat tidak rahasia dan dapat dipublikasikan dan diketahui secara bebas. Public key
hanya digunakan untuk melakukan enkripsi. Satu kunci yang lain adalah private key
yang bersifat sangat rahasia, tidak boleh didistribusikan, dan hanya penerima pesan
yang boleh mengetahui kunci ini. Private key digunakan untuk melakukan deskripsi
cipher text. Jika private key diketahui oleh pihak lain, maka pihak tersebut akan
dengan sangat mudah mendeskripsikan cipher text.
Algoritma RSA dan Elgamal merupakan algoritma yang memiliki tingkat keamanan
yang sangat baik. Algoritma RSA secara de facto bahkan menjadi algoritma asimetris
resmi yang digunakan pada banyak bidang. Tingkat keamanan algoritma RSA terletak
pada sulitnya memfaktorkan bilangan bulat menjadi dua buah bilangan prima,
sedangkan tingkat keamanan algoritma Elgamal terletak pada sulitnya menghitung
logaritma diskrit (Okeyinka, 2015).
Pada penelitian ini, algoritma RSA dan Elgamal akan digunakan untuk melakukan
modifikasi terhadap cipher text A, cipher text AB, dan cipher text B sebelum
dilakukan pengiriman dan melewati jalur komunikasi, agar pesan M tidak dapat
direkontruksi dengan meng-XOR-kan ketiga cipher text yang telah
terjadi/dimodifikasi. Sekian dan terima kasih.
PESAN I
Skema three pass protocol di kembangkan oleh Adi Shamir, seorang profesor
berkebangsaan Israel sekitar tahun 1980. Protokol ini memiliki kerangka tiga jalur
untuk melakukan pengiriman pesan atau data. Protokol ini juga memungkinkan dua
pihak saling bertukar informasi dengan aman tanpa harus melakukan pertukaran
kunci, sehingga masalah distribusi kunci yang ada pada algoritma simetris dapat
teratasi dengan baik (Oktaviana, 2016).
Algoritma-algoritma dengan teknik XOR (eksklusif-OR) dapat diimplementasikan
pada skema protokol ini, seperti algoritma one time pad (Oktaviana, 2016), vigenere
cipher (Subandi, 2017), dan caesar cipher (A. Siahaan, 2016). Selain itu, algoritma
berbasis matriks seperti hill cipher juga dapat diimplementasikan pada skema protokol
ini (A. Abdullah,2015).
Algoritma dengan teknik XOR yang diimplementasikan untuk skema three pass
protocol memiliki kelemahan yang sangat fatal, bahkan untuk satu-satunya algoritma
unbreakable (tidak terpecahkan) yang ada saat ini, yaitu algoritma one time pad pun
akan menjadi breakable (terpecahkan) dengan sangat mudah jika diterapkan pada
skema protokol ini. Ada pun kelemahan fatal tersebut dapat ditunjukkan pada formula
di bawah ini (Kanamori, 2009):
(M XOR KA) XOR (M XOR KA XOR KB) XOR (M XOR KB)
Pada formula di atas, dapat dijelaskan bahwa andai Anton ingin mengirimkan pesan
kepada Beby,Anton akan mengenkripsi pesan dengan kunci yang dia miliki yaitu
(KA) dengan formula cipher text (M ?????, setalah itu cipher text A hasil enkripsi
akan dikirim ke Beby, lalu Beby akan mengenkripsi cipher text A dengan kunci yang
dia miliki (KB) dengan formula cipher text (M ???????????, lalu cipher text AB hasil
enkripsi akan dikirim kembali ke Anton dan Anton akan mendeskripsi cipher text AB
menjadi cipher text B dengan kunci yang dia miliki (KA) yang menghasilkan formula
cipher text(M ???????Ciphert text B ini akan dikirimkan kembali kepada Beby, lalu
Beby akan mendeskripsi cipher text B dengan kunci yang dia miliki (Kb) yang akan
menghasilkan M (plain text) (Jun Lang, 2012).
Pada penjelasan di atas, jika Ucok berhasil melakukan penyadapan terhadap
komunikasi percakapan Anton dan Beby dan mendapatkan ketiga cipher text yang
dikirim, yaitu cipher text A, cipher text AB, dan cipher text B, maka Ucok akan
dengan sangat mudah mendapatkan M atau plain text dari pesan yang dikirim hanya
dengan melakukan operasi XOR terhadap cipher text A dengan cipher text AB, dan
hasilnya kembali di XOR kan dengan cipher text B. Dengan kelemahan fatal ini, maka
skema three pass protocol yang dirancang untuk komunikasi yang lebih aman menjadi
sangat tidak aman.
Algoritma one time paad yang merupakan algoritma unbreakable atau algoritma yang
tidak terpecahkan akan menjadi algoritma yang tidak layak pakai dari segi keamanan
jika digunakan pada skema three pass protocol karena kelemahan yang telah
dijelaskan sebelumnya. Untuk mengatasi kelemahan tersebut, perlu dilakukan sesuatu
pada cipher text A, cipher text AB, dan cipher text B agar jika ketiganya di-XOR-kan
tidak akan menghasilkan M (plain text).
Algoritma RSA(Rivest Shamir Adleman) dan Elgamal merupakan algoritma
kriptografi kunci publik atau asimetris, dimana algoritma ini memiliki kunci yang
berbeda dalam melakukan enkripsi dan deskripsi. Dalam proses pembangkitan kunci
dengan algoritma ini akan menghasilkan dua buah kunci, yaitu : public key yang
bersifat tidak rahasia dan dapat dipublikasikan dan diketahui secara bebas. Public key
hanya digunakan untuk melakukan enkripsi. Satu kunci yang lain adalah private key
yang bersifat sangat rahasia, tidak boleh didistribusikan, dan hanya penerima pesan
yang boleh mengetahui kunci ini. Private key digunakan untuk melakukan deskripsi
cipher text. Jika private key diketahui oleh pihak lain, maka pihak tersebut akan
dengan sangat mudah mendeskripsikan cipher text.
Algoritma RSA dan Elgamal merupakan algoritma yang memiliki tingkat keamanan
yang sangat baik. Algoritma RSA secara de facto bahkan menjadi algoritma asimetris
resmi yang digunakan pada banyak bidang. Tingkat keamanan algoritma RSA terletak
pada sulitnya memfaktorkan bilangan bulat menjadi dua buah bilangan prima,
sedangkan tingkat keamanan algoritma Elgamal terletak pada sulitnya menghitung
logaritma diskrit (Okeyinka, 2015).
Pada penelitian ini, algoritma RSA dan Elgamal akan digunakan untuk melakukan
modifikasi terhadap cipher text A, cipher text AB, dan cipher text B sebelum
dilakukan pengiriman dan melewati jalur komunikasi, agar pesan M tidak dapat
direkontruksi dengan meng-XOR-kan ketiga cipher text yang telah terjadi modifikasi.
Berdasarkan latar belakang yang telah diuraikan, maka dapat diambil beberapa
rumusan masalah yang ada sebagai berikut:
1. Perlunya mengatasi kelemahan algoritma one time pad pada skema three pass
protocol dengan memodifikasi cipher text yang dikirim dengan menggunakan
algoritma RSA dan Elgamal.
2. Perlunya meningkatan keamanan dari cipher text yang akan dikirim pada
skema three pass protocol
PESAN J
Skema three pass protocol di kembangkan oleh Adi Shamir, seorang profesor
berkebangsaan Israel sekitar tahun 1980. Protokol ini memiliki kerangka tiga jalur
untuk melakukan pengiriman pesan atau data. Protokol ini juga memungkinkan dua
pihak saling bertukar informasi dengan aman tanpa harus melakukan pertukaran
kunci, sehingga masalah distribusi kunci yang ada pada algoritma simetris dapat
teratasi dengan baik (Oktaviana, 2016).
Algoritma-algoritma dengan teknik XOR (eksklusif-OR) dapat diimplementasikan
pada skema protokol ini, seperti algoritma one time pad (Oktaviana, 2016), vigenere
cipher (Subandi, 2017), dan caesar cipher (A. Siahaan, 2016). Selain itu, algoritma
berbasis matriks seperti hill cipher juga dapat diimplementasikan pada skema protokol
ini (A. Abdullah,2015).
Algoritma dengan teknik XOR yang diimplementasikan untuk skema three pass
protocol memiliki kelemahan yang sangat fatal, bahkan untuk satu-satunya algoritma
unbreakable (tidak terpecahkan) yang ada saat ini, yaitu algoritma one time pad pun
akan menjadi breakable (terpecahkan) dengan sangat mudah jika diterapkan pada
skema protokol ini. Ada pun kelemahan fatal tersebut dapat ditunjukkan pada formula
di bawah ini (Kanamori, 2009):
(M XOR KA) XOR (M XOR KA XOR KB) XOR (M XOR KB)
Pada formula di atas, dapat dijelaskan bahwa andai Anton ingin mengirimkan pesan
kepada Beby, Anton akan mengenkripsi pesan dengan kunci yang dia miliki yaitu
(KA) dengan formula cipher text (M ?????, setalah itu cipher text A hasil enkripsi
akan dikirim ke Beby, lalu Beby akan mengenkripsi cipher text A dengan kunci yang
dia miliki (KB) dengan formula cipher text (M ???????????, lalu cipher text AB hasil
enkripsi akan dikirim kembali ke Anton dan Anton akan mendeskripsi cipher text AB
menjadi cipher text B dengan kunci yang dia miliki (KA) yang menghasilkan formula
cipher text(M ???????Ciphert text B ini akan dikirimkan kembali kepada Beby, lalu
Beby akan mendeskripsi cipher text B dengan kunci yang dia miliki (Kb) yang akan
menghasilkan M (plain text) (Jun Lang, 2012).
enkripsi. Enkripsi, dekripsi dan pembuatan kunci untuk teknik enkripsi asimetris
memerlukan komputasi yang lebih intensif dibandingkan enkripsi simetris, karena
enkripsi asimetris menggunakan bilangan-bilangan yang sangat besar. Namun,
walaupun enkripsi asimetris lebih besar dalam komplektifitas dibandingkan enkripsi
simetris, kriptografi kunci publik sangat berguna untuk key management dan digital
signature (Kromodimoeljo, 2010).
2.1.2. Tujuan Kriptografi
Ada empat tujuan mendasar dari kriptografi yang juga merupakan aspek keamanan
informasi (Munir, 2006), yaitu:
1. Privacy/Confidentiality
Aspek yang berhubungan dengan penjagaan isi informasi dari siapapun kecuali yang
memiliki otoritas atau kunci rahasia untuk membuka informasi yang telah dienkripsi.
2. Integrity
Aspek yang berhubungan dengan penjagaan dari perubahan data secara tidak sah dan
menjamin bahwa isi pesan tidak dapat diubah tanpa ijin.
3. Authentication
Aspek yang berhubungan dengan identifikasi atau pengenalan, baik secara kesatuan
sistem maupun informasi itu sendiri.
4. Non-repudiation
Usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman suatu informasi
oleh yang mengirimkan, atau harus dapat membuktikan bahwa suatu pesan berasal
dari seseorang, apabila dia menyangkal mengirim informasi tersebut.
2.1.3. Istilah-istilah pada Kriptografi
Berikut merupakan istilah-istilah yang dikenal pada kriptografi :
1. Algoritma Kriptografi
Sebuah algoritma yang digunakan untuk melakukan proses enkripsi terhadap plain
text menjadi cipher text dan proses dekripsi terhadap cipher text kembali menjadi
plain text dengan suatu aturan dan kunci tertentu. Sehingga pada suatu algoritma
kriptografi terdapat t