Implementasi Algoritma Vigenere Cipher dan Metode Blowfish untuk Keamanan File Database Berbasis WEB

BAB II
LANDASAN TEORI

2.1. Keamanan dan Kerahasiaan Data
Masalah keamanan dan kerahasiaan data merupakan hal yang sangat
sangat penting dalam suatu organisasi maupun untuk pribadi. Apalagi kalau data
tersebut berada dalam suatu sistem komputer, jaringan komputer bahkan dalam
jaringan internasional atau internet. Berkaitan dengan masalah yang terjadi
terhadap data yang ada dalam komputer, ruang lingkup keamanan data dalam
suatu sistem komputer mencakup hal-hal yang berkaitan dengan :
a) Kemanan fisik
Komputer harus diletakkan pada tempat yang dapat dikontrol, karena
kemungkinan penyalahgunaan dapat terjadi.
b) Keamanan akses
Seluruh akses terhadap suatu sistem komputer secara administrasi
harus terkontrol dan terdokumentasi, sehingga apabila ada suatu
permasalahan

dapat

diketahui


penyebabnya

dan

mencari

solusi/pemecahanya.
c) Keamanan file atau data
Untuk file/data yang sensitif atau bersifat rahasia, diperlukan
tingkatan akses dan bahkan dapat dibuatakan suatu kode sandi
tertentu sehingga apabila suatu file/data tersebut dicuri, isi
informasinya tidak dengan mudah didapatkan.
d) Kemanan jaringan
Dengan pemanfaatan jaringan publik, data yang ditransmisikan
dalam jaringan harus aman dari kemungkinan dapat diketahui isi
informasinya sehingga untuk informasi

yang sensitif harus


Universitas Sumatera Utara

7

dibuatakan kode sandi tertentu untuk pengamananya pada saat
transmisi.
Menurut G. J. Simons, keamanan informasi adalah bagaimana kita dapat
mencegah penipuan (cheating) atau paling tidak mendeteksi adanya penipuan di
sebuah sistem yang berbasis informasi, dimana informasinya sendiri tidak
memiliki arti fisik (Rahardjo, 2005:11).
2.1.1

Aspek Yang Berkaitan Dengan Persyaratan Keamanan
Keamanan data pada sistem komputer melingkupi empat aspek, yaitu
privacy,
integrity, authentication dan availibility.
1. Privacy/Confidentiality
Inti utama aspek privacy atau confidentiality adalah usaha untuk
menjaga informasi dari orang yang tidak berhak mengakses.
Privacy lebih kearah data-data yang sifatnya privat sedangkan

confidentiality biasanya berhubungan dengan data yang diberikan
ke pihak lain untuk keperluan tertentu. Contoh hal yang
berhubungan dengan privacy adalah e-mail seorang pemakai (user)
tidak boleh dibaca oleh administrator. Contoh confidential
information adalah data-data yang sifatnya pribadi (seperti nama,
tempat tanggal lahir, nomor kartu kredit, dan sebagainya)
merupakan data-data yang ingin diproteksi penggunaan dan
penyebarannya.
2. Integrity
Aspek ini menekankan bahwa informasi tidak boleh diubah tanpa
seijin pemilik informasi. Adanya virus, trojan horse, atau pemakai
lain yang mengubah informasi tanpa ijin merupakan contoh
masalah yang harus dihadapi. Sebuah e-mail dapat saja ditangkap
(intercept) ditengah pengiriman dan diubah isinya (altered,

Universitas Sumatera Utara

8

tampered, modified), kemudian diteruskan ke alamat yang dituju.

Dengan kata lain, integritas dari informasi sudah tidak terjaga.
3. Authentication
Aspek ini berhubungan dengan metode untuk menyatakan bahwa
informasi betul-betul asli, orang yang mengakses atau memberikan
informasi adalah betul-betul orang yang dimaksud, atau server yang
kita hubungi adalah betul-betul server yang asli.
Masalah pertama, membuktikan keaslian dokumen dapat dilakukan
dengan

teknologi

watermarking

dan

digital

signature.

Watermarking juga dapat digunakan untuk menjaga “intelectual

property”, yaitu dengan menandai dokumen atau hasil karya dengan
“tanda tangan” pembuat. Masalah kedua biasanya berhubungan
dengan access control, yaitu berkaitan dengan pembatasan orang
yang dapat mengakses informasi. Dalam hal ini pengguna harus
menunjukkan bukti bahwa memang dia adalah pengguna yang sah,
misalnya dengan menggunakan password terhadap sebuah data.
4. Availibility
Aspek

availability

atau

ketersediaan

berhubungan

dengan

ketersediaan informasi ketika dibutuhkan. Sistem informasi yang

diserang atau dijebol dapat menghambat atau meniadakan akses ke
informasi. Contoh hambatan adalah serangan yang sering disebut
dengan “denial of service attack” (DoS attack), dimana server
dikirimi permintaan (biasanya palsu) atau permintaan yang diluar
perkiraan sehingga tidak dapat melayani permintaan lain atau
bahkan sampai down, hang, crash.
2.1.2

Aspek Yang Berkaitan Dengan Ancaman Keamanan
Aspek yang berkaitan dengan ancaman terhadap keamanan dan
kerahasiaan data antara lain :

Universitas Sumatera Utara

9

1) Interruption
Merupakan ancaman terhadap availibility, yaitu data dan
informasi yang berada dalam sistem komputer dirusak atau
dibuang, sehingga menjadi tidak ada dan tidak berguna.

2) Interception
Merupakan ancaman terhadap privasy/secrecy, yaitu orang
yang tidak berhak namun berhasil mendapatkan akses
informasi dari dalam suatu sistem komputer.
3) Modification
Merupakan ancaman terhadap integritas, yaitu orang yang
tidak berhak tidak hanya berhasil mendapatakan akses
informasi dari dalam sistem komputer, tetapi dapat juga
melakukan perubahan terhadap informasi.
4) Fabrication
Merupakan ancaman terhadap integritas, yaitu orang yang yang
tidak berhak yang meniru atau memalsukan suatu objek
kedalam sistem.
2.1.3

Keamanan dan Kerahasiaan Data Dalam Jaringan Komputer
Keamanan jaringan didefinisikan sebagai sebuah perlindungan dari sumber
daya terhaadap upaya penyingkapan, modifikasi, utilisasi, pelarangan, dan
perusakan oleh pihak yang tidak diijinkan
Untuk menjaga kemanan dan kerahasiaan data dalam suatu jaringan

komputer, diperlukan beberapa jenis enkripsi agar data tidak dapat dibaca
atau dimengerti oleh sembarang orang, kecuali untuk penerima yang
berhak. Pengaman data tersebut selain bertujuan untuk meningkatkan
keamanan data juga berfungsi untuk :


Melindungi data agar tidak dapat dibaca oleh orang-orang yang
tidak berhak.

Universitas Sumatera Utara

10



Mencegah agar orang-orang yang tidak berhak, tidak
menyisipkan atau menghapus data.

Untuk


menyimpan

sesuatu

secara

pribadi,

maka

kita

harus

menyembunyikan agar orang lain tidak tahu. Sebagai contoh, ketika kita
mengirim surat kepada seseorang, maka kita membungkus surat tersebut
dengan amplop agar tidak terbaca oleh orang lain. Untuk menambah
kerahasiaan surat tersebut agar tetap tidak secara mudah dibaca oleh orang
apabila amplop dibuka, maka kita mengupayakan untuk membuat
mekanisme tertentu agar isi surat tidak secara mudah dapat dipahami.

Salah satu hal yang penting dalam komunikasi menggunakan komputer
untuk menjamin kerahasiaan data adalah enkripsi. Enkripsi adalah sebuah
proses yang melakukan perubahan sebuah kode dari yang bisa dimengerti
menjadi sebuah kode yang tidak bisa dimengerti atau tidak terbaca.
Enkripsi dapat diartikan sebagai kode atau cipher. Sebuah sistem
pengkodean menggunakan suatu tabel atau kamus yang telah didefinisikan
untuk mengganti kata dari informasi yang dikirim. Sebuah

cipher

menggunakan suatu algoritma yang dapat mengkodekan semua aliran data
(stream) bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti
(unnitelligible). Karena teknik cipher merupakan suatu sistem yang telah
siap untuk di automasi, maka teknik ini digunakan dalam sistem kemanan
komputer dan jaringan.
Ada 2 hal yang terkait dengan keamanan dan kerahasiaan data dalam
jaringan komputer yaitu representasi data dan kompresi data, yang
nantinya terkait dengan masalah enkripsi.
2.1.4


Representasi Data
Pada kenyataanya, komputer-komputer yang berbeda biasanya mempunyai
representasi data internal yang berbeda pula. Sebagai contoh, semua
mainframe IBM yang besar menggunakan sistem sandi EBCDIC,
sedangakan secara umum komputer produk perusahaan lain menggunakan

Universitas Sumatera Utara

11

sistem sandi ASCII. Oleh karena itu, walaupun semua data diterima tanpa
adanya kesalahan , tetapi masih terdapat perbedaan representasi data, maka
hasil yang diperoleh akan berbeda pula. Untuk mengatasi masalah itu,
maka sebelum diolah data yang diterima harus dikenversi sehingga data
yang diterima sesuai dengan sistem sandi komputer penerima.
2.1.5

Kompresi Data
Organisai-organisasi yang mengoperasikan jaringan komputer seringkali
mengharapkan dapat menekan biaya pengiriman data. Biaya pengiriman
itu sangat bergantung dengan banyaknya byte data yang dikirimkan. Oleh
karena itu, dengan melakukan kompresi terhadap data, akan dapat
menghemat biaya pengiriman data. Istilah kompresi diterjemahkan dari
bahasa Inggris “compression” yang berarti pemampatan. Dalam bidang
teknik, kompresi berarti proses memampatkan sesuatu yang berukuran
besar sehingga menjadi kecil. Dengan demikian, kompresi data berarti
proses pemampatan data agar ukuranya menjadi kecil.
Pemampatan ukuran berkas melalui kompresi hanya diperlukan ketika
berkas tersebut akan disimpan atau dikirim melalui media transmisi atau
telekomunikasi dan apabila data tersebut harus dibongkar lagi dan
dikembalikan pada format semula agar dapat dibaca kembali. Satuan yang
cukup penting dalam kompresi data adalah compression ratio yang
menggambarkan seberapa besar ukuran data setelah melewati proses
kompresi dibandingkan dengan ukuran berkas yang asli.

2.2. Database
Secara etimologis database terdiri dari dua kata yaitu basis dan data yang dapat
diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul.
Data merupakan fakta mengenai suatu objek seperti manusia, benda, peristiwa,
konsep, keadaan dan sebagainya yang dapat dicatat dan mempunyai arti secara
implisit (Suhendra , 2012).

Universitas Sumatera Utara

12

Basis data adalah dua atau lebih simpanan data dengan elemen-elemen
data penghubung, yang dapat diakses lebih dari satu cara. Basis data dinyatakan
dengan teknik-teknik formal dan manajemen basis data. Dari defenisi diatas maka
dapat diartikan bahwa basis data merupakan kumpulan dari data yang saling
berhubungan satu dengan yang lainya (Iskandar, 2008).
Menurut George Tsu-der Chou basis data merupakan kumpulan informasi yang
bermanfaat yang diorganisasikan ke dalam aturan yang khusus, informasi ini
adalah data yang telah diorganisasikan ke dalam bentuk yang sesuai dengan
kebutuhan seseorang. Menurut Encyclopedia of Computer Science and Engineer,
para ilmuwan dibidang informasi menerima definisi standard informasi yaitu data
yang digunakan dalam pengambilan keputusan (Dzacko, 2007)
Definisi lain dari basis data menurut Fabbri dan Schwab adalah sistem berkas
terpadu yang dirancang terutama untuk meminimalkan duplikasi data.
Menurut Ramez Elmasri mendefinisikan basis data lebih dibatasi pada arti implicit
yang khusus, yaitu ;
a. Basis data merupakan penyajian suatu aspek dari dunia nyata.
b. Basis data merupakan kumpulan data dari berbagai sumber yang
secara logika mempunyai arti implicit. Sehingga data yang
terkumpul secara acak dan tanpa mempunyai arti tidak dapat
disebut basis data.
c. Basis data perlu dirancang, dibangun dan data dikumpulkan untuk
suatu tujuan. Basis data dapat digunakan oleh beberapa user dan
beberapa aplikasi yang sesuai dengan kepentingan user.
Data diorganisasikan dalam bentuk elemen data (field), rekaman (record), dan
berkas (file) seperti yang ditunjukan pada gambar 2.1 berikut. Elemen data adalah
satuan data terlecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna.
Rekaman merupakan gabungan dari sejumlah elemen yang saling terkait. Istilah
lain dari rekaman adalah tupelo. Berkas adalah himpunan seluruh rekaman yang
bertipe sama.

Universitas Sumatera Utara

13

Berkas (File)

Rekaman (Record)

Rekaman (Record)

Elemen data (Field)

Elemen data (Field)

Rekaman (Record)

...

Elemen data (Field)

Gambar 2.1 Hirarki Data

2.2.1

Database Management System (DBMS)
Database Management System adalah konsep basis data yang menyimpan
semua data dalam bentuk tabel. Sebuah tabel menyimpan informasi
mengenai sujek tertentu. Dengan DBMS sebuah basis data akan dengan
mudah dikelola walaupun jumlah data banyak dan sangat kompleks. Pada
prinsipnya DBMS terbagi menjadi 3 bagian, yaitu :
1. Data Defenition, mendefinisikan jenis data yang akan dibuat, cara
relasi data, validasi data dan lainya.
2. Data manipulation, data yang telah dibuat dan didefinisikan akan
dilakukan beberapa pengerjaan, seperti sharing data, proses query
dan lain sebagainya.
3. Data control, berhubungan dengan mengendalikan data, seperti
siapa yang dapat melihat data, bagaimana data bisa digunakan
oleh banyak user dan sebagainya.

Universitas Sumatera Utara

14

2.2.2

Keamanan Basis Data
Salah satu aspek yang terpenting dalam keamanan basis data adalah
proteksi terhadap pengaksesan, pembacaan informasi, pemodifikasian dan
pengrusakan data oleh pihak yang tidak berwenang. Keamanan basis data
juga berarti menjaga penyalahgunaan basis data baik secara sengaja,
misalnya pengambilan dan pembacaan data, pengubahan data dan
penghapusan data oleh pihak yang tidak berwenang, maupun secara tidak
sengaja seperti kerusakan selama transaksi, anomali yang disebabkan oleh
akses basis data konkuren, anomali yang disebabkan oleh pendistribusian
data pada beberapa komputer dan logika error yang mengancam
kemampuan transaksi untuk mempertahankan konsistensi basis data.
Persoalan keamanan basis data dapat dikategorikan menjadi

beberapa

tingkatan, yaitu :
1. Fisikal, menyangkut keamanan yang berkaitan dengan dimana
tempat sistem basis data berada.
2. Manusia, setiap pengguna basis data harus diatur otoritasnya
sedemikian rupa sehingga setiap pengguna hanya dapat
mengakses data yang berhak diakses pengguna yang berkaitan.
3. Sistem Operasi, kelemahan pada sistem operasi memungkinkan
pengaksesan data oleh pihak yang tidak berwenang.
4. Sistem basis data, sistem basis data yang digunakan harus
menjamin setiap penggunaan basis data agar tidak melanggar
otoritas yang dimiliki masing-masing.
2.3. Kriptografi
Penggunaan teknologi komunikasi dan penyimpanan data dengan menggunakan
komputer memungkinkan pengiriman data jarak jauh yang relatif cepat dan
murah. Namun di lain pihak pengiriman data jarak jauh melalaui gelombang radio
dan media lain yang digunakan masyarakat luas sangat memungkinkan pihak lain
dapat menyadap dan mengubah data yang dikirimkan. Demikian juga, pada sistem

Universitas Sumatera Utara

15

jaringan komputer maupun secara luas pada internet dengan jumlah pemakai yang
banyak.
Dalam teknologi informasi, salah satu cara yang ditempuh untuk mengatasi
masalah ini adalah dengan menggunakan kriptografi yang menggunakan
transformasi data sehingga data yang dihasilkan tidak dapat dimengerti oleh pihak
ketiga. Transformasi ini memberikan solusi pada dua masalah keamanan data,
yaitu masalah privasi (privacy) dan keautentikan (authentication). Privasi
mengandung arti bahwa data yang dikirimkan hanya dapat dimengerti
informasinya oleh penerima yang sah. Sedangkan keautentikan mencegah pihak
ketiga untuk mengirimkan data yang salah atau mengubah data yang dikirimkan.
Kriptografi (cryptography) berasal dari bahasa yunani : “Cryptos” yang
artinya “secret” (rahasia), sedangkan “graphein” yang artinya “writing” (tulisan).
Jadi, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan
(Munir,2006:2). Kata “seni” tersebut berasal dari fakta sejarah bahwa pada masamasa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik
untuk merahasiakan pesan. Cara-cara unik tersebut mungkin berbeda-beda pada
setiap pelakukriptografi sehingga setiap menulis pesan rahasia, pesan mempunyai
mempunyai nilai estetika tersendiri sehingga kriptografi berkembang menjadi
sebuah seni merahasiakan pesan.
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 (Kromodimoeljo, 2010 : 25).
Proses enkripsi dilakukan menggunakan suatu algotritma dengan
beberapa parameter. Biasanya algoritma tidak dirahasiakan, bahkan enkripsi yang
mengandalkan kerahasiaan algoritma dianggap sesuatu yang tidak baik. Rahasia
terletak dibeberapa parameter yang digunakan, jadi kunci ditentukan oleh
parameter. Dalam kriptografi klasik, teknik enkripsi yang digunaan adalah
enkripsi simetris dimana kunci enkripsi sama dengan kunci dekripsi. Secara garis
besar, proses enkripsi adalah proses pengacakan pesan asli (plaintext) menjadi
pesan acak (ciphertext) yang sulit dibaca oleh seseorang yang tidak mempunyai

Universitas Sumatera Utara

16

kunci dekripsi. Yang dimaksud dengan sulit untuk dibaca adalah peluang untuk
mendapat kembali pesan asli oleh seseorang yang tidak mempunyai kunci dekripsi
dalam waktu yang tidak terlalu lama sangat kecil. Walaupun awalnya kriptografi
digunakan untuk merahasiakan pesan teks , kini kriptografi digunakan untuk data
apa saja yang berbentuk digital.
Adapun tujuan dari sistem kriptografi adalah sebagai berikut :
a. Confidentiality
Memberikan kerahasiaan pesan dan menyimpan data dengan
menyembunyikan informasi lewat teknik-teknik enkripsi.
b. Message Integrity
Memberikan jaminan untuk tiap bagian bahwa pesan tidak akan
mengalami perubahan dari saat dibuat sampai saat dibuka.
c. Non-Repudiation
Memberikan cara untuk membuktikan bahwa suatu dokumen
datang dari seseorang apabila ia mencoba menyangkal memiliki
dokumen tersebut.
d. Authentication
Memberikan dua layanan. Pertama, mengidentifikasi keaslian
suatu pesan dan memberikan aminan keautentikanya. Kedua,
menguji identitass seseorang apabila akan memasuki sebuah
sistem.
Dengan demikian menjadi jelas bahwa kriptografi dapat diterapkan
dalam banyak bidang.
2.3.1

Algoritma Kriptografi
Algoritma kriptografi pertama kali dikembangkan untuk mengizinkan
organisasi tertentu yang ditunjuk untuk mengakses suatu informasi.
Pertama kalinya kriptografi digunakan sebagai petenjuk untuk perang.
Menurut sejarah, Julius Caesar dikenal sebagai orang yang pertama kali

Universitas Sumatera Utara

17

telah mengembangakn algoritma kriptografi untuk mengirimkan pesan ke
tentaranya.
Algoritma kriptografi telah mengalami perkembangan dan perbaikan
sehingga hasilnya lebih memuaskan, misalnya algoritma DES, RSA, dan
lainya.
Kriptografi adalah suatu ilmu ataupun seni untuk mengamankan pesan atau
informasi dan dilakukan oleh cryptographer, sedangkan cryptanalysis
adalah suatu ilmu dan seni untuk membuka ciphertext dan orang yang
melakukanya disebut cryptanalyst (Munir, 2006).
Cryptographic system atau cryptosystem adalah suatu fasilitas untuk
mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini,
seperangkat parameter yang menentukan tranformasi pencipheran tertentu
disebut sebagai set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau
beberapa kunci kriptografi. Secara umum, kunci yang digunakan untuk
proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung
pada sistem yang digunakan.
Secara umum operasi enkripsi dan dekripsi dapat diterangkan secara
matematis sebagai berikut :
EK (M) = C (Proses Enkripsi)
DK (C) = M (Proses Dekripsi)
Pada saat proses enkripsi kita menyandikan pesan M dengan suatu kunci K
lalu dihasilkan pesan C. Sedangkan pada proses dekripsi, pesan C tersebut
diuraikan dengan menggunakan kunci K sehingga dihasilkan pesan M
yang sama seperti pesan sebelumnya.
Dengan demikian keamanan suatu pesan tergantung pada kunci yang
digunakan, dan tidak tergantung pada algoritma yang digunakan sehingga
algoritma-algoritma yang digunakan tersebut dapat dapat dipublikasikan
dan dianalisis, karena tidak menjadi masalah apabila seseorang mengetahui

Universitas Sumatera Utara

18

algoritma yang digunakan. Selama tidak mengetahui kunci yang dipakai, ia
tetap tidak dapat membaca pesan.
Algoritma kriptografi secara umum dibagi menjadi 2, yaitu algoritma
kriptografi kunci rahasia dan algoritma kriptogarfi kunci publik.
2.3.2

Tipe Dan Karakteristik Algoritma Kriptografi
Secara umum, algoritma kriptografi kunci rahasia menyatakan bahwa
algoritma dimana enkripsi digunakan dalam mengenkripsi data, dan kunci
dekripsi untuk merubah data kebentuk aslinya. Karena atribut ini,
algoritma kriptografi kunci rahasia disebut juga dengan algoritma
kriptografi kunci simetris. Untuk algoritma kriptografi kunci publik
menyatakan bahwa algoritma enkripsi dan dekripsi berbeda. Algoritma
kriptografi kunci publik mempunyai karakteristik : tidak ada penghitungan
kembali dari kunci dekripsi bahkan sesudah kunci enkripsi dilakukan.
Berawal dari kondisi ini, kunci enkripsi disebut sebagai kunci publik dan
kunci dekripsi disebut sebagai kunci pribadi.
Algoritma kriptografi kunci rahasia dan publik menggunakan algoritma
enkripsi dan algoritma tanda tangan digital secara berturut-turut. Dalam
algoritma enkripsi, isi pesan hanya dapat dilihat oleh pribadi yang tahu
kunci enkripsi, sedangkan dalam tanda tangan digital pengirm pesan dapat
diketahui.
Dalam tanda tangan digital kunci publik, kunci enkripsi (kunci publik)
untuk enkripsi data dan (kunci pribadi) untuk dekripsi data. Disini kunci
rahasia digunakan untuk tanda tangan, sedangkan kunci publik digunakan
untuk mengecek. Hal ini akan menolong kunci rahasia untuk tidak bisa
dibaca oleh orang lain. Tetapi kunci publik dapat dilihat oleh beberapa
orang sehingga bisa dengan mudah memperoleh dan meggunakanya.
Karakteristik dan tipe dari algoritma kriptigrafi dapat dilihat pada gambar
2.2 berikut ini :

Universitas Sumatera Utara

19

Secrecy

Integrity

Secrecy

Encryption

Hash

Digital
Signature

Secret Key

Public Key

Hash

Gambar 2.2 Tipe dan karakteristik algoritma kriptografi
2.3.3

Algoritma Kriptografi Kunci Rahasia
Dalam algoritma kirptografi kunci rahasia, kunci digunakan untuk enkripsi
data dan tidak diberi kuasa kepada publik melainkan hanya kepada orang
tertentu yang tahu dan dapat membaca data yang dienkripsi. Karakteristik
algoritma kunci rahasia adalah bahwa kunci enkripsi sama dengan kunci
dekripsi , seperti yang ditunjukkan pada gambar 2.3 berikut.
Plain Text

Encryption

Encryption
Text

Secret Key

Encryption
Text

Decryption

Plain text

Gambar 2.3 Algoritma kunci rahasia
Algoritma kunci rahasia disebut juga dengan algoritma kunci simetris.
Untuk

menggunakan

algoritma

kunci

rahasia

dalam

lingkungan

Universitas Sumatera Utara

20

komunikasi, kedua belah pihak yang berkomunikasi satu dengan yang
lainya harus saling membagi kunci enkripsi sebelumnya.
2.3.4

Algoritma Kriptografi Kunci Publik
Dalam algoritma kunci publik, kunci enkripsi dan dekripsi sama. Untuk
alasan ini, algoritma kunci publik disebut algoritma kunci asimetris.
Karakteristik algoritma kunci publik adalah bahwa kunci dekripsi tidak
dibuka, bahkan sesudah kunci enkripsi dibuka. Dalam algoritma kunci
publik, kunci enkripsi dibuka sehingga tidak seorang pun dapat
menggunakanya. Tetapi, untuk dekripsi hanya seorang yang punya
kunci dan dapat menggunakanya. Untuk alasan ini, kunci yang
digunakan untuk proses enkripsi disebut kunci publik, sedangkan kunci
yang digunakan untuk dekripsi disebut kunci rahasia seperti yang
ditunjukan pada gambar 2.4 berikut.

Transmitting

Plain Text

Encryption

Encryption
Text

Public Key
of Receiver
Private Key
of Receiver

Receiving

Encryption
Text

Encryption

Plain Text

Gambar 2.4 Algoritma kriptografi kunci publik
Algoritma kunci publik digunakan untuk banyak area yang berbeda. Yang
paling umum digunakan adalah dalam hal pengiriman kunci rahasia pada
tahap awal, dimana kunci rahasia digunakan dalam tanda tangan digital.

Universitas Sumatera Utara

21

Ketika membandingkan kelebihan dan kelemahan antara algoritma
kunci rahasia dan publik, algoritma kunci publik pada umumnya
mempunyai lebih banyak keuntungan dalm hal kriptografi. Ini karena
informasi rahasia dari seseorang tidak harus dikirim dan dienkripsi
informasi serta aplikasi berbeda satu dengan yang lain sehingga tidak
mudah untuk diintegrasikan; dapat digunakan untuk sistem distribusi kunci
algoritma kunci rahasia, tanda tanga digital untuk pemeriksaan pembuat
pesan dan identifikasi untuk pemeriksaan identitas pengguna.
2.3.5

Algoritma Vigenere Cipher
Salah satu masalah utama dengan simple substitution cipher adalah kodekode mudah dibajak untuk dianalisis frekuensinya. Dengan ciphertext yang
besar maa dapat dengan mudah dipecah dengan pemetaan frekuensi dari
huruf-hurufnya seperti dalam teks Inggris. Oleh karena itu, untuk membuat
cipher lebih aman para cryptographer tertarik untuk mengembangkan
teknik menulis pesan yang aman untuk analisis frekuensi.
Vigenere cipher merupakan salah satu algoritma klasik dengan
teknik substitusi. Nama Vigenere diambil dari seseorang yang bernama
Blaise de Vigenere karena Vigenere cipher pertama kali diusulkan oleh
Blaise de Vigenere dari pengadilan Henry III di Prancis pada abad 16
(Tahun 1568).
Vigener Cipher adalah metode menyandikan teks alfabet dengan
menggunakan deretan Caesar berdasarkan huruf-huruf pada kata kunci.
Vigenere Cipher menggunakan tabel seperti pada tabel 2.1 dan tabel 2.2
berikut, Vigenere Cipher dengan angka dan huruf dalam melakukan
enkripsi (Arjana, 2012).
Teknik dari substitusi Vigenere Cipher dapat dilakukan dengan 2 cara,
yaitu: angka dan huruf.

Universitas Sumatera Utara

22

Tabel 2.1 Tabel Vigenere angka
Vigenere Cipher menggunakan suatu kunci yang memiliki panjang
tertentu. Panjang kunci tersebut bisa lebih pendek maupun sama dengan
panjang palintext. Jika panjang kunci lebih pendek dengan plaintext, maka
kunci tersebut akan diulang secara periodik

sehinnga panjang kunci

tersebut sama dengan panjang plaintextnya.
Tabel 2.2 Tabel huruf Vigenere Cipher

Algoritma enkripsi Vigenere Cipher adalah :
Ci = (Pi + Ki) mod 26
Algoritma dekripsi Vigenere Cipher adalah :
Pi = (Ci – Ki) mod 26 ;

untuk Ci >= Ki

= (Ci + 26 – Ki) mod 26 ; untuk Ci