BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018....

16
3 BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI 2.1. Histori Penelitian Penelitian yang berjudul A Hybrid RSA and RC6 Based Secure Image Cryptography to Minimize Entropy and Enhance Correlation, melakukan penggabungan antara algoritma RSA dan RC6 untuk meningkatkan keamanan kriptografi pada file gambar. Kesimpulan dari penelitian ini menjelaskan bahwa adanya struktur keamanan pada basis data gambar. Enkripsi dengan RSA dan RC6 yang digunakan dapat memberdayakan variabilitas kunci dan ukuran sehingga keamanannya dapat berkembang (Chaturvedi & Jain, 2016). Penelitian lain yang berjudul Polynomial Functions dan Implementasinya dalam Algoritma Advanced Encryption Standard pada Database Accounting, melakukan implementasi algoritma AES untuk mengenkripsi database khususnya database accounting. Tujuannya yaitu memberi keamanan pada informasi yang terdapat dalam database agar tidak diketahui orang lain. Adapun kesimpulan yang diambil dalam penelitian ini bahwa AES merupakan algoritma kriptografi yang menggunakan fungsi polynomial dalam tahapan proses enkripsi dan dekripsinya. Algoritma AES banyak diimplementasikan pada database accounting dengan tujuan untuk mengamankan data atau informasi yang terdapat didalam database, sehingga walaupun data tersebut diketahui atau bahkan dicuri oleh pihak yang tidak berhak namun pihak tersebut tidak bisa mengetahui isinya (Winarno, Cahyanto, & Mulyadi, 2012). Penelitian yang berjudul Aplikasi Pengamanan Dokumen Office Dengan Algoritma Kriptografi Blowfish, melakukan implementasi algoritma Blowfish untuk mengamankan teks dokumen office. Kesimpulan dari penelitian ini yaitu, aplikasi ini dapat mengenkripsi dan mendekripsi teks dokumen Microsoft Office 2003 yang berekstensi .doc dan xls. namun ukuran file yang terenkripsi masih terlalu besar, dan hanya dapat mengenkripsi dan mendekripsi file dengan format .doc dan xls saja (Pratama, 2013).

Transcript of BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018....

Page 1: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

3

BAB II

TINJAUAN PUSTAKA DAN LANDASAN TEORI

2.1. Histori Penelitian

Penelitian yang berjudul A Hybrid RSA and RC6 Based Secure Image

Cryptography to Minimize Entropy and Enhance Correlation, melakukan

penggabungan antara algoritma RSA dan RC6 untuk meningkatkan keamanan

kriptografi pada file gambar. Kesimpulan dari penelitian ini menjelaskan bahwa

adanya struktur keamanan pada basis data gambar. Enkripsi dengan RSA dan RC6

yang digunakan dapat memberdayakan variabilitas kunci dan ukuran sehingga

keamanannya dapat berkembang (Chaturvedi & Jain, 2016).

Penelitian lain yang berjudul Polynomial Functions dan Implementasinya

dalam Algoritma Advanced Encryption Standard pada Database Accounting,

melakukan implementasi algoritma AES untuk mengenkripsi database khususnya

database accounting. Tujuannya yaitu memberi keamanan pada informasi yang

terdapat dalam database agar tidak diketahui orang lain. Adapun kesimpulan yang

diambil dalam penelitian ini bahwa AES merupakan algoritma kriptografi yang

menggunakan fungsi polynomial dalam tahapan proses enkripsi dan dekripsinya.

Algoritma AES banyak diimplementasikan pada database accounting dengan

tujuan untuk mengamankan data atau informasi yang terdapat didalam database,

sehingga walaupun data tersebut diketahui atau bahkan dicuri oleh pihak yang tidak

berhak namun pihak tersebut tidak bisa mengetahui isinya (Winarno, Cahyanto, &

Mulyadi, 2012).

Penelitian yang berjudul Aplikasi Pengamanan Dokumen Office Dengan

Algoritma Kriptografi Blowfish, melakukan implementasi algoritma Blowfish

untuk mengamankan teks dokumen office. Kesimpulan dari penelitian ini yaitu,

aplikasi ini dapat mengenkripsi dan mendekripsi teks dokumen Microsoft Office

2003 yang berekstensi .doc dan xls. namun ukuran file yang terenkripsi masih

terlalu besar, dan hanya dapat mengenkripsi dan mendekripsi file dengan format

.doc dan xls saja (Pratama, 2013).

Page 2: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

4

Selain itu, penelitian dengan judul Rancang Bangun Sistem Keamanan Data

dengan Menerapkan Modifikasi Penggabungan Algoritma AES 256 dan BASE64,

telah membuat rancangan keamanan data dengan menggunakan modifikasi

penggabungan dua algoritma yaitu AES 256 dan BASE64. Kesimpulan dari

penelitian ini yaitu waktu yang diperlukan untuk melakukan enkripsi dan dekripsi

tidak jauh berbeda. Variasi jumlah karakter dan variasi kunci tidak memerlukan

waktu yang lama dalam memproses enkripsi dan dekripsi (Ramadhan, Andriani,

Puspasari, & Widiyanto, 2014).

Penelitian yang berjudul Analisis Aplikasi Kriptografi untuk Sistem Keamanan

Penyimpanan Data atau Informasi Hasil-Hasil Penelitian yang Bersifat Rahasia,

telah melakukan analisis aplikasi yang menggunakan algoritma MARS dengan

modus ECB (Electronic Code Book). MARS sebagai salah satu kandidat AES,

memiliki kelebihan yaitu mempunyai tingkat keamanan dan proses kecepatan yang

tinggi. Kesimpulan dari penelitian tersebut yaitu, bahwa data yang diproses dapat

dipercaya kerahasiaannya karena telah diacak menggunakan iterasi sebanyak 32

round dan masing-masing round mengalami fungsi feistel, fungsi E dan Sbox

dengan panjang kunci 128 bit. (Ekaputra, 2014)

Penelitian lain yang berjudul Kriptografi Teks dengan Menggunakan

Algoritma LUC, mengimplementasikan algoritma LUC untuk mengamankan teks.

Penelitian tersebut menyimpulkan bahwa operasi pada Algoritma LUC dilakukan

dalam domain bilangan, oleh karena itu sebelum dilakukan enkripsi, teks terlebih

dahulu di konversi kedalam bentuk bilangan. Hasil enkripsi berupa teks yang telah

disandikan dalam bentuk bilangan (Saputra, Bambang, & Suhartono, 2006).

2.2. Landasan Teori

2.2.1. Kriptografi

Kriptografi berasal dari bahasa Yunani, terdiri dari kata kripto dan graphia.

kripto artinya menyembunyikan, sedangkan graphia artinya tulisan. Kriptografi

memiliki 4 komponen utama yaitu plaintext (pesan yang dapat dibaca), ciphertext

(pesan acak yang tidak dapat dibaca), key (kunci untuk melakukan teknik

kriptografi) algorithm (metode untuk melakukan enkrispi dan dekripsi).

Page 3: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

5

Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari tentang

pnyembunyian pesan. Namun, pada saat ini kriptografi diartikan sebagai ilmu yang

bersandarkan pada teknik matematika untuk berurusan dengan keamanan informasi

seperti kerahasiaan, keutuhan data dan otentikasi entitas (Sadikin, 2012).

Kriptografi merupakan teknik dalam upaya mengamankan suatu data dalam

jaringan. Jenis-jenis layanan keamanan jaringan berdasarkan rekomendasi ITU-T

pada dokumen X.800 yaitu Otentikasi, Kendali Akses, Kerahasiaan Data, Keutuhan

Data, Non-Repudiation, Ketersediaan (ITU, 1991).

Secara umum, berdasarkan kesamaan kunci algoritma kriptografi dapat

dibedakan menjadi dua, yaitu algoritma simetrik dan algoritma asimetrik.

Algoritma simetrik merupakan algoritma yang menggunakan kunci enkripsi sama

dengan kunci dekripsi, algoritma ini disebut juga single-key algorithm. Contoh

algoritma simetrik yaitu algoritma RC2, RC4, RC5, RC6, DES, AES, Rijndael,

Blowfish dan Twofish. Sedangkan algoritma asimetrik adalah suatu algoritma yang

memiliki kunci enkripsi dan dekripsi tersendiri, yaitu menggunakan kunci publik

dan kunci privat. Contoh algoritma asimetrik antara lain RSA, El Gamal dan Rabin.

Dalam sistem kriptografi, terdapat empat aspek penting yang merupakan tujuan

fundamental (Schneier, 1996), antara lain:

a. Kerahasiaan (confidentiality)

Kerahasiaan adalah layanan yang digunakan untuk menjada informasi

dari setiap pihak yang tidak berwenang dan hanya dapat diakses oleh orang

yang memiliki hak akses.

b. Integritas data (data integrity)

Integritas data adalah layanan yang bertujuan untuk mencegah

terjadinya pengubahan informasi oleh pihak yang tidak berwenang.

Manipulasi data yang dihindari adalah penyisipan, penghapusan dan

penggantian data.

c. Autentikasi (authentication)

Autentikasi adalah layanan yang terkait dengan identifikasi baik

terhadap pihak yang ingin mengakses sistem informasi ataupun terhadap

keaslian data dari sistem informasi itu sendiri.

Page 4: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

6

d. Ketiadaan penyangkalan (non repudiation)

Ketiadaan penyangkalan adalah layanan yang berfungsi untuk

mencegah terjadinya penyangkalan terhadap suatu aksi yang dilakukan

oleh pelaku sistem informasi.

2.2.2. Rivest Code 6

Rivest Code 6 (RC6) adalah Algoritma yang didasari oleh generasi

sebelumnya, yaitu algoritma RC5. RC6 termasuk dalam algoritma kunci simetris,

dimana kunci enkripsinya sama dengan kunci dekripsinya. Algoritma RC6

dirancang oleh beberapa orang diantaranya: Ronald L Rivest, M.J.B. Robshaw, R.

Sidney dan Y.L. Yin. RC6 mulai dipublikasikan pada tahun 1998.

Algoritma RC6 merupakan salah satu kandidat Advanced Encryption

Standard (AES) yang diajukan oleh RSA Laboratoriest kepada NIST. Ketika

algoritma ini masuk sebagai kandidat AES, maka ditetapkan nilai parameter w =

32, r = 20 dan b bervariasi antara 16, 24, dan 32 byte (Prayudi & Halik, 2017).

Dalam Algoritma RC6, blok data yang diolah ditempatkan dalam register

pada algoritma sehingga data diolah pada tiap register yang ada. Perbedaan RC6

dan RC5 (varian sebelum RC6) yaitu RC5 hanya membagi plaintext menjadi dua

register, sedangkan RC6 memecah bit blok 128 bit plaintext menjadi 4 register.

Karakter-karakter dalam teks yang dienkripsi akan diubah dalam sistem

ASCI. Satu karakter ASCI akan diwakili 8 bit, dimana 28=256, sehingga dalam satu

blok plaintext (32 bit) akan menyimpan 4 karakter, maka akan diambil 16 karakter

dari plaintext.

Seperti pada AES, dalam RC6 juga dikenal istilah padding. Apabila panjang

plaintext dan panjang kunci kurang dari 16 karakter, maka akan dilakukan padding.

Padding dilakukan dengan cara menambahkan bit 0 (nol) pada akhir teks, untuk

mencukupi panjang teks sebanyak 16 karakter.

Proses enkripsi pada RC6 hampir sama dengan proses dekripsi, hanya urutan

prosesnya saja yang dibalik, yaitu: blok data yang diolah sebesar 128 bit yang dibagi

menjadi 4 register. Pada proses enkripsi, inputan berupa plaintext kemudian data

dienkripsi untuk menghasilkan output chipertext. Masing-masing blok data inputan

Page 5: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

7

berukuran 32 bit disimpan dalam register A, B, C dan D, lalu dioperasikan dengan

kunci-kunci yang telah ditentukan. Sedangkan pada proses dekripsi, inputan berupa

chipertext (hasil dari proses enkripsi) kemudian data didekripsi untuk dikembalikan

menjadi plaintext. Kunci yang digunakan dalam proses dekripsi sama dengan kunci

yang digunakan dala proses enkripsi, hanya saja urutan sub kunci pada tiap iterasi

yang dibalik.

2.2.3. Proses Enkripsi RC6

Proses enkripsi pada algoritma RC6 akan mengubah karakter kedalam nilai

ASCII terlebih dahulu. Satu karakter ASCII diwakili 8 bit, dimana 28 =256. Dalam

1 blok plaintext (32 bit) akan menyimpan 4 karakter untuk setiap kali iterasi, maka

akan diambil 16 karakter dari plaintext. Proses padding akan dilakukan jika panjang

plaintext atau panjang kunci kurang dari 16 karakter. Padding dilakukan dengan

cara menambah bit “0” (nol) di akhir teks, sehingga panjang teks dapat mencukupi

16 karakter. Urutan langkah proses enkripsi algoritma RC6 dapat dilihat pada

Gambar 2.1.

Gambar 2. 1 Proses Enkripsi RC6 (Wahyuni, 2017)

Page 6: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

8

Sebelum karakter diubah dalam nilai ASCII, langkah pertama dalam enkripsi

dengan algoritma RC6 yaitu pembagian plaintext kedalam 4 blok, yaitu Blok A, B,

C dan D yang masing-masing blok terdiri dari 4 karakter. Setelah masing-masing

blok mendapatkan nilai, dilanjutkan dengan langkah whitening awal. Dalam proses

ini terjadi penjumlahan B dengan sub kunci S(o), dan D dengan sub kunci S(1).

Penjumlahan ini dilakukan dalam modulo 232.

Pada proses transformasi, nilai t dan u didapat dari blok B dan D diproses

dengan fungsi f(x)=x(2x+1), kemudian dilanjutkan dengan menggeser nilai t dan u

ke kiri sejauh 5 bit. Nilai 5 bit terakhir dari t akan dipergunakan sebagai penggeser

blok C pada proses berikutnya. Sedangkan nilai 5 bit terakhir dari u akan

dipergunakan sebagai pergeseran blok A pada proses selanjutnya.

Proses selanjutnya yaitu mixing, yaitu memproses blok A dan C dengan nilai

yang telah dihasilkan sebelumnya. Nilai A dijumlahkan dengan subkunci S(2)

dalam modulo 232, dan nilai C dijumlahkan dengan subkunci S(3) dalam modulo

232. Sehingga akan didapat nilai masing-masing blok.

Selanjutnya akan dijalankan proses swap register, yaitu mempertukarkan nilai

blok dengan aturan (A,B,C,D) (B, C, D, A), sehingga pada iterasi pertama akan

didapat nilai pada masing-masing blok, dan akan dilanjutkan pada iterasi

berikutnya.

2.2.4. Proses Dekripsi RC6

Proses dekripsi pada algoritma RC6 adalah proses kebalikan dari proses

enkripsi algoritma RC6. Blok data yang diproses adalah 4 blok, pembagiannya

sama seperti pada proses enkripsi. Hal yang membedakan adalah masukan yang

diproses. Jika pada proses enkripsi yang diolah adalah plaintext, sedangkan pada

proses dekripsi yang diolah adalah chiperteks yang akan diubah menjadi teks

aslinya. Urutan langkah proses dekripsi algoritma RC6 dapat dilihat pada Gambar

2.2.

Page 7: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

9

Gambar 2. 2 Proses Dekripsi RC6 (Wahyuni, 2017)

Masing-masing blok yang berisi chiperteks tersimpan dalam register A,B,C

dan D. Kunci yang digunakan pada proses enkripsi sama dengan kunci pada proses

dekripsi. Sub kunci yang digunakan pun sama dengan yang digunakan pada saat

enkripsi, namun urutan sub kunci yang digunakan dibalik.

2.2.5. Advanced Encrytion Standard

Advanced Encryption Standard (AES) merupakan pemenang dalam sayembara

pencarian pengganti algoritma DES yang dianggap sudah tidak aman lagi. National

Institute of Standards and Technology (NIST) telah memilih system penyandian

Rijndael yang dikembangkan oleh Joan Daemen dan Vincent Rijment sebagai

system penyandian AES pada tahun 2000 (Prayudi & Halik, 2017).

Page 8: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

10

Rijndael memenuhi kriteria sebagai berikut:

a. Keamanan

Sistem penyandian harus tahan terhadap serangan analisis sandi selain

serangan secara brute force.

b. Biaya

Sistem penyandian harus memiliki biaya komputasi dan memori yang

efisien sehingga dapat diimplementasikan secara perangkat keras maupun

perangkat lunak.

c. Karakteristik algoritma dan implementasi

Sistem penyandian harus bersifat terbuka, fleksibel, dan sederhana.

AES adalah system penyandian blok yang bersifat non-Fiestel karena

menggunakan komponen yang selalu memiliki invers dengan panjang blok 128 bit.

Kunci AES dapat memiliki panjang kunci 128, 192 dan 256 bit. AES menggunakan

5 unit ukuran data, yaitu: bit, byte, word, blok dan state. Bit merupakan satuan data

terkecil, yaitu nilai digit sistem biner, byte berukuran 8 bit, word berukuran 4 byte

(32 bit), blok berukuran 16 byte (128 bit), dan state adalah blok yang membentuk

matriks byte berukuran 4x4 (Sadikin, 2012).

Penyandian AES menggunakan proses berulang yang disebut dengan round.

Setiap round membutuhkan round key dan masukan dari round berikutnya. Round

key dibangkitkan berdasarkan key yang diberikan. Relasi antara jumlah round dan

panjang kunci diberikan oleh tabel berikut ini:

Tabel 2. 1 Perbandingan jumlah kunci dan round AES (Sadikin, 2012)

Panjang Kunci AES (bit) Jumlah round (Nr)

128 10

192 12

256 14

Tiga parameter Algoritma Rijndael antara lain:

1. Plaintext, array yang berukuran 16 byte, yang berisi data masukan.

2. Ciphertext, array yang berukuran 16 byte, yang berisi hasil enkripsi.

3. Kunci, array yang berukuran 16 byte, yang berisi kunci cipher.

Page 9: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

11

Dalam AES dikenal dengan istilah padding, yaitu penambahan bit dummies

untuk menggenapi panjang blok yang tidak sama. Karena blok chipper sifatnya

harus sama panjang. Padding biasanya dilakukan pada blok terakhir plaintext, yaitu

dapat dilakukan dengan cara penambahan bit tertentu.

AES sampai saat ini masih dianggap aman untuk digunakan. Keamanan sistem

AES salah satunya disebabkan oleh penggunaan kunci yang

besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem DES

yang hanya menggunakan 64 bit. Jadi bruce attack terhadap sistem AES 256

bit memiliki ruang kunci 2256 yang merupakan nilai yang sangat besar (Sadikin,

2012).

2.2.6. Proses Enkripsi AES

Proses enkripsi teks pada algoritma AES dimulai dengan input bit pertama

kali yang disusun menjadi suatu array byte. Array byte inilah yang akan

dimasukkan atau disalin ke dalam state dengan urutan dimana r (row/baris ) dan c

(column/kolom). Selanjutnya dilakukan dalam 4 jenis transformasi byte, yaitu

SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey secara berulang-ulang

sebanyak Nr-1. Namun pada round (iterasi) yang terakhir tidak mengalami

transformasi MixColumns. Banyaknya iterasi pada AES 128 adalah 10 iterasi.

Proses enkripsi ditunjukkan oleh Gambar 2.3.

Gambar 2. 3 Ilustrasi proses Enkripsi AES (Munir, 2006)

Page 10: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

12

a. AddRoundKey (Initial round)

Pada proses enkripsi dan dekripsi AES proses AddRoundKey sama, yaitu

melakukan operasi XOR antara state awal dengan chiper key. Proses ini disebut

juga Initial Round.

b. SubBytes

SubBytes mensubstitusikan satu state pada tabel substitusi (S-Box) yang telah

ditentukan nilainya. Tabel substitusi untuk SubBytes dapat dilihat pada Tabel 2.2

berikut ini:

Tabel 2. 2 Tabel substitusi untuk transformasi SubBytes (S-Box) (Kamil, 2016)

00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f

00 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76

10 ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0

20 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15

30 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75

40 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84

50 53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf

60 d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8

70 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2

80 cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73

90 60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db

a0 e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79

b0 e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08

c0 ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a

d0 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e

e0 e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df

f0 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16

Untuk setiap byte pada array state, misalkan S[r, c] = xy, yang dalam hal ini xy

adalah digit heksadesimal dari nilai S[r, c], maka nilai substitusinya, dinyatakan

dengan S’[r, c], yang merupakan perpotongan baris x dengan kolom y.

Page 11: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

13

Gambar 2. 4 Ilustrasi SubBytes

c. ShiftRows

Transformasi permutasi pada state disebut dengan transformasi ShiftRows.

ShiftRows dilakukan dengan cara memutar elemen matriks hasil proses transformasi

SubByte pada baris 1, 2, dan 3 ke kiri dengan jumlah perputaran yang berbeda-beda.

Baris pertama akan diputar sebanyak 1 kali, baris kedua sebanyak 2 kali, dan baris

ke 3 akan diputar sebanyak 3 kali. Sedangkan baris ke 0 tidak diputar. Proses

pergeseran Shiftrow dapat dilihat pada Gambar 2.5 berikut:

Gambar 2. 5 Ilustrasi Shiftrows

Pada proses ini MixColumns menjalankan operasi perkalian matriks pada setiap

kolom yang berada dalam state. MixColumns untuk perkalian dengan kunci 128

adalah sebagai berikut:

Gambar 2. 6 Ilustrasi MixColumns

Page 12: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

14

d. AddRoundKey

Setelah proses MixColumns, dilakukan proses AddRoundKey lagi dengan cara

yang sama seperti sebelumnya, namun proses XOR nya menggunakan sub-kunci

yang bersesuaian tiap iterasi.

2.2.7. Proses Dekripsi AES

Proses dekripsi AES merupakan kebalikan dari proses enkripsi AES, yaitu

mengubah ciphertext menjadi plaintext. Dalam proses dekripsi pada algoritma AES

menggunakan transformasi byte antara lain: InvShiftRows, InvSubBytes,

InvMixColumns, dan AddRoundKey. Proses dekripsi dengan menggunakan

algoritma AES ditunjukkan oleh Gambar 2.7.

Gambar 2. 7 Ilustrasi Proses Dekripsi AES (Munir, 2006)

a. InvShiftRows

Proses InvShiftRows pada dasarnya merupakan transformasi kebalikan dari

transformasi ShiftRows pada proses Enkripsi AES. Jika transformasi ShiftRow

menggeser bit ke kiri, pada transformasi InvShiftRows melakukan penggeseran ke

kanan. Pada baris kedua penggeseran bit dilakukan tiga kali, pada baris ketiga

dilakukan penggeseran bit sebanyak dua kali, dan baris keempat dilakukan

penggeseran bit sebanyak satu kali. Ilustrasi transformasi InvShiftRows dapat dilihat

pada Gambar 2.8.

Page 13: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

15

Gambar 2. 8 Ilustrasi transformasi InvShiftRows (Munir, 2006)

b. InvSubBytes

Proses InvSubBytes juga merupakan transformasi kebalikan dari transformasi

SubBytes. Pada InvSubBytes, dilakukan substitusi satu state pada tabel Inverse S-

Box yang telah ditentukan nilainya. Tabel substitusi untuk InvSubBytes dapat

dilihat pada Tabel 2.3.

Tabel 2. 3 Tabel Inverse S-Box (Kamil, 2016)

00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f

00 52 09 6a d5 30 36 a5 38 bf 40 a3 9e 81 f3 d7 fb

10 7c e3 39 82 9b 2f ff 87 34 8e 43 44 c4 de e9 cb

20 54 7b 94 32 a6 c2 23 3d ee 4c 95 0b 42 fa c3 4e

30 08 2e a1 66 28 d9 24 b2 76 5b a2 49 6d 8b d1 25

40 72 f8 f6 64 86 68 98 16 d4 a4 5c cc 5d 65 b6 92

50 6c 70 48 50 fd ed b9 da 5e 15 46 57 a7 8d 9d 84

60 90 d8 ab 00 8c bc d3 0a f7 e4 58 05 b8 b3 45 06

70 d0 2c 1e 8f ca 3f 0f 02 c1 af bd 03 01 13 8a 6b

80 3a 91 11 41 4f 67 dc ea 97 f2 cf ce f0 b4 e6 73

90 96 ac 74 22 e7 ad 35 85 e2 f9 37 e8 1c 75 df 6e

a0 47 f1 1a 71 1d 29 c5 89 6f b7 62 0e aa 18 be 1b

b0 fc 56 3e 4b c6 d2 79 20 9a db c0 fe 78 cd 5a f4

c0 1f dd a8 33 88 07 c7 31 b1 12 10 59 27 80 ec 5f

d0 60 51 7f a9 19 b5 4a 0d 2d e5 7a 9f 93 c9 9c ef

e0 a0 e0 3b 4d ae 2a f5 b0 c8 eb bb 3c 83 53 99 61

f0 17 2b 04 7e ba 77 d6 26 e1 69 14 63 55 21 0c 7d

Page 14: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

16

c. InvMixColumns

Proses InvMixColumn dilakukan pada setiap kolom dalam state, yaitu

dikalikan dengan matrik perkalian dalam AES. Perkalian dalam matrik dapat

dituliskan seperti Gambar 2.9.

Gambar 2. 9 Perkalian pada InvMixColumns

d. AddRoundKey

Proses transformasi AddRoundKey pada proses dekripsi merupakan

transformasi yang bersifat self-invers dengan syarat menggunakan kunci yang sama

(Sadikin, 2012).

2.2.8. Penggabungan Algoritma RC6 dan AES

Keamanan data pesan merupakan fokus dari kriptografi dalam penelitian ini.

Semakin aman sistem keamanannya akan semakin baik data pesan tersimpan.

Algoritma hybrid dengan menggabungkan beberapa algoritma baik algoritma

simetri maupun algortima asimetri akan menambah keamanan sehingga menjadi

lebih aman dan kuat (Chaturvedi & Jain, 2016).

Algoritma RC6 dan AES merupakan algoritma yang sama-sama termasuk

dalam kategori algoritma simetris, dimana kunci enkripsinya sama dengan kunci

dekripsinya. Penggabungan kedua algoritma tersebut sangat mungkin dilakukan.

Dengan Algoritma RC6 ditambah algoritma AES yang telah diakui keamanannya

akan membentuk sistem keamanan yang lebih kuat. Algoritma ini akan bekerja

secara bergantian sehingga akan ada dua kali proses enkripsi dan juga dua kali

dekripsi pada satu pesan. Proses enkripsi dan dekripsi dengan penggabungan RC6

dan AES dapat dilihat pada Gambar 2.10.

Page 15: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

17

Gambar 2. 10 Proses enkripsi dan dekripsi penggabungan RC6 dan AES

Pesan yang akan dikirim akan melalui proses enkripsi 1 yaitu menggunakan

algoritma AES dengan memasukkan kunci AES. Setelah memperoleh ciphertext

dari proses enkripsi 1, proses selanjutnya adalah enkripsi 2 yaitu mengenkripsi

ciphertext dari hasil proses enkripsi 1 menggunakan algoritma RC6 dengan

memasukkan kunci RC6. Maka akan diperoleh cipertext akhir yang akan dikirim

sebagai pesan kepada penerima.

Pesan yang diterima akan melalui proses dekripsi 1 yaitu menggunakan

algoritma RC6 dengan memasukkan kunci RC6. Lalu cipertext hasil dekripsi 1 akan

melalui proses dekripsi 2 menggunakan algoritma AES dengan kunci AES.

Sehingga akan diperoleh plaintext sebagai pesan yang telah terdekripsi.

2.2.9. Pesan Teks

Teks adalah naskah yang berupa a) kata-kata asli dari pengarang; b) kutipan

dari kitab suci untuk pangkal ajaran atau alasan; c) bahan tertulis untuk dasar

memberikan pelajaran, berpidato, dan sebagainya. Dalam dunia digital, teks dapat

dihasilkan dari dokumen pengolah kata atau angka yang digunakan dalam

perhitungan (Kemendikbud, 2018).

Teks merupakan himpunan huruf yang membentuk kata dan kalimat, yang

dirangkai dengan sistem tanda baca yang disepakati oleh masyarakat, sehingga teks

tersebut memiliki makna ketika dibaca. Oleh karena itu, teks digunakan untuk

berkomunikasi dan berisi informasi-informasi yang terkandung di dalamnya.

Plaintext Enkripsi 1

AES

Ciphertext

AES

Enkripsi 2

RC6

Ciphertext

RC6

Kunci

AES

Kunci

RC6

Plaintext Dekripsi 2

AES

Ciphertext

RC6

Dekripsi 1

RC6

Page 16: BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORIeprints.mercubuana-yogya.ac.id/3608/3/BAB II.pdf · 2018. 8. 21. · besar (128 bit, 192 bit, dan 256 bit) apabila dibandingkan dengan sistem

18

Teks yang mengandung makna dapat dikirim kepada orang lain melalui pesan

singkat yang disebut Short Message Service (SMS), yang ada pada aplikasi dalam

perangkat Android. SMS memungkinkan pengguna untuk bertukar pesan yang

berisi teks singkat (Hondro, 2015).

SMS tersebut dapat menampung 160 karakter untuk satu buah pesan. Jika isi

pesan lebih dari 160 karakter, maka pesan tersebut akan dilanjutkan pada hitungan

pesan kedua, dan seterusnya. Satu pesan SMS akan dikenakan biaya berbeda-beda

pada setiap operator seluler.

Ada tiga macam set karakter yang umum digunakan untuk masukan dan

keluaran pada komputer, yaitu ASCII, EBCDIC, dan Unicode. ASCII (American

Code for Information Interchange) merupakan suatu standar internasional dalam

kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat

universal. ASCII digunakan oleh komputer dan alat komunikasi lain untuk

menunjukkan teks. Kode ASCII memiliki komposisi bilangan biner sebanyak 8 bit,

dimulai dari 00000000 hingga 11111111. Total kombinasi yang dihasilkan

sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan desimal.