ANALISIS HYBRID CRYPTOSYSTEM ALGORITMA ELGAMAL DAN ALGORITMA TRIPLE DES

ANALISIS HYBRID CRYPTOSYSTEM ALGORITMA ELGAMAL DAN
ALGORITMA TRIPLE DES
Achmad Fauzi1), Yani Maulita2)
STMIK Kaputama Binjai
Jl. Veteran No. 4A-9A, Binjai, Medan, Sumatera Utara
Email: fauzyrivai88@gmail.com 1 ), yassa_26@ymail.com 2)

menjadi kriptografi kunci simetris (symmetric-key
cryptography) dan kriptografi
kunci asimetris
(asymmetric-key
cryptography).(Munir,
2006)
Masing-masing
memiliki
kelebihan
dan
kekurangannya.
Kriptografi simetris memiliki
kelebihan waktu proses untuk enkripsi dan dekripsi
relatif cepat, hal ini disebabkan karena efisiensi yang

terjadi pada pembangkit kunci namun distribusi kunci
tidak aman. Sementara kriptografi asimetris justru
sebaliknya, masalah keamanan pada distribusi kunci
dapat diatasi namun kecepatan proses enkripsi dan
dekripsi tergolong lambat. Maka ada upaya untuk
menggabungkan kedua jenis kriptografi tersebut
sehingga dihasilkan tingkat keamanan yang tinggi
namun cepat dalam proses enkripsi dan dekripsi yang
dikenal dengan metode hybrid cryptosystem.
Algoritma El-gamal juga termasuk algoritma
yang populer. Algoritma ini melakukan pemfaktoran
bilangan yang sangat besar. Oleh karena alasan
tersebut Elgamal dianggap aman, karena mempunyai
kelebihan di proses peritungan dalam pembentukan
kunci dengan menggunakan pengacakan bilangan
prima, namun kelemahannya diantarannya adalah
mempunyai kapasitas yang agak besar setelah di
dekripsi.
Algoritma Triple DES berasal dari algoritma
DES, karena itu kelemahan yang terdapat pada

algoritma DES dapat ditemukan juga pada algoritma
Triple DES meskipun ada sebagian kelemahan pada
DES yang sudah diatasi di dalam Triple DES. Triple
DES menggunakan kunci berukuran tiga kali lipat
dari kunci DES yang berukuran 56 bits, karena itu
untuk mencari kunci tersebut pada Triple DES
diperlukan waktu yang lebih lama daripada DES.
Kunci pada Triple DES dapat dipecahkan dengan
menggunakan Differential Attack. Prinsip daripada
serangan tersebut adalah dengan membandingkan
pasangan plaintext dan pasangan ciphertext untuk
menemukan kunci yang digunakan.
Hybrid cryptosystem merupakan gabungan
antara cryptosystem yang memakai asymmetric
cryptosystem dan cryptosystem yang memakai
asymmetric cryptosystem. (Schneier, 1996). Dalam

Abstrak
Algoritma Elgamal dan Triple DES (Triple data
Encryption Standard) adalah algoritma simetrik dan

asimetris yang digunakan dalam kriptografi untuk
mengamankan data dengan enkripsi data. Dua di
antara algoritma tersebut adalah Algoritma El-gamal
dan Algoritma Triple DES. Algoritma El-gamal dan
Algoritma Triple DES merupakan varian dari algoritma
block cipher. Algoritma Triple DES berasal dari
algoritma DES, karena itu kelemahan yang terdapat
pada algoritma DES dapat ditemukan juga pada
algoritma Triple DES meskipun ada sebagian
kelemahan pada DES yang sudah diatasi di dalam
Triple DES. Triple DES menggunakan kunci berukuran
tiga kali lipat dari kunci DES yang berukuran 56 bits,
karena itu untuk mencari kunci tersebut pada Triple
DES diperlukan waktu yang lebih lama daripada DES.
Kunci pada Triple DES dapat dipecahkan dengan
menggunakan Differential Attack. Prinsip daripada
serangan tersebut adalah dengan membandingkan
pasangan plaintext dan pasangan ciphertext untuk
menemukan kunci yang digunakan Untuk menentukan
keamanan ke dua algoritma tersebut, dibutuhkan

analisis keamanan antar kedua algoritma. Dalam
tulisan ini, penulis akan mencoba melakukan studi
analisis Penggabungan antar kedua algoritma. Analisis
akan dilakukan dari proses Keamanannya pada setiap
algoritma
Kata kunci: Elgamal, Triple DES, Kriptografi, Enkripsi,
Dekripsi, Key.
1.

Pendahuluan
Dalam kriptografi terdapat beberapa algoritma
yang dapat menyandikan data, tetapi masih jarang
orang yang mengerti bagaimana mengunci ataupun
mengamankan sebuah file sehingga tidak dapat
diakses oleh orang lain data asli yang akan dikirimkan
dan dalam kriptografi sebagai plaintext, dan data yang
telah disandikan disebut sebagai ciphertext. (Munir,
2006). Berdasarkan kunci yang digunakan untuk
enkripsi dan dekripsi, kriptografi dapat dibedakan
1


penggunaan algoritma hybrid, teknik enkripsi yang
digunakan adalah enkripsi simetri dimana kunci
dekripsi sama dengan kunci enkripsi. Untuk public
key cryptography, diperlukan teknik enkripsi simetris
dimana kunci dekripsi tidak sama dengan kunci
enkripsi.
2.

kriptografi ditambah semua kemungkinan plaintext,
ciphertext dan kunci.
2.1 Hibrid Cryptosystem
Hybrid cryptosystem merupakan gabungan
antara cryptosystem yang memakai asymmetric
cryptosystem dan cryptosystem yang memakai
symmetric cryptosystem. (Schneier, 1996)
Cryptosystem
adalah
suatu
fasilitas

untuk
mengkonversikan plaintext ke ciphertext dan sebaliknya,
cryptosystem terdiri dari suatu algoritma seluruh
kemungkinan plaintext, ciphertext, dan kunci.
Algoritma hibrid adalah algoritma yang memanfaatkan
dua tingkatan kunci yaitu kunci rahasia (simetris) – yang
disebut juga session key (kunci sesi) – untuk enkripsi
data dan pasangan kunci rahasia – kunci public untuk
pemberian tanda tangan digital serta melidungi kunci
simetriss. (Ariyus, 2008)
Kriptografi hibrid sering dipakai karena memanfaatkan
keunggulan kecepatan pemrosesan data oleh algoritma
simetris dan kemudahan transfer kunci menggunakan
algoritma asimetris. Hal ini mengakibatkan peningkatan
kecepatan tanpa mengurangi kenyamanan serta
keamanan.

Definisi Kriptografi
Secara etimologi (ilmu asal usul kata), kata
kriptografi berasal dari gabungan dua kata dalam

bahasa Yunani yaitu “kriptos” dan “graphia”. Kata
kriptos digunakan untuk mendeskripsikan sesuatu
yang disembunyikan, rahasia atau misterius.
Sedangkan kata graphia berarti tulisan. Dalam
menjaga
kerahasiaan
data,
kriptografi
mentransformasikan data jelas (plaintext) ke dalam
bentuk data sandi (ciphertext) yang tidak dapat
dikenali. Ciphertext inilah yang kemudian dikirimkan
oleh pengirim (sender) kepada penerima (receiver).
Setelah sampai di penerima, ciphertext tersebut
ditranformasikan kembali ke dalam bentuk plaintext
agar dapat dikenali.
Dalam arti lain, cryptography adalah seni
dan ilmu dalam mengamankan pesan. Dalam dunia
kriptografi, pesan disebut plaintext atau cleartext.
Proses untuk menyamarkan pesan dengan cara
sedemikian rupa untuk menyembunyikan isi aslinya

disebut enkripsi. Pesan yang telah dienkripsi disebut
ciphertext. Proses pengembalian sebuah ciphertext ke
plaintext
disebut
dekripsi.

2.2

El Gamal

Algoritma ElGamal ditemukan pada tahun 1985 oleh
ilmuwan Mesir yaitu Taher ElGamal. Algoritma
ElGamal merupakan algoritma berdasarkan konsep
kunci publik. Algoritma ini pada umumnya digunakan
untuk digital signature, namun kemudian dimodifikasi
sehingga bisa digunakan untuk enkripsi dan dekripsi.
Algoritma kriptografi kunci publik ElGamal merupakan
algoritma blok chipper yaitu algoritma yang melakukan
proses enkripsi pada blok-blok plainteks yang kemudian
menghasilkan blok-blok chipertext, yang nantinya blokblok chipertext tersebut akan didekripsi kembali dan

hasilnya kemudian digabungkan menjadi plainteks
semula.

Gambar 2.1 Konsep Proses Enkripsi dan Dekripsi
Sumber : Kriptografi, Dony Ariyus, Andi Publisher
Cryptographer adalah orang yang mempraktekkan ilmu
kriptografi, sedangkan cryptoanalysts adalah orang yang
mempraktekkan kriptanalisis, seni dan ilmu dalam
memecahkan ciphertext.
Aturan fundamental kriptografi yaitu seseorang harus
mengasumsikan bahwa seorang kriptoanalis menguasai
algoritma umum enkripsi yang digunakan. Dengan kata
lain, kriptanalis mengetahui cara kerja algoritma
enkripsi. Jumlah usaha yang diperlukan untuk
menemukan, menguji, dan memasang algoritma baru
yang selalu berkompromi atau berfikir untuk
berkompromi
dengan
algoritma
lama,

akan
menyebabkan algoritma baru itu menjadi tidak berguna
untuk menjaga kerahasiaan. Sistem kriptografi atau
Algoritma Kriptografi adalah sebuah algoritma

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.
Algoritma ini memiliki kelebihan yaitu 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. Kekurangan algoritma ini adalah
membutuhkan resource yang besar karena chipertext
yang dihasilkan dua kali panjang plaintext serta
membutuhkan processor yang mampu untuk melakukan
komputasi yang besar untuk perhitungan logaritma
perpangkatan besar. (Madhur, Yadav, dan Vijay, 2012)


2

b) Memilih bilangan acak k, yang dalam hal ini 0 <
k < p-1, sedemikian hingga k relative prima
dengan p-1.
c) Hitung nilai a dan b dengan persamaan berikut :
a = gk
(mod p) …..………(4)
b = yk
m (mod p) ...……..(5)
d) Diperoleh cipherteks untuk karakter m tersebut
dalam blok (a,b)
e) Melakukan proses di atas untuk seluruh karakter
dalam pesan termasuk karakter spasi.

Dari beberapa banyak algoritma kriptografi kuncipublik yang pernah dibuat, algoritma El-gamal juga
termasuk algoritma yang populer. Algoritma ini
melakukan pemfaktoran bilangan yang sangat besar.
Oleh karena alasan tersebut El-gamal dianggap aman.
Untuk membangkitkan dua kunci, dipilih dua bilangan
prima acak yang besar. (Ariyus, 2008).

Dekripsi dari cipherteks ke plainteks menggunakan
kunci rahasia a yang disimpan kerahasiaanya oleh
penerima pesan. Teorema :
Diberikan (p,g, y) sebagai kunci public dan x sebagai
kunci rahasia pada algoritma ElGamal. Jika diberikan
cipherteks (a, b), maka
m = b/a x mod p .......... (4)
dengan M adalah plainteks.
Di mana nilai
(ax)-1= r –a = rp -1-a mod p. … (5)
a. Ambil sebuah blok cipherteks dari pesan yang
telah dienkripsikan pengirim.
b. Dengan menggunakan a yang dirahasiakan
oleh penerima, hitung nilai plainteks dengan
menggunakan “persamaan (4)” dan “persamaan (5)”.

Enkripsi ElGamal merupakan salah satu skema
enkripsi yang memanfaatkan pengacakan dalam proses
enkripsi. Lainnya termasuk enkripsi McEliece (x 8.5),
dan Goldwasser-Micali (x 8.7.1), dan Blum-Goldwasser
(x8.7.2) enkripsi probabilistik. Skema enkripsi
deterministik seperti RSA juga dapat menggunakan
pengacakan untuk menghindari beberapa serangan
(misalnya, lihat x8.2.2 (ii) dan x8.2.2 (iii)). Ide dasar di
balik enkripsi acak adalah dengan menggunakan
pengacakan untuk keamanan kriptografi dari proses
enkripsi melalui satu atau lebih metode berikut Meningkatkan ukuran efektif dari ruang pesan plaintext.
Proses enkripsi menggunakan kunci publik (p,g,y) dan
sebuah bilangan integer acak k (k ∈{0,1,..., p − 1})
yang dijaga kerahasiaannya oleh penerima pesan. Untuk
setiap karakter dalam pesan dienkripsi dengan
menggunakan bilangan k yang berbeda-beda. Satu
karakter yang direpresentasikan dengan menggunakan
bilangan bulat ASCII akan menghasilkan kode dalam
bentuk blok yang terdiri atas dua nilai (a, b). (Rashmi
Singh, Shiv Kumar, 2012)

Key

Pseudo Random sequence

Plaintext Bitstream

Plaintext stream

Cipertext

1111111100000

Pseudo Random sequence
Ciphertext stream

1001101011010
0110010111010

Gambar 2.7. Pembentukan Kunci

d.
a) Ambil sebuah karakter dalam pesan yang akan e.
dienkripsi dan transformasi karakter tersebut ke f.
dalam kode ASCII sehingga diperoleh bilangan
bulat m. Plainteks tersebut disusun menjadi blokblok m1, m2, …, sedemikian hingga setiap blok
merepresentasikan nilai di dalam rentang 0 (nol)
sampai p-1.

3

Secara garis besar algoritma el-gamal mempunya
langkah-langkah pembentukan kunci sebagai berikut :
a. Bilangan prima, p (bersifat public atau tidak
rahasia)
b. Bilangan acak, g (dimana g < p dan bersifat
public atau tidak rahasia)
c. Bilangan acak, x (dimana x < p dan bersifat
private atau rahasia)
Bilangan acak, k (dimana k < p dan bersifat private atau
rahasia)
m merupakan plainteks dan bersifat private/rahasia
a dan b merupakan pasangan chiperteks hasil enkripsi
bersifat private atau tidak rahasia.
Proses Pembentukan kunci Algoritma ElGamal
Proses pembentukan kunci merupakan proses
penentuan suatu bilangan yang kemudian akan
digunakan sebagai kunci pada proses enkripsi dan

dekripsi pesan. Kunci untuk enkripsi dibangkitkan
dari nilai p, g, y sedangkan kunci untuk dekripsi
terdiri dari nilai x, p. Masing-masing nilai mempunyai
persyaratan yang harus dipenuhi.
Langkah-langkah dalam pembuatan kunci adalah
sebagai berikut :
1. Pilih sembarang bilangan prima p, dengan syarat p
> 255.
2. Pilih bilangan acak g dengan syarat g < p.
3. Pilih bilangan acak x dengan syarat 1 ≤ x ≤ p – 2.
4. Hitung y = g^x mod p.

dihasilkan pada tahap kedua, dioperasikan dengan
kunci eksternal ketiga (K3) dan melakukan proses
enkripsi dengan menggunakan algoritma DES,
sehingga menghasilkan cipherteks (C).

Kunci public nya adalah y, g, p sedangkan kunci
private nya adalah x. nilai y, g, dan p tidak dirahasiakan
sedangkan nilai x harus dirahasiakan karena merupakan
kunci privat untuk mendekripsi plainteks. (Rashmi
Singh, Shiv Kumar, 2012).

Gambar. 2.2 Algoritma 3DE S(NIST, 2004)
Sumber : Schneier, 1996

2.3

Triple DES (3DES)
Sebelum adanya kriptografi Triple DES
(3DES), awalnya kriptografi ini bernama algoritma DES.
DES atau Data Encryption Standard merupakan
algoritma penyandian yang diadopsi dan dibakukan oleh
NBS (National Bureau Standard) yang kini menjadi
NIST (National Institute of Standards and Technology)
pada tahun 1977 sebagai FIPS 46 (Federal Information
Processing Standard).
DES bermula dari hasil riset Tuchman Meyer
yang diajukan sebagai kandidat Sandi Standard
Nasional yang diusulkan oleh NBS. Konon katanya,
algoritma yang dikembangkan oleh Tuchman Meyer
ini merupakan algoritma terbaik dari semua kandidat
Sandi Standard Nasional.
Pada mulanya, algoritma yang kini disebut
DES, memiliki panjang kunci sandi 128 bit. Namun
selama proses pengadopsian, NBS melibatkan NSA
(National Security Agency), dan algoritma sandi ini
mengalami pengurangan ukuran kunci sandi dari 128
bit menjadi 56 bit saja. Bila dibandingkan dengan
performa komputer personal pada saat itu, algoritma
sandi dengan panjang kunci 56 bit dapat dikatakan
cukup aman bila digunakan oleh orang-orang “biasa”,
tapi dapat dengan mudah dipecahkan dengan
peralatan canggih dan tentunya kepemilikan alat
canggih ini hanya dapat dijangkau oleh organisasi elit
seperti NSA.
Jadi DES merupakan algoritma enkripsi blok
simetris. DES dikatakan enkripsi blok karena
pemrosesan data baik enkripsi maupun dekripsi,
diimplementasikan per blok (dalam hal ini 8 byte).
DES dikatakan enkripsi simetris karena algoritma
yang digunakan untuk enkripsi relatif atau bahkan
sama persis dengan algoritma yang digunakan dalam
proses dekripsi.
Dikarenakan terdapat banyak kelemahan dari
algoritma DES, dilakukan pengembangan yang lebih
baik lagi dan akhirnya lahirlah algoritma Triple DES
(3DES). Sehingga menghasilkan pra-cipherteks
kedua. Tahap terakhir, pra-cipherteks kedua yang

Triple DES merupakan implementasi dari 3 (tiga)
putaran DES dan proses yang akan penulis gunakan pada
proses enkripsi maupun dekripsi adalah proses dari
algoritma DES. Berikut adalah flowchart algoritma
Triple DES

Gambar 2.3. Skema Algoritma Triple DES
Proses penyelesaian
metode kriptografi
3DES dibagi menjadi 3 (tiga) tahapan yaitu:
1.

Proses Pembentukan Kunci
Proses pembentukan kunci internal dapat
dilakukan sebelum atau bersamaan dengan proses
enkripsi. Karena ada 16 putaran, dibutuhkan kunci
internal sebanyak 16 buah, yaitu K1, K2, K3, ...,
K16. Kunci internal dibangkitkan dari kunci
eksternal yang panjangnya 64 bit atau 8 karakter.
Ada dua pilihan untuk pemilihan kunci eksternal
algoritma Triple, yaitu:
Jumlah kunci yang digunakan pada Triple DES adalah 3
buah dengan panjang masing-masing kunci adalah 8
karakter.
Ada 3 kemungkinan pemilihan kunci yang digunakan:
1. K1 ≠ K2 ≠ K3

4

2. K1 = K3 ≠ K2
3. K1 = K2 = K3
Pemilihan kunci biasanya didasarkan atas metode Triple
DES mana yang akan digunakan:
1. Metode EEE atau EK3( EK2( EK1 (P))).
2. Metode EDE atau EK3( DK2( EK1 (P))).
Untuk metode pertama maka ketiga kemungkinan kunci
dapat digunakan dikarenakan proses yang terjadi adalah
Enkripsi sebanyak 3 kali, meskipun kunci yang paling
aman adalah K1 ≠ K2 ≠ K3 dikarenakan panjang kunci
adalah 168 bits (setelah mengalami proses permutasi PC1) .Untuk metode kedua maka kemungkinan yang dapat
dipakai adalah pilihan pertama dan kedua. Pilihan ketiga,
di mana semua kunci adalah sama, tidak dapat
digunakan karena akan mengubah Triple DES menjadi
DES. Dapat dilihat pada persamaan berikut:
EK3( DK2( EK1 (P))), dengan K1 = K2 = K3,
maka DK2( EK1 (P)) = P,
dan didapat EK3(P)
Pada proses pembentukan kunci internal ini dapat
dilakukan sebelum atau bersamaan dengan proses
enkripsi. Karena ada 16 putaran, dibutuhkan kunci
internal sebanyak 16 buah, yaitu K1, K2, K3, ...,
K16. Kunci internal dibangkitkan dari kunci
eksternal yang panjangnya 64 bit atau 8 karakter.
Gambar 2.5 Flowchart Proses Enkripsi
3. Proses Dekripsi
Proses dekripsi terhadap ciphertext merupakan
kebalikan dari proses enkripsi. DES menggunakan
algoritma yang sama untuk proses enkripsi dan
dekripsi. Jika pada proses enkripsi urutan kunci
internal yang digunakan adalah K1, K2,..., K16
,maka pada proses dekripsi urutan kunci yang
digunakan adalah K16, K15, ..., K1.Proses dekripsi
dilakukan setelah proses permutasi akhir
(Inverse
Initial Permutation). Berikut adalah
algoritma enkripsi Data Encryption Standard seperti
yang ditujukkan pada Gambar 3.3:

Gambar 2.4 Flowchart Pembentukan Kunci DES
2. Proses Enkripsi
Proses enkripsi dengan algoritma 3DES terdiri dari 16
iterasi (putaran). Proses ini memiliki input data
plaintext 64 bit yang identik dengan 16 digit
heksadesimal atau 8 karakter. Proses enkripsi
dilakukan setelah permutasi awal.
Berikut adalah algoritma enkripsi Triplede Data
Encryption Standard:

5

3.

Gambar 2.6 Flowchart Proses Dekripsi

kemudian

1.

Masukan teks yang akan dienkripsi (Plaintext)
Plaintext = “A P L I K A S I “

2.

Pesan akan di potong menjadi blok – blok
karakter dan di konversikan ke dalam bilangan
ASCII.

di

m1 ≡b 1. a 1

Gambar 2.6 menunjukan proses dekripsi
dimana ciphertext yang didapat dari proses enkripsi
akan dibagi menjadi 2 kelompok dengan masing L
(Left) dan R(Right) dan hasilnya kemudian dilakukan
iterasi sebanyak 16 putaran dengan L dan R harus
dikurangi satu persatu sampai permutasi akhir didapat
dengan L dan R sudah di mendapat nilai dan kmudian
dilakukan proses dekripsi sehingga hasilnya adalah
plaintext.
3. Analisa Algoritma Elgamal dan Triple DES
3.1 Proses Enkripsi Algoritma Elgamal
Pada Hybrit Cryptosystem algoritma Elgamal
dan Algoritma Triple DES mempunyai panjang
maksimal penentuan bilangan prima adalah P = 257,
langkah selanjutnyamelakukan analisis enkripsi pesan
pada Algoritma Elgamal yang bertujuan untuk
merubah pesan asli (plaintext) ke bentuk pesan
rahasia (ciphertext). Adapun urutan proses pesan
tersebut adalah :

Langkah selanjutnya, Proses menentukan
bilangan acak P∈ { 0,1, … … … ..257 }
kemudian nilai ASCII tersebut dimasukkan
kedalam blok-blok nilai m secara berurutan,
sehingga menjadi :
Mn
Nilai
Kunci
m1
65
27
m2
80
105
m3
76
13
m4
73
117
m5
75
23
m6
65
90
m7
83
41
m8
73
55
hitung
p−1−x

x

y ≡ g mod p

dan

mod p

Misalkan Acak membangkitkan pasangan kunci dengan
memilih bilangan:
p = 257
g = 17
x = 11
Kemudian p, g, x digunakan untuk menghitung y :

y ≡ gx mod p
11
y ≡ 17 mod 257
y ≡ 223
Hasil algoritma ini adalah :
kunci publik adalah triple (223, 17, 257)
kunci private adalahpasangan (11, 257)
dimana ada proses enkripsi a pada algoritma elgamal
adalah :

a ≡ g k mod p
27
a 1≡ 17 mod 257
a 1≡ 34
Dan dimana ada juga proses enkripsi b adalah :

b ≡ y k m mod p
27
b 1≡ 223 65 mod 257
b 1≡ 204
Setelah mendapatkan nilai enkriipsi a dan b, hasil
perhitungan tersebut disusun dengan pola selang seling:
a1, b1, a2, b2, a3, b3, a4, b4, a5, b5, a6, b6, a7,
b7, a8, b8.

Tabel 3.1 Konversi Blok karakter ke dalam kode ASCII

Sehingga membentuk chiperteks :
I

Karakter

Planiteks Mi

1
2
3
4
5
6
7
8

A
P
L
I
K
A
S
I

M1
M2
M3
M4
M5
M6
M7
M8

Plainteks
mi (ASCII)
65
80
76
73
75
65
83
73

34, 204, 15, 87, 197, 56, 68, 235, 120, 131, 2, 251, 15,
177, 120, 11.
Di dalam bentuk karakter menjadi : "ÌWÅ8Dëxƒû±x♂
3.2 Proses Dekripsi Algoritma Elgamal

6

Cipherteks akan di potong menjadi blok – blok
karakter dan di konversikan ke dalam bilangan
ASCII.
Tabel 3.2 Konversi Blok Cipherteks ke dalam kode
ASCII
Planiteks
Plainteks mi
I
Karakter
Mi
(ASCII)
1

"

M1

34

2

Ì

M2

204

M3

15

3
4

W

M4

87

5

Å

M5

197

6

8

M6

56

7

D

M7

68

8

Ë

M8

235

9

X

M9

120

10

Ƒ

M10

131

M11

2

M12

251

M13

15

11
12

Û

13
14

±

M14

177

15

X

M15

120

16



M16

11

konversi ke dalam bentuk bilangan biner terlebih
dahulu di mana akan terdiri dari 64 – bit blok teks,
proses enkripsi dengan algoritma Triple DES terdiri
dari 16 iterasi (putaran). Misalkan salah satu blok
plaintext adalah sebagai berikut:
Plainteks

: APLIKASI

Kunci K1, K2, K3

:

AVDFEAD234defaWASSdsaw14
Proses Triple DES yang digunakan dalam enkripsi
adalah prinsip Enkripsi = E_DES ( D_DES ( E_DES
( Plaintext, K1), K2, K3) Maka proses enkripsinya
adalah dapat diuraikan sebagai berikut:
Plainteks dalam biner:
0110101101110010011010010111000001110100011011
110110011101110010
Kunci dalam biner:
0100100101001100010011010101010100100000010010
110100111101001101
Pertama terlebih dahulu akan dirubah kunci K1 menjadi
binary:
K =
0100010101000101010001110100011101011001010010
000100100001010100
Setelah mengalami permutasi terhadap PC-1 maka akan
menjadi :
K=
0000000011101111000100000000011000001100111011
1001111000

mendekripsikan chiperteks dari B dengan melakukan
perhitungan dengan rumus sebagai berikut :
p−1−x

cn ≡bi . ai
mod 257
c 1 ≡204.34 257−1−11 mod 257
c 1≡ 204.34245 mod 257
c 1 ≡65

Lalu dibagi menjadi C0 dan D0.
C0
: 0000000011101111000100000000
D0
: 0110000011001110111001111000

Setelah mendapatkan nilai mn, masing-masing nilai m
hasil dekripsi menjadi kode ASCII diubah kembali
menjadi karakter.
3.3 Proses Enkripsi dan Dekripsi Algoritma Triple
DES
Triple DES merupakan block cipher yang
berarti beroperasi pada blok plaintext dari ukuran
tertentu 64 bit dan mengembalikan blok ciphertext
dengan ukuran yang sama, yang mana masingmasing dapat berupa 0 atau 1 Setiap blok dari 64 bit
akan dibagi menjadi dua blok yang terdiri dari 32 bit
masing-masing, setengah kiri blok L dan kanan
setengah R.
Setelah hasil Dekripsi dari algoritma elgamal
plainteks akan di enkripsi lagi dengan algoritma
Triple DES di mana dengan pesan Teks sebagai
berikut :
“ APLIKASI ”. Pesan akan di

4 Cara Pengujian Aplikasi
Pada percobaan ini penulis akan menggenerate
bilangan prima P dengan menggunakan sebuah
program pembangkit bilangan acak Lehmann dengan
nilai yang bervaiasi.
Adapun uji coba yang penulis lakukan dapat dilihat pada
gambar berikut ini :
-

7

Uji Coba ke-1
Menggenerate bilangan prima P=257 Sehingga secara
acak nilai g=17 akan di dapatkan secara acak
sedangkan x=adalah nilai rahasia. Hasil dari proses

dapat dilihat pada gamabar 4.1 berikut :

Gambar 4.1. Percobaan ke-1
-

Uji Coba ke-2
Menggenerate bilangan prima P=19 Sehingga
secara acak nilai g=13 akan di dapatkan secara
acak sedangkan x=adalah nilai rahasia. Hasil
dari proses dapat dilihat pada gamabar 4.2
berikut :

Gambar 4.4. Tampilan Awal Aplikasi
Pada gambar 4.4 dapat dilihat tampilan awal aplikasi
yang memiliki textbox:
1. Plaintext: memasukkan plaintext yang hendak
dienkripsi
2. Key Elgamal
: memasukkan kunci yang
terdiri { p, g, x }
3. Generate
: mengacak kunci pada
algoritma elgamal
4. Key 3DES
: memasukkan kunci Triple
DES yang terdiri 24 Panjang kuncinya
5. Cipherteks
: menampilkan hasil enkripsi
berdasarkan proses penggabungan Algoritma
Elgamal dengan Triple DES
Selain itu juga terdapat 2 buah tombol:
1. Enkripsi : melakukan proses enkripsi ke dalam
Elgamal , Triple DES
2. Dekripsi : melakukan proses dekripsi ke dalam
Elgamal , Triple DES

Gambar 4.2. Percobaan ke-2
- Uji Coba ke-3
Menggenerate bilangan prima P=49 Sehingga secara
acak nilai g=37 akan di dapatkan secara acak
sedangkan x=adalah nilai rahasia. Hasil dari proses
dapat dilihat pada gamabar 4.3 berikut :

Pada tampilan awal pengujian Setelah
plainteks sudah di input pilih tombol Encrypt untuk
melakukan proses enkripsi sehingga didapat hasil
sebagai berikut:

Gambar 4.3. Percobaan ke-3

Gambar 4.3. Percobaan ke-3
- Uji Coba ke- 4 :
Hasil uji coba terakhir adalah uji coba secara Hybrid
Cryptosystem Proses Algoritma Elgamal dan Algoritma
Triple DES dan Untuk pengaplikasian algoritma
penggabungan ini maka dibuat suatu aplikasi untuk
melihat apakah proses enkripsi dan dekripsi dapat
berjalan sebagaimana yang diharapkan. Tampilan awal
dari aplikasi adalah sebagai berikut:

Gambar 4.5. Tampilan Hasil Enkripsi Pesan
Untuk melakukan dekripsi langkah pertama hapus
terlebih dahulu plainteks pilih tombol Decrypt sehingga

8

didapat hasil dengan plainteks “APLIKASI” sebagai
berikut:

Ariyus, Dony. 2006. Computer Security. Penerbit
Andi:Yogyakarta.
Fauziah Yuli, 2008. Pengamanan Pesan Dalam Editor
Teks Mengunakan Hybrid Cryptosystem. SemnasIF
Kromodimoeljo Sentot, 2010, Teori
Kriptografi, SPK IT Consulting
Munir,
Rinaldi.
2006.
Informatika:Bandung.

&

Kriptografi.

Aplikasi
Penerbit

Madhur, Kapil.,Yadav, Singh, Jitendra.& Vijay, Ashish,
2012. Modified Elgamal over RSA Digital
Signature Algorithm (MERDSA). International
Journal of Advanced Research in Computer
Science and Software Engeneering(1): 2277-128X
Mollin Richard, 2007 An Introduction to Cryptography,
Taylor & Francis Group

Gambar 4.6. Tampilan Hasil Dekripsi

Munir Rinaldi, 2006, Kriptografi. Penerbit informatika,
Bandung

5. Kesimpulan Dan Saran
Kesimpulan yang didapatkan berdasarkan penelitian
yang dilakukan dengan menggabungkan algoritma
Elgamal dengan algoritma Triple DES adalah sebagai
berikut:
1.

2.

3.

Sadikin Rifki, 2012, Kriptografi untuk keamanan
jaringan, CV Andi Offset, Yogyakarta
Schneier, Bruce., 1996, Applied Cryptography :
Protocols, Algorithms, and Source Code in C, 2nd
Edition John Wiley & Sons Inc

Hybryd cryptosystem algoritma elgamal dan
algoritma triple DES tersebut hanyalah untuk
mengatasi adanya penyerangan sebuah pesan
supaya lebih aman karena setiap algoritma
mempunyai panjang kunci yang berbeda.
Untuk kunci algoritma elgamal dan algoritma
triple DES mempunyai perbedaan panjang kunci,
sehingga kemungkinan serangan akan lebih sulit
membobol pesan tersebut.
Pada hybryd cryptosystem kedua algoritma tersebut
mempunyai kompleksitas kunci yang dapat di
pecahkan dengan beberapa kali pemecahan.

Saran untuk perbaikan penelitian ini agar lebih baik
yaitu:
1. Untuk setiap proses algoritma elgamal yang telah
digunakan dalam pembankit di dalam algoritma
triple DES akan dilakukan penyesuaikan kunci
yang telah ditentukan sehingga dapat meningkatkan
keamanan algoritma.
2. Aplikasi penggabungan algoritma elgamal dan
triple DES dikembangkan lebih lanjut sehingga
keamanan plainteks akan dapat meningkat.
Daftar Pustaka:
Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi :Teori,
Analisis
dan
Implementasi,
Penerbit
Andi:Yogyakarta.
9