7
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; 1 email: [email protected], 2 [email protected], 3 [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

KOMBINASI ALGORITMA DES DAN ALGORITMA RSA …eprints.unsri.ac.id/6891/1/Kusmiati_et_al_(2016).pdf · In the prepaid electricity system, the users have to pay in advance for the purchase

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],

[email protected],

[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.