Database secara umum terdiri dari susunan record data operasional yang ada pada suatu perusahaan atau organisasi, sebagai salah satu sumber dari setiap sistem informasi yang sedang berjalan. Data teks pada umumnya yang tersimpan di dalam database masih persis sama dengan teks yang ditampilkan sebagai informasi akhir bagi pengguna. Hal ini dapat mempermudah seorang kriptanalis maupun orang lain yang tidak mempunyai hak akses untuk dapat mengetahui secara langsung isi dari database. Dalam penelitian ini meminimalisir masalah terhadap database tersebut dengan melakukan kegitan penyandian record table database dengan menggunakan algoritma triangle chain cipher (TCC). Algoritma triangle chain merupakan salah satu algoritma penyandian yang beroperasi berdasarkan penyandian (kriptografi) klasik khususnya dalam teknik subtitusi terhadap karakter. Setiap karakter akan disubtitusi berdasarkan kunci dan faktor pengali yang telah ditetapkan berdasarkan formula yang berlaku dalam algoritma ini. Algoritma ini melakukan penyandian pada record sebanyak dua kali dan selalu bergantung pada hasil proses sebelumnya. Hal inilah yang mendasari rumitnya pemecahan dari algoritma penyandian berantai ini.
Perangkat Lunak Deteksi Bit Error dengan Implementasi Longitudinal Redundancy...
ANALISIS DAN PERANCANGAN SISTEM YANG MENERAPKAN ALGORITMA TRIANGLE CHAIN CIPHER (TCC) UNTUK ENKRIPSI RECORD TABEL DATABASE
1. Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839
118
ANALISIS DAN PERANCANGAN SISTEM YANG MENERAPKAN
ALGORITMA TRIANGLE CHAIN CIPHER (TCC) UNTUK
ENKRIPSI RECORD TABEL DATABASE
SYSTEM ANALYSIS AND DESIGN USING TRIANGLE CHAIN CIPHER
ALGORITHM (TCC) FOR DATABASE RECORD ENCRYPTION
Rivalri Kristianto Hondro, Gunadi Widi Nurcahyo
Universitas Putra Indonesia “YPTK” Padang
Jl. Raya Lubuk Begalung, Padang
E-Mail: rivalryhondro@gmail.com, gunadiwidi@yahoo.co.id
ABSTRAK
Data teks pada umumnya yang tersimpan di dalam database masih persis sama dengan teks yang ditampilkan
sebagai informasi akhir bagi pengguna. Hal ini dapat mempermudah seorang kriptanalis maupun orang lain yang
tidak mempunyai hak akses untuk dapat mengetahui secara langsung isi dari database. Paper ini bertujuan untuk
meminimalisir masalah terhadap database tersebut dengan melakukan kegitan penyandian record table database
dengan menggunakan algoritma triangle chain cipher (TCC). Pendekatan eksperimental digunakan untuk
menguji algoritma Triangle Chain yang merupakan salah satu algoritma penyandian yang beroperasi
berdasarkan penyandian (kriptografi) klasik khususnya dalam teknik subtitusi terhadap karakter. Setiap
karakter akan disubtitusi berdasarkan kunci dan faktor pengali yang telah ditetapkan berdasarkan formula
yang berlaku dalam algoritma ini. Algoritma ini melakukan penyandian pada record sebanyak dua kali dan
selalu bergantung pada hasil proses sebelumnya. Hal inilah yang mendasari rumitnya pemecahan dari algoritma
penyandian berantai ini.
Kata kunci: Record, Table, Database, Enkripsi, Dekripsi, algoritma triangle chain cipher, Kunci
ABSTRACT
In generall, database record contains an array of operational data available to a company or organization, as a
source of any information system that is running. Generally, text data is stored in database which is still exactly
the same as the text displayed as the final information for the user. This can facilitate a cryptanalyst and others
who do not have access rights to be able to know the contents of the database directly. This study aims to
minimize the problem by performing record encryption using the triangle chain cipher algorithm (TCC).
Triangle chain algorithm is one of the encryption algorithms that operate based on encryption (cryptography),
especially in classic substitution of character technique. Each character will be substituted by a key and a
multiplier factor that has been determined based on a formula that applies in this algorithm. These algorithms
perform encryption on the record twice and always rely on the results of the previous process. This is what
underlies the complexity of solving this chain encryption algorithms.
Key Words : Record, Table, Database, Enkripsi, Dekripsi, Agoritma Traingle Chain Cipher, Key
PENDAHULUAN
Seiring dengan semakin meningkatnya
kejahatan komputer, keamanan data merupakan suatu
hal yang tak terpisah dalam pembangunan sistem
berbasis jaringan komputer. Salah satu metode dalam
keamanan data adalah kriptografi (Rifki Sadiki,
2012). Mengamankan data dengan teknik kriptografi
merupakan sebuah aktivitas menyembunyikan data
dengan mengubah data asli kedalam bentuk data yang
lain, dalam arti makna pesan tersebut diubah dari data
yang bermakna ke data yang tidak bermakna (Rinaldi
Munir, 2006).
Database secara umum kumpulan informasi
suatu organisasi atau perusahaan yang disimpan di
dalam komputer disebut basis data secara sistematik
yang saling berhubungan dan berkaitan subjek
tertentu untuk menampilkan informasi sesuai dengan
subjeknya masing-masing.
Kriptografi, secara umum adalah ilmu dan seni
untuk menjaga kerahasiaan berita (Bruce Schneier -
Applied Cryptography).
2. Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839
119
TUJUAN KRIPTOGRAFI
Tujuan dari kriptografi adalah untuk tidak
menyembunyikan keberadaan pesan , melainkan
untuk menyembunyikan maknanya.
Aspek keamanan yang diberikan kriptografi
selain menyandikan pesan juga menyediakan
beberapa aspek keamanan. Berikut aspek keamanan
kriptografi:
1. Kerahasiaan (confidentiality), adalah layanan
yang digunakan untuk menjaga isi pesan dari
siapapun yang tidak berhak membacanya.
Layanan ini direalisasikan dengan cara
menyandikan pesan menjadi bentuk yang tidak
dapat dimengerti. Misalnya pesan “Harap datang
pukul 8” disandikan menjadi
“TrxC#45motypetre!%”.
2. Integritas data (data integrity), adalah layanan
yang menjamin bahwa pesan masih asli / utuh
atau belum pernah dimanipulasi selama
pengiriman. Layanan ini direalisasikan dengan
menggunakan tanda-tanda digital (digital
signature). Pesan yang telah ditandatangani
menyiratkan bahwa pesan yang dikirim adalah
asli.
3. Otentifikasi (authenification), adalah layanan
yang berhubungan dengan identifikasi, baik
mengidentifikasi kebenaran pihak-pihak yang
berkomunikasi (user authentification atau entity
authentification) maupun mengidentifikasi
kebenaran sumber pesan (data origin
authentification). Layanan ini direalisasikan
dengan menggunakan digital signature.
4. Nirpenyangkalan (non-repudiation), adalah
layanan untuk mencegah entitas yang
berkomunikasi melakukan penyangkalan, yaitu
pengirim pesan menyangkal melakukan
pengiriman atau penerima pesan menyangkal
telah menerima pesan.
KOMPONEN KRIPTOGRAFI
Dalam melakukan pengamanan dengan ilmu
kriptografi adapun komponen pendukung system
kriptografi:
a. Pesan (message) adalah data atau informasi
yang dapat dibaca atau dimengerti maknanya.
Nama lainnya untuk pesan adalah plainteks
(plaintext) atau teks jelas (clear text).
b. Pengirim (sender) adalah entitas yang
melakukan pengiriman pesan kepada entitas
lainnya.
c. Kunci (cipher)/Secret Key adalah aturan atau
fungsi matematika yang digunakan untuk
melakukan proses enkripsi dan dekripsi pada
plaintext dan ciphertext.
d. Ciphertext adalah keluaran algoritma enkripsi.
Cipehertext dapat dianggap sebagai pesan dalam
bentuk tersembunyi. Algoritma enkripsi yang
baik akan menghasilkan ciphertext yang terlihat
teracak. Untuk selanjutnya digunakan istilah
teks sandi sebagai padana kata ciphertext.
e. Enkripsi adalah mekanisme yang dilakukan
untuk merubah plaintext menjadi ciphertext.
f. Dekripsi adalah mekanisme yang dilakukan
untuk merubah ciphertext menjadi plaintext.
g. Penerima (receiver) adalah entitas yang
menerima pesan dari pengirim/entitas yang
berhak atas pesan yang dikirim.
Baik proses enkripsi maupun proses dekripsi
melibatkan satu atau beberapa kunci kriptografi.
Dalam suatu sistem dimana terdapat algoritma
kriptografi, ditambah seluruh kemungkinan plaintext,
chipertext dan kunci-kuncinya disebut kriptosistem
(cryptosystem atau cryptographic system). Proses
tersebut dapat digambarkan secara sederhana sebagai
berikut:
Gambar 1. Skema Enkripsi dan Dekripsi Sederhana
ALGORITMA KRIPTOGRAFI
Algoritma dalam kriptografi merupakan
langkah-langkah logis bagaimana menyembunyikan
pesan dari orang lain yang tidak berhak atas pesan
tersebut.
1. Algoritma Enkripsi: Algoritma enkripsi
memiliki 2 masukan teks asli dan kunci rahasia.
Algoritma enkripsi melakukan transformasi
terhadap teks asli sehingga menghasilkan teks
sandi.
2. Algoritma Dekripsi: Algoritma dekripsi
memiliki 2 masukan yaitu teks sandi dan kunci
rahasia. Algoritma dekripsi memulihkan
kembali teks sandi menjadi teks asli bila kunci
rahasia yang dipakai algoritma dekripsi sama
dengan kunci rahasia yang dipakai algoritma
enkripsi.
3. Algoritma Kunci (Key): Didalam Kutipan Bahan
Perkuliahan Sistem Kriptografi Ir. Rinaldi
Munir, M.T., Kunci adalah yang dipakai untuk
melakukan enkripsi dan dekripsi. Kunci terbagi
dua bagian yaitu kunci rahasia (private key) dan
kunci umum (public key).
3. Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839
120
KEKUATAN ALGORITMA
KRIPTOGRAFI
Dari ketiga algoritma diatas Algoritma
kriptografi harus memiliki kekuatan untuk
melakukan:
1. Konfusi/pembinggungan (confusion), dari teks
terang sehingga sulit untuk direkrontruksikan
secara langsung tanpa menggunakan algoritma
dekripsinya.
2. Difusi/peleburan (diffusion), dari teks terang
sehingga karakteristik dari teks terang tersebut
hilang sehingga dapat digunakan untuk
mengamankan informasi.
JENIS KUNCI (KEY) PADA
KRIPTOGRAFI
Berdasarkan kunci yang digunakan dalam
proses kriptografi, maka algoritma kunci kriptografi
dibagi menjadi (Dony Arius, 2008) :
1. Algoritma Simetri
Algoritma ini sering disebut dengan algoritma
klasik karena memakai kunci yang sama untuk
kegiatan enkripsi dan dekripsi. Bila mengirim
pesan dengan menggunakan algoritma simetri,
penerima pesan harus mengetahui kunci yang
digunakan agar bisa si penerima mampu
mendekripsikan pesan yang dikirim. Keamanan
dari pesan yang menggunakan algoritma ini
tergantung pada kunci. Algoritma yang
menggunakan kunci simetris misalnya DES,
Kode Rivest’s IDEA, AES, OTP, A5 dan lain-
lain.
2. Algoritma Asimetri
Algorima asimetri sering juga disebut dengan
algoritma kunci publik, dengan arti kata kunci
yang digunakan untuk melakukan enkripsi dan
dekripsi berbeda. Pada algoritma asimetri kunci
terbagi menjadi dua bagian yaitu kunci umum
(public key) yang bias diketahui oleh umum dan
kunci rahasia (private key) yaitu kunci yang
dirahasiakan dan hanya boleh diketahui oleh
satu orang saja.
3. Fungsi Hash
Fungsi hash sering disebut dengan fungsi has
satu arah (one way function), message digest,
fingerprint, fungsi kompersi dan Message
Authentication Code (MAC) yang merupakan
suatu fungsi matematika yang mengambil
masukan panjang variabel dan mengubahnya ke
dalam urutan biner dengan panjang yang tetap.
ALGORITMA TRIANGLE CHAIN
CIPHER (TCC)
Algoritma kriptografi triangle cahin cipher
juga dapat disebut dengan algoritma rantai segitiga,
algoritma rantai segitiga merupakan algoritma yang
dibuat guna memperbaiki algoritma kriptografi klasik
khususnya algoritma substitusi abjad tunggal yang
sangat mudah diserang dengan teknik analisis
frekuensi. Algoritma rantai segitiga ini memiliki
aturan substitusi berdasar pada caesar cipher yaitu
dengan pergeseran huruf-huruf. Kekuatan cipher ini
terletak pada kunci yaitu nilai integer yang
menunjukkan pergeseran karakter-karakter sesuai
dengan operasi pada caesar cipher. Kekuatan kedua
terletak pada barisan bilangan-bilangan yang
berfungsi sebagai pengali dengan kunci. Barisan
bilangan tersebut dapat berupa bilangan tertentu
seperti deret bilangan ganjil, deret bilangan genap,
deret fibonaci, deret bilangan prima, serta deret
bilangan yang dapat dibuat sendiri. Algoritma rantai
segitiga memiliki aturan yang sama dengan Caesar
Cipher yaitu dengan pergeseran huruf-huruf.
1. Algoritma Enkripsi TCC
Adapun algoritma enkripsi yang ada pada
metode ini dengan menggunakan rumus sebagai
berikut:
1. Matriks Enkripsi Segitiga Pertama
Untuk Baris Ke-1:
M [1 j] = P[ j ] + (K * R[ 1 ]) Mod 26
Untuk baris ke-2 dan seterusnya untuk nilai j
≥ i :
M [i j] = M [i-1] j + (K * R[ i ]) Mod 26
Sehingga nilai ciphertext yang diperoleh:
M [i j] pada nilai j = (N+i) – N
2. Matriks Enkripsi Segitiga Kedua
Nilai P diperoleh dari nilai Mi j pada i = j
Untuk Baris Ke-1
M [1j] = P[ j ] + (K * R[ 1 ]) Mod 26
Untuk baris ke-2 dan seterusnya untuk nilai j
≤ (N+1)- i :
M [i j] = M [i-1] j + (K * R[ i ]) Mod 26
Sehingga nilai ciphertext yang diperoleh:
M [i j] pada nilai j = (N+1) – i
Keterangan:
P = Plaintext
N = Jumlah karakter plaintext
M = Matriks penampung hasil penyandian
K = Kunci
R = Row (baris perkalian faktor pengali dengan
kunci)
i = indeks faktor pengali
j = index karakter plaintext
2. Algoritma Dekripsi TCC
Sedangkan untuk algoritma dekripsi Triangle
Chain Cipher merupakan kebalikan dari algoritma
enkripsi, rumusnya sebagai berikut:
1. Matriks dekripsi segitiga pertama
Untuk baris ke-1:
4. Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839
121
M1j = C [ j ] – (K * (R[1])) Mod 26
Untuk baris ke-2:
j ≤ (N+1) – i
M[ij] = M[i-1]j – (K * (R[i])) Mod 26
Sehingga nilai plaintext hasil proses segitiga
pertama diambil nilai setiap barisnya dengan
ketentuan:
M [ij] pada nilai i=n dan j ≤ (N+1) – i
2. Matriks dekripsi segitiga kedua
Untuk baris ke-1:
M1j = C [ j ] – (K* (R[1])) Mod 26
Untuk baris ke-2:
j ≥ i
M[ij] = C[i-1]j – (K * (R[i])) Mod 26
sehingga nilai plaintext untuk cipertext yang
asli adalah:
M[ij] pada nilai j = (N+i)-N
Keterangan:
P = Plaintext
N = Jumlah karakter plaintext
M = Matriks penampung hasil cipher yang dijadikan
sebagai plaintext
K = Kunci
R = Row (baris perkalian faktor pengali dengan
kunci)
i = indeks faktor pengali
j = index karakter plaintext
METODOLOGI
Elemen yang paling dasar dari sebuah
database diawali oleh beberapa karakter yang
membentuk baris (record), kemudian record ini akan
diletakkan ke dalam kolom (field) sebagai
penampung record. Pertemuan antara baris dengan
kolom disebut item data (data value), tabel-tabel yang
ada dan dapat dihubungakan (relationship)
sedemikian rupa dengan menggunakan field-field
kunci (key field), struktur inilah yang akan
membentuk sebuah database.
Gambar 2. Komponen Pembentuk Database
Pembahasan yang dibahas didalam
penelitian ini adalah proses penyandian record tabel
database. Proses enkripsi record tabel database
didalam penelititan ini disebut penyandian record
table database. Proses penyandian record tabel
database dapat dilihat pada model gambar 3 yang
terdiri dari input, proses dan output:
Gambar 3. Data Masukan, Proses Dan Keluaran Pada
Proses Penyandian (Enkripsi) Record Tabel Database
Dari gambar 3 dapat kita pahami yang menjadi
plainteks dalam proses penyandi (enkripsi) record
tabel database adalah seluruh record tabel yang
belum tersandikan dan untuk proses dekripsi record
tabel database yang menjadi cipherteks adalah
seluruh record tabel yang telah tersandikan, seperti
pada model gambar 4.
Gambar 4. Data Masukan, Proses Dan Keluaran
Pada Proses Dekripsi Record Tabel Database
SKEMA PROSES PENYANDIAN
(ENKRIPSI) ALGORITMA TCC
Proses penyandian (enkripsi) dengan algoritma
TCC, ada 2 proses penyandian (enkripsi) yang
pertama disebut enkripsi segitiga pertama dan kedua
disebut enkripsi segitiga kedua. Untuk lebih jelas
dapat dilihat pada model gambar 4.
Dari gambar 5. dapat kita pahami proses dari
pada penyandian (enkripsi) algoritma TCC dilakukan
sebanyak 2 kali, dimana proses enkripsi pertama
(enkripsi segitiga pertama) yang menjadi plainteks
adalah data asli dan diproses menghasilkan cipherteks
yang nantinya dijadikan sebagai plainteks untuk
proses enkripsi kedua (enkripsi segitiga kedua) maka
cipherteks pada enkripsi kedua yang menjadi akhir
dari proses enkripsi algoritma TCC.
5. Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839
122
Gambar 5. Skema Model Proses Penyandian (Enkripsi)
Algoritma TCC
Skema Proses Dekripsi Algoritma TCC
Proses dekripsi algoritma TCC kebalikan
daripada proses enkripsi algoritma TCC, proses
dekripsi algoritma TCC ada 2 proses yaitu: dekripsi
segitiga pertama dan dekripsi segitiga kedua.
Dekripsi pertama yang menjadi cipherteks adalah
data yang telah tersandikan diproses menghasilkan
plainteks yang nantinya dijadikan cipherteks untuk
proses dekripsi kedua dan hasil proses dekripsi kedua
(palinteks) adalah merupakan data asli yang tidak
tersandikan. Untuk model dekripsi algoritma TCC
dapat dilihat pada gambar 6.
Gambar 6. Skema model proses dekripsi algoritma
TCC
1. Penerapan Kunci
Penerapan kunci dalam penelitian ini
menggunakan algoritma kunci simetri yaitu kunci
yang digunakan pada proses enkripsi sama dengan
kunci pada proses dekripsi. Untuk penerapan nya
kunci yang digunakan angka tunggal dengan deretan
bilangan adalah 1 sampai dengan 20.
2. Pendistribusian Kunci Simetri
Untuk pendistribusian kunci terhadap proses
dekripsi dilakukan dengan memberitahu kepada
orang yang akan melakukan pendekripsian record
tabel database.
3. Kunci Algoritma Triangle Chain Cipher
Dalam melakukan proses enkripsi dan dekripsi
algoritma triangle chain cipher data kunci yang
digunakan terdiri dari deretan angka. Penerapan
algoritma triangle chain cipher (rantai segitiga
cipher) mengadopsi teknik penyandian Caesar,
dimana dapat melakukan subtitusi setiap karakter
yang akan disandikan secara berantai berdasarkan
kunci dan faktor-faktor pengali yang terbentuk.
Nilai kunci yang digunakan dalam proses
penyandian plaintext yang ada pada record database
dikalikan dengan faktor pengali yang terbentuk,
dalam hal ini faktor pengali tersebut merupakan tabel
bilangan dengan jumlah sepanjang plaintext yang
akan disandikan.
Contoh: Plaintext = RIVA dari plaintext ini faktor
pengali berjumlah = 4 fp[1], fp[2], fp[3], fp[4].
Dari nilai fp (faktor pengali) diatas akan
menghasilkan nilai kunci dengan rumus sebagai
berikut: Kunci = K * fp
Keterangan lebih lanjut dapat dilihat dalam
tabel berikut dengan model matriks Mij dimana M =
Matriks, i = baris, dan j = kolom
Tabel 1. Faktor Pengali Terhadap Kunci
P(R) P(I) P(V) P(A) Plaintext, i = 0
C11(R) C12(I) C13(V) C14 (A) i = 1 fp[1]
C22(I) C23(V) C24(A) i = 2 fp[2]
C33 (V) C34(A) i = 3 fp[3]
C44(A) i = 4 fp[4]
Ket: P = Plaintext, C = Ciphertext
4. Tabel ASCII Mod 255
Sesuai dengan tabel ASCII mod 255 yang
ada pada lampiran, karakter yang akan di enkripsi
atau dekripsi terlebih dahulu dirubah ke bentuk
desimal.
Contoh: Plaintext = R I V A Nilai Desimal pada
ASCII = 82, 73, 86, 65.
HASIL DAN PEMBAHASAN
Contoh Kasus Penerapan Algoritma Triangle
Chain Cipher (TCC):
1. Proses Penyandian (Enkripsi) Algoritma
Triangle Chain Cipher (TCC)
a. Matriks enkripsi segitiga pertama
Plaintext = RIVALRY
Kunci yang digunakan = 4 (Bilangan Asli
Integer)
Sesuai dengan panjang plaintext N = 7
Faktor Pengali (fp = R) berdasarkan nilai
N = (deret bilangan asli) (1, 2, 3, 4, 5, 6, 7).
Sebelum plaintext dienkripsi, setiap karakter
terlebih dahulu dirubah ke nilai desimal sesuai
dengan nilai ASCII denga nilai mod 255:
6. Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839
123
KARAKTER R I V A L R Y
NILAI DESIMAL 82 73 86 65 76 82 89
Langkah selanjutnya adalah melakukan proses
enkripsi segitiga pertama sesuai dengan rumus:
P = RIVALRY
K = 4
N = 7
R = 1, 2, 3, 4, 5, 6, 7.
Rumus untuk baris pertama (i = 1):
M [1 j] = P[ j ] + (K * R[ 1 ]) Mod 256
Maka Penyelesain enkripsi baris pertama:
M11 = (P[1] + (4 * R[1])) Mod 256
= (R + (4 * (1))) Mod 256
= (82 + 4) Mod 256
= 86 (huruf V dalam
karakter ASCII)
M12 = (P[2] + (4 * R[1])) Mod 256
= (I + (4 * (1))) Mod 256
= (73 + 4) Mod 256
= 77 (huruf M dalam
karakter ASCII)
M13 = (P[3] + (4 * R[1])) Mod 256
= (V + (4 * (1))) Mod 256
= (86 + 4) Mod 256
= 90 (huruf Z dalam
karakter ASCII)
M14 = (P[4] + (4* R[1])) Mod 256
= (A + (4 * (1))) Mod 256
= (65 + 4) Mod 256
= 69 (huruf E dalam
karakter ASCII)
M16 = (P[5] + (4 * R[1])) Mod 256
= (L + (4 * (1))) Mod 256
= (76 + 4) Mod 256
= 80 (huruf P dalam
karakter ASCII)
M16 = (P[6] + (4 * R[1])) Mod 256
= (R + (4 * (1))) Mod 256
= (82 + 4) Mod 256
= 86 (huruf V dalam
karakter ASCII)
M17 = (P[7] + (4 * R[1])) Mod 256
= (Y + (4 * (1))) Mod 256
= (89 + 4) Mod 256
= 93 (huruf ] dalam
karakter ASCII)
Hasil dari enkripsi baris pertama (i = 1) (tanpa tanda “
” ) adalah “ VMZEPV] ”
RIVALRY ( nilai desimal ASCII : 82 73 86 65 76
82 89 ) i = 0
VMZEPV] ( nilai desimal ASCII : 86 77 90 69 80
86 93) i = 1
hasil enkripsi baris pertama akan digunakan sebagai
plaintext untuk baris kedua (i = 2), di mana nilai j ≥ i,
sehingga:
enkripsi i = 2, j = 2
Rumus untuk baris ke-2 (i = 2) dan seterusnya (i = n):
M[i j] = M[i-1] j + (K * R[ i ]) Mod 256
Penyelesain:
M22 = (P[2-1]2 + (4 * R[2])) Mod
256
= (M + (4 * (2))) Mod 256
= (77 + 8) Mod 256
= 85 (huruf U dalam
karakter ASCII)
M23 = (P[2-1]3 + (4 * R[2])) Mod
256
= (Z + (4 * (2))) Mod 256
= (90+ 8) Mod 256
= 98 (huruf b dalam
karakter ASCII)
M24 = (P[2-1]4 + (4 * R[2])) Mod
256
= (E + (4 * (2))) Mod 256
= (69 + 8) Mod 256
= 77 (huruf M dalam
karakter ASCII)
M25 = (P[2-1]5 + (4 * R[2])) Mod
256
= (P + (4 * (2))) Mod 256
= (80 + 8) Mod 256
= 88 (huruf X dalam
karakter ASCII)
M26 = (P[2-1]6 + (4 * R[2])) Mod
256
= (V + (4 * (2))) Mod 256
= (86 + 8) Mod 256
= 94 (huruf ^ dalam
karakter ASCII)
M27 = (P[2-1]7 + (4 * R[2])) Mod
256
= ( ] + (4 * (2))) Mod 256
= (93 + 8) Mod 256
= 101 (huruf e dalam
karakter ASCII)
Hasil enkripsi baris ke-2 (i = 2) (tanpa tanda “ ” )
adalah “ UbMX^e ” dengan nilai desimal 85 98 77
88 94 101.
Hasil enkripsi keseluruhan sampai baris ke-2 ini,
dapat dilihat di bawah ini:
RIVALRY 82 73 86 65 76 82 89 i = 0
VMZEPV] 86 77 90 69 80 86 93 i = 1
UbMX^e 85 98 77 88 94 101 i = 2
Untuk baris selanjutnya prosesnya sama dengan pada
baris kedua, sampai terbentuk hasil seperti pada tabel
berikut:
Tabel 2. Proses Enkripsi
maka dari tabel di atas hasil proses enkripsi pertama
(tanpa tanda “ ” ) adalah “ VUniˆ¦É ” dengan nilai
desimal 86 85 110 105 136 166 201.
b. Matriks enkripsi segitiga kedua
Plaintext:
V U n i ˆ ¦ É
86 85 110 105 136 166 201
Maka penyelesain untuk baris pertama (i = 1):
M11 = (P[1] + (4 * R[1])) Mod 256
= (V + (4 * (1))) Mod 256
= (86 + 4) Mod 256
= 90 (huruf Z dalam
karakter ASCII)
M12 = (P[2] + (4 * R[1])) Mod 256
= (U + (4 * (1))) Mod 256
= (85 + 4) Mod 256
= 89 (huruf Y dalam
karakter ASCII)
M13 = (P[3] + (4 * R[1])) Mod 256
= (n + (4 * (1))) Mod 256
= (110 + 4) Mod 256
= 114 (huruf r dalam
karakter ASCII)
M14 = (P[4] + (4* R[1])) Mod 256
= (i + (4 * (1))) Mod 256
= (105 + 4) Mod 256
= 109 (huruf m dalam
karakter ASCII)
M16 = (P[5] + (4 * R[1])) Mod 256
= ( ˆ + (4 * (1))) Mod 256
= (136 + 4) Mod 256
= 140 (huruf Œ dalam
karakter ASCII)
M16 = (P[6] + (4 * R[1])) Mod 256
= ( ¦ + (4 * (1))) Mod 256
= (166 + 4) Mod 256
= 170 (huruf ª dalam
karakter ASCII)
M17 = (P[7] + (4 * R[1])) Mod 256
= ( É + (4 * (1))) Mod
256
= (201 + 4) Mod 256
= 205 (huruf Í dalam
karakter ASCII)
Hasil enkripsi baris ke-1 (i = 1) (tanpa tanda “ ” )
adalah “ ZYrmŒªÍ ” dengan nilai desimal 90 89 114
109 140 170 205.
Hasil enkripsi keseluruhan sampai baris ke-1 ini,
dapat dilihat di bawah ini:
VUniˆ¦É 86 85 110 105 136 166 201 i = 0
ZYrmŒªÍ 90 89 114 109 140 170 205 i = 1
Hasil enkripsi baris pertama (i = 1) akan digunakan
sebagai plaintext pada proses enkripsi baris ke-2,
dimana nilai j ≤ (N+1) – i, maka berdasarkan
ketentuan tersebut kegiatan enkripsi dilakukan:
9. Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839
126
Berdasarkan gambar 7 record yang akan disandikan
dengan nilai input kunci adalah angka 5 hasil proses
penyandian seperti pada gambar 5.24
Gambar 8. Data Akhir Per Record (Baris) Tabel
Setelah Disandikan
Berdasarkan gambar 8 proses penyandian per baris
membutuhkan waktu yang singkat dan cepat.
2. Aspek penyandian berdasarkan field (kolom)
tabel
Aspek penyandian berdasarkan per field (kolom) awal
datanya adalah karakter string dengan panjang seperti
pada gambar 9.
Gambar 9. Data Awal Per Field (Kolom) Tabel
Sebelum Disandikan
Berdasarkan gambar 9 field yang akan disandikan
dengan nilai input kunci adalah angka 5 hasil proses
penyandian seperti pada gambar 10.
Gambar 10. Data Akhir Per Field (Kolom) Tabel
Setelah Disandikan
Berdasarkan gambar 10 proses penyandian per kolom
membutuhkan waktu yang lama jika dibandingkan
dengan penyandian berdasrkan per record.
3. Aspek penyandian seluruh record tabel
Aspek penyandian seluruh record pada tabel awal
datanya adalah karakter string dengan panjang seperti
pada gambar 11.
Gambar 11. Data Awal Seluruh Record Tabel
Sebelum Disandikan
Berdasarkan gambar 11 seluruh record yang akan
disandikan dengan nilai input kunci adalah angka 5
hasil proses penyandian seperti pada gambar 12.
Gambar 12. Data Akhir Seluruh Record Tabel
Setelah Disandikan
10. Jurnal Teknologi Informasi dan Komputer Vol. 3 No. 2, Desember 2014
ISSN : 2338-5839
127
Hasil proses enkripsi record tabel database,
pada proses penyandian seluruh record tabel
membutuhkan waktu lama dibandingkan dengan
proses penyandian perbaris dan perkolom. Maka bisa
diambil kesimpulan dari hasil pengujian semakin
banyak record yang akan disandikan semakin lama
waktu proses penyandiannya.
KESIMPULAN
Setelah melakukan analisa terhadap
penerapan algoritma triangle chain cipher pada
penyandian record database, maka penulis menarik
kesimpulan; Algoritma triangle chain melakukan
proses penyandian pada setiap record dari tabel
database yang terpilih sebanyak dua kali (secara
ganda). Penerapan penyandian record tabel database
dengan menggunakan algoritma triangle chain cipher
diawali dengan penentuan nama database dan
pemilihan tabel yang telah memiliki record yang
akan disandikan. Masing-masing record pada tabel
yang dipilij akan disandikan berdasarkan algoritma
triangle chain cipher yang telah tersedia didalam
aplikasi yang telah dibuat. Masing-masing record
tersebut akan di update dan menggantikan record
tabel yang lama dengan melakukan eksekusi perintah
MySQL. Kontrol yang dapat mengakses database
merupakan salah satu control yang sangat penting
dalam proses penyandian record table database.
menampilkan nama-nama tabel, nama-nama field dan
urutan record dari database yang diakses, pengaturan
kunci akan sangat pentinga dengan tujuan
memberikan kebebasan kepada pengguna memilih
tabel, filed, record yang akan disandikan dan kunci
yang akan digunakan dalam proses penyandian.
Untuk Nilai kunci di dalam penelitian ini
menggunakan algoritma kunci simetri, dengan jenis
nilai bilangan kunci yang di terapkan terdiri dari
urutan nilai bilangan angka 1 sampai dengan 20.
Untuk serangan dengan algoritma mampu menjamin
Ciphertext-only attack dengan teknik Analisis
frekuensi tidak lagi dapat digunakan. Cipherteks hasil
enkripsi sudah tidak memiliki frekuensi yang
bersesuaian dengan plainteks. Sehingga teknik
analisis frekuensi tidak cocok lagi digunakan untuk
menyerang algoritma ini. Menjamin Known-
plainteks attack sulit untuk dilakukan.
DAFTAR PUSTAKA
[1] Rinaldi Munir (2006). “Kriptografi.” Edisi I.
Bandung: Penerbit Informatika. 1-199.
[2] Rifki Sadiki (2012). "Kriptografi Untuk
Keamanan Jaringan." Edisi.I. Yogyakarta:
Andi. Hlm. 392
[3] Dony Ariyus (2008). “Pengantar Ilmu
Kriptografi Teori, Analisis, dan
Implementasi.” Edisi I. Yogyakarta: Andi.
Hlm. 43-45.
[4] Rosa A.S – M. Shalahuddin (2011). “Modul
Pembelajaran Rekayasa Perangkat Lunak
Terstruktur dan Berorientasi Objek.” Edisi 7.
Bandung: Modula. Hlm.16-21.
[5] Zebua, Taronisokhi (2013). “Analisa dan
Implementasi Algoritma Triangle Chain
Pada Penyandian Record Database”. Jurnal
Pelita Informatika. ISSN:2301-9425. Vol-III.
No.2 Hlm. 37- 49.
[6] Singh Bhalla, Jasdeep (2013). “A Database
Encryption Technique to Enhance Security
Using Hill Cipher Algorithm”. IJEAT. ISSN:
2249-8958.Vol-II. Hal. 660-664.
[7] Alhanjouri, Mohammed and Al Derawi, Ayman
M (2012). “A New Method Of Query Over
Encrypted Data in Database Using Hash
Map”. IJCA. ISSN:0975-8887. Vol-41.No.4.
Hal. 46-51.
[8] Firda Fauzan, Mohamad. “Studi dan Implementasi
Cipher Subtitusi Rantai Segitiga”.
http://www.informatika.stei.itb.ac.id/~rinaldi
.munir/Kriptografi/2006-
2007/Makalah1/Makalah1-088.pdf. Diakses
12 Februari, 2014.