Upload
dinhtruc
View
222
Download
2
Embed Size (px)
Citation preview
Prosiding SEMIRATA Bidang MIPA 2016; BKS-PTN Barat, Palembang 22-24 Mei 2016
601
ISBN: 978-602-71798-1-3
KOMBINASI ALGORITMA DES DAN ALGORITMA RSA
PADA SISTEM LISTRIK PRABAYAR
Yulia Kusmiati
1), Alfensi Faruk
2), Novi Rustiana Dewi
3)
Fakultas MIPA, Universitas Sriwijaya; 1email: [email protected],
Abstract
In the prepaid electricity system, the users have to pay in advance for the purchase of electrical energy in the
form of a voucher code. The code should be well protected and difficult to be cracked by anyone. The main
objective of this research is to combine DES algorithm and RSA Algorithm for enhancing the security system of
electricity voucher code. The code in this article was based on individual information such as the electricity
meter number, the number of pulses of electricity used, the date and time of purchase. Such individual
information would generate the numbers that were encrypted using the DES algorithm. Furthermore, some
characters of the chipertext from DES algorithm became the plaintext in RSA algorithm. As the result, the
plaintext was encrypted again using RSA algorithm to gain a new electricity voucher code.
Keywords: DES algorithm, RSA algorithm, prepaid electricity system
1. PENDAHULUAN
Sistem listrik paskabayar adalah suatu
sistem transaksi penjualan dimana pelanggan
listrik rumahan dapat menggunakan terlebih
dahulu energi listrik, yang kemudian baru
membayar tagihan listrik pada setiap akhir
bulan. Selain sistem listrik paskabayar,
Perusahaan Listrik Negara (PLN) juga
membuat sistem transaksi yang baru yaitu
sistem listrik prabayar. Dalam sistem listrik
prabayar ini, pengguna listrik terlebih dahulu
mengeluarkan biaya untuk membeli energi
listrik yang diperlukan, kemudian baru dapat
menggunakan energi listrik tersebut.
Pada saat membeli energi listrik dengan
sistem prabayar, pengguna mendapatkan
sebuah kode voucher. Kode tersebut berupa
kombinasi dari karakter-karakter yang
dibangkitnya berdasarkan informasi-informasi
yang diberikan kepada PLN. Selanjutnya, kode
voucher dapat dimasukkan ke dalam mesin di
meteran listrik yang kemudian dapat
dikonversi menjadi kuota listrik yang dibeli
oleh pelanggan tersebut.
Sebagai kode yang dijual secara bebas
kepada publik, tentu saja kode voucher
tersebut rentan untuk diretas oleh orang-orang
yang tidak bertanggung jawab. Oleh karena
itu, tentu saja diperlukan suatu sistem
keamanan yang terbaik dalam mengatasi
berbagai ancaman bentuk modus kecurangan
pada sistem listrik prabayar ini.
Tujuan dari penelitian ini adalah
mengkombinasikan algoritma DES dan
algoritma RSA dalam membangkitkan kode
voucher listrik prabayar. Kedua algoritma
tersebut sering digunakan dalam berbagai
aplikasi ilmu kriptografi pada berbagai
persoalan penyandian, khususnya Algoritma
RSA sendiri yang pernah dikombinasikan
dengan algoritma Elgamal dalam studi yang
dilakukan oleh Aulia (2013).
2. KAJIAN LITERATUR
Kriptografi Kriptografi adalah bidang ilmu yang
mengaplikasikan konsep-konsep matematika
untuk menjaga keamanan suatu pesan.
Beberapa komponen dari kriftografi adalah
plaintext (pesan asli), chipertext (pesan yang
telah melalui proses enkripsi), enkripsi (proses
plaintext menjadi chipertext), dekripsi (proses
chipertext menjadi plaintext), kunci, dan
cryptanalis (Ariyus, 2008).
Berdasarkan jenis kunci yang
digunakannya, algoritma kriptografi
dikelompokan menjadi dua bagian, yaitu
algoritma simetris dan algoritma asimetris.
Algoritma simetris merupakan algoritma
dengan kunci enkripsinya sama dengan kunci
dekripsi. Contoh algoritma simetris adalah Data
Encryption Standard (DES), Internasional Data
Encryption Algorithm (IDEA), dan lain
sebagainya. Sedangkan, algoritma asimetris
meruopakan algoritma dengan kunci enkripsi
tidak sama dengan kunci dekripsinya, yaitu
kunci umum dan kunci rahasia. Kunci publik
umumnya digunakan sebagai kunci enkripsi
Prosiding SEMIRATA Bidang MIPA 2016; BKS-PTN Barat, Palembang 22-24 Mei 2016
602
dan kunci rahasia digunakan sebagai kunci
dekripsi. Contoh dari algoritma asimetris yaitu
RSA (Rivert-Shamir-Adelman), El-Gamal dan
lain sebagainya (Akbar, 2011).
Algoritma DES (Data Encryption Standard)
Algoritma DES diadopsi sebagai standar
federal dan berwenang untuk digunakan pada
semua komunikasi pemerintah Amerika
Serikat. Keterangan resmi dari standar FIPS
(Federal Information Processing Standard)
PUB46, DES diterbitkan pada tanggal 15
Januari 1977 (Rhee, 2003). Menurut Wahana
komputer (2010), DES adalah algoritma yang
paling banyak digunakan di dunia untuk proses
enkripsi.
Skema dari algoritma DES adalah sebagai
berikut (Munir, 2004):
1. Blok plaintext dipermutasi dengan matriks
permutasi awal (initial permutation atau
IP).
2. Hasil permutasi awal kemudian di-
enciphering sebanyak 16 putaran, dimana
setiap putaran menggunakan kunci internal
yang berbeda.
3. Hasil enciphering kemudian dipermutasi
dengan matriks permutasi balikan (invers
initial permutation atau IP-1
) menjadi blok
ciphertext.
Algoritma RSA (Rivert-Shamir-Adleman)
Dalam kriptografi, RSA adalah algoritma
untuk enkripsi kunci umum (public-key
encryption). RSA merupakan algoritma
asimetris dengan dua kunci pada proses
enkripsi dan dekripsinya. Algoritma ini terdiri
dari atas tiga proses, yaitu pembangkitan
pasangan kunci, enkripsi, dan dekripsi (Munir,
2004).
Prosedur Pembangkitan Kunci Algoritma
RSA
Berikut adalah langkah-langkah untuk
membuat kunci umum dan kunci rahasia
menggunakan algoritma RSA (Munir, 2004):
1. Tentukan dua bilangan prima sebarang 𝑝
dan 𝑞,
2. Hitung 𝑛 = 𝑝 . 𝑞 (sebaiknya 𝑝 ≠ 𝑞)
3. Hitung 𝜑(𝑛) = (𝑝 − 1) (𝑞 − 1),
4. Pilih kunci publik 𝑒, yang relatif prima
terhadap 𝜑 𝑛 ,
5. Bangkitkan kunci rahasia 𝑑 dengan
menggunakan persamaan
𝑒. 𝑑 ≡ 1 (𝑚𝑜𝑑 𝜑 𝑛 ). (1)
Prosedur Enkripsi Algoritma RSA
Langkah-langkah dalam proses enkripsi
pesan menggunakan algoritma RSA adalah
sebagai berikut (Munir, 2004):
1. Ambil kunci publik penerima pesan 𝑒 dan
𝑛, 2. Nyatakan plaintext 𝑚 menjadi blok-blok
𝑚1 , 𝑚2 , . . . , 𝑚𝑙−1 sedemikian sehingga
setiap blok merepresentasikan nilai di
dalam selang 0, 𝑙 − 1 , 3. Setiap blok mi dienkripsi menjadi blok ci
dengan rumus
𝑐𝑖 ≡ 𝑚𝑖𝑒 (𝑚𝑜𝑑 𝑙). (2)
Prosedur Dekripsi Algoritma RSA
Dalam proses dekripsi pesan menggunakan
algoritma RSA, dapat dilakukan langkah-
langkah sebagai berikut (Munir, 2004):
1. Setiap blok chipertext ci didekripsikan
kembali menjadi blok mi dengan rumus
𝑚𝑖 ≡ 𝑐𝑖𝑑 (𝑚𝑜𝑑 𝑛), (3)
2. Menggabungkan kembali blok-
blok 𝑚1 , 𝑚2 , . . . , 𝑚𝑛−1 menjadi plaintext
m.
3. METODE PENELITIAN
Langkah-langkah yang dilakukan dalam
penelitian ini adalah:
1. Menganalisis Algoritma DES dan
Algoritma RSA.
2. Mengkombinasikan algoritma DES dan
algoritma RSA.
3. Mengimplementasikan kombinasi algoritma
DES dan algoritma RSA pada sistem listrik
prabayar.
4. HASIL DAN PEMBAHASAN
Kombinasi Algoritma DES dan RSA Langkah awal yang dilakukan dalam
kombinasi adalah dengan mengenkripsi
plaintext menggunakan algoritma DES. Lalu
hasil chipertext dari algoritma DES menjadi
plaintext pada algoritma RSA. Kemudian,
plaintext tersebut dienkripsikan lagi
menggunakan algoritma RSA sehingga
menghasilkan chipertext yang baru. Dengan
demikian terjadi dua kali proses enkripsi
dengan dua algoritma yang berbeda sehingga
chipertext yang dihasilkan menjadi lebih sulit
untuk dipecahkan (gambar 1).
Prosiding SEMIRATA Bidang MIPA 2016; BKS-PTN Barat, Palembang 22-24 Mei 2016
603
Gambar 1. Kombinasi DES dan RSA
Pembentukan Kunci Internal Algoritma
DES
Pada algoritma DES, sebelum melakukan
sebuah proses enkripsi dengan algoritma DES
dibutuhkan kunci-kunci internal sebanyak 16
buah. Kunci internal dibangkitkan
menggunakan kunci eksternal yang telah
ditentukan. Kunci eksternal yang ditentukan
harus berupa bilangan hexadesimal dan
berjumlah 16 digit. Pada penelitian ini kunci
eksternal ditentukan secara acak.
Untuk mengilustrasikan proses ini,
diberikan contoh kunci eksternal K=
3451EF32A594CCB8. Kunci eksternal K yang
berupa 16 digit bilangan hexadesimal tersebut
dikonversi menjadi 64 bit bilangan biner,
sehingga diperoleh
K = 0011 0100 0101 0001 1110 1111 0011
0010 1010 0101 1001 0100 1100 1100
1011 1000.
Kunci eksternal K yang panjangnya 64 bit
kemudian diubah menjadi 56 bit menjadi K+
menggunakan tabel kompresi I (tabel 1) yang
berbentuk
K+ = 1111010 0010001 1010011 1011010
0000110 0011101 0111000 1001011.
Tabel 1. Permutasi Kompresi 1
PC-1
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
Selanjutnya, K+ ini dibagi menjadi dua
blok yaitu blok kiri (𝐶0) sepanjang 28 bit dari
blok kanan (𝐷0) sepanjang 28 bit, yang
berbentuk
𝐶0 = 1111010 0010001 1010011 1011010,
𝐷0 = 0000110 0011101 0111000 1001011.
Kemudian, 𝐶0 dan 𝐷0 tersebut masing-
masing digeser ke kiri dimana jumlah
pergeseran bit menggunakan tabel 2. Sebagai
contoh, pada putaran ke-1 digeser ke kiri
sebanyak 1 bit. Maka, bit ke-1 pada 𝐶0 akan
berpindah menjadi bit ke-28 setelah dilakukan
pergeseran ke kiri, begitu juga dengan 𝐷0 dan
seterusnya sampai putaran ke-16. Setelah
putaran ke-16 akan didapatkan kembali 𝐶16 =
𝐶0 dan 𝐷16=𝐷0, yang dalam ilustasi ini
diperoleh
𝐶16 = 1111010 0010001 1010011 1011010,
𝐷16 = 0000110 0011101 0111000 1001011.
Tabel 2. Jumlah Pergeseran Bit
(i) Jumlah Pergeseran Bit
1 1
2 1
3 2
4 2
5 2
6 2
7 2
8 2
9 1
10 2
11 2
12 2
13 2
14 2
15 2
16 1
Selanjutnya, pasangan (Ci, Di) yang
masing-masing berukuran 28 bit dan telah
dilakukan pergeseran, disatukan kembali
menjadi 𝐾𝑖+ (untuk 1 ≤ 𝑖 ≤ 16) yang
berukuran 56 bit. Pada putaran ke-1 (C1, D1)
menjadi 𝐾1+ dan seterusnya sampai putaran
ke-16 (C16, D16) menjadi 𝐾16+ (tabel 3).
Tabel 3. Pasangan (Ci, Di) menjadi 𝐾𝑖+
i 𝑲𝒊+
1 11101000100011010011101101010001100011101011100010010110
2 11010001000110100111011010110011000111010111000100101100
3 01000100011010011101101011111100011101011100010010110000
4 00010001101001110110101111010001110101110001001011000011
5 01000110100111011010111101000111010111000100101100001100
6 00011010011101101011110100011101011100010010110000110001
7 01101001110110101111010001000101110001001011000011000111
8 10100111011010111101000100010111000100101100001100011101
9 01001110110101111010001000111110001001011000011000111010
10 00111011010111101000100011011000100101100001100011101011
11 11101101011110100010001101000010010110000110001110101110
12 10110101111010001000110100111001011000011000111010111000
13 11010111101000100011010011100101100001100011101011100010
14 01011110100010001101001110110110000110001110101110001001
15 01111010001000110100111011011000011000111010111000100101
16 11110100010001101001110110100000110001110101110001001011
Prosiding SEMIRATA Bidang MIPA 2016; BKS-PTN Barat, Palembang 22-24 Mei 2016
604
Langkah terakhir, dilakukan permutasi
kompresi 2 (tabel 4). Permutasi kompresi 2
berfungsi untuk menurunkan 𝐾𝑖+ yang
berukuran 56 bit menjadi kunci internal Ki
(1 ≤ 𝑖 ≤ 16) yang berukuran 48 bit (tabel
5). Hasil dalam tabel 5 inilah yang menjadi
kunci internal berdasarkan algoritma DES.
Tabel 4. Permutasi Kompresi 2
PC-2
14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
Tabel 5. Hasil Permutasi Kompresi 2
Putaran
(i) 𝑲𝒊
1 100111 110010 110010 100111 110101 000110 111000 000001
2 000010 011000 111101 001111 001100 011001 100001 010101
3 011000 010111 100010 101111 110000 111000 010010 110110
4 101100 011010 110111 100000 000011 010010 111110 001101
5 110100 000110 111010 110011 001110 100101 000011 010101
6 111101 011011 011100 010100 010000 111100 000110 100111
7 010001 101001 011011 000111 100001 100010 110110 001001
8 011110 111101 000001 110110 111010 100001 001101 010101
9 110001 011101 111000 111001 111011 111000 000001 100010
10 110001 111011 001111 010010 000001 001110 111101 001110
11 001111 101101 111011 000011 001111 001001 010011 010100
12 011110 110111 000101 001010 110010 011100 010011 100011
13 001010 001100 010111 011101 000011 101110 111000 001001
14 010101 010100 100100 011111 101110 100101 010101 010100
15 001001 111010 100110 110001 100010 011100 001110 100010
16 110110 101111 000100 001101 000001 010110 101111 111000
Proses Enkripsi Algoritma DES
Proses enkripsi membutuhkan dua buah
input yaitu plaintext 𝑃 dan kunci internal yang
telah dibangkitkan pada proses sebelumnya
(tabel 5). Plaintext 𝑃 yang ditentukan harus
berupa bilangan hexadesimal dan berjumlah 16
digit. Untuk mengilustrasikan proses ini, input
yang digunakan adalah kunci internal dalam
tabel 5 dan diambil secara acak plaintext
misalkan P = 2711142357316100.
Langkah pertama yang dilakukan adalah
mengkonversi P yang berisi 16 digit bilangan
hexadesimal ke dalam 64 bit bilangan biner.
Sebagai contoh, bilangan hexadesimal “2”
dikonversikan menjadi bilangan biner “0010”,
bilangan hexadesimal “7” dikonversikan
menjadi bilangan biner “0111”, dan seterusnya
sampai bilangan hexadesimal “1”
dikonversikan menjadi bilangan biner “0001”
sehingga didapatkan
P = 0010 0111 0001 0001 0001 0100 0010
0011 0101 0111 0011 0001 0110 0001
0000 0000.
Selanjutnya, dilakukan permutasi awal
terhadap blok plaintext 𝑃 yang telah diperoleh
menggunakan Initial Permutation (IP) seperti
dalam tabel 6, yaitu dengan memindahkan bit
ke-58 pada P menjadi bit ke-1 pada IP, bit ke-
50 pada P menjadi bit ke-2 pada IP, dan
seterusnya sampai dengan bit ke-7 pada P
menjadi bit ke-64 pada IP, sehingga diperoleh
IP = 0101 0000 0011 0110 0001 0101 0111
1011 0000 0000 0110 1001 0000 0000
0001 1001.
Tabel 6. Permutasi Awal atau IP
IP
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
Setelah dilakukan permutasi awal dan
diperoleh IP, kemudian IP tersebut dibagi
menjadi dua bagian yaitu blok kiri (𝐿0) dan
blok kanan (𝑅0) dengan masing-masing
panjangnya adalah 32 bit yang berbentuk
𝐿0 = 0101 0000 0011 0110 0001 0101 0111
1011, dan
𝑅0 = 0000 0000 0110 1001 0000 0000 0001
1001.
Selanjutnya kedua blok (𝐿0 , 𝑅0) diproses
ke dalam 16 putaran DES dengan satu putaran
DES yang disebut model jaringan Feistel,
didapat
𝐿1= 𝑅0 = 0000 0000 0110 1001 0000 0000
0001 1001 , dan
𝑅1 = 𝐿0 𝑓(𝑅0 , 𝐾1).
Untuk mendapatkan nilai 𝑅1, terlebih
dahulu dicari nilai dari 𝑓(𝑅0 , 𝐾1). Untuk
mencari fungsi transformasi 𝑓 yang
dikombinasikan dari blok 𝑅0 dan kunci
internal K1. Pertama, blok 𝑅0 yang panjangnya
32 bit akan diperluas menjadi 48 bit, yang
kemudian diperoleh
𝑅0 = 0000 0000 0110 1001 0000 0000 0001
1001, dan
𝐸(𝑅0) = 100000 000000 001101 010010
100000 000000 000011 110010.
Prosiding SEMIRATA Bidang MIPA 2016; BKS-PTN Barat, Palembang 22-24 Mei 2016
605
Selanjutnya, hasil ekspansi 𝐸(𝑅0) di-
XOR-kan dengan kunci internal K1
menghasilkan A yang panjangnya 48 bit, yang
𝐸(𝑅0) 𝐾1= 𝐴 = 000111 110010 111111
110101 010101 000110 111011 110011,
dengan
𝐾1 = 100111 110010 110010 100111 110101
000110 111000 000001, dan
𝐸(𝑅0)=100000 000000 001101 010010
100000 000000 000011 110010.
Nilai A yang diperoleh kemudian menjadi
input untuk proses substitusi S-Box yang
dilakukan menggunakan delapan buah S-Box
yaitu 𝑆1, 𝑆2, ... , 𝑆8. Setiap S-Box
menghasilkan bilangan desimal yang diubah
menjadi bilangan biner sehingga menghasilkan
output 4 bit yang dapat dituliskan sebagai
B1 = S1(A1) = S1(r, c) = S1(01, 0011) = S1(1,
3) = 4 = 0100,
B2 = S2(A2) = S2(r, c) = S2(10, 1001) = S2(2,
9) = 8 = 1000,
B3 = S3(A3) = S3(r, c) = S3(11, 1111) = S3(3,
15) = 12 = 1100,
B4 = S4(A4) = S4(r, c) = S4 (11, 1010) = S4(3,
10) = 5 = 0101,
B5 = S5(A5) = S5(r, c) = S5(01, 1010) = S5(1,
10) = 15 = 1111
B6 = S6(A6) = S6(r, c) = S6(00, 0011) = S6(0,
3) = 15 = 1111,
B7 = S7(A7) = S7(r, c) = S7(11, 1101) = S7(3,
13) = 2 = 0010, dan
B8 = S8(A8) = S8 (r, c) = S8(11, 1001) =
S8(3, 9) = 12 = 1100.
Nilai-nilai 𝐵1 sampai 𝐵8 kemudian
digabung menjadi B yang tidak lain adalah
output dari proses S-Box, yang berbentuk
B = 0100 1000 1100 0101 1111 1111 0010
1100,
menggunakan matriks permutasi selanjutnya B
ini menjadi input untuk proses permutasi,
sehingga diperoleh
P(B) = 1011 1001 0010 1101 1011 0101 1010
1000,
dimana P(B) ini merupakan output dan fungsi
𝑓. Selanjutnya, untuk mendapatkan 𝑅1
dilakukan dengan meng-XOR-kan 𝑓(𝑅0 , 𝐾1)
dengan 𝐿0 sehingga diperoleh 𝑅1.
𝐿0= 0101 0000 0011 0110 0001 0101 0111
1011,
𝑓(𝑅0 , 𝐾1)= 1011 1001 0010 1101 1011 0101
1010 1000 , dan
𝐿0 𝑓 𝑅0 , 𝐾1 = 1110 1001 0001 1011 1010
0000 1101 0011.
Jadi,
𝑅1 = 𝐿0 𝑓(𝑅0 , 𝐾1) = 1110 1001 0001 1011
1010 0000 1101 0011.
Proses di atas (untuk i = 1) merupakan
putaran pertama proses enkripsi menggunakan
algoritma DES. Selanjutnya, dengan cara yang
sama dilakukan putaran ke-2 (i=2) dan
seterusnya sampai dengan putaran ke-16 (i =
16).
Untuk putaran ke-16 dari algoritma DES,
didapatkan
𝐿16 = 1001 0110 0100 0110 0100 0100 1000
1000,
𝐾16 = 110110 101111 000100 001101 000001
010110 101111 111000,
𝐸(𝑅15)=010010 101100 001000 001100
001000 001001 010001 010001,
𝐸(𝑅15) 𝐾16 = 𝐴 = 100100 000011 001100
000001 001001 011111 111110 101001,
𝐵 = 1110 l101 1111 1101 0100 1000 0010
0100,
𝑃(𝐵) =𝑓(𝑅15 , 𝐾16) = 1001 0100 1000 1101
1101 0111 0111 0100,
𝐿15 = 0011 1000 0100 0001 0111 1100 0010
1011, dan
𝐿15𝑓(𝑅15 , 𝐾16) = 𝑅16 = 1010 1100 1100
1100 1010 1011 0101 1111
Nilai pasangan (𝐿16 , 𝑅16) merupakan hasil
dari putaran ke-16. Jadi, (𝑅16 , 𝐿16) tersebut
adalah pra-ciphertext dari proses enkripsi
algoritma DES. Chipertext yang sebenarnya
dapat diperoleh dengan melakukan permutasi
awal balikan (IP-1
) terhadap blok pra-
ciphertext tersebut sehingga diperoleh
IP-1
= 0000 0101 1010 0101 1111 1001 0101
0111 1000 0001 0100 0100 0011 1001
1101 0110.
Jika IP-1
dikonversi ke dalam bilangan
hexadesimal, diperoleh chipertext algoritma
DES, yaitu C = 05A5F957814439D6. Hasil
chipertext C ini selanjutnya dijadikan sebagai
plaintext pada algoritma RSA yang kemudian
dilakukan proses enkripsi kembali
menggunakan algoritma RSA.
Pembentukan Kunci Algoritma RSA
Langkah awal adalah membentuk kunci
rahasia dan kunci umum. Untuk membentuk
kunci umum, diperlukan dua bilangan prima
sebarang 𝑝 dan 𝑞 untuk mendapatkan nilai
modulus 𝑛 dan (𝑛), dimana kunci publik 𝑒
harus relatif prima terhadap (𝑛). Jadi, dalam
hal ini terdapat tiga input, yaitu dua bilangan
prima 𝑝, 𝑞 , kunci umum 𝑒.
Sebagai ilustrasi, misalkan diambil
sebarang bilangan bulat p = 103 dan q = 521
Prosiding SEMIRATA Bidang MIPA 2016; BKS-PTN Barat, Palembang 22-24 Mei 2016
606
maka diperoleh nilai 𝑛 = 𝑝 × 𝑞 = 103 ×
521 = 53663 dan 𝑛 = 𝑝 − 1 𝑞 −1 = (103 − 1)(521 − 1) = 53040. Kunci
umum 𝑒 adalah bilangan bulat yang relatif
prima dengan 𝑛 , yaitu 53003. Sedangkan,
untuk menentukan kunci rahasia 𝑑 dapat
menggunakan rumus
𝑑 =1+𝑘𝜑 (𝑛)
𝑒 , (4)
dimana nilai 𝑘 adalah sebarang bilangan
sedemikian sehingga menghasilkan nilai d
yang bulat. Dalam ilustrasi ini, diambil nilai
𝑘 = 2865, sehingga didapatkan nilai kunci
rahasia
𝑑 =1+2865.53040
53003= 2867.
Jadi, diperoleh nilai modulus 𝑛 = 53663,
kunci umum 𝑒 = 53003, dan kunci rahasia 𝑑 =
2867.
Proses Enkripsi Algoritma RSA
Dalam tahap ini, inputnya adalah nilai-
nilai yang telah diperoleh pada tahapan-
tahapan sebelumnya, yaitu e = 53003, n =
53663, dan plaintext m=C=
05A5F957814439D6. Langkah pertama yang
dilakukan dalam enkripsi ini adalah
mengelompokkan plaintext m menjadi blok-
blok 𝑚1 , 𝑚2 , … , 𝑚𝑙 , dengan 𝑙 = 1,2, … ,16. Selanjutnya, menggunakan kunci umum 𝑒 dan
nilai modulus 𝑛, setiap blok plaintext m
dienkripsi menggunakan persamaan (2). Hasil
dari enkripsi ini selengkapnya dituliskan dalam
tabel 7.
Tabel 7. Hasil Enkripsi Algoritma RSA
l ml Plaintext ASCII ci = mi53003 mod 53663
1 m1 0 48 18442
2 m2 5 53 34408
3 m3 a 97 44202
4 m4 5 53 34408
5 m5 f 102 39654
6 m6 9 57 40732
7 m7 5 53 34408
8 m8 7 55 37281
9 m9 8 56 23942
10 m10 1 49 11422
11 m11 4 52 29517
12 m12 4 52 29517
13 m13 3 51 21777
14 m14 9 57 40732
15 m15 d 100 13966
16 m16 6 54 22362
Implementasi Kombinasi Algoritma DES
dan RSA pada Sistem Listrik Prabayar
Sistem listrik prabayar adalah sistem
penyaluran listrik dimana pengguna listrik
harus membayar terlebih dahulu untuk bisa
menggunakan listrik sesuai dengan jumlah
listrik yang dibayar. Sistem pembayaran pada
listrik prabayar dilakukan dengan
menggunakan kode voucher. Kode voucher
tersebut akan dimasukkan ke dalam KWH
meter khusus yang disebut dengan Meter
Prabayar (MPB) dengan bantuan keypad yang
sudah tersedia di MPB.
Kode voucher listrik prabayar dibentuk
berdasarkan informasi pengguna listrik seperti
nomor meteran, jumlah pulsa listrik yang akan
digunakan, tanggal dan jam pembelian pulsa
listrik. Selanjutnya informasi pengguna listrik
tersebut dienkripsi menggunakan kombinasi
algoritma DES dan algoritma RSA sehingga
menghasilkan chipertext yang akan menjadi
kode voucher pulsa listrik.
Gambar 2. Contoh Pembentukan Kode
Dalam gambar 2, diperlihatkan 16
digit plaintext algoritma DES dirangkai
dari 4 digit tanggal pembelian pulsa, 2
digit jam pembelian pulsa, 7 digit nomor
meteran, dan 3 digit jumlah pulsa.
Selanjutnya, hasil dari chipertext DES
“05a5f957814439d6” diambil 4 digit, yaitu
digit ke-3 sampai digit ke-6. Pengambilan
4 digit tersebut bertujuan agar hasil
chipertext yang dihasilkan tidak lebih dari
30 digit. Kemudian 4 digit tersebut
menjadi plaintext pada algoritma RSA
“a5f9” untuk dilakukan proses enkripsi
lagi. Hasil enkripsi pada algoritma RSA
berdasarkan pada Tabel 4.4 yang diambil
dari m3 sampai m6 adalah “44202 34408
39654 40732”. Hasil enkripsi algoritma
RSA inilah yang menjadi kode voucher
pulsa listrik prabayar.
Prosiding SEMIRATA Bidang MIPA 2016; BKS-PTN Barat, Palembang 22-24 Mei 2016
607
5. KESIMPULAN
Berdasarkan hasil dan pembahasan, dapat
diambil beberapa kesimpulan, yaitu:
1. Algoritma DES dan algoritma RSA dapat
dikombinasikan dengan mengenkripsi
plaintext menggunakan algoritma DES.
Hasil chipertext dari algoritma DES
tersebut menjadi plaintext pada algoritma
RSA, yang selajutnya dienkripsikan
kembali menggunakan algoritma RSA
sehingga menghasilkan chipertext yang
baru.
2. Kombinasi algoritma DES dan
algoritma RSA dapat
diimplementasikan pada sistem listrik
prabayar. Sistem pembayaran pada
listrik prabayar dilakukan dengan menggunakan kode voucher. Kode
dibentuk berdasarkan informasi pengguna
listrik yang merangkai 16 digit bilangan
hexadesimal dan dienkripsi oleh algoritma
DES dan algoritma RSA.
6. REFERENSI
Akbar, A. 2011. Algoritma Kunci Simetris dan
Asimetris. http://auliaakbar90.bl
ogspot.co.id/2011/04/algoritma-kunci-simetris-
asimetris.html. (diakses 3 november 2015,
15.17 WIB).
Ariyus, D. 2008. Pengantar Ilmu Kriptografi: Teori
Analisis dan Implementasi. Yogyakarta: ANDI
Offset.
Aulia, H, 2013. Kombinasi Algoritma RSA dan
Algoritma Elgamal dalam Implementasi
Algoritma Kriptografi. Skripsi. Medan:
Universitas Sumatera Utara.
Wahana Komputer. 2010. The Best Encryption
Tools. Indonesia: Elex Media Komputindo.
Munir, R. 2004. Data Encryption Standard (DES).
Bandung: Institut Bandung.Teknologi
Munir, R. 2004. Pengantar Kriptografi. Bandung:
Institut Teknologi Bandung.
Rhee, M. Y. 2003. Internet Security: Cryptographic
Principles, Algorithms and Protocols.
Chichester: John Wiley & Sons Ltd.