Implementasi Kriptografi Hybrid Crypto Sistem Algoritma RSA – Naïve Dan Algoritma Zig-Zag Dalam Pengamanan File

66

BAB II
TINJAUAN PUSTAKA

2.1.Kriptografi
2.1.1

Definisi Kriptografi
Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret

(rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, cryptography
adalah ilmu dan seni untuk menjaga keamana pesan ketika pesan dikirim dari suatu
tempat ketempat yang lain (Ariyus, 2009). Tujuan awal dari kriptografi adalah
menyembunyikan isi pesan sehingga tidak dapat terbaca oleh pihak-pihak yang tak
diinginkan, tetapi masih dapat dimengerti oleh pihak yang dituju. Seiring
perkembangan jaman, kriptografi banyak diterapkan di berbagai bidang, mulai dari
tukar menukar informasi di perang dunia kedua, hingga dunia komputerisasi yang kita
alami saat ini. Kriptografi kunci publik bergantung pada penggunaan kunci publik dan
kunci privat. Kunci publik biasanya bebas didistribusikan tanpa mengorbankan kunci
privat, yang biasanya dirahasiakan oleh pemiliknya. Kunci publik digunakan untuk

mengenkripsi pesan plaintext. Kunci privat digunakan untuk mendapatkan kunci zig
zag dan mendekripsi ciphertext untuk mendapatkan pesan plaintext (Soran, 2016).
Pesan asli biasanya disebut juga sebagai plaintext. Sedangkan pesan yang sudah
diamankan disebut ciphertext. Proses untuk mengubah plaintext menjadi ciphertext
disebut enkripsi. Sedangkan proses untuk mengubah ciphertext kembali menjadi
plaintext disebut dekripsi.
Kriptografi pada dasarnya terdiri dari dua proses, yaitu proses enkripsi dan
proses dekripsi. Enkripsi merupakan proses untuk mengubah plainteks menjadi
ciphertext. Dimana ciphertext ini nantinya akan dikirimkan melalui saluran komunikasi
terbuka. Pada saat ciphertext diterima oleh penerima pesan, maka pesan rahasia tersebut
diubah lagi menjadi pesan terbuka melalui proses dekripsi sehingga pesan tadi dapat
dibaca kembali oleh penerima pesan. Dan berikut ini adalah skema enkripsi dan dekripsi
dengan menggunakan kunci seperti yang terlihat pada gambar 8.1

6
Universitas Sumatera Utara

7

Plaintkes


dekripsi

Enkripsi

plainteks

cipherteks
Gambar 2.1 Skema proses enkripsi dan dekripsi
Pada gambar 8.1 skema proses enkripsi dan deskripsi, Pada skema diatas pengirim
melakukan enkripsi pada plaintext dan menjadi sebuah ciphertext setelah itu ciphertext
dikirim ke penerima untuk didekripsi agar pesan yang disampaikan oleh pengirim dapat
dibaca oleh penerima.
2.1.2. Kriptografi Klasik
Teknik kriptografi klasik digunakan beberapa abad yang lalu, sebelum adanya
komputer. Kriptografi klasik yaitu suatu algoritma yang menggunakan satu kunci untuk
mengamankan data. Terdapat dua teknik dasar yang digunakan dalam kriptografi klasik,
yaitu teknik subsitusi dan teknik transposisi (permutasi). Teknik subsitusi dilakukan
dengan penggantian setiap karakrer pesan asli dengan karakter lain. Sedangkan teknik
transposisi (permutasi) dilakukan dengan menggunakan permutasi atau pengacakan

urutan karakter pada pesan asli tersebut (Ariyus, 2008).

2.1.3. Kriptografi Modern
Kriptografi modern merupakan suatu algoritma yang digunakan pada saat sekarang ini,
yang mana kriptografi modern mempunyai kerumitan yang sangat komplek, karena
dalam pengoperasiannya menggunakan komputer (Ariyus, 2008). Kriptografi modern
tidak hanya berkaitan dengan teknik menjaga kerahasiaan pesan, tetapi juga melahirkan
konsep seperti tanda-tangan digital dan sertifikat digital. Dengan kata lain, kriptografi
modern tidak hanya memberikan aspek keamanan confidentiality, tetapi juga aspek
keamanan lain seperti otentikasi, integritas data,dan penyangkalan.
Keamanan algoritma kriptografi sering diukur dari banyaknya kerja (work) yang
dibutuhkan untuk memecahkan Ciphertext menjadi Plaintext tanpa mengetahui kunci
yang digunakan. Kunci (key) merupakan parameter yang digunakan untuk transformasi
enciphering dan deciphering. Kunci biasanya berupa string atau deretan bilangan.

2.1.4. Algoritma Kunci Simetri

Universitas Sumatera Utara

8


Algoritma simetri disebut juga sebagai algoritma konvesional adalah algoritma
yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Algoritma
simetrik sering juga disebut sebagai algoritma kunci rahasia, algoritma kunci tunggal,
atau algoritma satu kunci dan mengharuskan pengirim dan penerima menyetujui suatu
kunci tertentu sebelum mereka dapat berkomunikasi dengan aman. Keamanan
algoritma simetris tergantung pada kunci, membocorkan kunci berarti bahwa orang lain
dapat mengekrip dan mendekrip pesan. Agar komunikasi tetap aman, kunci harus tetap
dirahasiakan (Kurniawan, 2004). Dan berikut ini adalah skema Algoritma Simetris
dengan menggunakan kunci seperti yang terlihat pada gambar 8.2.

K

Plainteks

Enkripsi

Ciphertext

Dekripsi


Plainteks

Gambar 2.2 Skema Algoritma Simetris
Pada gambar 8.2 skema proses Algoritma Simetris, plainteks dienkripsi dengan
kunci K dan menghasilkan ciphertext. Lalu ciphertext dikirim kepenerima, lalu
penerima melalukan deskripsi ciphertext dengan menggunakan kunci K sehingga
menghasilkan plaintext yang berisi pesan dari sipengrim.
a. Kelebihan Algoritma Simetris (Munir,2016)
1. Waktu proses untuk enkripsi dan dekripsi relatif cepat, hal ini disebabkan karena
efisiensi yang terjadi pada pembangkit kunci.
2. Karena cepatnya proses enkripsi dan dekripsi, maka algoritma ini dapat digunakan
pada sistem secara real-time seperti saluran telepon digital.

b. Kekurangan Algoritma Simetris
1. Untuk tiap pasang pengguna dibutuhkan sebuah kunci yang berbeda, sedangkan
sangat sulit untuk menyimpan dan mengingat kunci yang banyak secara aman,
sehingga akan menimbulkan kesulitan dalam hal manajemen kunci.

Universitas Sumatera Utara


9

2. Perlu adanya kesepakatan untuk jalur yang khusus untuk kunci, hal ini akan
menimbulkan masalah yang baru karena tidak mudah menentukan jalur yang aman
untuk kunci, masalah ini sering disebut dengan “Key Distribution Problem”.
3. Apabila kunci sampai hilang atau dapat ditebak maka kriptosistem ini tidak aman lagi.
2.1.5. Algoritma Kunci Asimetri
Algoritma asimetri disebut juga algoritma kunci publik. Disebut kunci publik karena kunci
yang digunakan pada proses enkripsi dapat diketahui oleh orang banyak tanpa
membahayakan kerahasiaan kunci dekripsi, sedangkan kunci yang digunakan untuk proses
dekripsi hanya diketahui oleh pihak yang tertentu (penerima). Mengetahui kunci publik
semata tidak cukup untuk menentukan kunci rahasia. Pasangan kunci publik dan kunci
rahasia menentukan sepasang transformasi yang merupakan invers satu sama lain, namun
tidak dapat diturunkan satu dari yang lain. Dalam sistem kriptografi kunci publik ini,
proses enkripsi dan dekripsi menggunakan kunci yang berbeda, namun kedua kunci
tersebut memiliki hubungan matematis (karena itu disebut juga sistem asimetris).
Algoritma disebut kunci publik karena kunci enkripsi dapat dibuat publik yang berarti
semua orang boleh mengetahuinya.sebarang orang dapat menggunakan kunci enkripsi
tersebut untuk mengenkrip pesan, namun hanya orang tertentu (calon penerima pesan dan

sekaligus pemilik kunci dekripsi yang merupakan pasangan kunci publik) yang dapat
melakukan dekripsi terhadap pesan tersebut. Dalam sistem ini, kunci enkripsi sering
disebut kunci publik, sementara kunci dekripsi sering disebut kunci privat. Kunci privat
kadang-kadang disebut kunci rahasia. Dan berikut ini adalah skema Algoritma Asimetris
dengan menggunakan kunci seperti yang terlihat pada gambar 8.3.

Gambar 2.3 Skema Kriptografi Asimetri (Novi, 2017).

Universitas Sumatera Utara

10

Pada gambar 8.2 skema proses Algoritma Asimetris, Plaintext dienkripsi dengan kunci
publik K1 menghasilkan cipherteks C. Lalu cipherteks tersebut didekripsi dengan kunci
privat K2.
a. Kelebihan Algoritma Asimetris
1. Masalah keamanan pada distribusi kunci dapat diatasi.
2. Manajemen kunci pada suatu sistem informasi dengan banyak pengguna menjadi lebih
mudah, karena jumlah kunci yang digunakan lebih sedikit.
b. Kekurangan Algoritma Asimetris

1. Kecepatan proses algoritma ini tergolong lambat bila dibandingkan dengan algoritma
kunci simetris.
2. Untuk tingkat keamanan yang sama, rata-rata ukuran kunci harus lebih besar bila
dibandingkan dengan ukuran kunci yang dipakai pada algoritma kunci simetris.
2.2. Algoritma Lehmann
Dalam algoritma kriptografi kunci publik, diperlukan bilangan prima yang besar untuk
menentukan generet kunci. oleh karena itu, diperlukan pengujian apakah bilangan yang
dibangkitkan tersebut apakah bilangan prima atau tidak. Salah satu pengujian bilangan prima
yang dapat digunakan adalah algoritma Lehmann.
proses pengecekan bilangan prima dengan algoritma Lehmann adalah (Munir,2016):
1. Bangkitkan bilangan acak a yang lebih kecil dari p.
2. Hitung � �− / mod p.

3. Jika � �− / ≡ 1 atau -1 (mod p), maka p tidak prima.

4. Jika � �− / ≡ 1 atau -1 (mod p), maka peluang p bukan perima adalah 50%.

Sebagai contoh, akan diuji apakah bilangan 11 merupakan bilangan prima atau

komposit dengan menggunakan metode Lehmann.

Apakah 11 prima ??
p = 11
n=2
α=











= −

p = 11 prima dengan kemungkinan >50%

Universitas Sumatera Utara


11

ulangi pengujian dengan algoritma Lehmann diatas sebanyak t kali (dengan nilai a yang
berbeda). Jika hasil perhitungan langkah (b) sama dengan 1 atau -1, tetapi tidak selalu sam
dengan 1, maka peluang p adalah prima mempunyai kesalahan tidak lebih dari ⁄
a=3
α≡











.


≡ −

p ≡ 11 prima denga kemungkinan >50% + . 50% = 75%

a=4
α≡







p = 11 prima dengan probabilitas >50% + 25% +

.

%=

, %

2.3. Hybrid Cryptosystem
Algoritma hybrid adalah algoritma yang memanfaatkan dua kunci yaitu kunci simetris
dan kunci asimetris. Dimana kunci asimetris digunakan untuk mengunci kunci simetris (Ariyus
2008).

2.4. Algoritma RSA Naïve
Algoritma RSA adalah algoritma kriptografi modern yang paling dikenal didalam
sejarah kriptografi modern. Algoritma RSA merupakan algoritma kriptografi asimetris yang
paling sering digunakan pada saat ini dikarenakan kehandalannya. Panjang kunci dalam bit
dapat diatur, dengan semakin panjang bit maka semakin sukar untuk dipecahkan karena
sulitnya memfaktorkan dua bilangan yang sangat besar tersebut, tetapi juga semakin lama pada
proses dekripsinya. Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan
yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci
pribadi. Selama pemfaktoran bilangan besar menjadi faktor-faktor prima yang belum
ditemukan algoritma yang efektif, maka selama itu pula keamanan algoritma RSA tetap
terjamin.
Kata Naïve pada banyak algoritma seseorang akan dijumlah kedalam Naïve
Bayes merupakan pengklasifikasian dengan metode probabilitas dan statistik yang
dikemukakan oleh ilmuwan Inggris Thomas Bayes, yaitu memprediksi peluang di masa depan
berdasarkan pengalaman di masa sebelumnya sehingga dikenal sebagai teorema Bayes.

Universitas Sumatera Utara

12

Teorema tersebut dikombinasikan dengan ”naive” dimana diasumsikan kondisi antar atribut
saling bebas.
Penilitian ini menyajikan metode efektif yang menggabungkan teknik yang bisa
digunakan untuk menghasilkan pesan sehingga tidak dapat terbaca oleh pihak-pihak yang tak
diinginkan, tetapi masih dapat dimengerti oleh pihak yang dituju algoritma RSA, salah satu
algoritma kriptografi yang paling efektif dan umum digunakan dan menambahkan lebih banyak
langkah untuk mengurangi serangan. Serangan saluran samping tidak akan terlalu efektif dalam
teknik ini karena tingkat kekuatan dan kebocoran yang digunakan untuk mengidentifikasi
algoritma yang digunakan akan bervariasi dari algoritma RSA. Jika penyusup diidentifikasi
maka pengiriman bisa dihentikan dan karena itu, dia tidak akan menerima keseluruhan pesan
karena pesan dikirim ke beberapa bagian. ini juga bisa berfungsi secara efektif berfungsi
sebagai software yang bisa digunakan untuk mengenkripsi / mendekripsi pesan (Shankar 2014).

Proses pembangkitan kunci pada kriptografi RSA Naïve adalah sebagai berikut :
(Nigel,2016)
1. Pilih dua buah bilangan prima sembarangan p dan q. Jaga kerahasiaan p dan q.
2. Hitung
3. Hitung ɸ

=



Besaran n ini tidak perlu dirahasiakan.

=







. Sekali m telah dihitung, p dan q dapat dihapus

untuk mencegah diketahuinya oleh pihak lain.

4. Pilih sebuah bilangan acak untuk kunci publik, sebut namanya e, yang relatif prima
terhadap ɸ (relatif prima berarti GCD , ɸ = dengan syarat

5. Hitung kunci dekripsi d, dengan kekongruenan



ɸ

<

.