Implementasi Kombinasi Algoritma Columnar Transposition Cipher dan Data Encryption Standard pada Aplikasi Enkripsi dan Dekripsi Teks Berbasis Android

BAB 2
LANDASAN TEORI

2.1. Kriptografi
Kata Cryptography berasal dari bahasa Yunani yang terdiri dari dua kata yaitu kryptos
yang berarti rahasia dan graphein yang berarti tulisan (Mollin,2007). Kriptografi
adalah ilmu mengenai tekhnik enkripsi dimana data diacak menggunakan suatu kunci
enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci
dekripsi (Kromodimoeljo, 2009).
Kriptografi merupakan cabang ilmu dari kriptologi. Pelaku kriptografi ialah
kriptografer (cryptographer), yang bertugas untuk mengubah plainteks menjadi
cipherteks dengan algoritma dan kunci tertentu. Sedangkan lawan dari kriptografi
adalah kriptanalisis (cryptanalysis), merupakan ilmu yang memecahkan cipherteks
menjadi plainteks kembali tanpa mengatahui kunci, dan pelakunya ialah kriptanalis
(criptanalys) (Simamora, 2010).

2.1.1. Sejarah kriptografi
Kriptografi sudah dimulai sejak 4000 tahun yang lalu oleh orang-orang Mesir melalui
hieroglyph.

Gambar 2.1 Hieroglyph oleh Mesir (Ariyus, 2008)


Universitas Sumatera Utara

7

Sementara, pada zaman Romawi Kuno, kriptografi dimulai saat Julius Caesar ingin
mengirimkan pesan rahasia kepada seseorang jenderal di medan perang. Pesan
tersebut harus dikirimkan melalui seorang kurir. Karena pesan tersebut mengandung
rahasia, Julius Caesar tidak ingin pesan rahasia tersebut sampai terbuka di jalan.
Kemudian Julius Caesar mengacak pesan tersebut hingga menjadi suatu pesan yang
tidak dapat dipahami siapapun kecuali jenderalnya saja. Tentu sang jenderal telah
diberi tahu sebelumnya bagaimana cara membaca pesan tersebut. Yang dilakukan
Julius Caesar adalah mengganti semua susunan alfabet dari a,b,c yaitu a menjadi d, b
menjadi e, c menjadi f dan seterusnya (Ariyus, 2008).
Di Yunani pada permulaan 400 SM, kriptografi telah digunakan oleh tentara Sparta
dengan menggunakan Scytale.

Gambar 2.2 Scytale (Ariyus, 2008)

2.1.2. Proses kriptografi

Dalam proses kriptografi secara umum, terdapat istilah-istilah seperti plainteks,
cipherteks, enkripsi, dan dekripsi. Plainteks merupakan pesan asli yang dapat
dimengerti oleh banyak orang. Cipherteks adalah pesan asli yang sudah dienkripsi
sehingga hanya orang yang mengetahui kuncinyalah yang dapat membacanya.
Enkripsi merupakan proses penyandian dari plainteks menjadi cipherteks. Sedangkan
dekripsi adalah proses pengembalian cipherteks menjadi plainteks kembali.
Plainteks

Plainteks

Cipherteks
Enkripsi

Dekripsi

Gambar 2.3 Proses Kriptografi (Simamora, 2010)

Universitas Sumatera Utara

8


2.1.3. Algoritma kriptografi
Algoritma ditinjau dari asal usul kata, kata algoritma mempunyai sejarah yang
menarik, kata ini muncul dalam kamus Webster sampai akhir tahun 1957 hanya
menemukan kata algorism yang mempunyai arti proses perhitungan dengan bahasa
Arab. Algoritma berasal dari nama penulis buku Arab yang terkenal yaitu Abu Ja’far
Muhammad Ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca oleh orang barat
menjadi algorism). Kata algorism lambat laun berubah menjadi algorithm (Ariyus,
2006).
Dalam kriptografi tentulah kita harus memenuhi aspek-aspek keamanan sehingga
plainteks yang dienkripsipun

aman. Adapun aspek-aspek keamanan di dalam

kriptografi adalah :
1. Confidentiality (Kerahasiaan).
Layanan yang ditujukan untuk menjaga pesan tidak dapat dibaca oleh pihak-pihak
yang tidak berhak.
2. Authentication (Otentifikasi).
Penerima pesan dapat memastikan keaslian pengirimnya. Penyerang tidak dapat

berpura-pura sebagai penerima ataupun pengirim pesan.
3. Integrity (Data integritas).
Penerima harus dapat memeriksa apakah pesan telah dimodifikasi di tengah jalan
atau tidak. Seorang penyusup seharusnya tidak dapat memasukkan tambahan ke
dalam pesan, mengurangi atau mengubah pesan selama data berada di perjalanan.
4. Nonrepudiation (Nirpenyangkalan).
Pengirim tidak dapat mengelak bahwa dia telah mengirim pesan, penerima juga
tidak dapat mengelak bahwa dia telah menerima pesan tersebut. (Andri, 2009)

2.2. Jenis-jenis Algoritma Kriptografi
Berdasarkan perkembangannya, algoritma kriptografi dibagi menjadi 2, yaitu
Kriptografi Klasik dan Kriptografi Modern. Kriptografi Klasik dibagi lagi menjadi 2,
yaitu Substitusi dan Transposisi. Sementara Kriptografi Modern dibagi menjadi 2,
yaitu Algoritma Simetris dan Algoritma Asimetris.

Universitas Sumatera Utara

9

2.2.1. Kriptografi klasik

Kriptografi klasik merupakan suatu algoritma yang menggunakan satu kunci untuk
mengamankan data, teknik ini sudah digunakan beberapa abad yang lalu. Dua teknik
dasar yang biasa digunakan pada algoritma jenis ini, diantaranya adalah teknik
substitusi dan transposisi (Ariyus, 2006).

2.2.2. Teknik substitusi
Teknik substitusi mengganti setiap karakter dari plainteks dengan karakter lainnya
untuk menghasilkan cipherteks (Mollin, 2007). Ada empat istilah dari substitusi cipher
diantaranya adalah monoalfabet, polyalfabet, monograph, dan polygraph. (Ariyus,
2006). Contoh-contoh teknik substitusi seperti Caesar cipher, Playfair cipher, Shift
cipher, Hill cipher, dan Vigenere cipher.

2.2.3. Teknik transposisi
Pada teknik transposisi menggunakan permutasi karakter, yang mana dengan
menggunakan teknik ini pesan yang asli tidak dapat dibaca kecuali memiliki kunci
untuk mengembalikan pesan tersebut kebentuk semula atau disebut dengan dekripsi.

2.2.4. Kriptografi modern
Enkripsi modern berbeda dengan enkripsi konvensional dikarenakan pada enkripsi
modern sudah menggunakan komputer dalam pengoperasiannya, yang berfungsi

mengamankan data baik yang ditransfer melalui jaringan komputer maupun tidak, hal
ini sangat berguna untuk melindungi privasi.
Pada kriptografi klasik, menggunakan sistem substitusi dan permutasi karakter dari
plainteks. Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu
urutan digital biner (bit) yaitu 1 dan 0, yang umum digunakan untuk schema encoding
American Standard Code for Information Interchange (ASCII).

2.2.5. Algoritma Simetris
Algoritma Simetris adalah algoritma yang menggunakan kunci yang sama pada
enkripsi dan dekripsinya. Bila mengirim pesan dengan algoritma ini, si penerima

Universitas Sumatera Utara

10

pesan harus diberitahu kunci dari pesan tersebut agar bisa mendekripsikan pesan yang
dikirim. Keamanan dari pesan yang menggunakan algoritma ini tergantung pada
kunci. Contoh algoritma simetris adalah Data Encryption Standard (DES), Advance
Encryption Standard (AES), International Data Encryption Algoritma (IDEA), A5,
dan RC4.


Teks

Algoritma
Enkripsi

Cipherteks

Algoritma
Dekripsi

Teks

Kunci Rahasia

Gambar 2.4 Kriptografi Simetris (Simamora, 2010)

2.2.6. Algoritma asimetris
Algoritma asimetris disebut juga dengan kriptografi kunci publik karena algortima ini
memiliki kunci yang berbeda untuk enkripsi dan dekripsi, dimana enkripsi

menggunakan public key dan untuk dekripsinya menggunakan private key. Public key
dan private key harus saling berpasangan secara matematis. Dengan memberikan
public key, pembuat kunci berhak memberikan dan mendapatkan public key agar
pesan aman dan hanya bisa dibaca oleh si pembuat kunci. Contoh algoritma asimetris
yang terkenal adalah RSA (Rivest, Shamir, dan Adleman).

Gambar 2.5 Kriptografi Asimetris (Simamora, 2010)

2.3. Algoritma Columnar Transposition Cipher (CTC)
Columnar Transposition Cipher merupakan salah satu contoh dari Kriptografi Klasik
dengan menggunakan teknik transposisi. Teknik ini dipakai dengan cara mengubah
urutan huruf-huruf yang ada di dalam plainteks menjadi cipherteks dengan cara
tertentu agar isi pesan tersebut tidak dimengerti kecuali oleh orang-orang tertentu.
Cara kerja Columnar Transposition Cipher adalah menulis karakter plainteks
dengan orientasi baris dengan panjang karakter yang sama dan kemudian cipherteks

Universitas Sumatera Utara

11


didapatkan dengan menulis ulang dengan orientasi kolom. Urutan kolom disepakati
sebelumnya untuk mempersulit analis sandi.
Misalnya ada plainteks “AKU ORANG SIANTAR”, maka dengan menulis dalam
tabel yang terdiri dari 6 kolom dengan orientasi baris, maka didapatkan :
Kunci

:4

2

1

6

3

5

Teks Asli


:A

K

U

O

R

A

A

N

G

S


I

A

N

T

A

R

Y

Z

Perhatikan string YZ pada baris terakhir digunakan untuk mengisi sel kosong pada
tabel. Sel kosong tersebut dapat diisi dengan karakter apa saja, misalnya XX ataupun
dikosongkan. Setelah tabel terbentuk, maka didapatlah cipherteks dengan urutan
berdasarkan kunci dengan orientasi kolom. Sehingga didapatkanlah cipherteks :
“UGAKNTRIYAANAAZOSR”
Untuk dekripsinya hampir sama dengan enkripsi, namun pada dekripsi jumlah baris
dapat dihitung dengan membagi panjang cipherteks dengan panjang kunci. Kemudian
isi kolom terlebih dahulu dengan sesuai dengan kunci dengan teks sandi sampai baris
terakhir. Teks asli dibaca dari baris pertama sampai baris terakhir.

2.4. Algoritma Data Encryption Standard (DES)
Algoritma DES merupakan algoritma kriptografi simetri dan tergolong ke dalam
cipher blok

2.4.1. Sejarah singkat DES
DES merupakan standar cipher blok dengan kunci simetri yang sudah cukup tua.
Pertama kali diadopsi menjadi standar sandi blok oleh NIST (National Institute of
Standards and Techology) melalui publikasi FIPS-PUBS 46 (Federal Information
Processing Standard 46) pada tahun 1977. Meskipun sudah lama, DES masih dipakai
karena cepat dan cukup aman walaupun ada beberapa bukti DES tidak cukup aman
untuk beberapa jenis serangan.
Pada 1973, National Bureau of Standard (NBS), sekarang menjadi NIST,
mengeluarkan proposal untuk kode standar nasional. Proposal tersebut memberikan
kriteria untuk standar algoritma kriptografi sebagai berikut (Schneier, 1996):

Universitas Sumatera Utara

12

a. Algoritma harus bisa memberikan level keamanan yang tinggi.
b. Algoritma harus lengkap dan mudah dimengerti.
c. Keamanan algoritma harus mempunyai kunci, bukan tergantung dari algoritma
yang ada.
d. Algoritma harus available untuk semua user.
e. Algoritma harus dapat beradaptasi dengan berbagai aplikasi.
f. Algoritma harus ekonomis. Perangkat yang menggunakannya tidak membutuhkan
suatu alat yang canggih.
g. Algoritma harus efisien bila digunakan.
h. Algoritma harus valid.
i. Algoritma harus exportable.

Algoritma DES merupakan salah satu proposal terbaik tahun 1977. Seiring
pesatnya pekembangan komputer pada awal 1980-an dan semua spesifikasi DES telah
diketahui publik, maka menjadi semakin mudahlah untuk menganalisa kedalaman
struktur dari cipher tersebut. Selama periode ini, komunitas riset kriptografi sipil
bertumbuh juga dan DES menjadi tujuan riset utamanya. Namun, tidak ada
kelemahan-kelemahan serius yang ditemukan sampai tahun 1990. Awalnya, DES
digunakan sebagai standar hanya untuk 10 tahun, sampai 1987. Karena penggunaan
DES yang luas dan kelemahan keamanan, NIST menegaskan penggunaan cipher
nasional sampai 1999, ketika akhirnya digantikan oleh Advanced Encryption Standard
(AES) (Paar, 2010).

2.4.2. Algoritma DES
DES termasuk ke dalam sistem kriptografi kunci simetri dan tergolong ke dalam
cipher blok. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsi 64 bit
plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal
(internal key). Kunci internal dibangkitkan dari kunci eksternal (external key) yang
panjangnya 64 bit. Tujuan dari algoritma DES adalah untuk menyediakan metode
standar untuk melindungi data-data yang penting, komersil, ataupun lainnya
(Mahajan, 2013).

Universitas Sumatera Utara

13

Blok plainteks

IP

16 kali

Enchipering

IP-1

Cipherteks
Gambar 2.6 Skema global kriptografi DES (Syahputra, 2009)

Keterangan skema global kriptografi DES pada gambar 2.6 adalah sebagai berikut:
1. Blok plainteks dipermutasikan dengan matriks permutasi awal (Initial Permutation,
IP).
2. Hasil permutasi awal kemudian dienchipering sebanyak 16 kali (16 putaran). Setiap
putaran menggunakan kunci internal yang berbeda.
3. Hasil enciphering kemudian dipermutasikan dengan matriks permutasi balikan
(invers initial permutation, IP-1) menjadi blok cipherteks.

Di dalam proses enchipering, blok plainteks dibagi menjadi dua bagian, kiri (L)
dan kanan (R), yang masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke
dalam 16 putaran DES. Pada setiap putaran i, blok R merupakan masukan untuk
fungsi transformasi yang disebut F. Pada fungsi F, blok R dikombinasikan dengan
kunci internal Ki. Keluaran dari fungsi F di-XOR-kan dengan blok L untuk
mendapatkan blok R yang baru. Sedangkan blok L yang baru langsung diambil dari
blok R sebelumnya. Ini adalah satu putaran DES.

Universitas Sumatera Utara

14

Plainteks

IP

L0

R0

K1
f

R1=L0⊕f(R0,K1)

L1=R0

f

K2

L2=R1

R2=L1⊕f(R2,K2)

L15=R14

R15=L14⊕ f(R14,K15)

f

R16=L15⊕f(R15,K16)

K16

L16=R15

��−1
Cipherteks
Gambar 2.7 Proses Enkripsi DES (Schneier, 1996)

Universitas Sumatera Utara

15

Cipherteks
��−1
L16

R16

f

L15=R16

K16

R15=L0⊕f(R16,K16)

f

K15

L14=R15

R14=L15⊕f(R15,K16)

L1=R2

R1=L2⊕f(R1,K2)

f

R0=L1⊕ f(R1,K1)

K1

L0=R1

IP

Plainteks
Gambar 2.8 Proses Dekripsi DES (Schneier, 1996)

Universitas Sumatera Utara

16

2.4.3. Permutasi Awal (IP)
Hal pertama yang dikenakan pada teks asli di DES adalah permutasi dengan boks
permutasi IP.
Tabel 2.1 Boks permutasi awal (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
Boks permutasi IP didefinisikan sebagai konstan tabel. Tujuan dari permutasi awal
adalah untuk mengacak bit dari plainteks. Dari tabel diatas dapat diketahui bahwa
nantinya bit ke-1 diisi oleh bit ke-58 plainteks, bit ke-2 diisi oleh bit ke-50 plainteks,
begitu seterusnya sampai bit terakhir diisi oleh bit ke-7 plainteks.
Sebagai pasangan boks permutasi inisial, juga ditetapkan boks invers permutasi
inisial IP-1. Boks invers permutasi inisial dipakai diakhir proses enkripsi/dekripsi DES.
Tabel 2.2 Boks invers permutasi awal (IP-1)
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41

9

49 17 57 25

2.4.4. Ronde DES
Jumlah ronde/putaran pada DES adalah sebanyak 16 kali. Setiap ronde membutuhkan
masukan dari turunan teks asli berukuran 64 bit dan turunan kunci DES yang disebut
kunci ronde berukuran 48 bit.

Universitas Sumatera Utara

17

Li-1

Ri-1

32 bit

32 bit

F
32 bit
Permutasi
Ekspansi
48 bit
(E)

48 bit
+

Ki

48 bit

Substitusi
(S)

32 bit
Permutasi (P)
32 bit

+

Li-1

32 bit

Ri-1

32 bit

Gambar 2.9 Algoritma ronde DES (Sadikin, 2012)

Perhatikan Gambar 8, jika masukan untuk ronde ke-i adalah Li-1 dan Ri-1 yang
masing-masing berukuran 32 bit, dan menggunakan kunci ronde ke-i Ki serta fungsi

Universitas Sumatera Utara

18

DES diberi label F maka secara keseluruhan ronde ke-i mentransformasi Li-1 dan Ri-1
menjadi Li dan Ri dengan hubungan sebagai berikut:
Li = Ri-1
Ri = Li-1 ⊕ F(Ri-1, Ki)
2.4.5. Fungsi DES
Fungsi DES adalah blok F pada Gambar 8 memiliki masukan paruh sebelah kanan
biner dari blok sebelumnya yaitu Ri-1 dan kunci ronde K1. Fungsi DES merupakan
cipher produk terdiri dari beberapa boks permutasi, substitusi dan operator XOR.
Komponen pertama yang dikenakan pada Ri-1 adalah boks permutasi ekspansi dari 32
bit menjadi 48 bit. Setelah itu, keluaran boks permutasi dicampur dengan kunci ronde
K1 dengan operator XOR. Hasil keluaran XOR menjadi masukan boks substitusi yang
mengubah 48 bit menjadi 32 bit kembali dan terakhir dilakukan permutasi biasa
terhadap 32 bit keluaran boks substitusi untuk akhirnya dicampur dengan Li-1 dengan
operator XOR. Hasil akhir fungsi DES ditetapkan untuk Ri.

2.4.6. Permutasi Ekspansi (E)
Boks permutasi ekspansi (E) pada fungsi DES mengubah masukan 32 bit menjadi 48
bit dengan mengulang beberapa bit pada masukan.
Tabel 2.3 Boks permutasi ekspansi (E)
32 1

2

3

4

5

4

5

6

7

8

9

8

9

10 11 12 13

12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1

2.4.7. Substitusi(S)
Hasil operasi XOR antara kunci ronde Ki dan keluaran boks permutasi ekspansi (E)
menjadi masukan boks substitusi (S). Ukuran keluaran boks substitusi (S) adalah 32

Universitas Sumatera Utara

19

bit. Boks substitusi (S) direpresentasikan sebagai 8 tabel substitusi (S1...S8) setiap
tabel memiliki masukan 6 bit dan keluaran 4 bit. 48 bit masukan dari hasil XOR boks
permuasi ekspansi (E) dengan kunci ronde Ki dibagi menjadi 8 bagian, tiap bagian
disusun oleh 6 bit. 6 bit paling kiri menjadi masukan untuk tabel substitusi S1 dan
seterusnya sampai dengan 6 bit paling kanan menjadi masukan untuk tabel substitusi
S8.
Tabel 2.4 Boks substitusi (S)

S1

S2

S3

S4

S5

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

14

4

13

1

2

15

11

8

3

10

6

12

5

9

0

7

1

0

15

7

4

14

2

13

1

10

6

12

11

9

5

3

8

2

4

1

14

8

13

6

2

11 15 12

9

7

3

10

5

0

3

15

12

8

2

4

9

1

7

5

11

3

14

10

0

6

13

0

15

11

8

14

6

11

3

4

9

7

2

13

12

0

5

10

1

3

13

4

7

15

2

8

14 12

0

1

10

6

9

11

5

2

0

14

7

11 10

4

13

1

5

8

12

6

9

3

2

15

3

13

8

10

1

3

15

4

2

11

6

7

12

0

5

14

9

0

10

0

9

14

6

3

15

5

1

13

12

7

11

4

2

8

1

13

7

0

9

3

4

6

10

2

8

5

14

12

11

15

1

2

13

6

4

9

8

15

3

0

11

1

2

12

5

10

14

7

3

1

10

13

0

6

9

8

7

4

15

14

3

11

5

2

12

0

7

13

14

3

0

6

9

10

1

2

8

5

11

12

4

15

1

13

8

11

5

6

15

0

3

4

7

2

12

1

10

14

9

2

10

6

9

0

12

11

7

13 15

1

3

14

5

2

8

4

3

3

15

0

6

10

1

13

8

9

4

5

11

12

7

2

14

0

2

12

4

1

7

10

11

6

8

5

3

15

13

0

14

9

1

14

11

2

12

4

7

13

1

5

0

15

10

3

9

8

6

2

4

2

1

11 10

13

7

8

15

9

12

5

6

3

0

14

3

11

8

12

7

14

2

13

6

15

0

9

10

4

5

3

1

Universitas Sumatera Utara

20

S6

S7

S8

0

12

1

10 15

9

2

6

8

0

13

3

4

14

7

5

11

1

10

15

4

2

7

12

9

5

6

1

13

14

0

11

3

8

2

9

14

15

5

2

8

12

3

7

0

4

10

1

13

11

6

3

4

3

2

12

9

5

15 10 11 14

1

7

6

0

8

13

0

4

11

2

14 15

0

8

13

3

12

9

7

5

10

6

1

1

13

0

11

7

4

9

1

10 14

3

5

12

2

15

8

6

2

1

4

11 13 12

3

7

14 10 15

6

8

0

5

9

2

3

6

11

13

8

1

4

10

7

9

5

0

15

14

2

3

12

0

13

2

8

4

6

15

11

1

10

9

3

14

5

0

12

7

1

1

15

13

8

10

3

7

4

12

5

6

11

0

14

9

2

2

7

11

4

1

9

12

14

2

0

6

10

13

15

3

5

8

3

2

1

14

7

4

10

8

13 15 12

9

0

3

5

6

11

Tiap boks substitusi kompresi (S) mendapat masukan 6 bit misalnya masukan
adalah x=x1x2x3x4x5x6, maka bit ke-1 dan bit ke-6 merujuk pada indeks baris x1x6 dan
bit ke-2 sampai bit ke-5 mendefenisikan indeks kolom yaitu x2x3x4x5. Misalnya untuk
masukan pada boks substitusi kompresi DES memiliki rangkaian bit blok 6-bit ke-8
adalah 110011. Karena blok 6-bit tersebut berada pada bagian ke-8, maka dipakailah
tabel S8. Indeks baris berada pada bit x1x6 yaitu 11 yang kemudian diubah ke dalam
desimal sehingga didapatlah indeks baris pada baris ke-3. Sedangkan indeks kolom
dilihat pada bit x2x3x4x5 yaitu 1001 yang kemudian diubah ke dalam desimal dan
diketahuilah indeks kolom berada pada kolom ke-9. Kemudian didapatlah nilai
substitusinya dengan melihat tabel S8 pada baris ke-3 kolom ke-9 yaitu bernilai 12
desimal atau dalam bentuk biner 1100.

2.4.8. Permutasi (P)
Keluaran boks substitusi (S) menjadi masukan pada boks permutasi (P) yang
berukuran 32 bit. Implementasi permutasi (P) sama dengan boks permutasi lainnya,
yaitu mengganti setiap urutan bit sesuai dengan boks permutasinya.

Universitas Sumatera Utara

21

Tabel 2.5 Boks permutasi (P)
16 7

20 21 29 12 28 17

1

15 23 26 5

2

8

18 31 10

24 14 32 27 3

19 13 30 6

22 11 4

9
25

2.4.9. Implementasi fungsi (F) DES
Fungsi (F) DES memiliki 2 masukan yaitu permutasi awal sebelah kanan (R) yang
berukuran 32 bit dan kunci ronde (K)

yang berukuran 48 bit. Fungsi DES (F)

menggunakan permutasi ekspansi (E) untuk mengubah masukan 32 bit permutasi awal
sebelah kanan (R) menjadi 48 bit yang kemudian keluarannya digabung dengan kunci
ronde (K) menggunakan operator XOR. Setelah itu, boks substitusi (S) mengubah
hasil operasi XOR yang berukuran 48 bit kembali menjadi 32 bit. Kemudian hasilnya
menjadi masukan pada boks permutasi (P) dan hasilnya menjadi keluaran fungsi (F)
DES.

2.4.10. Pembangkitan Kunci Ronde
DES memiliki kunci berukuran 64 bit. Kunci ini tersusun oleh data dan bit parity (bit
penguji kesalahan transmisi). Untuk membangkitkan kunci ronde, bit parity kunci
DES yang terletak pada bit-bit diposisi kelipatan 8 yaitu 8, 16, 24, 32, 40, 48, 56, dan
64 diabaikan sehingga ukuran kunci DES yang sebenarnya adalah 56 bit.
Tabel 2.6 Boks permutasi 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

Universitas Sumatera Utara

22

Kunci ronde 56 bit tadi menjadi masukan pada boks permutasi PC1 dan
keluarannya (kunci tengah) menjadi masukan fungsi pembangkit kunci ronde. Sama
seperti fungsi (F) DES, fungsi pembangkit kunci ronde dilakukan tiap ronde. Masukan
fungsi pembangkit kunci ronde adalah kunci tengah yang dihasilkan ronde
sebelumnya. Khusus ronde pertama, masukannya adalah keluaran boks permutasi
PC1.

Gambar 2.10 Pembangkit kunci DES (Ariyus, 2008)

Untuk membangkitkan kunci ronde, pada setiap ronde dilakukan operasi left shift
pada tiap separuh kunci tengah (28 bit) sebanyak 1 kali pada iterasi ronde ke-1, ke-2,
ke-9, dan ke-16 atau 2 kali pada iterasi ronde yang lainnya. Setelah itu dilakukan
permutasi PC2. Tujuan dari permutasi PC2 ini adalah untuk mengompres kedua hasil
left shift yang berukuran 56 bit menjadi 48 bit yang akan menjadi kunci ronde (K).

Universitas Sumatera Utara

23

Tabel 2.7. Boks permutasi PC2
14 17 11 24

1

5

3

28

15

6

21 10 23 19 12

4

26

8

16

2

7

27 20 13

41 52 31 37 47 55 30 40
51 45 33 48 44 49 39 56
34 53 46 42 50 36 29 32

2.4.11. Dekripsi DES
Proses dekripsi terhadap teks asli merupakan kebalikan dari proses enkripsi. DES
menggunakan algoritma yang sama untuk proses enkripsi dan dekripsi. Jika pada
proses enkripsi urutan kunci ronde yang digunakan adalah K1, K2, …, K16, maka pada
proses dekripsi urutan kunci ronde yang digunakan adalah sebaliknya, yaitu K16, K15,
…, K1. Masing-masing putaran 16, 15, …, 1, menghasilkan keluaran pada setiap
putaran deciphering sebagai berikut:
Li = Ri -1
Ri = Li-1 ⊕ F(Ri-1, Ki)
Dalam hal ini, (R16, L16) adalah blok masukan awal untuk deciphering. Blok (R16,
L16) diperoleh dengan mempermutasikan chiperteks dengan invers permutasi awal (IP 1

). Pra-keluaran dari deciphering adalah (L0, R0). Dengan permutasi awal (IP) akan

didapatkan kembali blok plainteks semula.
Selama deciphering, K16 dihasilkan dari (C16, D16) dengan permutasi PC-2. Tentu
saja (C16, D16) tidak dapat diperoleh langsung pada permulaan deciphering akan tetapi
karena (C16, D16) = (C0, D0), maka K16 dapat dihasilkan dari (C0, D0) tanpa perlu lagi
melakukan pergeseran bit. Catatlah bahwa (C0, D0) yang merupakan bit-bit dari kunci
eksternal K yang diberikan pengguna pada waktu dekripsi. Selanjutnya, K15 dihasilkan
dari (C15, D15) yang diperoleh dengan cara menggeser C16 (yang sama dengan C0) dan
D16 (yang sama dengan C0) satu bit ke kanan. Sisanya, K14 sampai K1 dihasilkan dari
(C14, D14) sampai (C1, D1). Catatlah bahwa (Ci–1, Di–1) diperoleh dengan menggeser Ci
dan Di 1 kali pada iterasi ronde ke-1, ke-2, ke-9, dan ke-16 atau 2 kali pada iterasi
ronde yang lainnya tetapi dengan right shift.

Universitas Sumatera Utara

24

2.5. Android
Salah satu sistem operasi pada smartphone yang terkenal dan banyak digunakan pada
saat ini adalah Android. Android adalah istilah dalam bahasa Inggris yang berarti
“Robot yang menyerupai manusia”. Logo Android sendiri dicerminkan seperti sebuah
robot berwarna hijau, yang mengacu kepada arti kata Android.
Di dalam dunia mobile devices (smartphone dan tablet) sistem operasi yang
menguasai pasar saat ini adalah Android. Menurut data market share dari Gartner, Inc.
Pada pertengahan awal tahun 2013, Android memegang 79% smartphone di seluruh
dunia (Satyaputra, 2014).
Android merupakan sistem operasi yang bersifat open source. Disebut open source
karena source code dari sistem operasi Android dapat dilihat, diunduh, dan
dimodifikasi secara bebas. Android dikembangkan bersama oleh perusahaanperusahaan yang tergabung dalam sebuah konsorium bernama Open Handset Alliance
(OHA). OHA dipimpin oleh Google dan didirikan bersama dengan 34 perusahaan
lainnya, dengan tujuan untuk mengembangkan teknologi mobile device.
Berikut ini merupakan versi Android sejak pertama kali rilis:
1.

Android Versi 1.0

2.

Android Versi 1.1

3.

Android Versi 1.5 (Cupcake)

4.

Android Versi 1.6 (Donut)

5.

Android Versi 2.0 - 2.1 (Eclair)

6.

Android Versi 2.2 (Frozen Yoghurt/Froyo)

7.

Android Versi 2.3 (Gingerbread)

8.

Android Versi 3.0 – 3.2 (Honeycomb)

9.

Android Versi 4.0 (Ice Cream Sandwich/ICS)

10. Android Versi 4.1 - 4.3 (Jelly Bean)
11. Android Versi 4.4 (Kitkat)
12. Android Versi 5.0 - 5.1 (Lollipop)
13. Android Versi 6.0 (Marshmallow)
14. Android Versi 7.0 (Nougat)

Universitas Sumatera Utara

25

2.6. Penelitian yang Relevan
Beberapa penelitian yang telah dilakukan sebelumnya dan berkaitan dengan penelitian
ini adalah :
1. Simamora, F.A (2010) dalam skripsi yang berjudul Implementasi Algoritma Cipher
Transposisi dan Secure Hash Algorithm (SHA) dalam Sistem Pengamanan Data.
Berdasarkan hasil pengujian, sistem pengamanan data dapat dibuat dengan
menggabungkan dua algoritma kriptografi, yaitu Cipher Transposisi dan Secure
Hash Algorithm (SHA). Serta teknik penerapannya dapat diterapkan pada file
biner.
2. Penelitian yang dilakukan oleh Andri, M.Y (2009). Membahas tentang
Implementasi Algoritma Kriptografi DES, RSA dan Algoritma Kompresi LZW pada
Berkas Digital. Proses enkripsi dapat dilakukan dengan menggunakan dua buah
algoritma kriptografi yang berbeda yaitu algoritma kriptografi simetri dan
algoritma asimetri. Penggunaan dua buah algoritma kriptografi akan membuat
berkas cipherteks semakin susah untuk dipecahkan. Karena seorang kriptanalis
tidak akan mengetahui algoritma apa yang digunakan pada berkas tersebut.
3. Syahputra, I (2009) dalam skripsi yang berjudul Simulasi Kerahasiaan atau
Keamanan Informasi dengan menggunakan Algoritma DES (Data Encryption
Standard). Berdasarkan hasil pengujian, Waktu yang diperlukan untuk proses
enkripsi dan dekripsi dipengaruhi oleh ukuran file, spesifikasi, dan proses lain yang
sedang dilakukan oleh perangkat keras.

Universitas Sumatera Utara