ABSTRAK
Seiring dengan perkembangan zaman, kebutuhan manusia meningkat. Termasuk
kebutuhan akan informasi. Oleh sebab itu, pengiriman dan penyimpanan data melalui
media elektronik memerlukan suatu proses yang mampu menjamin keamanan dan
keutuhan dari data tersebut. Untuk menjamin keamanan dan keutuhan dari suatu data,
dibutuhkan suatu proses penyandian. Dengan cara penyandian tersebut, data asli tidak
akan terbaca oleh pihak yang tidak berkepentingan. Pertimbangan bahwa sebuah standard
algoritma yang baru sangatlah diperlukan untuk tetap menjaga kerahasiaan suatu data.
Dalam hal ini, kunci yang lebih panjang juga merupakan keharusan. Advanced
Encryption Standard (AES) merupakan algoritma kriptografi encryption-decryption yang
dapat digunakan untuk mengamankan data. AES (Advanced Encryption Standard) adalah
lanjutan dari algoritma enkripsi standar DES (Data Encryption Standard) yang masa
berlakunya dianggap telah usai karena faktor keamanan, sehingga pada tanggal 2 Maret
tahun 2001 ditetapkanlah algoritma baru Rijndael sebagai AES. AES menggunakan
algoritma Rijndael yang dapat mengenkripsi dan mendekripsi blok data sepanjang 128 bit
dengan panjang kunci 128 bit, 192 bit, atau 256 bit. Dengan panjang kunci 128 bit, Misal
state =19, hasil SubBytes = d4, ShiftRows = d4, MixColumns = 04, AddRoundKey = a4
dan proses tersebut diulang sampai 10 kali hasil ciphertext = 39.
Kata Kunci : Kriptografi, Encryption-Decryption, Advanced Encryption Standard (AES) 128, Rijndael.
ABSTRACT
Along with the times, increasing human needs. Including the need for information.
Therefore, delivery and storage of data via electronic media requires a process that is
capable of ensuring the security and integrity of the data. To ensure the security and
integrity of the data, we need a process of encoding. By way of encoding the original data
will not be read by unauthorized parties. Considering that a new standard algorithm is
required to maintain the confidentiality of the data. In this case, the longer keyword also
a must. Advanced Encryption Standard (AES) is a cryptographic algorithm that can be
used to secure the data. AES (Advanced Encryption Standard) is a continuation of the
standard encryption algorithms DES (Data Encryption Standard) that the validity period
is deemed to have ended because of the safety factor, so that on March 2, 2001
ditetapkanlah new algorithm Rijndael as AES. AES uses the Rijndael algorithm to
encrypt and decrypt the data block along with a 128-bit key length of 128 bits, 192 bits or
256 bits. With a key length of 128 bits, Eg state = 19, the result SubBytes = d4, ShiftRows
= d4, MixColumns = 04, AddRoundKey = a4 and the process is repeated up to 10 times
the ciphertext = 39.
Keyword : Cryptographic, Encryption-Decryption, Advanced Encryption Standard (AES)
- 128, Rijndael.
I.
PENDAHULUAN
Sejalan dengan perkembangan teknologi, semakin mengubah cara
Dulu
komunikasi
jarak
jauh
masih
menggunakan cara yang konvensional, yaitu dengan cara saling mengirim surat,
tetapi sekarang komunikasi jarak jauh dapat dilakukan dengan mudah dan
cepat yaitu dengan adanya teknologi seperti email, SMS ( Short Messaging
Service ), dan Internet yang merupakan salah satu teknologi telekomunikasi
yang paling banyak digunakan. Namun tidak semua perkembangan teknologi
komunikasi memberikan dampak yang positif dan menguntungkan. Salah satu
dampak negatif dalam perkembangan teknologi adalah adanya penyadapan data,
yang merupakan salah satu masalah yang paling ditakuti oleh para pengguna
jaringan komunikasi.
Keamanan dan kerahasiaan data merupakan salah satu aspek penting dari
suatu sistem informasi. Sebuah informasi hanya ditujukan bagi segolongan
tertentu, hal tersebut terkait dengan bagaimana informasi tidak dapat diakses oleh
orang yang tidak berhak. Oleh karena itu sangat penting untuk mencegah jatuhnya
informasi
kepada
pihak-pihak
lain
yang
tidak
berkepentingan.
Untuk
Metode yang
mengurangi
bocornya
informasi
berkepentingan.
Algoritma AES-128 adalah sistem kriptografi kunci simetris 128-bit.
Alasan dipilihnya algoritma ini adalah karena algoritma ini tergolong algoritma
stream chipper. Selain itu, algoritma ini bisa diimplementasikan secara efisien
pada berbagai prosesor maupun hardware khusus. Oleh karena itu dengan
memanfaatkan keunggulan dari algoritma AES-128 dan melihat masalah
keamananan data pesan yang tengah dihadapi, maka dalam penelitian ini
penulis akan menganalisa, merancang, dan mengimplementasikan encryption
decryption menggunakan AES-128.
2
Batasan Masalah
Adapun batasan masalah dalam pembuatan jurnal ini adalah sebagai
berikut :
1. Hanya
membahas
dan
menganalisa
tentang
encryption-decryption
II.
LANDASAN TEORI
Definisi Kriptografi
Kriptografi berasal dari Bahasa Yunani, yaitu kripto dan graphia. Menurut
bahasa kripto berarti rahasia (secret) dan graphia berarti tulisan (writing). Menurut
terminologi, kriptografi adalah ilmu atau seni untuk menjaga keamanan pesan
ketika pesan dikirim darisuatu tempat ke tempat yang lain. Secara keseluruhan
kriptografi dapat disimpulkan sebagai ilmu yang mempelajari tentang pengacakan
pesan dengan fungsi matematika agar tidak bisa dibaca oleh pihak yang tidak
berwenang. Kriptografi merupakan studi matematika yang mempunyai hubungan
3
dengan aspek keamanan informasi seperti integritas data dan keaslian data. Dalam
penerapannya, kriptografi merupakan suatu metode enkripsi atau penyandian data
yang hanya diketahui atau berarti oleh suatu kelompok pengguna tertentu. Metoda
ini telah dikenal sejak lama, salah satu contoh penggunaannya pada masa keKaisaran Romawi Kuno. Pada waktu itu Julius Caesar tidak menginginkan berita
atau pesan yang dibawa oleh kurir-kurirnya jatuh kepada pihak lawan. Oleh
karena itu, beliau menggunakan sistem substitusi sederhana, yang kini disebut
dengan Caesar Cipher.
Dalam kriptografi ada beberapa istilah yang seringdigunakan, antara lain
sebagai berikut :
1. Plaintext adalah informasi asli sebelum dienkripsi atau teks terang.
2. Enkripsi adalah proses kriptografi dari plaintext menjadi ciphertext.
3. Ciphertext adalah informasi acak yang berasal dari plaintext yang telah
dimasukkan ke dalam fungsi kriptografi atau dienkripsi.
4. Dekripsi adalah proses pengubahan ciphertextmenjadi plaintext.
5. Kriptoan alisis adalah studi yang mempelajari teknik matematika untuk
memecahkan teknik kriptografi.
6. Kriptoanalis adalah orang yang melakukan kriptonalisis.
7. Kriptologi adalah ilmu tentang kriptografi dan kriptonalisis.
Tujuan Kriptografi
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan
aspek keamanan informasi yaitu :
1. Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi
dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk
membuka/mengupas informasi yang telah disandi.
2. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data
secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki
kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak
berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain
kedalam data yang sebenarnya.
Kriptografi Klasik
Kriptografi sudah digunakan sejak lama seperti algoritma Caesar
Cipheryang
menggunakan
teknik
subtitusi,
algoritma
ini
sudah
digunakanbeberapa abad yang lalu. Dua teknik dasar yang biasa digunakan pada
Kriptografi Klasik, adalah sebagai berikut
1. Teknik Subtitusi : Penggantian setiap karakter plaintextdengan karakter lain
2. Teknik Tranposisi (Permutasi) : Teknik ini menggunakan permutasi karakter
Kriptografi Modern
Perbedaan kriptografi ini dengan Kriptografi Klasik, adalah pada
Kriptografi Modern sudah menggunakan perhitungan komputasi atau program
dalam pengoperasiannya, yang berfungsi mengamankan data baik yang ditransfer
melalui jaringan komputer maupun tidak. Hal ini sangat berguna untuk untuk
melindungi keamanan, integritas, dan keaslian dari data.
Pada kriptografi ini karakter-karakter yang akan dioprasiakan seperti
plaintextdan kunci dikonversikan ke dalam suatu urutan digit biner (bit) yaitu 0
atau 1, yang umumnya digunakan untuk skema pengkodeaan ASCII (American
Standart Code for Information Interchange).
Satu buah karakter sama dengan delapan bit, maka jumlah karakter yang
terbentuk dari delapan bittersebut adalah 256. Begitu juga ASCII yang mempunyai
jumlah karakter 256, pada pembahasan selanjutnya 256 karakter ASCII tersebut
menjadi himpunan dari elemen finite field.
Kriptografi Simetrik
Pada algoritma simetrik, kunci enkripsi yang digunakan sama dengan
kunci dekripsinya, sehingga sering one-key, private-key atau single-key.
Algoritma simetrik masih terbagi dalam dua kategori, yakni algoritma block
cipher dan algoritma stream cipher.
Algoritma block cipher adalah algoritma yang masukkan dan keluarannya
berupa satu dan setiap bloknya terdiri dari banyak bit. Sedangkan algoritma
stream cipher, ciphernya berasal dari hasil XOR antara setiap bit plaintext dengan
kuncinya, atau mengenkripsi satu bit pada suatu waktu. Contoh dari algoritma ini
adalah Data Encryption Standard (DES), International Data Encryption
Algorithm (IDEA), Advanced Encryption Standard (AES), dan sebagainya.
Kriptografi Asimetrik
Algoritma kriptografi asimetrik adalah algoritma yang menggunakan kunci yang
berbeda untuk proses enkripsi dan deskripsinya. Algoritma ini disebut algoritma
kunci umum (public key algorithm) karena kunci untuk enkripsi dapat dibuat
umum (public key) atau dapat diketahui setiap orang, tetapi kunci untuk deskripsi
hanya diketahui oleh orang yang berwenang mengetahui data yang disandikan
atau sering disebut kunci pribadi (private key). Algoritma yang menggunakan
kunci umum dan publik ini antara lain Digital Signature Algorithm (DSA), RivestShamir-Adleman (RSA), Diffie-Hellman (DH), dan sebagainya.
kepentingan
yang
sangat
mendesak
akan
kerahasiaan
yang
menggunakan enkripsi.
Di pertengahan tahun 1970an enkripsi kuat dimanfaatkan untuk
pengamanan oleh sekretariat agen pemerintah Amerika Serikat pada domain
publik, dan saat ini enkripsi telah digunakan pada sistem secara luas, seperti
6
Internet, e-commerce, jaringan telepon bergerak dan ATM pada bank. Enkripsi
dapat digunakan untuk tujuan keamanan, tetapi teknik lain masih diperlukan untuk
membuat komunikasi yang aman, terutama untuk memastikan integrasi dan
autentikasi dari sebuah pesan.
Untuk menampilkan enkripsi dan kebalikannya dekripsi, digunakan
algoritma yang biasa disebut Cipher dengan menggunakan metode serangkaian
langkah yang terdefinisi yang diikuti sebagai prosedur. Alternatif lain ialah
Encipherment.
Informasi yang asli disebuh sebagai plaintext, dan bentuk yang sudah
dienkripsi disebut sebagai chiphertext. Pesan chipertext berisi seluruh informasi
dari pesan plaintext, tetapi tidak dalam format yang didapat dibaca manusia
ataupun komputer tanpa menggunakan mekasnisme yang tepat untuk melakukan
dekripsi.
Sedangkan Dekripsi yaitu kebalikan dari proses enkripsi yaitu proses
konversi data yang sudah dienkripsi ( ciphertext ) kembali menjadi data aslinya (
Original Plaintext ) sehingga dapat dibaca/ dimengerti kembali.
III.
cetuskan oleh Dr. Vincent Rijmen dan Dr. Joan Daemen menjadi pemenang pada
saat seleksi algoritma baru untuk menggantikan DES. Alasan utama terpilihnya
AES:Rijndael ini bukan karena algoritmanya yang paling aman dari MARS,
RC6, Serpent, Twofish, dan yang lainnya, tetapi AES:Rijndael memiliki
keseimbangan antara keamanan serta fleksibelitas dalam berbagai platform
softwaredan hardware.
AES tersedia dalam berbagai paket enkripsi yang berbeda. AES merupakan
standar yang pertama yang dapat diakses publik dan sandi-terbuka yang disetujui
oleh NSA untuk informasi rahasia. Salah satu alasan mengapa AES encryption
bekerja dengan baik adalah metode enkripsi ini bekerja pada beberapa network
layer pada saat yang sama. Walaupun AES dan Rijndael digunakan secara
bergantian, terdapat beberapa perbedaan yang dapat dengan mudah diketahui.
Sementara AES menggunakan blok cipher fix 128-bit, Rijndael dapat
menggunakan blok cipher apa saja dan kunci 32-bit. Ukuran kunci dan blok cipher
yang digunakan memiliki berkisar antara 128-bit sampai 256-bit. AES ini
merupakan algoritma block cipher dengan menggunakan sistem permutasi dan
substitusi (P-Box dan S-Box) bukan dengan jaringan Feistel sebagaiman block
cipher pada umumnya. Tidak seperti DES yang berorientasi bit, Rijndael
beroperasi dalam orientasi byte.
Algoritma AES-128
Garis besar Algoritma Rijndael yang beroperasi pada blok 128-bit dengan
kunci 128-bit adalah sebagai berikut (di luar proses pembangkitan round key):
1. AddRoundKey: melakukan XOR antara state awal (plainteks) dengan cipher
key. Tahap ini disebut juga initial round.
2. Putaran sebanyak Nr 1 kali. Proses yang dilakukan pada setiap putaran
adalah:
a. SubBytes: substitusi byte dengan menggunakan tabel substitusi (S-box).
9
AES memiliki ukuran block yang tetap sepanjang 128 bit dan ukuran
kunci sepanjang 128, 192, atau 256 bit. Berdasarkan ukuran block yang tetap,
AES bekerja pada matriks berukuran 4x4 di mana tiap-tiap sel matriks terdiri atas
1 byte (8 bit). Sedangkan Rijndael sendiri dapat mempunyai ukuran matriks yang
lebih dari itu dengan menambahkan kolom sebanyak yang diperlukan.
Blok chiper tersebut dalam pembahasan ini akan diasumsikan sebagai
sebuah kotak. Setiap plainteks akan dikonversikan terlebih dahulu ke dalam blokblok tersebut dalam bentuk heksadesimal. Barulah kemudian blok itu akan
diproses dengan metode yang akan dijelaskan.
10
Sub Bytes
Proses SubBytes adalah operasi yang akan melakukan substitusi tidak
linear dengan cara mengganti setiap byte statedengan byte pada sebuah tabel yang
dinamakan tabel SBox. Sebuah tabel S-Box terdiri dari 16x16 baris dan kolom
dengan masing-masing berukuran 1 byte.
Gambar 2. Sbox
Pada ilustrasi Sub Bytes diatas, di sana terdapat nomor kolom dan nomor
baris. Seperti yang telah disebutkan sebelumnya, tiap isi kotak dari blok chiper
berisi informasi dalam bentuk heksadesimal yang terdiri dari dua digit, bisa
angka-angka, angka-huruf, ataupun huruf-angka yang semuanya tercantum dalam
Rijndael S-Box. Langkahnya adalah mengambil salah satu isi kotak matriks,
mencocokkannya dengan digit kiri sebagai baris dan digit kanan sebagai kolom.
Kemudian dengan mengetahui kolom dan baris, kita dapat mengambil sebuah isi
tabel dari Rijndael S-Box. Langkah terakhir adalah mengubah keseluruhan blok
chiper menjadi blok yang baru yang isinya adalah hasil penukaran semua isi blok
dengan isi langkah yang disebutkan sebelumnya.
Shift Rows
Shift Rows seperti namanya adalah sebuah proses yang melakukan shift
atau pergeseran pada setiap elemen blok/tabel yang dilakukan per barisnya. Proses
11
Shift Rowsakan beroperasi pada tiap baris dari tabel state. Proses iniakan bekerja
dengan cara memutar byte-byte pada 3 baris terakhir (baris 1, 2, dan 3) dengan
jumlah perputaran yang berbeda-beda. Baris 1 akan diputar sebanyak 1 kali, baris
2 akan diputar sebanyak 2 kali, dan baris 3 akan diputar sebanyak 3 kali.
Sedangkan baris 0 tidak akan diputar.
Mix Columns
Yang terjadi saat Mix Column adalah mengalikan tiap elemen dari blok
chiper dengan matriks. Proses MixColumnsakan beroperasi pada tiap kolom dari
tabel state. Operasi ini menggabungkan 4 bytesdari setiap kolom tabel statedan
menggunakan transformasi linier.
Operasi Mix Columnsmemperlakukan setiap kolom sebagai polinomial 4
suku dalam Galois fielddan kemudian dikalikan dengan c(x) modulo (x4+1),
dimana
c(x)=3x3+x2+x+2.
Kebalikkan
dari
polinomial
ini
adalah
AddRoundKey
SubBytes
Nr
ShiftRows
a0,0 a0,1
a0,2 a0,3
k0,0
k0,1
k0,2
k0,3
a1,0 a1,1
a1,2 a1,3
k1,0
k1,1
k1,2
k1,3
a2,0 a2,1
a2,2 a2,3
k2,0
k2,1
k2,2
k2,3
a3,0 a3,1
a3,2 a3,3
k3,0
k3,1
k3,2
k3,3
S- BOX
MixColumns
AddRoundKey
SubBytes
ShitRows
AddRoundKey
02
01
01
03
03 01 01
02 03 01
01 02 03
01 01 02
S0,c S S
S0,0 S
0,1
0,2
0,3
S1,11,c S1,2 S1,3
S1,0 S
S2,0 S
S2,12,c S2,2 S2,3
S3,0 S
S3,1 S3,2 S3,3
3,c
Cipher Text
algoritma AES. Transformasi byte yang digunakan pada invers cipher adalah
InvShiftRows, InvSubBytes, InvMixColumns, dan AddRoundKey.
Cipher Text
AddRoundKey
InvShiftRows
InvSubBytes
Inv S- BOX
Src
AddRoundKey
InvMixColumns
Nr-1
0E
09
0 D
0B
0B
0E
09
0D
0D
0B
0E
09
09
0 D
0B
0E
2,c
InvShiftRows
S0,c S S
S0,0 S
0,1
0,2
0,3
S1,11,c S1,2 S1,3
S1,0 S
S2,0 S
S2,12,c S2,2 S2,3
S3,0 S
S3,1 S3,2 S3,3
3,c
3,c
InvSubBytes
AddRoundKey
Plain Text
IV.
IMPLEMENTASI
AES-128
ini
berbasis
web,
menggunakan
bahasa
pemrograman PHP. PHP adalah bahasa pemrograman web atau scripting language
yang didesain untuk web.
Batas Maksimum kunci sebesar 32 bit 32 bit dan dipadukan fungsi
base64_decoding. Base64 adalah metode yang digunakan untuk melakukan
encoding (penyandian) terhadap data binary sehingga menjadi printable atau
pendek katanya data binary disandikan menjadi format 7-bit character semacam
bagian isi email.
Base64 adalah base 64 yang disusun oleh 64 karakter, dimana karakternya
(berdasarkan
RFC
1421) terdiri
dari
(A-Z,
a-z, 0-9, +,
/) atau
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345
6789+/. Tapi ada satu karater tambahan yaitu =, yang fungsinya untuk
menggenapkan atau istilahnya sebagai pengisi pad.
14
dapat berupa angka atau huruf, minimal chiper key sebesar 1 bit dan untuk
maksimal besar chiper key adalah 32 bit.
128 dengan Cryptool, langsung saja jalankan Cryptool, buka project baru gunakan
algoritma AES-128, terlebih dahulu dilakukan proses encryption yang tampak
pada gambar berikut yang sebelumnya telah diatur pada jendela setting untuk
algoritma AES di Cryptool, untuk chiper keynya min 18 bit berbeda dengan
program implementasi dengan bahasa pemrograman PHP yang telah dibuat:
Setelah itu lakukan proses decrypt output encryp tadi dengan pengaturan
atau settingan yang sama saat proses encryption sebelumnya, maka tampak seperti
gambar berikut :
18
V.
PENUTUP
Kesimpulan
Kriptografi adalah ilmu yang mempelajari mengenai bagaimana cara
mengamankan suatu informasi. Pengamanan ini dilakukan dengan mengenkrip
informasi tersebut dengan suatu kunci khusus. Informasi ini sebelum dienkrip
dinamakan plaintext. Setelah dienkrip dengan suatu kunci dinamakan ciphertext.
Pada Sistem Kriptografi kekuatan dari metode - metoda enkripsi adalah
pada kunci (dari password yang kita masukkan) sehingga walaupun algoritma
metoda tersebut telah tersebar luas orang tidak akan dapat membongkar data tanpa
kunci yang tepat. Walaupun tentunya untuk menemukan metode tersebut
diperlukan teori matematika yang cukup rumit.
Algoritma AES:Rijndael di cetuskan oleh Dr. Vincent Rijmen dan Dr.
Joan Daemen, disosialisasikan oleh National Institute of Standards and
Technology (NIST) pada November 2001 lahir sebagai standar baru enkripsi yang
dikembangkan dari algoritma DES (Data Encryption Standard) melalui seleksi
yang ketat dengan algoritma yang lainnya.
AES: Rijndael merupakan algoritma kriptografi modern dan simetrik,
chiper key untuk encryp yang digunakan sama dengan chiper key decrypt. AES:
Rijndael merupakan algoritma kriptografi yang termasuk dalam kategori
19
algoritma block chiper, di mana masukkan dan keluarannya berupa satu dan setiap
bloknya terdiri dari banyak bit.. AES: Rijndael merupakan algoritma yang cukup
sulit untuk dipecahkan saat ini, karena belum ada serangan atau pemecahan yang
benar-benar mampu secara analisis matematis dengan efektif dan efisien dengan
alasan pola yang dibentuk cukup acak. Keacakan pola tersebut didapat dari
sebagian teknik AES sebagai kekuatan yang dimiliki algoritma ini, yaitu
SubBytes() dan MixColoums()yang dibangun secara nonlinier sehingga menjadi
tantangan kriptoanalisis linier. Besar file ciphertext yang dihasilkan dari proses
enkripsi dan besar file plaintext akhir dari proses dekripsi untuk algoritma AES:
Rijndael memiliki besar file yang berbeda.
DAFTAR PUSTAKA
[1]. Andrian. (2010). Cryptool, Software Kriptografi dan Kriptoanalisis. Diambil
26
Januari
2015,
pukul
14.45
dari
http://adrianpradana.com/2009/01/22/cryptool-software-kriptografi-dankriptoanalisis/
[2]. Ariyus, Dony. (2008). Pengantar Ilmu Kriptografi (Teori, Analisis, dan
Implementasi), Yogyakarta : ANDI OFFSET.
[3]. Budiyono, Avon. (2004). Enkripsi Data Kunci Simetris dengan Algoritma
Kriptografi LOKI97, Bandung : Institut Teknologi Bandung.
[4]. Kurniawan, Yusuf.
Encryption
Standard, InSight :
River
Academic Journal.
[7]. Wahana. (2003). Memahami Model Enkripsi & Security Data, Yogyakarta :
ANDI OFFSET.
[8]. Wihartantyo, A. (2004). Advanced Encryption Standard, Algoritma Rinjdael,
Bandung : Institut Teknologi Bandung.
20