bab ii tinjauan pustaka dan teori 2.1 tinjauan pustakaeprints.mercubuana-yogya.ac.id/2569/4/bab...

16
4 BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustaka Membuat aplikasi enkripsi dan dekripsi email menggunakan algoritma kriptografi AES. Aplikasi ini dibuat menggunakan Netbeans 7.0 dan login menggunakan email user yang terhubung dengan internet. Aplikasi ini dibuat dengan tujuan untuk merancang dan membuat email client yang aman dari hacker yang sering melakukan pengendusan data email tergantung dari platform yaitu Java SE Runtime Envirnment (JRE) dan Java Development Kit (JDK). Aplikasi ini ditujukan untuk membantu mengatasi masalah keamanan data sehingga orang lain tidak dapat mengetahui isi dari pada informasi atau pesan tersebut (Rosyadi, 2012). Membuat aplikasi untuk menyandikan dan menyembunyikan berkas pada data citra menggunakan Algoritma Kriptografi AES dan metode steganografi berbasis Android. Aplikasi ini dibuat untuk mengamankan data citra dengan memanfaatkan steganografi dan kriptografi. Aplikasi ini dibuat menggunakan eclipse 4.4.1 dengan bahasa java. Aplikasi ini ditujukan untuk mempermudah seseorang untuk menyembunyikan berkas (Suniati, 2015). Merancang dan membangun purwarupa email client yang mampu melakukan enkripsi dan dekripsi dengan menerapkan ilmu kriptografi dengan menggunakan algoritma R.S.A. perancangan aplikasi ini bertujuan untuk pengiriman email lebih aman (Albert Ginting dkk,2015). Membuat implementasi perangkat lunak menggunakan Matlab 7.0.4 , progam ini dapat digunakan untuk meningkatkan keamanan informasi menggunakan kriptografi algoritma kunci simetri AES ( Advanced Encryption Standart )-128. Informasi menjadi lebih aman setelah diubah ke dalam bentuk data tersandi, karena informasi hanya dapat dibaca oleh pihak yang berhak (Lusiana, 2011 ). Penelitian ini membuat suatu sistem keamanan e-commerce dengan menggunakan gabungan algoritma RC4 dan Base64. Algoritma RC4 dan Base64 adalah jenis algoritma kriptografi yang mengubah data plainteks menjadi chipher

Upload: trandieu

Post on 10-Mar-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

4

BAB II

TINJAUAN PUSTAKA DAN TEORI

2.1 Tinjauan Pustaka

Membuat aplikasi enkripsi dan dekripsi email menggunakan algoritma

kriptografi AES. Aplikasi ini dibuat menggunakan Netbeans 7.0 dan login

menggunakan email user yang terhubung dengan internet. Aplikasi ini dibuat

dengan tujuan untuk merancang dan membuat email client yang aman dari hacker

yang sering melakukan pengendusan data email tergantung dari platform yaitu Java

SE Runtime Envirnment (JRE) dan Java Development Kit (JDK). Aplikasi ini

ditujukan untuk membantu mengatasi masalah keamanan data sehingga orang lain

tidak dapat mengetahui isi dari pada informasi atau pesan tersebut (Rosyadi, 2012).

Membuat aplikasi untuk menyandikan dan menyembunyikan berkas pada

data citra menggunakan Algoritma Kriptografi AES dan metode steganografi

berbasis Android. Aplikasi ini dibuat untuk mengamankan data citra dengan

memanfaatkan steganografi dan kriptografi. Aplikasi ini dibuat menggunakan

eclipse 4.4.1 dengan bahasa java. Aplikasi ini ditujukan untuk mempermudah

seseorang untuk menyembunyikan berkas (Suniati, 2015).

Merancang dan membangun purwarupa email client yang mampu

melakukan enkripsi dan dekripsi dengan menerapkan ilmu kriptografi dengan

menggunakan algoritma R.S.A. perancangan aplikasi ini bertujuan untuk

pengiriman email lebih aman (Albert Ginting dkk,2015).

Membuat implementasi perangkat lunak menggunakan Matlab 7.0.4 ,

progam ini dapat digunakan untuk meningkatkan keamanan informasi

menggunakan kriptografi algoritma kunci simetri AES ( Advanced Encryption

Standart )-128. Informasi menjadi lebih aman setelah diubah ke dalam bentuk data

tersandi, karena informasi hanya dapat dibaca oleh pihak yang berhak (Lusiana,

2011 ).

Penelitian ini membuat suatu sistem keamanan e-commerce dengan

menggunakan gabungan algoritma RC4 dan Base64. Algoritma RC4 dan Base64

adalah jenis algoritma kriptografi yang mengubah data plainteks menjadi chipher

Page 2: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

5

text. Enkripsi data yang dilakukan dengan menggunakan dua algoritma ini dapat

mengenkripsi data password nasabah di bank sehingga password dari nasabah tidak

dapat diketahui oleh pihak-pihak yang tidak berkepentingan saat nasabah

melakukan transaksi dengan menggunakan e-commerce (Wahyu, Rahangiar,

Fretes, 2012).

Berdasarkan tinjauan pustaka, dapat disimpulkan bahwa terdapat beberapa

persamaan dan perbedaan antara skripsi yang berjudul “Desain Enkripsi Data

Menggunakan Algoritma AES 128 dan Base 64” dengan penelitian sejenis.

Persamaan tersebut dilihat dari tujuan pembuatan aplikasi yaitu sama-sama

membuat aplikasi yang bertujuan untuk mengenkripsi data. Adapun perbedaan dari

penelitian tersebut, dimana penulis melakukan perancangan enkripsi data dengan

menggunakan algoritma AES dan Base 64 yang diimplementasikan berbasis web.

Selain perbedaan yang telah dijelaskan, peneliti memfokuskan penelitian ini pada

algoritma enkripsi data.

2.2 Kriptografi

2.2.1 Pengertian Kriptografi

Kriptografi berasal dari bahasa yunani, “kryptos” yang berarti tersembunyi

dan “graphien” yang berarti tulisan. Sehingga kata kriptografi dapat diartikan

menjadi “tulisan tersembunyi”. Menurut Request for Comunities (RFC), kriptografi

adalah ilmu matematika yang berhubungan dengan transformasi data agar arti dari

data tersebut menjadi sulit untuk dipahami (untuk menyembunyikan maknanya),

mencegahnya dari perubahan tanpa izin atau mencegahnya dari penggunaan yang

tidak sah. Jika transformasinya dapat dikembalikan, kriptografi juga dapat diartikan

sebagai proses mengubah kembali data yang terenkripsi menjadi bentuk yang

mudah dipahami. Sehingga, kriptografi juga dapat diartikan sebagai proses untuk

melindungi data dalam arti yang luas (Oppliger, 2005).

2.2.2 Tujuan Kriptografi

Aspek-aspek keamanan di dalam kriptografi adalah (Ariyus, 2008):

1. Authentication (Otentikasi)

Page 3: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

6

Agar penerima dapat memastikan keaslian pesan, bahwa proses itu datang

dari orang yang dimintai informasi. Dengan kata lain, informasi itu benar-

benar datang dari orang yang dikehendaki.

2. Integrity (Data Integritas)

Keaslian pesan dikirim melalui jaringan dan dapat dipastikan bahwa

informasi yang dikirim tidak dimodifikasi oleh yang tidak berhak.

3. Non-Repudiation (Nirpenyangkalan)

Merupakan hal yang berhubungan dengan si pengirim. Pengirim tidak dapat

mengelak bahwa dialah yang mengirim informasi tersebut.

4. Authority

Informasi yang berada pada sistem jaringan tidak dapat dimodifikasi oleh

pihak yang tidak berhak untuk mengaksesnya.

5. Confidentiality (Kerahasiaan)

Merupakan usaha menjaga informasi dari orang yang tidak berhak

mengakses. Kerahasiaan ini biasanya berhubungan dengan informasi yang

diberikan ke pihak lain.

6. Privacy

Lebih ke arah data-data yang bersifat pribadi.

7. Availability

Aspek availabilitas berhubungan dengan ketersediaan informasi ketika

dibutuhkan. Sistem informasi yang diserang atau dijebol dapat menghambat

atau meniadakan akses ke informasi.

8. Access Control

Aspek ini berhubungan dengan cara pengaturan akses ke informasi. Hal ini

biasanya berhubungan dengan masalah otentikasi dan privasi. Kontrol akses

sering kali dilakukan dengan menggunakan kombinasi user id dan password

ataupun mekanisme lain.

2.2.3 Komponen Sistem Kriptografi

Pada dasarnya komponen kriptografi terdiri dari beberapa komponen antara

lain (Ariyus, 2008) :

Page 4: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

7

1. Enkripsi : merupakan hal yang sangat penting dalam kriptografi, merupakan

cara pengamanan data yang dikirimkan sehingga terjaga kerahasiannya.

Pesan asli disebut plaintext (teks bisa), yang diubah menjadi kode-kode

yang tidak dimengerti. Enkripsi bisa diartikan dengan chiper atau kode.

Sama halnya dengan tidak mengerti sebuah kata maka kita akan melihatnya

di dalam kamus atau daftar istilah. Beda halnya dengan enkripsi, untuk

mengubah teks bisa ke bentuk teks kode, kita gunakan algorima yang dapat

mengkodekan data yang kita ingini.

2. Dekripsi : merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi

dikembalikan ke bentuk asalnya. Algoritma yang digunakan untuk dekripsi

tentu berbeda dengan yang digunakan untuk enkripsi.

3. Kunci : adalah kunci yang dapat dipakai untuk melakukan enkripsi dan

dekripsi teks atau file.

4. Ciphertext : merupakan suatu pesan yang telah melalui enkripsi. Pesan yang

ada pada teks kode ini tidak bisa dibaca karena berupa karakter-karakter

yang tidak mempunyai makna (arti).

5. Plaintext : sering disebut dengan cleartext. Teks asli atau teks biasa ini

merupakan pesan yang ditulis atau diketik yang memiliki makna. Teks asli

inilah yang diproses menggunakan algoritma kriptografi untuk menjadi

ciphertext (teks kode).

6. Pesan : dapat berupa data atau informasi yang dikirim (melalui kurir, saluran

komunikasi data, dsb) atau yang disimpan di dalam media perekaman

(kertas, storage, dsb).

7. Cryptanalysis : kripanalisis bisa diartikan sebagai kode atau suatu ilmu

untuk mendapatkan teks asli tanpa harus mengetahui kunci yang sah dan

wajar. Jika suatu teks kode berhasil diubah menjadi teks asli tanpa

menggunakan kunci yang sah, proses tersebut dinamakan breaking code.

Hal ini dilakukan oleh para kripanalisis. Analisis kode juga dapat

menemukan kelemahan dari suatu algoritma kriptografi dan akhirnya dapat

menemukan kunci atau teks asli dari teks kode yang dienkripsi dengan

algoritma tertentu.

Page 5: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

8

2.2.4 Jenis Algoritma Kriptografi

2.2.4.1 Klasifikasi Berdasarkan Perkembangannya

Algoritma kriptografi dapat diklasifikasikan menjadi menjadi dua jenis

berdasarkan perkembangannya, yaitu kriptografi klasik dan kriptografi modern.

1. Algoritma Kriptografi Klasik

Algoritma ini digunakan sejak sebelum era komputerisasi dan kebanyakan

menggunakan teknik kunci simetris. Metode menyembunyikan pesannya

adalah dengan teknik substitusi atau transposisi atau keduanya. Teknik

substitusi adalah menggantikan karakter dalam plaintext menjadi karakter lain

yang hasilnya adalah ciphertext.

Sedangkan transposisi adalah teknik mengubah plaintext menjadi ciphertext

dengan cara permutasi karakter.Kombinasi keduanya secara kompleks adalah

yang melatarbelakangi terbentuknya berbagai macam algoritma kriptografi

modern. Contoh algoritma kriptografi klasik antara lain, Caesar Cipher,

Vigenere Cipher, dan lain-lain.

a. Caesar Cipher

Metode penyandian ini dinamakan caesar chiper, setelah digunakan

Julius Caesar untuk berkomunikasi dengan para panglimanya. Dalam

kriptografi, Caesar Chiper dikenal dengan beberapa nama seperti: shift

cipher, Caesar’s code atau Caesar shift. Caesar Chiper merupakan

teknik enkripsi yang paling sederhana dan banyak digunakan. Chiper ini

berjenis chiper substitusi, dimana setiap huruf pada plaintext-nya

digantikan dengan huruf lain yang tetap pada posisi alfabet. Misalnya

diketahui bahwa pergeseran = 3, maka huruf A akan digantikan oleh

huruf D, huruf B menjadi huruf E, dan seterusnya. Contoh dapat dilihat

di Gambar 2.1.

Gambar 2.1 Caesar Chiper(Irfan. 2016).

Page 6: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

9

b. Vigene Chiper

Vigenere Cipher adalah suatu algoritma kriptografi klasik yang

ditemukan oleh Giovan Battista Bellaso. Algoritma Vigenere Cipher ini

menggunakan bujur sangkar Vigenere untuk melakukan enkripsi.

Setiap baris di dalam bujursangkar menyatakan huruf-huruf ciphertext

yang diperoleh dengan Caesar cipher.

Vigenere chiper merupakan salah satu algoritma kriptografi klasik

untuk menyandikan suatu plaintext dengan menggunakan teknik

substitusi.Vigenere cipher pada dasarnya cukup rumit untuk

dipecahkan. Meskipun begitu, Vigenere cipher tetap memiliki

kelemahan. Salah satunya adalah dapat diketahui panjang kuncinya

dengan menggunakan metode kasiski. Hal ini disebabkan karena

umumnya terdapat frasa yang berulang-ulang pada ciphertext yang

dihasilkan.

2. Algoritma Kriptografi Modern

Algoritma ini memiliki tingkat kesulitan yang kompleks, dan kekuatan

kriptografinya ada pada key atau kuncinya Algoritma ini menggunakan

pengolahan simbol biner karena berjalan mengikuti operasi komputer digital.

Sehingga membutuhkan dasar berupa pengetahuan terhadap matematika untuk

menguasainya. Contoh kriptografi modern yaitu MD5, RC4, AES dan lain-lain.

2.2.4.2 Klasifikasi Berdasarkan Jenis Kunci

Berdasarkan jenis kunci, algoritma kriptografi dikelompokkan menjadi dua

bagian, yaitu: algoritma simetris (algoritma kunci privat) dan algoritma asimetris

(algoritma kunci publik) (Menezes & Vastone, 1996).

1. Algoritma Simetris

Algoritma simetris adalah salah satu jenis kunci pada algoritma kriptografi

yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Istilah

lain untuk kriptografi kunci simetri adalah kriptografi kunci privat (private-key

cryptography). Sistem kriptografi kunci simetri diasumsikan sebagai pengirim

dan penerima pesan yang sudah berbagi kunci yang sama sebelum bertukaran

Page 7: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

10

pesan. Keamanan sistem kriptografi simetri terletak pada kerahasiaan

kuncinya.

Aplikasi dari algoritma simetris digunakan oleh beberaspa algoritma dibawah

ini:

a. Data Encryption Standard (DES)

b. Advance Encryption Standard (AES)

c. International Data Encryption Algortima (IDEA), dan lain-lain

2. Algoritma Asimetris

Algoritma asimetris atau dapat disebut juga dengan algoritma kunci public,

didesain sebaik mungkin sehingga kunci yang digunakan untuk enkripsi berbeda

dengan kunci dekripsinya. Dimana kunci untuk enkripsi tidak rahasia

(diumumkan ke publik), sementara kunci dekripsinya bersifat rahasia (hanya

diketahui oleh penerima pesan).

Pada kriptografi asimetris, setiap orang yang akan berkomunikasi harus

mempunyai sepasang kunci, yaitu privat dan publik. Pengirim pesan akan

mengenkripsi pesan menggunakan kunci publik si penerima pesan dan hanya

penerima pesan yang dapat melakukan dekripsi pesan tersebut karena hanya ia

yang dapat mengetahui kunci privatnya sendiri. Kunci publik dapat dikirim ke

penerima pesan melalui saluran yang sama dengan saluran yang digunakan

untuk mengirim pesan. Saluran untuk mengirim pesan umumnya tidak aman.

2.3 AES

Advanced Encryption Standard (AES) dipublikasikan oleh NIST (National

Institute and Technology) pada tahun 2001. AES merupakan simetris block chipper

untuk menggantikan DES (Data Encryption Standard). DES terbukti menjadi

algoritma enkripsi yang aman di dunia selama puluhan tahun. Tetapi pada tahun

1998, 70 ribu PC di internet berhasil membobol satu kunci DES dalam tempo 96

hari, tahun 1999 dalam tempo 22 hari. Karena algoritma enkripsi DES sudah

berhasil dipecahkan pada tahun 1998 dalam waktu 96 hari, maka dibuat mesin

khusus untuk memecahkan algoritma DES dan mesin tersebut dapat memecahkan

25% dalam waktu 2,3hari dan dapat memecahkan seluruh kunci DES dalam waktu

rata-rata 6,5 hari (Ariyus, 2015).

Page 8: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

11

2.3.1 Parameter AES

AES mempunyai kunci 128, 192 dan 256 bit, maka panjang dari putaran

Rijandel juga berbeda dan dapat dilihat pada Tabel 2.1.

Tabel 2.1 Parameter AES(Ariyus, 2015).

AES 128 192

Key site 4 word (16 byte) 6 word (24 byte)

Plaintext blok size 4 word (16 byte) 4 word (16 byte)

Number of Round 10 12

Round key size 4 word (16 byte) 4 word (16 byte)

Expanded key size 44 word (176 byte) 52 word (208 byte)

Dari Tabel 2.2 AES-128 bit menggunakan panjang kunci NK = 4 word

setiap word-nya terdiri dari 32 bit sehingga total kunci 128 bit, ukuran blok plaintext

128 bit dan round sebanyak 10 round (putaran). Sedangkan putaran untuk kunci

juga terdiri dari Ki= 4 word dan total putaran kunci 128 bit dan kunci yang diperluas

mempunyai ukuran 44 word dan 176 byte (Ariyus, 2015).

2.3.2 Proses Enkripsi AES

Proses enkripsi algoritma AES terdiri dari 4 jenis transformasi byte, yaitu

SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey. Pada awal proses enkripsi,

input yang telah disalin ke dalam state mengalami transformasi byte AddRoundKey.

Setelah itu, state akan mengalami transformasi SubBytes, ShiftRows, MixColumns,

dan AddRoundkey secara berulang-ulang sebanyak Nr. Proses ini dalam algoritma

AES disebut sebagai round function. Round yang terakhir agak berbeda dengan

round-round sebelumnya dimana pada round terakhir state tidak mengalami

transformasi MixColumns (Ariyus, 2015).

Berikut untuk langkah enkripsi algoritma AES dapat dilihat di Gambar 2.2:

Page 9: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

12

Gambar 2.2 Proses Enkripsi AES(Ariyus, 2015 ).

Adapun untuk detail dari setiap transformasi sebagi berikut :

1. SubBytes,

SubBytes merupakan transformasi byte dimana setiap elemen pada state akan

dipetakan dengan menggunakan sebuah tabel substitusi ( S-Box ). Tabel

substitusi S-Box akan dipaparkan dalam Gambar 2.3.

Page 10: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

13

Gambar 2.3 S-Box( Ariyus, 2015)

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], adalah elemen di dalam tabel subtitusi yang

merupakan perpotongan baris x dengan kolom y. Ilustrasikan pengaruh

pemetaan byte pada setiap byte dalam state dapat dilihat di Gambar 2.4.

Gambar 2.4 Pengaruh Pemetaan pada Setiap Byte dalam

State(Ariyus, 2015 )

2. ShiftRows

Transformasi Shiftrows pada dasarnya adalah proses pergeseran bit dimana bit

paling kiri akan dipindahkan menjadi bit paling kanan ( rotasi bit ). Proses

pergeseran Shiftrow ditunjukkan dalam Gambar 2.5.

Page 11: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

14

Gambar 2.5 Transformasi Shiftrows(Ariyus, 2015 )

3. Mixcolumns

MixColumns mengoperasikan setiap elemen yang berada dalam satu kolom

pada state. Secara lebih jelas, transformasi mixcolumns dapat dilihat pada

perkalian matriks persamaan pada Gambar 2.6.

Gambar 2.6 Persamaan transformasi Mixcolumns(Ariyus, 2015).

Hasil dari perkalian matriks diatas dapat dianggap seperti perkalian pada

Gambar 2.7.

Gambar 2.7 Perkalian matriks Mixcolumns(Ariyus, 2015)

4. AddRoundKey.

Pada proses enkripsi dan dekripsi AES proses AddRoundKey sama, sebuah

round key ditambahkan pada state dengan operasi XOR.

Setiap round key terdiri dari Nb word dimana tiap word tersebut akan

dijumlahkan dengan word atau kolom yang bersesuaian dari state sehingga :

untuk

Page 12: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

15

adalah word dari key yang bersesuaian dimana i = round*Nb+c. Transformasi

AddRoundKey pada proses enkripsi pertama kali pada round = 0 untuk round

selanjutnya round = round + 1, pada proses dekripsi pertama kali pada round

= 14 untuk round selanjutnya round = round - 1.

5. Prosedure Key Expansion

Ekspansi cipher key digunakan untuk membentuk round key yang akan

digunakan pada langkah-langkah enkripsi dan dekripsi. Ekspansi kunci ini

memiliki tahapan khusus yang dikenal sebagai Rijndael’s key schedule.Iterasi

tahapan AddRoundKey pada algoritma AES – 128 diulang sebanyak sebelas

kali. Oleh karenanya, terdapat sepuluh kali round key yang dibutuhkan dalam

satu kali enkripsi state. Melalui key schedule tersebut, key yang menjadi

parameter masukan akan diekspansi menjadi beberapa round key. Prosedur key

dapat dilihat pada Gambar 2.8.

Gambar 2.8 Prosedur Key Expansion(Ariyus, 2015 )

Page 13: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

16

2.3.3 Proses Dekripsi AES

Transformasi cipher dapat dibalikkan dan diimplementasikan dalam arah

yang berlawanan untuk menghasilkan inverse cipher yang mudah dipahami untuk

algoritma AES. Transformasi byte yang digunakan pada invers cipher adalah

InvShiftRows, InvSubBytes, InvMixColumns, dan AddRoundKey (Ariyus, 2015).

Gambar 2.9 Proses Dekripsi AES(Ariyus, 2015).

1. InvShiftRows adalah transformasi byte yang berkkebalikan dengan

transformasi SubRows. Pada transformsi InvShifRows, dilakukan

pergeseran bit ke kanan sedangkan pada ShiftRows dilakukan pergeseran

bit ke kiri . Ilustrasi transformsi InvShiftRows terdapat pada Gambar 2.10.

Page 14: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

17

Gambar 2.10 Transformasi InvShiftRows( Rachmat, 2009)

2. InvSubBytes juga merupakan transformsi byte yang berkebalikan dengan

transformasi SubBytes. Pada InvSubByte tiap elemen pada state dipetakan

dengan menggunakan tabel Inverse S-Box. Tabel Inverse S-Box akan

ditunjukan pada Gambar 2.11.

Gambar 2.11 Tabel Inverse S-Box ( Rachmat, 2009 ).

3. InvMixColumns , setiap kolom dalam state dikalikan dengan matrik

perkalian dalam AES. Perkalian dalam matrik dapat ditulis dengan

persamaan seperti pada Gambar 2.10.

Page 15: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

18

Gambar 2.12 Persamaan matrik InvMixColums (Rachmat, 2009).

4. AddRoundKey sama, sebuah round key ditambahkan pada state dengan

operasi XOR. Setiap round key terdiri dari Nb word dimana tiap word

tersebut akan dijumlahkan dengan word atau kolom yang bersesuaian dari

state sehingga :

untuk adalah word dari key yang bersesuaian dimana i =

round*Nb+c. Transformasi AddRoundKey pada proses enkripsi pertama

kali pada round = 0 untuk round selanjutnya round = round + 1, pada proses

dekripsi pertama kali pada round = 14 untuk round selanjutnya round =

round - 1.

2.4 Encoding dan Decoding

Dalam komunikasi dan pemrosesan informasi, pengkodean atau penyandian

(encoding) adalah proses konversi informasi dari suatu sumber (objek) menjadi

data, yang selanjutnya dikirimkan ke penerima atau pengamat, seperti pada sistem

pemrosesan data. Pengawakodean atau pengawasandian (decoding) adalah proses

kebalikannya, yaitu konversi data yang telah dikirimkan oleh sumber menjadi

informasi yang dimengerti oleh penerima. Sedangkan decoding adalah proses

pengembalian informasi dari hasil encoding menjadi bentuk aslinya.(Danesi, 2013)

2.5 Algoritma Base64

Base64 adalah kelompok skema pengkodean biner-ke-teks yang serupa

yang mewakili data biner dalam format string ASCII dengan menerjemahkannya

ke dalam representasi radix-64 (64 karakter unik). Istilah Base64 berasal dari

encoding transfer konten MIME tertentu. Setiap digit base64 mewakili 6 bit data.

(IETF, 2006). Tabel karakter base64 dapat dilihat di Gambar 2.13.

Page 16: BAB II TINJAUAN PUSTAKA DAN TEORI 2.1 Tinjauan Pustakaeprints.mercubuana-yogya.ac.id/2569/4/BAB II.pdf · 2.2.4 Jenis Algoritma Kriptografi ... berdasarkan perkembangannya, yaitu

19

Gambar 2.13 Karakter Base64 (IETF, 2006).

Dalam teknik base64 jika ada sejumlah string yang akan disandikan ke

dalam base64 maka caranya adalah :

1. Pecah string bytes tersebut ke per-3 bytes.

2. Gabungkan 3 bytes menjadi 24 bit. 1 bytes = 8 bit sehingga 3 x 8 = 24 bit.

3. Lalu 24 bit tersebut dipecah menjadi 6 bit sehingga menjadi 4 pecahan.

4. Masing pecahan diubah kedalam nilai desimal, dimana maksimal nilai 6 bit

adalah 63 (26).

5. Jadikan nilai tersebut menjadi indeks untuk memilih karakter penyusun dari

base64 dan maksimal adalah 63 atau indeks ke-63.

Jika dalam proses encoding terdapat sisa pembagi maka tambahkan sebagai

penggenap sisa tersebut ”=”. Teknik base64 dapat dilihat pada Gambar2.14

Gambar 2.14 Teknik base64(IETF, 2006).