• Tidak ada hasil yang ditemukan

PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK ENKRIPSI DEKRIPSI DATA DENGAN METODE ALGORITMA RIJNDAEL. Yusup Jauhari Shandi, Audrey Levi Utami

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK ENKRIPSI DEKRIPSI DATA DENGAN METODE ALGORITMA RIJNDAEL. Yusup Jauhari Shandi, Audrey Levi Utami"

Copied!
11
0
0

Teks penuh

(1)

136

PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK ENKRIPSI DEKRIPSI DATA DENGAN

METODE ALGORITMA RIJNDAEL Yusup Jauhari Shandi, Audrey Levi Utami

Sekolah Tinggi Manajemen Informatika dan Komputer LIKMI Jl. Ir. H. Djuanda 96 Bandung 40132

Email : ujshandi@gmail.com

Abstrak

Pada masa ini, kriptografi sudah banyak dikembangkan untuk meningkatkan keamanan privasi data. Setelah mengalami beberapa proses standarisasi, Rijndael yang merupakan salah satu algoritma kriptografi, dijadikan sebagai standar sistem penyandian yang baru sebagai pengganti Data Encryption Standard (DES) oleh National Institute of Standards and Technology (NIST). Implementasi Algoritma Rijndael untuk menyandikan data yang disimpan dalam media penyimpanan. Dalam pengembangan aplikasi ini, digunakan model prototyping, dimana proses membuat rancangan awal, mencoba, memperhalus, dan mencobanya kembali dilakukan secara iteratif hingga mencapai hasil yang diharapkan.

Keyword : Kriptografi, Enkripsi, Dekripsi, Algoritma Rijndael 1. PENDAHULUAN

Kriptografi merupakan salah satu teknik yang dapat memberikan jawaban dari kebutuhan untuk melindungi data. Kriptografi sudah banyak dikembangkan untuk meningkatkan keamanan privasi data agar tidak jatuh ke tangan orang yang salah. Penerapan kriptografi tidak terlepas dari pemilihan penggunaan algoritma yang digunakan. Pada awalnya, Data Encryption Standard (DES) merupakan algortima kriptografi yang digunakan oleh National Institute of Standards and Technology (NIST) sebagai standar enkripsi data Federal Amerika Serikat. Seiring dengan perkembangan teknologi, kunci Data Encryption Standard (DES) dianggap sudah tidak memadai lagi. Untuk itu diadakan kontes internasional dimana pesertanya adalah ahli kriptografi dari seluruh dunia. Algoritma kriptografi Rijndael yang

(2)

didesain oleh Vincent Rijmen dan John Daemen menjadi pemenang dari kontes tersebut.

Setelah mengalami beberapa proses standarisasi, algoritma kriptografi Rijndael dijadikan standar algoritma kriptografi pemerintah Federal Amerika Serikat yang diadopsi secara resmi pada 26 Mei 2002 dan menjadi algoritma pengganti Data Encryption Standard (DES).

2. Landasan Teori a. Perangkat Lunak

Istilah rekayasa perangkat lunak secara umum digunakan dalam tiga arti, yaitu: (Simarmata,2010:11)

1. Sebagai istilah umum untuk berbagai kegiatan yang dulunya bernama pemrograman atau analisis sistem.

2. Sebagai istilah yang luas untuk analisis teknis dari semua aspek-aspek praktis yang bertentangan dengan teori pemrograman komputer.

3. Sebagai istilah yang mewujudkan advokasi suatu pendekatan spesifik ke pemrograman komputer, satu hal yang mendesak yang diperlakukan sebagai profesi rekayasa daripada sebuah seni atau kerajinan, dan advokasi dari kodifikasi praktis yang disarankan dalam bentuk metodologi rekayasa perangkat lunak.

Rekayasa perangkat lunak adalah disiplin rekayasa dengan perangkat lunak yang dikembangkan. Biasanya terdiri dari proses analisa kebutuhan pengguna, menyusunnya di dalam daftar kebutuhan, perancangan, pengkodean, pengujian, dan pengintegrasian bagian yang terpisah, menguji keseluruhan, penyebaran dan pemeliharaan perangkat lunak. Pemrograman hanya menjadi bagian kecil dari rekayasa perangkat lunak.

b. Metodologi Pemodelan dan Perancangan Sistem Terstruktur

“Metode pengembangan terstruktur sifatnya berorientasi proses, berfokus

(3)

memanipulasi, dan mendistribusikan data seiring data tersebut mengalir melalui sistem.” (Laudon,2008:214)

c. Kriptografi

Proses utama dalam suatu algoritma kriptografi adalah enkripsi dan dekripsi. Encrypt atau enkripsi merupakan sebuah teknik yang dilakukan untuk mengacak data asli menjadi kode rahasia sehingga menyulitkan orang yang tidak berkepentingan untuk mengakses dan mengetahui data yang asli. Menurut buku “Cara Mudah Membuat & Membasmi Virus Komputer”, enkripsi memiliki pengertian sebagai berikut:

“Enkripsi adalah satu cara untuk menyembunyikan karakter-karakter/ byte-byte asli suatu file agar tidak bisa terbaca dengan alasan untuk keamanan atau perusakan secara teratur.” (Hirin,2009:89). Enkripsi mengubah sebuah plaintext ke dalam bentuk ciphertext.

Decryption atau dekripsi merupakan proses kebalikan dari proses enkripsi, dimana berfungsi untuk mengembalikan data yang telah dienkripsi sehingga data yang telah menjadi kode rahasia diubah kembali menjadi data biasa atau aslinya. Menurut buku “Sistem Keamanan Komputer”, dekripsi memiliki pengertian sebagai berikut:

“Dekripsi merupakan proses kebalikannya di mana chipertext ditransformasikan kembali ke plaintext dengan metode matematis dan menggunakan suatu key.” (Stiawan,2005:68). Dekripsi mengubah chipertext kembali ke dalam bentuk plaintext.

Gambar 1 Proses Kriptografi Sumber : (Poetro, 2010:201)

(4)

d. Fungsi Hash

Fungsi hash merupakan fungsi yang menerima masukan string yang panjangnya bebas dan mengkonversikannya menjadi sebuah string yang panjangnya tetap. Fungsi hash sering disebut dengan fungsi hash satu arah (one-way function), message digest, fungsi kompresi dan message authentication code (MAC). Fungsi hash menurut Dony Ariyus adalah sebagai berikut:

“Fungsi hash merupakan suatu fungsi matematika yang mengambil masukan panjang variabel dan mengubahnya ke dalam urutan biner dengan panjang yang tetap.” (Ariyus,2008:46)

Disimpulkan bahwa fungsi hash adalah sebuah prosedur atau fungsi matematis yang mengkonversi data berukuran tertentu menjadi sebuah nilai yang ukurannya tetap untuk setiap fungsi. Masukan yang diterima adalah string dengan panjang yang sembarang dan ditransformasikan menjadi string keluaran yang panjangnya tetap. Kombinasi fungsi hash dan algoritma kriptografi dapat menjadi solusi agar ukuran chiphertext sama dengan ukuran plaintext. (Pratama, 2011:3)

e. Algoritma Rijndael

Pada tahun 90-an, setelah beberapa tahun standar penyandian simetris Data Encryption Standard (DES) dianggap tidak lagi aman, lembaga standar Amerika Serikat, National Institute of Standards and Technology (NIST) membuat sayembara untuk menggantikan Data Encryption Standard (DES) dengan sebuah sistem penyandian baru pada tanggal 12 September 1997. NIST memberikan spesifikasi bahwa sistem penyandian tersebut harus memiliki panjang blok 128 bit dan mampu mendukung panjang kunci 128 bit, 192 bit, 256 bit.

Setelah beberapa seleksi, NIST memilih sistem penyandian Rijndael yang dikembangkan oleh Vincent Rijment dan John Daemen sebagai sistem penyandian yang baru pada tahun 2000. Pemilihan Rijndael berdasarkan pada kriteria: (Sadikin,2012:151)

(5)

Sistem penyandian harus tahan terhadap serangan analisis sandi selain serangan secara brute force.

2. Biaya

Sistem penyandian harus memiliki biaya komputasi dan memori yang efisien sehingga dapat diimplementasikan pada perangkat keras maupun perangkat lunak.

3. Karakteristik algoritma dan implementasi

Sistem penyandian harus bersifat terbuka, fleksibel, dan sederhana.

Algoritma Rijndael kemudian dikenal dengan nama Advanced Encryption Standard (AES). Advanced Encryption Standard (AES) diumumkan oleh Institut Nasional Standar dan Teknologi (NIST) sebagai Standar Pemrosesan Informasi Federal (FIPS) publikasi 197 (FIPS 197) pada tanggal 26 November 2001. Rijndael melalui proses standardisasi selama 5 tahun, di mana ada 15 desain enkripsi yang disajikan dan dievaluasi. Rijndael, yang kemudian disebut AES, efektif menjadi standar pemerintah Federal pada tanggal 26 Mei 2002 setelah persetujuan dari Menteri Perdagangan.

Rijndael merupakan sistem penyandian blok yang bersifat non-Feistel karena Rijndael menggunakan komponen yang selalu memiliki invers dengan panjang blok 128 bit. Penyandian Rijndael menggunakan proses yang berulang yang disebut dengan ronde. Jumlah ronde yang digunakan oleh Rijndael tergantung dengan panjang kunci yang digunakan. Setiap ronde membutuhkan kunci ronde dan masukan dari ronde berikutnya. Kunci ronde dibangkitkan berdasarkan kunci yang diberikan.

Blok kunci dalam algoritma Rijndael ini adalah karakter atau huruf yang dikelompokkan sebagai kunci, sedangkan panjang kunci merupakan banyaknya karakter atau huruf per blok. Jumlah ronde dalam algoritma ini menyatakan banyaknya putaran atau looping dalam memproses data masukan. Bentuk kunci di dalam algoritma Rijndael bermacam-macam tergantung implementasinya. Kunci bisa berupa teks yang dipecah per blok dan ada juga yang berupa matriks. Kunci berupa teks biasa diimplementasikan terhadap sebuah kumpulan teks seperti sms (short messaging service), e-mail, maupun

(6)

file dari program pengolah kata seperti microsoft word. Kunci berupa matriks digunakan pada data berupa citra (image). (Poetro,2010:210)

Proses di dalam Rijndael merupakan transformasi terhadap state. Sebuah teks asli dalam blok (128 bit) terlebih dahulu diorganisir sebagai state. Enkripsi Rijndael adalah transformasi terhadap state secara berulang dalam beberapa ronde. State yang menjadi keluaran ronde 𝑘 menjadi masukan untuk ronde ke-𝑘 + 1.

Pada awalnya teks asli direorganisasi sebagai sebuah state. Kemudian sebelum ronde ke-1 dimulai blok teks asli dicampur dengan kunci ronde ke-0 (transformasi ini disebut dengan Add Round Key). Setelah itu, ronde ke-1 sampai dengan ronde ke-(Nr-1) dengan Nr adalah jumlah ronde menggunakan empat jenis transformasi, yaitu Sub Bytes, Shift Rows, Mix Columns, dan Add Round Key. Pada ronde terakhir, yaitu ronde ke-Nr dilakukan transformasi serupa dengan ronde lain namun tanpa transformasi Mix Columns.

Algoritma enkripsi Rijndael menggunakan empat jenis transformasi, yaitu substitusi yang disebut dengan Sub Bytes, permutasi yang disebut dengan Shift Rows, pencampuran yang disebut dengan Mix Columns, dan penambahan kunci yang disebut dengan Add Round Key.

Di dalam algoritma Rijndael, semua proses dilakukan dalam bentuk heksadesimal. Proses perubahan dalam notasi biner, desimal, dan heksadesimal dalam algoritma Rijndael mengacu pada tabel ASCII.

Sebagai contoh, tahap-tahap penyandian dalam algoritma Rijndael-128 untuk proses enkripsi secara urut dapat dijelaskan sebagai berikut: (Poetro,2010:211)

1. MengXORkan plaintext dengan kunci masukan (Add Round Key) 2. Mensubtitusi plaintext (Sub Bytes)

3. Melakukan proses pergeseran bit terhadap plaintext (Shift Rows)

4. Mengalikan kolom-kolom plaintext dengan kolom-kolom matriks polinomial yang sudah ditentukan (Mix Columns)

5. Melakukan proses Add Round Key lagi tetapi dengan kunci hasil Key Schedule setiap putaran

(7)

6. Mengulangi (looping) langkah dua sampai langkah lima sebanyak sembilan kali

7. Mensubtitusi plaintext (Sub Bytes)

8. Melakukan proses pergeseran bit (Shift Rows)

9. Melakukan proses Add Round Key dengan kunci hasil Key Schedule putaran kesepuluh dan menghasilkan ciphertext

Gambar 2

Diagram Proses Enkripsi Rijndael-128 Sumber : (Poetro,2010-212)

Secara ringkas algoritma dekripsi Rijndael merupakan kebalikan algoritma enkripsi Rijndael. Algoritma dekripsi Rijndael menggunakan transformasi invers semua transformasi dasar yang digunakan pada algoritma enkripsi Rijndael. Setiap transformasi dasar Rijndael memiliki transformasi invers, yaitu Inv Sub Bytes, Inv Shift Rows, dan Inv Mix Columns, Add Round Key merupakan transformasi yang bersifat self-invers dengan syarat menggunakan kunci yang sama.

Tahap-tahap penyandian dalam algoritma Rijndael-128 untuk proses enkripsi dan dekripsi secara urut dapat dijelaskan sebagai berikut: (Poetro,2010:212)

(8)

2. Melakukan proses pergeseran bit terhadap ciphertext (Inv Shift Rows) 3. Mensubtitusi ciphertext (Inv Sub Bytes)

4. Melakukan proses Add Round Key lagi tetapi dengan kunci hasil Key Schedule setiap putaran

5. Mengalikan kolom-kolom ciphertext dengan kolom-kolom matriks polinomial yang sudah ditentukan (Inv Mix Columns)

6. Melakukan proses pergeseran bit terhadap ciphertext (Inv Shift Rows) 7. Mensubtitusi ciphertext (Inv Sub Bytes)

8. Mengulangi (looping) langkah empat sampai langkah tujuh sebanyak sembilan kali

9. Melakukan proses Add Round Key dengan kunci hasil Key Schedule putaran ke sepuluh dan menghasilkan plaintext

Gambar 3

Diagram Alir Proses Dekripsi Rijndal-128 Sumber : (Poetro,2010:212)

Sandi Rijndael sampai saat ini masih dianggap aman untuk digunakan. Banyak sistem komunikasi menggunakan Rijndael sebagai dasar sistem sandinya karena efisien dan aman. Keamanan sistem sandi Rijndael salah satunya disebabkan oleh penggunaan kunci yang besar (128 bit, 192 bit, dan

(9)

256 bit). Jadi brute attack terhadap sistem sandi Rijndael 256 bit memiliki ruang kunci 2256.

3. Analisa dan Perancangan

Perangkat lunak yang akan dibangun adalah perangkat lunak yang dirancang menggunakan algoritma Rijndael, baik untuk proses enkripsi maupun proses dekripsinya. Perangkat lunak ini mampu mendukung panjang kunci 128 bit, 192 bit, 256 bit. Tipe kunci untuk proses enkripsi dan dekripsi yang akan digunakan sebagai kunci masukan merupakan hasil dari fungsi hash. Rancangan fungsi hash yang dapat digunakan adalah metode Haval, MD5, Ripemd-160, Sha512 dan Tiger. Hal ini dimaksudkan untuk memberikan pilihan metode acak kunci kepada pengguna dalam mengenkripsi maupun mendekripsi file.

a. Diagram Konteks

Gambar 4

Diagram Konteks Aplikasi Enkripsi Deskripsi Data b. Perancangan Antarmuka

(10)

Gambar 5

Rancangan Antarmuka Form File Enkripsi dan Dekripsi - Rijndael

Rancangan antar muka Aplikasi File Encrypter & Decrypter – Rijndael diilustrasikan melalui Gambar 5. Pengguna akan menginput file input melalui textbox atau dengan menggunakan open file dialog, password melalui textbox, metode hash melalui combobox, file output melalui textbox atau dengan menggunakan save file dialog. Untuk memulai proses, pengguna akan memilih tombol Encrypt/ Decrypt.

4. Kesimpulan

Dari penulisan Tugas Akhir ini, dapat diambil beberapa kesimpulan sebagai berikut:

1. Implementasi enkripsi dan dekripsi dapat dilakukan sesuai dengan standar algoritma Rijndael.

2. File hasil dekripsi akan sama dengan file semula apabila kunci yang diinput oleh pengguna sama dengan kunci yang diinput pada saat proses enkripsi, jadi dapat disimpulkan file hasil enkripsi hanya bisa didekripsi oleh pengguna yang autentik yang mengetahui kunci.

DAFTAR PUSTAKA

[1] Ariyus, Dony, 2008, “Pengantar Ilmu Kriptografi: Teori Analisis & Implementasi”, C.V Andi Offset.

[2] Hirin, Anhar, Anhar, 2009, “Cara Mudah Membuat & Membasmi Virus Komputer”, Mediakita.

[3] Huda, Muharram, 2009, “Perkembangan Enkripsi Fungsi Hash pada SHA (Secure Hash Algorithm)”, Institut Teknologi Bandung.

[4] Laudon, Kenneth C., Jane P. Laudon, 2008, “Sistem Informasi Manajemen, Edisi 10”, Salemba Empat, Penerjemah: Chriswan Sungkono dan Machmudin Eka P.

[5] Mulya, Megah, 2009, “Penggunaan Algoritma SHA-512 Untuk Menjamin Integritas Dan Keotentikan Pesan Pada Intranet”, Universitas Sriwijaya.

(11)

[6] Poetro, Aris, dkk., 2010, “Kriptografi Citra Digital dengan Algoritma Rijndael dan Transformasi Wavelet Diskrit Haar”, Universitas Diponegoro.

[7] Pratama, Aditya, 2011, “Studi Perbandingan dan Implementasi Kombinasi Fungsi Hash dan Kriptografi Kunci-Publik”, Institut Teknologi Bandung. [8] Simarmata, Janner, 2010, “Rekayasa Perangkat Lunak”, C.V Andi Offset. [9] Stiawan, Deris, 2005, “Sistem Keamanan Komputer”, PT. Elex Media

Gambar

Gambar 1  Proses Kriptografi  Sumber : (Poetro, 2010:201)
Diagram Konteks Aplikasi Enkripsi Deskripsi Data

Referensi

Dokumen terkait

Landasan pendidikan NU ini berikutnya diturunkan menjadi Anggaran Dasar NU sebagaimana terdapat pada Pasal IX Anggaran Dasar NU sebagai berikut “Di bidang pendidikan, pengajaran

Dokumen niaga adalah surat-surat berharga yang dapat dipakai sebagai alat pembuktian peristiwa penting yang terjadi dalam transaksi jual beli/dunia perdagangane. Contoh :

[r]

Namun demikian Pemerintah Kota Depok terus berupaya mengatasi keterbatasan-keterbatasan keuangan daerah dengan menyempurnakan manajemen keuangan, melakukan efisiensi dan

ACUAN PENETAPAN REKOMENDASI PUPUK N, P, DAN K PADA LAHAN SAWAH. SPESIFIK LOKASI

Implementasi ke dalam bahasa pemrograman C dari kedua macam algoritma diatas, menunjukkan bahwa waktu komputasi algoritma midpoint lebih cepat sebesar 8 kali pada pembuatan garis

[r]

Untuk menemukan hubungan pola asuh orang tua, pergaulan teman sebaya dan media televisi terhadap karakter siswa di SMP Negeri 25 Purworejo, dengan unsur pokok kajian seperti