MENGENKRIPSI PESAN MENGGUNAKAN ALGORITMA AES TABEL SISTEM UNSUR PERIODIK KIMIA
NASKAH PUBLIKASI
diajukan oleh Harry Cassay 09.11.3254
Kepada JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2014
i
ii
AES ENCRY PT MESSAGES ALGORITHM USING PERIODIC TABLE ELEMENTS CHEMICAL SYSTEM MENGENKRIPSI PESAN MENGGUNAKAN ALGORITMA AES TABEL SISTEM UNS UR P ERIODI K KIMIA
Harry Cassay Ema Utami Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT
Rapid technological developments that allow humans to communicate and exchange information / data remotely. Inter -regional inter-city bet ween countries and even bet ween continents is not an obstacle anymore in communication and dat a exchange. Along with the demand for securities (security) to t he confidentiality of the information exchanged is increasing. The security of the stored data is an important factor for the organization in the face of increasingly risk y, and work processes where data is stored and administrative organization will be processed into information that is import ant and c onfidential for the development of the organization. AES algorit hm to secure data stored in the data storage device, so it is not easily lost or utilized by people yng i rres ponsible. Algorithm AES (Advanced Encryption Standard) or Rijndael as one method of cryptography. This algorithm is k nown to be superior in pengenk ripsian and pendek ripsian data. AES is used in a variety of encoding. One is to pass word-pass encoding that is used in the operation of the application data. Keywords: Message Encryption, Java (Netbean 6.9), cryptographic
iii
1.
Pendahuluan Kriptografi adalah suatu ilmu yang mempelajari tentang bagaimana cara menjaga
agar data at au pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan apapun dari pihak k etiga. Dengan perkembangan teknologi yang begitu pesat memungkinkan manusia dapat berk omunik asi dan saling bertukar informasi/data secara jarak jauh. Antar kot a antar wilayah antar negara bahkan antar benua bukan merupakan suatu kendala lagi dalam melakukan komunikasi dan pertukaran data. Seiring dengan itu tunt utan akan sekuritas (keamanan) terhadap kerahasiaan informasi yang saling dipertukarkan tersebut semakin meningkat. Algoritma
AES
mengamankan
dat a
yang
t ersimpan
dalam
perangkat
penyimpanan data, sehingga tidak mudah hilang maupun di manfaatkan oleh orangorang yang tidak bertanggung jawab. Algoritma AES (Advanced Encryption Standard) atau Rijndael sebagai salah satu met ode kriptografi. Algoritma ini diketahui sangat unggul dalam pengenkripsian dan pendek ripsian data. AES digunakan dalam berbagai penyandian. Salah satunya adalah untuk penyandian sandi lewat yang digunakan pada aplikasi pengoperasian data. Tabel unsur periodik kimia adalah tampilan unsur-unsur kimia dalam bentuk tabel. Uns ur-unsur tersebut diat ur berdasark an struktur elektronnya, sehingga sifat unsurunsur t ersebut berubah-ubah secara teratur sepanjang t abel. Setiap unsur didaftarkan berdasarkan nomor atom dan lambang uns urnya.
2.
LANDASAN TEORI
2.1 .
Pengertian Kriptografi Kriptografi adalah suatu ilmu yang mempelajari tentang bagaimana cara menjaga
agar data at au pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan apapun dari pihak ketiga. 2.2.
Tujuan Kriptografi Tujuan dari kriptografi adalah sebagai berikut: 1.
Kerahasiaan (confidentialit y), adalah memberikan k erahasiaan pesan dan menyimpan dat a dengan meny embunyikan informasi lewat teknik -teknik enkripsi.
1
2.
Integritas data (message integrity), adalah memberikan jaminan untuk tiap bagian bahwa pesan tidak akan mengalami perubahan dari saat ia dibuat sampai saat ia dibuka.
3.
Non-repudiation, adalah memberikan cara untuk membuktikan bahwa suat u dokumen datang dari seseorang apabila ia mencoba menyangkal memiliki dokumen tersebut.
4.
Otentikasi
(authentication),
mengidentifikasi
adalah
memberikan
suatu
pesan
keaslian
dan
dua
layanan.
P ertama,
memberikan
jaminan
keautentikannya. Kedua, menguji identitas seseorang apabila ia akan memasuki sebuah sistem. 2.3.
Macam – macam Algoritma Kriptografi Kriptografi memiliki beberapa algoritma dalam mengenkripsi pesan diant aranya : 1.
Algoritma Simet ris Algoritma simetris adalah algoritma yang menggunakan kunci yang sama
untuk enkripsi dan dekripsinya.
Ciphertext
Plaintext input
Plaintext output
t
Enkripsi
Dekripsi (Secret k ey)
Kunci sama
Gambar 2.1. Algoritma simetris
2
2.
Algoritma Asimetris Algoritma asimet ris adalah pasangan kunci kript ografi yang s alah satuny a
digunakan untuk proses enkripsi dan yang satunya lagi untuk dekripsi.
Plaintext input
Ciphertext
Enkripsi
Plaintext output
Dekripsi
Penerima kunci public
Penerima kunci rahasia
Kunci berbeda Gambar 2.2. Algoritma asimetri s
3.
Fungsi Hash Fungsi Hash sering disebut dengan fungsi Hash satu arah ( one-way
function),
message
authentication
code
digest,
fingerprint,
fungsi
kompresi
(MAC),
merupakan
suat u
fungsi
dan
message
matematika
yang
mengambil masukan panjang variabel dan mengubahnya ke dalam urutan biner dengan panjang yang tetap (Dony Ariyus, 2008:46).
2.4.
Teknik Dasar kriptografi Menurut Dony Ariyus ada beberapa teknik dasar kriptografi di antarany a sebagai berikut (Dony Ariyus, 2008:49). 1.
Teknik Substitusi Metode ini bekerja dengan menukar 1 (satu) karakter yang lain (Dony Ariyus, 2008:49). Langkah pertama adalah membuat suatu tabel subtitusi. Tidak ada at uran khusus dalam membuat tabel substitusi (Dony Ariyus, 2008:49). Semakin acak tabel substitusi maka semakin sulit pemecahan ciphertextnya.
3
Salah s atu contoh t eknik ini adalah menggunakan Caesar cipher (Dony Ariyus, 2008:50). 2.
Teknik Blok metode untuk melakukan enkripsi dengan menggunakan blok adalah dengan membagi jumlah teks-asli menjadi blok-blok yang dit entukan, tergantung dari keinginan pengirim pesan (Dony Ariyus, 2008:56). Coba perhatikan contoh di bawah ini (Dony Ariyus, 2008:56).
3.
Teknik Permutasi Teknik ini menggunakan permutasi karakter, yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaca kecuali orang yang memiliki kunci untuk mengembalikan pesan tersebut ke bentuk semula (Dony Ariyus, 2008:75).
2.5.
Algoritma AES (Advanced Encryption Standard ) Advanced E ncryption Standard (AES) dipublikasikan oleh NIS T (National
Institutes of Standards and Technology) pada tahun 2001. AES merupakan kode blok kode simetris untuk menggantikan DES (Data Encryption Standart). Algoritma Rijndael memiliki 3 (tiga) paramet er, di antaranya (Dony Ariyus, 2008:169) : 1.
Plaintext adalah array yang berukuran 16 byte, yang berisi data masukan.
2.
Ciphertext adalah array yang berukuran 16 byte, yang berisi hasil enkripsi.
3.
Kunci adalah array yang berukuran 16 byte, yang berisi kunci atau cipherk ey.
Garis bes ar algoritma Rijndael dalam mengenk ripsi yang beroperasi pada blok 128 bit dengan kunci 128 bit adalah sebagai berikut (Dony Ariyus, 2008): 1.
SubBytes adalah substitusi byte dengan menggunakan tabel substitusi (SBox).
2.
ShiftRows adalah pergeseran baris-baris array secara memutar.
3.
MixColums adalah mengacak data dari masing -masing kolom array.
4.
AddRoundKey adalah penambahan kunci dengan operasi XOR.
4
2.6.
Sistem perangkat lunak (software) yang digunakan
2.6.1.
Java (Netbeans 6.9) Java adalah bahasa pemrograman serbaguna. Java dapat digunak an untuk
membuat suatu program sebagaimana kita membuatnya dengan bahasa s eperti Pascal atau C++. Java juga mendukung sumber daya int ernet yang saat ini populer, yait u World Wide Web atau yang sering disebut Web saja. Java juga mendukung aplikasi klien/server, baik dalam jaringan lokal (LA N) maupun jaringan berskala luas (WAN). Program java bersifat tidak bergantung pada platform. Artinya, Java dapat dijalankan pada sembarang komputer dan bahkan pada sembarang sistem operasi. Ketidakbergantungan terhadap platform sering dinyatakan dengan istilah portabilitas. Tingkat portabilitas Java tidak hany a sebatas pada program sumber (source code), melainkan juga pada tingkat kode biner yang disebut bytecode. Kode yang disebut bytecode dapat dijalankan pada berbagai sistem operasi karena kode ini berbeda dengan kode mesin. Kode mesin sangat bergantung plat form, sedangkan bytecode dapat dimengerti oleh s emua plat form yang telah dilengkapi dengan interpreter Java. Mengingat bahwa hasil k ompilasi Java dapat dijalankan pada sembarang sistem operasi ataupun prosesor, Java sering dikatakan bersifat netral terhadap arsitektur comput er. Java
adalah
bahasa
pemrograman
berorientasi
objek
(suatu
model
pengembangan perangkat lunak yang saat ini sangat populer). Sebagai bahasa pemrograman berorientasi objek, Java menggunakan kelas untuk membentuk suat u objek.
3.
ANALISIS DAN PERANCANGAN SISTEM
3.1.
Analisi s Si stem Anaslisis sistem (System A nalysis) dapat didefinisikan penguraian dari suat u
sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud mengidentifikasi
dan
mengevaluasi
permasalahan-permasalahan,
kesempatan-
kesempatan, hambatan yang terjadi dan kebutuhan yang dihadapkan s ehingga dapat diusulkan perbaikannya. (Jogianto. HM , 1999: 129). Sistem merupakan gambaran umum apa yang akan dikembangkan. Kript ografi yang akan dibangun merupakan sistem pengenkripsian pesan dengan algoritma sistem periodik unsur kimia menggunakan metod e Rijndael
128 bit. Langkah-langkah
pengenkripsian pesan dilakuk an beeberapa tahap, dimana tahap pertama dilakukan
5
substitusi byte(SubByte), pergeseran (ShiftRows ), mengac ak (MixColums ), dan mengexor-kan dengan menggunak an kunci ekspansi (AddRoundk ey). 3.2.
Analisi s Kebutuhan Sistem Analisis kebutuhan sistem ini merupakan tahapan yang sangat penting dalam
pengembangan sistem dalam pembuatan aplikasi. Analisis kebutuhan sistem dibagi menjadi dua bagian , yaitu kebutuhan fungsional dan kebutuhan non fungsional. 1.
Kebutuhan Fungsional Kebutuhan fungsional menggambarkan secara umum dari sistem sesuai
dengan kemampuan aplik asi yang dibuat. Ada beberapa kebutuhan fungsional yang dimuat dalam sistem ini diantaranya : 1.
Sistem ini dapat mengenkripsi dan mendek ripsi pesan.
2.
Menampilkan langkah-langkah enkripsi seperti SubBytes, ShiftRows, MixColums, Addroundk ey.
2.
3.
Menampilkan tabel periodik sebagai kata kunci dalam objek penelitian.
4.
Sistem mudah digunakan user.
Kebutuhan Non Fungsional Kebutuhan non fungsional menggambarkan bagaimana sistem ini dapat
berjalan dengan batasan-bat asan dalam pengaplikasian sistem itu sendiri atau apa saja yang harus dimiliki oleh sistem agar dapat berjalan. K ebutuhan non fungsional meliputi ketersediaan perangkat keras dan perangkat lunak. 1.
Kebutuhan Perangkat Keras (Hardware) Dalam hal ini hardware atau perangkat k eras yang digunakan dalam proses perancangan aplikasi pengenkripsian pesan. Adapun spesifikasi perangkat keras yang digunakan diantaranya : PC (P ersonal Comput er) atau laptop yang digunakan sebagai media dalam hal coding dan desain dengan spesifikasi sebagai berikut : 1.
Processor Intel(R) Celeron(R) CPU 530 @ 1.73Ghz
2.
RA M 1Gb DDR2
3.
Mobile Intel Graphics Media Accelerator X3100
4.
Display 14.1”W XGA Acer CrystalBrite
5.
Hardisk Drive 80 GB HDD
6.
Optical Drive DVD-Super Multi DL
6
2.
Kebutuhan Perangkat Lunak (S oft ware) Analisis perangkat lunak bertujuan untuk mengetahui s ecara tepat perangkat lunak apa saja yang dibutuhkan untuk menjalankan suatu aplikasi. Adapun perangk at lunak yang dibut uhkan diant aranya :
3.3.
1.
Microsoft windows 7 ultimat e sebagai sistem operasinya.
2.
Java (Net bean 6.9) sebagai pembuatan aplikasi.
3.
Microsoft Office 2007 sebagai pembuat an laporan
Analisi s Data Analisis data merupakan kegiat an mengatur, mengurutkan, mengelompokkan,
dan mengkategorikan data, sehingga dapat ditemukan dan dirumuskan hipotesis kerja berdasarkan data yang diperoleh. Dalam sistem pengenkripsian pesan ini data yang dianalisis berbentuk tabel periodik unsur kimia yang dijadikan sebagai kata kunci tetap.
3.4.
Analisi s Model Pada tahap analisis
model
ini
akan
dibahas
tentang langkah -langkah
pengenkripsian pes an pada algoritma Rijndael AES 128 bit. Langkah -langkah enk ripsi sebagai berikut : 1.
AddRoundKey menjadi tahap awal dengan melakukan XOR antara state awal (plaintext) dengan cipher k ey (k ata kunci) dengan array yang berukuran 4x4. Tahap ini disebut tahap initial round.
2.
Melakukan putaran Nr-1 kali. Proses yang dilakukan pada setiap putaran adalah : 1.
SubBytes merupak an substitusi byte dari hasil AddRoundKey dengan menggunakan tabel (S -Box).
2.
ShiftRows merupakan pergeseran baris-baris secara memutar.
3.
MixColums merupakan mengacak data dari masing -masing kolom array dengan mengubahnya kebentuk hexadecimal terlebih dahulu.
4. 3.
AddRoundKey melakuk an XOR antara plaintext dengan cipher key.
Putaran terakhir (Final Round), pada proses ini tidak dilakukan proses MixColums hany a dilakukan SubBytes, ShiftRows, AddRoundKey untuk menghasilkan ciphertext.
7
3.5.
Perancangan Sistem Ranc angan sistem secara umum dilakuk an dengan maksud untuk memberikan gambaran secara umum kepada user tentang sistem yang akan diusulkan. Rancangan ini mengidentifikasikan komponen -komponen sistem informasi secara terinci.
4.
IMPLEMENTASI DAN P EMBAHASAN
4.1.
Implementasi Sistem Implementasi merupakan tahapan set elah analisis dan perancangan aplikasi,
apakah aplikasi yang telah dirancang dapat berjalan dan berfungsi dengan keadaan sebenarnya. Pada tahap ini akan dilakukan kegiatan implementasi dari rancangan rancangan yang telah dibuat sebelumnya. Sistem enkripsi dan dek ripsi pesan menggunakan tabel unsur periodik kimia memiliki tiga bagian utama, yang memang harus ada dalam pembuat an pengenkripsian pesan, yaitu plaintext, cipherk ey, dan ciphertext. Selain itu sistem yang dibuat mudah digunakan pengguna (user) dengan memasukkan pesan yang tidak lebih dari enam belas (16) karakter, karena sesuai dengan ketentuan AES 128 bit dan k ata kunci menggunakan t abel unsur periodik kimia yang dipilih sesuai keinginan pengirim pesan yang ingin dikirim ke penerima. 4.2.
Pengujian Aplikasi Uji coba aplikasi adalah pengujian yang dilakukan untuk memeriksa kekompakan
antar komponen aplikasi yang diimplementasikan. Tujuan utama dari pengetesan aplikasi ini adalah untuk memastikan bahwa elemen -elemen atau komponen-komponen dari aplikasi telah berfungsi sesuai dengan yang diharapkan. Pengujian perlu dilakukan untuk mencari kes alahan yang mungkin masih terjadi. Ada metode untuk melakukan unit testing yaitu: 4.3.
Black Box Testing Merupakan pengujian yang dilakuk an dengan menjalankan atau mengeksekusi
unit at au modul pros es yang dijalankan. Tujuannya adalah unt uk menget ahui apakah setiap button yang ada pada aplikasi dapat berjalan sesuai dengan fungsinya atau tidak.
8
4.4.
White Box testing White box adalah perancangan test case yang menggunakan struktur control dari
perancangan procedural untuk mendapatkan test case. Dengan menggunakan metode pengujian white box pembuat sistem dapat melakukan test case yang memberikan jaminan bahwa semua jalur independent pada suatu modul pernah digunakan untuk menjaga validitasny a.
5.
PENUTUP
5.1.
Kesimpulan Berdasarkan hasil pembuatan dan implement asi yang telah dilakukan guna
penyusunan skripsi berjudul “Mengenkripsi Pesan Menggunakan Algoritma AES Tabel Sistem Unsur Periodik Kimia” maka dapat ditarik kesimpulan sebagai berikut: 1.
Aplikasi
enkripsi
dibuat
menggunakan bahasa pemrograman java yang
didalamnya terdapat beberapa tahap, yaitu subbytes, shiftrows, mixc olums, dan addroundk ey yang dilakukan selama sepuluh kali putaran. 2.
Analisis yang gunakan dalam pengenkripsian pesan merupakan analisis tabel sistem unsur periodik kimia yang mana dijadik an sebagai cipherk ey (kat a kunci).
3.
Desain enk ripsi didominasi dengan warna cerah biru langit serta paduan warna yang sesuai.
4.
Hasil implem entasi dari aplikasi enkripsi memiliki beberapa tombol yang diantaranya, kolom teks pesan, teks cipher (kata kunci), tabel periodik, dan teks hasil enkripsi yang c ara k erjanya mengisikan k arakter dari masing – masing kolom dan mengklik tombol run, sehingga muncul hasil enkripsi tersebut.
5.
Uji coba aplikasi enkripsi berjalan dengan baik dan sesuai dengan hasil dat a yang ditulis secara manual pada bab sebelumnya.
9
5.2.
Saran Berdasarkan kesimpulan diatas, maka penulis merekomendasikan berupa saran -
saran sebagai berikut: 1.
Program
pengenk ripsian
pesan ini
jauh dari
sempurna,
diharapkan
pengembangan yang lebih lanjut dalam pengolahan data tabel sistem unsur periodik kimia menggunakan algoritma AES Rijndael 128 maupun algoritma sendiri. 2.
Diharapkan penelitian selanjutnya dapat memilih dan memilah nomor atom dalam nama jenis tabel unsur periodik kimia yang berbeda – beda dijadikan sebagai kata kunci dalam sistem pengenkripsian dan pendekripsian pesan.
3.
Diharapkan dapat meningkatkan keamanan pesan singkat rahasia.
10
DAFTAR PUSTAKA
Ariyus, Dony. 2008. Pengant ar Ilmu Kriptografi Teori Analisis dan Implementasi. Yogyakarta: Andi Offset. Ariyus, Dony. 2006. Keamanan Dat a dan K omunik asi. Yogyakarta: Graha Ilmu. Komputer,
Wahana.
2003.
Memahami
Model
E nk ripsi
dan
S ecurit y
Data.
Yogyakarta: ANDI. Kurniawan,
Yusuf.
2004.
Keamanan
Internet
dan
Jaringan
Telek omunik asi.
Bandung: Informatika Bandung. Munir, Rinaldi. 2006. Kriptografi. Bandung: Informatika Bandung. Herlawati, Prabowo Pudjo Widodo. 2011. Menggunak an UML. Bandung: Informatika Bandung. Kadir, Abdul. 2004. Dasar pemrograman java 2. Yogyakarta: Andi Offset Sunarya, Yayan. Dan Setiabudi, Agus. 2007. Mudah dan Aktif Belajar Kimia. Bandung: P T. Setia Purna Inves.
11