SISTEM KEMANAN KOLEKSI PADA PERPUSTAKAAN DIGITAL MENGGUNAKAN AES-128 ROBI ILHAM

dokumen-dokumen yang mirip
BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

TINJAUAN PUSTAKA. Kriptografi

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB IV PENGUJIAN DAN ANALISIS

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

Blox: Algoritma Block Cipher

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A.

BAB IV ANALISIS DAN PERANCANGAN

Algoritma Cipher Block EZPZ

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone

PERANCANGAN APLIKASI PENGAMANAN DATA DENGAN KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD (AES)

Bab 2 Tinjauan Pustaka

BAB III ANALISIS SISTEM

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

KRIPTOGRAFI FILE MENGGUNAKAN METODE AES DUAL PASSWORD. Imron Abdul Ilyas 1 Suryarini Widodo 2. Abstrak

PRESENTASI TUGAS AKHIR KI091391

OZ: Algoritma Cipher Blok Kombinasi Lai-Massey dengan Fungsi Hash MD5

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

MENGENAL PROSES PERHITUNGAN ENKRIPSI MENGGUNAKAN ALGORITMA KRIPTOGRAFI ADVANCE ENCRYPTION STANDARD(AES) RIJDNAEL

BAB II TINJAUAN PUSTAKA

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java

MENGAMANKAN BASIS DATA KEUANGAN KOPERASI DENGAN MENGGUNAKAN KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD

BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN

Algoritma AES sebagai Metode Enkripsi dalam Password Management

IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI DAN DEKRIPSI PADA CITRA DIGITAL

BAB II TINJAUAN PUSTAKA

Algoritma Enkripsi Baku Tingkat Lanjut

Advanced Encryption Standard (AES)

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

Algoritma Spiral shifting

Pengaruh Variasi Panjang Kunci, Ukuran Blok, dan Mode Operasi Terhadap Waktu Eksekusi pada Algoritma Rijndael

Penggunaan Timing Attack Sebagai Salah Satu Jenis Serangan pada Kriptografi

STUDI DAN IMPLEMENTASI ADVANCED ENCRYPTION STANDARD DENGAN EMPAT MODE OPERASI BLOCK CIPHER

Modifikasi Blok Cipher

BAB 3 METODOLOGI PENELITIAN

STUDI DAN IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI SMS PADA TELEPON GENGGAM YANG BERBASIS WINDOWS MOBILE 5.0

Studi dan Implementasi HMAC dengan Fungsi Hash Grøstl dan Perbandingannya dengan CMAC dengan Algoritma Cipher Blok AES

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

WINDOWS VISTA BITLOCKER DRIVE ENCRYPTION

Proses Enkripsi dan Dekripsi menggunakan Algoritma Advanced Encryption Standard (AES)

APLIKASI PENGAMANAN FILE DENGAN ALGORITMA AES256 DAN SHA1

BAB II TINJAUAN PUSTAKA

ANALISIS ALGORITME DAN WAKTU ENKRIPSI VERSUS DEKRIPSI PADA ADVANCED ENCRYPTION STANDARD (AES)

BAB III ANALISIS DAN PERANCANGAN SISTEM

PERANCANGAN APLIKASI PENGAMANAN DATA TEKS DENGAN METODE ADVANCED ENCRYPTION STANDARD (AES) DAN METODE END OF FILE (EOF)

Algoritma Cipher Block RG-1

Implementasi AES-ECB 128-bit untuk Komputasi Paralel pada GPU menggunakan Framework NVIDIA CUDA

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

PERANCANGAN APLIKASI KRIPTOGRAPHY ADVANCED ENCRYPTION STANDARD TUGAS AKHIR. Disusun Oleh : DEDY BUDIAWAN NPM

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

BAB I PENDAHULUAN. 1.1 Latar Belakang

Algoritma Kriptografi Modern (AES, RSA, MD5)

POLYNOMIAL FUNCTIONS DAN IMPLEMENTASINYA DALAM ALGORITMA ADVANCED ENCRYPTION STANDARD PADA DATABASE ACCOUNTING

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme

Prosiding Matematika ISSN:

BAB III ANALISIS DAN DESAIN SISTEM

BAB II LANDASAN TEORI

Perancangan Kriptografi Block Cipher 256 Bit Berbasis pada Pola Tuangan Air Artikel Ilmiah

BAB IV HASIL DAN UJI COBA

Bangun Wijayanto dan Retantyo Wardoyo

Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining (CBC) 3. Cipher Feedback (CFB) 4. Output Feedback (OFB)

STUDI & IMPLEMENTASI ALGORITMA TRIPLE DES

PERBANDINGAN ALGORITMA AES DENGAN ALGORITMA XTS-AES UNTUK ENKRIPSI DAN DEKRIPSI TEKS SMS BERBASIS JAVA ME

Implementasi Algoritma MAC Berbasis Cipher Blok Sebagai Program Add-in di Microsoft Word untuk Otentikasi Dokumen

Perancangan dan Implementasi Aplikasi Bluetooth Payment untuk Telepon Seluler Menggunakan Protokol Station-to-Station

BAB 2 TINJAUAN PUSTAKA

Vol. 3, No. 2, Juli 2007 ISSN PERANAN KRIPTOGRAFI DALAM KEAMANAN DATA PADA JARINGAN KOMPUTER

BAB 1 PENDAHULUAN. khususnya internet sangatlah cepat dan telah menjadi salah satu kebutuhan dari

BAB 1 PENDAHULUAN Latar Belakang

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

Implementasi Disk Encryption Menggunakan Algoritma Rijndael

IMPLEMENTASI KRIPTOGRAFI MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDAR (AES) UNTUK PENGAMANAN DATA TEKS

Perancangan dan Implementasi Aplikasi Kriptografi Algoritma AES-128 Pada File Dokumen Artikel Ilmiah

Algoritma Block Cipher Mini-Box

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

Perancangan Aplikasi Kriptografi File Dengan Metode Algoritma Advanced Encryption Standard (AES)

BAB 2 TINJAUAN PUSTAKA

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

Algoritma AES (Advanced Encryption Standard) dan Penggunaannya dalam Penyandian Pengompresian Data

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

BAB 2 LANDASAN TEORI

PROTOKOL KEAMANAN DOKUMEN DIGITAL PADA SISTEM E-PROCUREMENT MENGGUNAKAN AES, RSA, DAN SHA1 PERMADHI SANTOSA

ALGORITMA KRIPTOGRAFI AES RIJNDAEL

BAB I PENDAHULUAN 1.1 Latar Belakang

Data Encryption Standard (DES)

DESAIN DAN IMPLEMENTASI PROTOKOL KRIPTOGRAFI UNTUK APLIKASI SECURE CHAT PADA MULTIPLATFORM SISTEM OPERASI

IMPLEMENTASI ENKRIPSI DATA BERBASIS ALGORITMA DES

BAB I PENDAHULUAN. Universitas Sumatera Utara

Add your company slogan TEKNIK BLOCK CIPHER. Kriptografi - Week 9 LOGO. Aisyatul Karima, 2012

Kriptografi Modern Part -1

APLIKASI KRIPTOGRAFI UNTUK PERTUKARAN PESAN MENGGUNAKAN TEKNIK STEGANOGRAFI DAN ALGORITMA AES

IMPLEMENTASI ALGORITMA KRIPTOGRAFI DENGAN S-BOX DINAMIS BERGANTUNG PADA KUNCI UTAMA BERBASIS ADVANCED ENCRYPTION STANDARD (AES)

Suatu Algoritma Kriptografi Simetris Berdasarkan Jaringan Substitusi-Permutasi Dan Fungsi Affine Atas Ring Komutatif Z n

Tipe dan Mode Algoritma Simetri (Bagian 2)

BAB II LANDASAN TEORI

Transkripsi:

SISTEM KEMANAN KOLEKSI PADA PERPUSTAKAAN DIGITAL MENGGUNAKAN AES-128 ROBI ILHAM DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR 2008

SISTEM KEMANAN KOLEKSI PADA PERPUSTAKAAN DIGITAL MENGGUNAKAN AES-128 Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor Oleh: ROBI ILHAM DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR 2008

Judul Nama NRP : Sistem Keamanan Koleksi pada Perpustakaan Digital Menggunakan AES-128 : Robi Ilham : G64101045 Pembimbing I Menyetujui: Pembimbing II Firman Ardiansyah S.Kom, M. Si NIP 132 311 919 Yeni Herdiyeni S.Si, M.Kom NIP 132 282 665 Mengetahui: Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor Dr. Drh. Hasim, DEA NIP 131 578 806 Tanggal Lulus:

ABSTRAK ROBI ILHAM. Sistem Keamanan Koleksi pada Perpustakaan Digital Menggunakan AES-128. Dibimbing oleh FIRMAN ARDIANSYAH dan YENI HERDIYENI. Perpustakaan digital merupakan perpustakaan yang menyimpan koleksinya dalam bentuk file digital dan menyebarkannya melalui jaringan komputer. File digital mudah untuk diduplikasikan, hal ini menyebabkan kemungkinan terjadinya pelanggaran terhadap koleksi digital perpustakaan. Oleh karena itu diperlukan suatu metode keamanan untuk menjaga koleksi digital tersebut. Penelitian ini mencoba menerapkan metode keamanan koleksi digital dengan menggunakan enkripsi Advance Encryption Standard (AES) dengan panjang kunci 128 bit dengan menggunakan metode Cipher Block Chaining (CBC). Data yang digunakan pada penelitian ini berjumlah 50 file pdf yang merupakan koleksi penulis yang dikumpulkan dari berbagai sumber di Internet. Berdasarkan hasil pengujian enkripsi dan dekripsi didapat persentase keberhasilan mencapai 100%. Kata kunci : digital library, Advance Encryption Standard, Cipher Block Chaining.

RIWAYAT HIDUP Penulis dilahirkan di Jakarta pada tanggal 2 Agustus 1983 dari ayah bernama Muhamad dan ibu bernama Siti Rohmah. Penulis merupakan putra kelima dari enam bersaudara. Tahun 2001 penulis lulus dari SMUN 16 Palmerah Jakarta dan pada tahun yang sama penulis diterima sebagai mahasiswa Departemen Ilmu Komputer, Fakultas matematika dan Ilmu Pengetahuan Alam IPB melalui jalur UMPTN (Ujian Masuk Perguruan Tinggi Negeri). Pada tahun 2005 penulis melakukan Praktek Kerja Lapang (PKL) di Bank Bukopin selama kurang lebih dua bulan.

PRAKATA Alhamdulillah, segala puji dan syukur penulis panjatkan kepada Allah SWT atas semua rahmat dan karunia-nya, sehingga penulis dapat menyelesaikan skripsi sistem keamanan koleksi pada perpustakaan digital menggunakan AES-128 ini. Shalawat serta salam penulis sampaikan kepada junjungan kita Nabi Muhammad SAW. Penulis mengucapkan terima kasih kepada Bapak Firman Ardiansyah S.Kom, M.Si dan Ibu Yeni Herdiyeni S.Si, M.Kom selaku pembimbing I dan pembimbing II yang dengan sabar membimbing serta memberikan masukan kepada penulis. Penulis juga mengucapkan terima kasih kepada Bapak Endang Purnama Giri S.Kom selaku penguji yang telah memberikan saran serta masukannya. Selanjutnya, penulis ingin mengucapkan terima kasih kepada : 1. Ibu, Bapak, Bang Roni, serta adikku Rahmat yang senantiasa dengan sabar mendoakan dan mendukung Penulis dengan penuh kasih sayang. 2. Siti Nur Sakinah yang telah banyak memberikan dukungan dan doa kepada penulis. 3. M.Astrid, Andika dan Ratna atas dukungannya. 4. Abi, Fernando, Rijki, Ifnu, Irfan, M. Yusuf yang membantu penulis dalam pembuatan skripsi ini. 5. Liesca, Erwin, Rosy yang memberikan dukungan serta motivasi kepada penulis. 6. Dosen serta Staff Departemen Ilmu Komputer yang telah banyak membantu penulis pada masa penelitian dan perkuliahan. 7. Semua pihak yang tidak dapat penulis sebutkan satu persatu yang telah membantu penulis dalam menyelesailkan skripsi ini. Penulis berharap hasil dari penelitian ini dapat bermanfaat dan dapat menjadi acuan bagi penelitian selanjutnya. Bogor, Januari 2008 Robi Ilham

DAFTAR ISI Halaman DAFTAR GAMBAR... iv DAFTAR LAMPIRAN... iv PENDAHULUAN Latar Belakang... 1 Tujuan... 1 Ruang Lingkup... 1 TINJAUAN PUSTAKA Kriptografi... 1 Plaintext dan Ciphertext... 2 Enkripsi dan Dekripsi... 2 Algoritma Penyandian... 2 Algoritma Simetrik... 2 Algoritma Alir dan Algoritma Blok... 2 Finite Field... 2 AES (Advanced Encryption Standard)... 2 Modus Operasi Algoritma Blok... 5 CBC (Cipher Block Chaining)... 5 METODOLOGI PENELITIAN Data Penelitian... 6 Penambahan Header... 6 Enkripsi Dengan AES-128... 6 Dekripsi... 7 Validasi... 7 Penghancuran File... 7 Lingkungan Pengembangan... 7 HASIL DAN PEMBAHASAN Dekripsi... 9 Hasil Pengujian... 10 Pengembangan Sistem... 10 Sisi Server... 10 Sisi Peminjam... 10 KESIMPULAN DAN SARAN Kesimpulan... 11 Saran... 11 DAFTAR PUSTAKA... 11 LAMPIRAN... 12 iii

DAFTAR GAMBAR Halaman Proses Penyalinan dari array input ke array state (NIST 2001a).... 3 Transformasi AddRoundKey (NIST 2001a).... 3 Transformasi Subbytes (NIST 2001a).... 3 byte pada transformasi Shiftrow (NIST 2001a).... 3 Transformasi MixColumns (NIST 2001a).... 4 Proses penyalinan dari array state ke array output (NIST 2001a).... 4 Pergeseran byte pada transformasi InvShiftrows (NIST 2001a).... 4 Metode CBC (NIST 2001b).... 5 Metodologi Penelitian.... 6 Enkripsi AES-128.... 6 Dekripsi AES-128.... 7 Diagram aktivitas pada sisi server.... 10 Diagram Proses pada sisi peminjam.... 11 DAFTAR LAMPIRAN Halaman Subtitusi S-Box AES... 13 Subtitusi Inverse S-Box AES... 14 Tampilan login web perpustakaan digital... 14 Tampilan setelah login web perpustakaan digital... 15 Tampilan kategori buku pada web perpustakaan digital... 15 Tampilan daftar buku pada web perpustakaan digital... 16 Tampilan memasukkan kunci untuk mendownload file... 16 Tampilan link untuk mendownload file... 17 Tampilan awal program dekripsi file... 17 Tampilan browse file yang akan dibuka... 18 Tampilan memasukkan kunci untuk mendekripsi file... 18 Tampilan file PDF yang dibuka... 19 iv

Latar Belakang PENDAHULUAN Perpustakaan merupakan salah satu tempat sumber informasi bagi masyarakat. Koleksi yang ada di perpustakaan terdiri dari buku, mikrofilm, rekaman video maupun audio dan sebagainya. Untuk mendapatkan informasi, masyarakat dapat mengunjungi perpustakaan. Pengunjung dapat membaca langsung di perpustakaan atau meminjam koleksi perpustakaan dalam jangka waktu tertentu dan mengembalikannya apabila telah habis masa pinjamannya. Perkembangan teknologi saat ini telah mempengaruhi cara penyimpanan informasi. Saat ini penyimpanan informasi banyak disimpan ke dalam bentuk file digital yang dapat dibaca menggunakan komputer. File berupa teks, audio dan video yang pada awalnya berupa lembaran atau buku serta rekaman kini mulai dikonversikan ke dalam bentuk file digital. Hal ini bermanfaat karena file dalam bentuk format digital tidak memerlukan ruang yang besar, mudah dibawa serta mudah untuk diduplikasi. Perpustakaan digital merupakan perpustakaan yang menyimpan data baik itu buku (tulisan), gambar, suara dalam bentuk file elektronik dan mendistribusikannya dengan menggunakan protokol elektronik melalui jaringan komputer. Isi dari perpustakaan digital berada dalam suatu komputer server yang bisa ditempatkan secara lokal, maupun di lokasi yang jauh, tetapi dapat diakses dengan cepat dan mudah melalui jaringan komputer. Seperti halnya perpustakaan konvensional, perpustakaan digital juga harus memperhatikan hak karya cipta koleksinya. Kemudahan menduplikasi file digital menjadi salah satu masalah utama pada perpustakaan digital. Hal ini menyebabkan hak karya cipta koleksi menjadi tidak terjaga. Dengan adanya masalah duplikasi file maka harus dibuat sebuah sistem yang dapat mencegah terjadinya hal-hal tersebut. Salah satu cara untuk menanggulangi hal tersebut adalah dengan mengenkripsi file digital yang akan dipinjam. File yang akan dipinjam dienkripsi dengan menggunakan kunci yang hanya diketahui oleh peminjam, tetapi hal ini juga tidak menjamin keamanan koleksi tersebut, dikarenakan tidak adanya jaminan bahwa peminjam tidak akan memberitahukan kunci untuk mendekripsi file yang dipinjamnya kepada orang lain. Penelitian ini mencoba membangun sebuah sistem keamanan koleksi pada perpustakaan digital, dengan menggunakan metode enkripsi AES-128. Penelitian ini merupakan kelanjutan dari penelitian sistem keamanan koleksi digital (Tejapermana 2006) dengan menggunakan metode enkripsi yang sama. Penelitian-penelitian yang berkaitan dengan AES telah banyak dilakukan dan dipublikasikan dalam bentuk jurnal, antara lain Related-Key Impossible Diferential Attacks on Reduced-Round AES-256 (Zhang et al. 2007) dan A Modified AES Based Algorithm for Image Encryption (Zeghid et al. 2007). Tujuan Tujuan dari penelitian ini adalah menerapkan algoritma AES-128 pada metode keamanan koleksi untuk perpustakaan digital. Pada penelitian ini pengembangan sistem dibuat berbasis web dan lebih terotomasi, berbeda dengan penelitian sebelumnya (Tejapermana 2006) yang berbasis desktop. Ruang Lingkup Ruang lingkup dari penelitian ini dibatasi pada penyusunan sebuah metode keamanan dengan menggunakan metode enkripsi AES- 128. Koleksi digital yang digunakan dalam penelitian ini adalah file dokumen dengan format Adobe PDF (Portable Document Format) versi 6. Kriptografi TINJAUAN PUSTAKA Kriptografi adalah studi teknik matematika yang berkaitan dengan aspek-aspek dari keamanan informasi seperti kerahasiaan, integritas data, autentikasi entitas, dan autentikasi asal data. (Menezes et al. 1996) Tujuan dari kriptografi : 1 Kerahasiaan (confidentiality), menjaga informasi dari pihak-pihak yang tidak berhak 2 Integritas data (data integrity), menjaga data atau informasi dari perubahan oleh pihak-pihak yang tidak berhak 3 Autentikasi (authentication), identifikasi baik pihak-pihak yang terlibat dalam pertukaran informasi maupun informasi itu sendiri 1

4 Non repudiation, mencegah pihakpihak melanggar kesepakatan yang telah dibuat Plaintext dan Ciphertext Plaintext adalah pesan atau data asli yang dapat dibaca yang dimasukkan ke dalam algoritma penyandian sebagai input (Stallings 2003). Ciphertext adalah pesan teracak yang dihasilkan algoritma penyandian sebagai output. Ciphertext bergantung kepada plaintext dan kunci rahasia yang digunakan. Untuk sebuah pesan, dua kunci yang berbeda akan menghasilkan ciphertext yang berbeda. Ciphertext terlihat sebagai stream data yang acak dan tidak dapat terbaca (Stallings 2003). Enkripsi dan Dekripsi Enkripsi yang disimbolkan dengan E merupakan proses untuk mengubah suatu plaintext menjadi ciphertext. Enkripsi dan dekripsi digunakan untuk menyandikan suatu data atau pesan untuk mencapai salah satu tujuan kriptografi yaitu kerahasiaan. Fungsi enkripsi (E) terhadap plaintext (P) akan menghasilkan ciphertext (C) yang secara matematis dapat dinyatakan sebagai berikut: E(P) = C. Dekripsi disimbolkan dengan D, adalah fungsi kebalikan dari enkripsi merupakan proses mengembalikan ciphertext menjadi plaintext. Fungsi dekripsi (D) terhadap ciphertext (C) akan menghasilkan plaintext (P) yang secara matematis dapat dinyatakan sebagai berikut: D(C) = P. Proses enkripsi yang diikuti dengan proses dekripsi merupakan rangkaian proses penyandian pesan yang diikuti pengembalian pesan ke plaintext yang asli, sehingga berlaku identitas (Menezes et al. 1996): D(E(P)) = D(C) = P. Algoritma Penyandian Algoritma penyandian atau cipher adalah rangkaian fungsi matematika yang digunakan dalam proses enkripsi dan dekripsi. Untuk keamanannya, semua algoritma kriptografi tergantung pada kerahasiaan kunci (disimbolkan dengan e untuk kunci enkripsi dan d untuk kunci dekripsi). Nilai dari kunci ini akan mempengaruhi fungsi enkripsi dan dekripsi, sehingga menjadi (Menezes et al. 1996): E e (P) = C, D d (C) = P Algoritma Simetrik Suatu skema algoritma penyandian dikatakan sebagai algoritma simetrik jika untuk setiap pasangan kunci enkripsi dan dekripsi (e,d), maka secara komputasi d mudah dihitung apabila e diketahui, dan e mudah dihitung apabila d diketahui (Menezes et al. 1996), namun pada praktiknya sering kali : e = d. Dengan demikian, algoritma simetrik disebut juga algoritme satu kunci. Algoritma Alir dan Algoritma Blok Algoritma simetrik dibedakan menjadi dua, yaitu algoritma alir (stream cipher) dan algoritma blok (block cipher). Algoritma alir adalah algoritma yang mengoperasikan bit-bit pesan atau satuan waktu tertentu, sedangkan algoritma blok adalah algoritma yang mengoperasikan pesan dalam sekumpulan bit (block) per satuan waktu tertentu (Menezes et al. 1996). Finite Field (GF) Finite field adalah field yang memiliki jumlah elemen berhingga. Teori ini dikemukan pertama kali oleh Evariste Galois, sehingga finite field disebut juga Galois Field (GF). Elemen anggota GF dinotasikan dengan dengan p merupakan bilangan prima dan. AES (Advanced Encryption Standard) AES adalah algoritma penyandian yang diajukan oleh Joan Daemen dan Vincent Rijmen dengan nama algoritma Rijndael yang kemudian ditetapkan sebagai algoritma AES oleh National Institute of Standards and Technology (NIST) dalam Federal Information Processing Standards Publications (FIPS) 197. AES adalah algoritma sandi blok kunci simetrik. AES mengenkripsi input berupa data/pesan dalam blok berukuran 128 bit dan menggunakan blok kunci yang dapat berukuran 128 bit, 192 bit, atau 256 bit. Algoritma enkripsi AES dituliskan sebagai berikut (Kurniawan 2004) : 2

Cipher (byte in[4 * Nb],byte out[4 * Nb], word w[nb * (Nr + 1)]) Begin Byte state[4,nb] State = in //memasukkan input ke state AddRoundKey(state, w) for round=1 step 1 to Nr-1 Subbytes(state) Shiftrows(state) AddRoundKey(state, w + round * Nb) end for Subbytes(state) Shiftrows(state) AddRoundKey(state, w + Nr*Nb) Out = state End Proses enkripsi dimulai dengan membuat array byte dua dimensi berukuran 4x4 dari blok input yang berasal dari plaintext. Array input ini kemudian disalin ke array state seperti pada Gambar 1 dengan aturan : terdiri dari empat buah word dari key schedule yang dihasilkan melalui proses Expand Key. Proses transformasi AddRoundKey dapat dilihat pada Gambar 2. Gambar 2 Transformasi AddRoundKey (NIST 2001a). Transformasi Subbytes adalah substitusi byte tidak linear yang dioperasikan secara independen untuk setiap byte dalam array state menggunakan tabel substitusi S-Box. Tabel substitusi S-Box AES dapat dilihat pada Lampiran 1. Proses substitusi ini dapat dilihat dalam Gambar 3. s[r,c] = in[r + 4c]; 0 r < 4, 0 c < 4 Gambar 1 Proses Penyalinan dari array input ke array state (NIST 2001a). Setelah proses AddRoundKey yang pertama, array state kemudian ditransformasi menggunakan fungsi round yang terdiri dari empat proses transformasi berorientasi byte yang dilakukan secara berurutan yaitu Subbytes, Shiftrows, MixColumns dan AddRoundKey. Proses round ini dilakukan beberapa kali sesuai dengan panjang kunci yang digunakan (sembilan kali untuk kunci 128 bit, sebelas kali untuk kunci 192 bit dan tiga belas kali untuk kunci 256 bit) yang kemudian diikuti dengan sekali fungsi round yang hanya terdiri dari Subbytes, Shiftrow dan AddRoundKey. Pada transformasi AddRoundKey, sebuah round key ditambahkan ke array state dengan menggunakan operasi XOR. Setiap round key Gambar 3 Transformasi Subbytes (NIST 2001a). Pada transformasi Shiftrows, byte dari tiga baris terakhir array state digeser seperti digambarkan pada Gambar 4. Gambar 4 Pergeseran byte pada transformasi Shiftrow (NIST 2001a). Transformasi MixColumns adalah proses transformasi yang dioperasikan kepada array 3

state kolom per kolom. Ilustrasi transformasi ini dapat dilihat pada Gambar 5. Keempat byte dalam setiap kolom diganti dengan byte baru dengan mengikuti aturan sebagai berikut: s' 0,c =({02} s 0,c ) ({03} s 1,c ) s 2,c s 3,c s' 1,c = s 0,c ({02} s 1,c ) ({03} s 2,c ) s 3,c s' 2,c = s 0,c s 1,c ({02} s 2,c ) ({03} s 3,c ) s' 3,c =({03} s 0,c ) s 1,c s 2,c ({02} s 3,c ) yang dilakukan secara berurutan yaitu InvShiftrows, InvSubbytes, AddRoundKey dan InvMixColumns. Proses round ini dilakukan beberapa kali sesuai dengan panjang kunci yang digunakan (sembilan kali untuk kunci 128 bit, sebelas kali untuk kunci 192 bit dan tiga belas kali untuk kunci 256 bit) yang kemudian diikuti dengan sekali proses round yang hanya terdiri dari InvShiftrows, InvSubbytes dan AddRoundKey. Transformasi AddRoundKey yang digunakan saat dekripsi sama dengan yang digunakan pada saat enkripsi. InvShiftrows adalah kebalikan (inverse) dari transformasi Shiftrows. Pada transformasi ini byte dari ketiga baris terakhir array state digeser seperti digambarkan pada Gambar 7. Gambar 5 Transformasi MixColumns (NIST 2001a). State terakhir hasil transformasi disalin ke array output seperti pada Gambar 6 dengan aturan : out[r + 4c]=s[r, c]; 0 r<4; 0 c<4. Gambar 6 Proses penyalinan dari array state ke array output (NIST 2001a). Setiap perkalian dan penjumlahan dalam operasi perkalian matriks merupakan operasi yang terdefenisikan dalam ruang lingkup finite field. Di sisi lain proses dekripsi AES dimulai dengan membuat array byte dua dimensi berukuran 4x4 dari blok input yang berasal dari Ciphertext. Array input ini kemudian disalin ke array state dengan cara yang sama pada saat enkripsi. Setelah proses AddRoundKey yang pertama, array state kemudian ditransformasi menggunakan fungsi round yang terdiri dari empat proses transformasi berorientasi byte Gambar 7 Pergeseran byte pada transformasi InvShiftrows (NIST 2001a). Transformasi InvSubbytes adalah kebalikan dari transformasi Subbytes. Pada transformasi ini tabel inverse S-Box diaplikasikan untuk melakukan transformasi terhadap setiap byte pada array state. Tabel inverse S-Box AES dapat dilihat pada Lampiran 2. Transformasi InvMixColumns adalah proses transformasi yang dioperasikan kepada array state kolom per kolom. Keempat byte dalam setiap kolom diganti dengan byte baru dengan mengikuti aturan sebagai berikut : s' 0,c =({0e} s 0,c ) ({0b} s 1,c ) ({0d} s 2,c ) ({09} s 3,c ) s' 1,c =({09} s 0,c ) ({0e} s 1,c ) ({0b} s 2,c ) ({0d} s 3,c ) s' 2,c =({0d} s 0,c ) ({09} s 1,c ) ({0e} s 2,c ) ({0b} s 3,c ) s' 3,c =({0b} s 0,c ) ({0d} s 1,c ) ({09} s 2,c ) ({0e} s 3,c ) State terakhir hasil transformasi disalin ke array output seperti pada saat enkripsi. 4

Modus Operasi Algoritma Blok Modus operasi algoritma blok merupakan aturan aliran proses algoritma kriptografi blok antara aliran proses suatu blok terhadap proses blok lainnya. Beberapa modus operasi blok di antaranya adalah Electronic Codebook (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB) dan Counter (CTR) (Stallings 2003). Padding Pada enkripsi algoritma blok input plaintext yang akan dienkripsi akan dibagi menjadi blokblok yang masing-masing panjangnya n bit, dengan n merupakan ukuran blok. Pada penelitian ini ukuran blok 128 bit. Pembagian blok akan mengakibatkan blok terakhir berukuran lebih kecil atau sama dengan 128 bit. Untuk mgengatasi hal tersebut dilakukan proses padding dengan menambahkan bit-bit sehingga ukuran blok menjadi sama.. CBC (Cipher Block Chaining) CBC adalah salah satu modus operasi algoritma sandi blok. CBC membutuhkan sebuah Initialization Vector (IV). IV ini tidak perlu rahasia seperti halnya kunci tetapi harus tidak dapat diduga dan integritasnya terjaga. Cara kerja modus ini dapat dilihat pada Gambar 8. Gambar 8 Metode CBC (NIST 2001b). METODOLOGI PENELITIAN Penelitian ini terbagi menjadi dua sistem yaitu sistem pada sisi server dan sistem pada sisi peminjam. Pada sisi server, file yang akan diunduh dibaca sebagai string binari kemudian ditambahkan string header yang berisi informasi untuk validasi. Setelah string header ditambahkan, gabungan kedua string tersebut kemudian dienkripsi menggunakan kunci yang dimasukkan oleh peminjam sehingga menghasilkan string baru. String hasil enkripsi tersebut dituliskan ke dalam sebuah file sehingga menjadi file baru. File baru ini yang akan diterima oleh peminjam. Pada sisi peminjam, file yang diperoleh dari server kemudian didekripsi menggunakan kunci yang dimasukkan oleh peminjam. Hasil dekripsi tersebut kemudian divalidasi, apabila validasi berhasil maka file pdf akan ditampilkan sedangkan bila validasi gagal maka file yang diperoleh dari server akan dihapus. Pada sisi server, sistem dibuat berbasiskan web. Peminjam harus terdaftar sebagai anggota perpustakaan agar dapat login dan meminjam file. Setelah login peminjam memilih kategori buku yang akan dipinjam kemudian sistem akan menampilkan file yang dapat diunduh sesuai kategori buku yang dipilihnya. Peminjam yang hendak mengunduh sebuah file akan diminta memasukkan kata kunci yang yang digunakannya untuk login. Kata kunci ini akan digunakan untuk mengenkripsi dan mendekripsi file yang akan dipinjam. Setelah itu peminjam akan diberikan sebuah link untuk mengunduh file berekstensi ipb yang telah dienkripsi. Pada sisi peminjam, untuk membuka file yang telah dipinjam dibuat aplikasi yang berbasiskan desktop. Peminjam akan diminta memasukkan kata kunci yang digunakan untuk login ke website perpustakaan digital. Setelah kunci yang dimasukkan benar, sistem akan melakukan beberapa validasi untuk menentukan valid atau tidaknya file yang akan dibuka. Apabila file masih valid maka file akan ditampilkan oleh viewer, tetapi apabila file sudah tidak valid maka file akan dihancurkan dan dihapus. Metode penelitian ini dapat dilihat pada Gambar 9. 5

Gambar 9 Metodologi Penelitian. Data Penelitian Data penelitian yang digunakan berupa file file pdf yang merupakan koleksi penulis yang didapatkan dari berbagai sumber di Internet. Penambahan Header Pada tahapan ini file pdf sebelumnya dibaca sebagai string binari, kemudian pada awal karakter string tersebut ditambahkan string header yang berisi informasi-informasi yang akan digunakan sebagai validator pada proses validasi di sisi peminjam. String header yang diletakkan di awal string binari terdiri atas 46 karakter dengan rincian sebagai berikut : 1 tanggal peminjaman 10 karakter 2 tanggal terakhir file dibuka10 karakter 3 tanggal akhir peminjaman 10 karakter 4 kata kunci pengguna 16 karakter Enkripsi Dengan AES-128 Setelah ditambahkan string header maka akan terbentuk string baru yang merupakan gabungan dari string header dan string binari yang berasal dari file pdf. String tersebut kemudian dienkripsi dengan metode enkripsi AES dengan menggunakan kunci 128 (AES-128). Proses enkripsi dengan menggunakan algoritma AES-128 dapat dilihat pada Gambar 10. Gambar 10 Enkripsi AES-128. 1 AddroundKey adalah melakukan XOR antara plaintext dengan cipher key. Tahap ini disebut juga initial round 2 Putaran Sebanyak Nr-1 kali. Proses yang dilakukan pada setiap putaran adalah : a Subbytes yaitu subtitusi byte dengan menggunakan tabel subtitusi (s-box) b Shiftrows yaitu pergeseran barisbaris array state secara wrapping c MixColumns yaitu mengacak data di masing-masing kolom array state d AddRoundKey adalah melakukan XOR antara state sekarang dengan kunci 3 Final Round adalah proses untuk putaran terakhir terdiri atas : a Subbytes b Shiftrows c AddRoundKey String hasil enkripsi kemudian dituliskan ke dalam file teks, file teks tersebut kemudian diberi nama sesuai dengan file pdf yang dienkripsi dengan dengan menggunakan ekstensi ipb (.ipb). 6

Dekripsi Proses dekripsi merupakan kebalikan dari proses enkripsi. File ipb akan dibaca sebagai string binari yang kemudian akan didekripsi menggunakan kata kunci peminjam. Hasil dekripsi berupa suatu string. String tersebut kemudian dipisahkan menjadi dua bagian yaitu 46 karakter pertama sebagai header dan sisanya sebagai string binari pdf. Bagian header akan digunakan dalam proses validasi dan bagian string binari pdf akan digunakan untuk menampilkan file pdf. Proses dekripsi dapat dilihat pada Gambar 11. Validasi Gambar 11 Dekripsi AES-128. Bagian header yang merupakan 46 karakter pertama string hasil dekripsi akan digunakan sebagai validator apakah kata kunci yang dimasukkan benar atau tidak. Validasi yang dilakukan adalah sebagai berikut : 1 Validasi kata kunci. Validasi kata kunci dilakukan dengan membandingkan kata kunci yang digunakan untuk membuka file dengan 16 karakter string bagian header hasil dekripsi. Apabila kata kunci yang dimasukkan tidak sama maka proses selanjutnya tidak akan diteruskan dan file tidak dapat dibaca. Apabila benar maka akan dilanjutkan pada tahap validasi berikutnya 2 Validasi tanggal file dipinjam. Validasi ini membandingkan antara 10 karakter awal dari string header hasil dekripsi yang diasumsikan sebagai tanggal peminjaman dengan tanggal yang berada pada komputer peminjam. Apabila tanggal peminjaman lebih besar dari tanggal yang ada di komputer peminjam maka proses akan dihentikan dan file peminjam akan dihancurkan 3 Validasi tanggal terakhir dibuka. Validasi ini membandingkan antara karakter ke-11 dari string header hasil dekripsi yang diasumsikan sebagai tanggal terakhir dibuka dengan tanggal yang berada pada komputer peminjam. Apabila tanggal terakhir dibuka lebih kecil dari tanggal yang ada di komputer peminjam maka proses akan dihentikan dan file peminjam akan dihancurkan 4 Validasi jangka waktu peminjaman. Validasi ini membandingkan antara karakter ke-21 dari string header hasil dekripsi yang diasumsikan sebagai tanggal akhir peminjaman dengan tanggal yang berada pada komputer peminjam. Apabila tanggal akhir peminjaman lebih kecil dari tanggal yang ada di komputer peminjam maka proses akan dihentikan dan file peminjam akan dihancurkan Penghancuran File Ketidakberhasilan dalam proses validasi waktu akan mengakibatkan file peminjam dihapus dari komputer peminjam. Proses penghancuran file diawali dengan menghitung ukuran file yang akan dihancurkan, kemudian file tersebut dikosongkan isinya. Lalu sistem akan membuat random string berukuran sama dengan file yang dihapuskan. Random string tersebut kemudian dituliskan ke dalam file yang telah dikosongkan lalu file tersebut dihapus. Lingkungan Pengembangan Lingkungan yang digunakan dalam tahapan implementasi ini memiliki spesifikasi sebagai berikut : 7

Perangkat keras: 1 Prosesor Pentium 4 1.80 GHz 2 Memori DDR-SDRAM 384 MB 3 Hardisk 80 GB Perangkat lunak : 1 Sistem Operasi Windows XP Pro Service Pack 2 2 Xampp 1.6 berisi PHP versi 5.2.1 serta MYSQL versi 5.0.33 3 Java Development Kit 6 for windows Java Netbeans 5.5 HASIL DAN PEMBAHASAN Penelitian ini ditekankan pada enkripsi dan dekripsi file pdf. Metode enkripsi dan dekripsi yang digunakan adalah AES ( Advance Encryption System ) dengan panjang kunci 128 bit atau 16 karakter. Apabila kunci peminjam kurang dari 16 karakter maka ditambahkan karakter '*' untuk menutupi kekurangan tersebut. Metode cipher yang digunakan adalah metode CBC ( Cipher Block Chaining ) dengan panjang blok 128 bit. Dengan menggunakan metode ini maka file yang akan dienkripsi atau didekripsi dibagi menjadi blok-blok dengan ukuran 128 bit atau 16 karakter. Vektor inisialisasi yang digunakan pada blok cipher mempunyai panjang 128 bit atau 16 karakter. Enkripsi Pada tahapan ini string gabungan antara string header dan string binari pdf akan dibagi menjadi blok-blok yang panjangnya masingmasing 128 bit. Misalkan kunci peminjam adalah 'kodok', tanggal peminjaman adalah '14/11/2007' dan lamanya peminjaman adalah tiga hari maka string header akan menjadi 'kodok***********14/11/200714/11/200717/1 1/2007'. Blok pertama dari string tersebut merupakan 16 karakter pertama dari string tersebut yaitu ' kodok*********** '. Tahap pertama dari enkripsi AES dengan metode CBC adalah blok pertama string dilakukan operasi XOR dengan vektor initialisasi (iv). iv = 0123456789abcdef string = kodok*********** dalam hexadesimal iv = 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 string = 6b 6f 64 6f 6b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a setelah di-xor-kan menjadi state = 5b 5e 56 5c 5f 1f 1c 1d 12 13 4b 48 44 4e 4f 4c Hasil enkripsi tersebut kemudian dienkripsi dengan AES-128. Pertama ekspansi kunci untuk setiap putaran. Key = 6b 6f 64 6f 6b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a Hasil ekspansi kunci untuk setiap round adalah w[0] = 6B6F646F 6B2A2A2A 2A2A2A2A 2A2A2A2A w[1] = 8F8A818A E4A0ABA0 CE8A81A E4A0ABA0 w[2] = 6DE861E3 8948CA43 47C24BC9 A362E069 w[3] = C30998E9 4A4151AA 0D831963 AEE1F90A w[4] = 3390FF0D 79D1ADA7 7452B4C4 DAB34DCE w[5] = 4E73745A 37A2D9FD 43F06D39 994320F7 w[6] = 74C41CB4 4366C549 0096A870 99D58887 w[7] = 37000B5A 7466CE13 74F06663 ED25EEE4 w[8] = 8828620F FC4EC1C 88BECA7F 659B249B w[9] = 871E7642 7B50DA5E F3EE1021 967534BA w[10] = 2C0682D2 5756588C A4B848AD 32CD7C17 Tahapan enkripsi adalah sebagai berikut : 1 Operasi XOR dilakukan pada state dengan w[0]. Hasil XOR dalam hexadesimal adalah : 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 8

2 Operasi Subbyte dilakukan pada hasil no 1 sehingga menghasilkan string hexadesimal : 04 c7 23 c3 18 96 05 9a 07 12 ef aa 9f 43 40 33 3 Operasi shiftrow dilakukan pada hasil no 2 sehingga menghasilkan string hexadesimal : 04 96 ef 33 18 12 40 c3 07 43 23 9a 9f c7 05 aa 4 Operasi mixcoloumn dilakukan pada hasil no 3 sehingga dihasilkan string hexadesimal : 75 2a 02 13 88 28 ce ea 72 7e b7 46 d8 af b7 37 5 Operasi XOR dilakukan pada hasil no 4 dengan w[1] sehingga menghasilkan string hexadesimal : fa a0 83 99 6c 88 65 4a bc f4 36 cc 3c 0f 1c 97 6 Langkah 2-5 diulangi hingga 9 putaran, dengan menggunakan w[i] dalam proses add round key sesuai dengan nomor putarannya 7 Subbytes, shiftrow, addroundkey dilakukan sebagai putaran terakhir, dan hasil string ekripsi adalah 89 5e 6e 07 f7 55 ae 16 dd 12 0a 64 e5 0f 5a 87 Hasil enkripsi tersebut akan digunakan sebagai vektor inisialisasi pada blok berikutnya. Langkah-langkah tersebut dilakukan hingga seluruh blok selesai dienkripsi kemudian hasil enkripsi setiap blok digabungkan sehingga terbentuk string baru hasil enkripsi. Dekripsi Proses dekripsi merupakan kebalikan dari proses enkripsi. String hasil enkripsi dibagi menjadi blok-blok berukuran 128 bit. Kunci yang digunakan sama dengan kunci untuk enkripsi. Ekspansi kunci untuk dekripsi untuk tiap putaran adalah : w'[0]= 2C0682D2 5756588C A4B848AD 32CD7C17 w'[1]= F517450A 3FC7DB8C 3F4F84D8 DDCEA5DB w'[2]= A9DFC279 CAD09E86 00885F54 E2812103 w'[3]= D21E2288 630F5CFF CA58C1D2 E2097E57 w'[4]= 6C6C342C B1117E77 A9579D2D 2851BF85 w'[5]= 57524B5D DD7D4A5B 1846E35A 810622A8 w'[6]= 9CEF2DC 8A2F0106 C53BA901 9940C1F2 w'[7]= 2F891904 16CCF3DA 4F14A807 5C7B68F3 w'[8]= 73F27F7 3945EADE 59D85BDD 136FC0F4 w'[9]= C3E2D1FE 4AB9B29 609DB103 4AB79B29 w'[10]= 6B6F646F 6B2A2A2A 2A2A2A2A 2A2A2A2A Langkah-langkah dekripsi untuk teks 89 5e 6e 07 f7 55 ae 16 dd 12 0a 64 e5 0f 5a 87 adalah sebagai berikut. 1 Operasi InvAddroundkey dilakukan dengan cara melakukan operasi XOR pada string dengan w'[0] untuk deksripsi. Hasilnya adalah : a5 58 ec d5 a0 03 f6 9a 79 aa 42 c9 d7 c2 26 90 2 Hasil dari no 1 kemudian dikenai invshiftrows dan akan menghasilkan : 29 5e 83 85 47 d5 d6 37 af 62 f6 12 0d a8 23 96 3 Hasil dari no 2 kemudian dikenai InvSubBytes dan akan menghasilkan : 29 a8 f6 37 a7 5e 23 12 af d5 83 96 0d 62 d6 85 4 Hasil dari no 3 kemudian dikenai Addroundkey dengan w'[1] dan menghasilkan : e2 3f 0d 3d b2 3b 62 6c ee 1b a7 11 23 c2 98 18 5 Hasil dari no 4 kemudian dikenai InvMixColumn dan akan menghasilkan : 17 28 48 37 8d fc b9 e0 d1 54 23 c9 fe 0c 3d c3 6 Langkah 2-5 diulangi hingga 9 putaran 7 Kemudian dilakukan operasi InvShiftRows, InvSubBytes dan Addroundkey dengan w'[10]. Hasilnya adalah : 5b 5e 56 5c 5f 1f 1c 1d 12 13 4b 48 44 4e 4f 4c Hasil dari string tersebut kemudian dikenai operasi XOR dengan vektor inisialisasi dan menghasilkan 6b 6f 64 6f 6b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a. 9

Hasil Pengujian Pengujian dilakukan dengan menguji 50 file pdf yang dipilih secara acak. Pengujian dibagi menjadi dua bagian, yang pertama menguji kesamaan isi binari file pdf asli dengan isi binari file hasil dekripsi. Untuk menguji kesamaan isi binari kedua file digunakan tools yang ada pada aplikasi netbeans. Hasil pengujian menghasilkan tingkat keberhasilan 100%. Pengujian yang kedua adalah pengujian validasi. Pengujian-pengujian yang dilakukan adalah sebagai berikut : 1 Pengujian validasi password. Pengujian dilakukan dengan mencoba memasukan password yang salah untuk mendekripsi file. Validasi berhasil apabila muncul pesan kesalahan yang mengatakan password tidak benar. Hasil pengujian untuk validasi ini menghasilkan tingkat keberhasilan 100% 2 Pengujian tanggal batas akhir peminjaman. Pengujian dilakukan dengan mengeset tanggal komputer melebihi tanggal batas peminjaman file, kemudian dilakukan dekripsi. Validasi berhasil apabila muncul pesan yang menyatakan file tidak valid dan file yang dipinjam dihapus dari komputer. Hasil pengujian untuk validasi ini menghasilkan tingkat keberhasilan 100% 3 Pengujian tanggal terakhir file dibuka. Pengujian dilakukan dengan mengeset tanggal komputer menjadi lebih kecil dari tanggal terakhir file dibuka, kemudian file didekripsi. Validasi berhasil apabila muncul pesan yang menyatakan file tidak valid dan file dihapus dari komputer. Hasil pengujian untuk validasi ini meghasilkan tingkat keberhasilan 100% Pengembangan Sistem Sistem aplikasi yang dikembangkan berbasis web pada sisi server dan basis desktop pada sisi peminjam. Sisi Server Diagram aktivitas pada sisi server dapat dilihat pada Gambar 16. Gambar 12 Diagram aktivitas pada sisi server. Peminjam harus terdaftar sebagai anggota perpustakaan apabila ingin meminjam koleksi, dengan menjadi anggota, peminjam mempunyai kata kunci yang digunakan untuk login ke web perpustakaan. Untuk meminjam salah satu koleksi digital peminjam cukup mengklik koleksi yang ingin di pinjam lalu memasukkan kata kunci yang digunakan sebagai login. Dengan menggunakan kata kunci tersebut, file pdf yang hendak dipinjam akan dienkripsi oleh server. Hasil proses enkripsi tersebut akan menghasilkan file berekstensi ipb. File inilah yang akan diunduh oleh peminjam. Tampilan website perpustakaan digital dapat dilihat pada Lampiran 3-8. Sisi Peminjam Hal-hal yang dilakukan pada sistem ini adalah: 1 Mendekripsi file yang telah dienkripsi. File yang dienkripsi akan didekripsi menggunakan sistem ini untuk digunakan dalam proses selanjutnya. 2 Validasi. Sistem ini akan memvalidasi kata kunci serta tanggal peminjaman untuk melihat apakah file masih berhak untuk digunakan. 10

3 Penghancuran file. Sistem akan menghancurkan file apabila file sudah tidak berhak digunakan. Proses pada sisi peminjam dapat dilihat pada Gambar 17. encrypted file key valid / tidak valid decryption process tidak mesage box key tidak valid Saran Pada sistem ini string hasil dekripsi masih disimpan pada sebuah file, hal ini menyebabkan ada kemungkinan peminjam mengetahui file tersebut dan menggunakannya. Diharapkan pada penelitian berikutnya string tersebut dapat langsung dibaca sebagai file pdf tanpa harus menuliskannya ke sebuah file. Metode keamanan yang dikembangkan pada sistem ini masih berbasiskan tanggal sistem peminjam sehingga masih dapat dimanipulasi. Pengembangan selanjutnya diharapkan dapat mengembangkan metode yang lebih menjamin keamanan file. file valid / tidak tidak hancurkan encrypted file valid decrypted file encrypt process header file baru tampilkan isi file Gambar 13 Diagram Proses pada sisi peminjam. File akan didekripsi menggunakan kata kunci yang dimasukkan oleh peminjam. File hasil deskripsi tersebut akan divalidasi. Apabila hasil dari validasi tidak sesuai maka file akan dihancurkan. Penghancuran file dilakukan dengan cara manghapus isi string file lalu menuliskan string acak baru pada file tersebut kemudian file tersebut dihapus. Apabila validasi berhasil maka file akan dibuka dengan menggunakan viewer yang terintegrasi dalam aplikasi pada sisi peminjam. File pdf yang berhasil dibaca akan dienkripsi kembali dengan menambahkan datadata terbaru. Tampilan aplikasi untuk dekripsi dapat dilihat pada Lampiran 9-12. KESIMPULAN DAN SARAN Kesimpulan Penelitian ini menerapkan algoritma AES dengan panjang kunci 128 bit untuk metode keamanan sistem perpustakaan digital. Berdasarkan hasil pengujian didapat persentase keberhasilan mencapai 100%. DAFTAR PUSTAKA Menezes A, Van Oorschot P, Vanstone S. 1996. Handbook of Applied Cryptography. CRC Press Inc. www.cacr.math.uwaterloo.ca/hac. [19 Februari 2004]. [NIST] National Institute of Standards and Technology. 2001a. Federal Information Processing Standards Publication (FIPS) Publication 197. http://csrc.nist.gov/publications/fips/fips 197/fips-197.pdf. [10 Desember 2005]. [NIST] National Institute of Standards and Technology. 2001b. NIST Special Publication (SP) 800-38A. http://csrc.nist.gov/publications/nistpubs /800-38a/sp800-38a.pdf. [8 Desember 2005]. [NIST] National Institute of Standards and Technology. 2002a. Federal Information Processing Standards Publication (FIPS) Publication 198a. http://csrc.nist.gov/publications/fips/fips 198/fips-198a.pdf. [8 Desember 2005]. [NIST] National Institute of Standards and Technology. 2002b. Federal Information Processing Standards Publication (FIPS) Publication 180-2. http://csrc.nist.gov/publications/fips/ /fips180-2.pdf. [8 Desember 2005]. Stallings W. 2003. Cryptography and Network Security (Third Edition). Prentice Hall. United States of America. Tejapermana N. 2006. Metode Keamanan Sistem Peminjaman Koleksi Digtal. [Skripsi]. Bogor:Fakultas Matematika 11

dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor Kurniawan Y. 2004. Kriptogafi Keamanan Internet dan Jaringan telekomunikasi. Informatika Bandung. Zhang W, Wu W, Zhang L. 2007. Related-Key Impossible Diferential Attacks on Reduced-Round AES-256. http://www.lois.cn/lois-aes/data/aes- 256.pdf [3 Januari 2008]. Zeghid M, Machhout M, Khriji L, Baganne A, Tourki R. 2007. A Modified AES Based Algorithm for Image Encryption. http://www.waset.org/igcse/v1/v-1-9.pdf [3 Januari 2008]. 12

Lampiran 1 Subtitusi S-Box AES Hex Y 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76 1 CA 82 C9 7D FA 59 47 F0 AD D4 A2 AF 9C A4 72 C0 2 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 15 3 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 75 4 09 83 2C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F 84 5 53 D1 00 ED 20 FC B1 5B 6A CB BE 39 4A 4C 58 CF 6 D0 EF AA FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8 x 7 51 A3 40 8F 92 9D 38 F5 BC B6 DA 21 10 FF F3 D2 8 CD 0C 13 EC 5F 97 44 17 C4 A7 7E 3D 64 5D 19 73 9 60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E 0B DB A E0 32 3A 0A 49 06 24 5C C2 D3 AC 62 91 95 E4 79 B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08 C BA 78 25 2E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8A D 70 3E B5 66 48 03 F6 0E 61 35 57 B9 86 C1 1D 9E E E1 F8 98 11 69 D9 8E 94 9B 1E 87 E9 CE 55 28 DF F 8C A1 89 0D BF E6 42 68 41 99 2D 0F B0 54 BB 16 13

Lampiran 2 Subtitusi Inverse S-Box AES Hex Y 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 52 09 6A D5 30 36 A5 38 BF 40 A3 9E 81 F3 D7 FB 1 7C E3 39 82 9B 2F FF 87 34 8E 43 44 C4 DE E9 CB 2 54 7B 94 32 A6 C2 23 3D EE 4C 95 0B 42 FA C3 4E 3 08 2E A1 66 28 D9 24 B2 76 5B A2 49 6D 8B D1 25 4 72 F8 F6 64 86 68 98 16 D4 A4 5C CC 5D 65 B6 92 5 6C 70 48 50 FD ED B9 DA 5E 15 46 57 A7 8D 9D 84 6 90 D8 AB 00 8C BC D3 0A F7 E4 58 05 B8 B3 45 06 x 7 D0 2C 1E 8F CA 3F 0F 02 C1 AF BD 03 01 13 8A 6B 8 3A 91 11 41 4F 67 DC EA 97 F2 CF CE F0 B4 E6 73 9 96 AC 74 22 E7 AD 35 85 E2 F9 37 E8 1C 75 DF 6E A 47 F1 1A 71 1D 29 C5 89 6F B7 62 0E AA 18 BE 1B B FC 56 3E 4B C6 D2 79 20 9A DB C0 FE 78 CD 5A F4 C 1F DD A8 33 88 07 C7 31 B1 12 10 59 27 80 EC 5F D 60 51 7F A9 19 B5 4A 0D 2D E5 7A 9F 93 C9 9C EF E A0 E0 3B 4D AE 2A F5 B0 C8 EB BB 3C 83 53 99 61 F 17 2B 04 7E BA 77 D6 26 E1 69 14 63 55 21 0C 7D Lampiran 3 Tampilan login web perpustakaan digital 14

Lampiran 4 Tampilan setelah login web perpustakaan digital Lampiran 5 Tampilan kategori buku pada web perpustakaan digital 15

Lampiran 6 Tampilan daftar buku pada web perpustakaan digital Lampiran 7 Tampilan memasukkan kunci untuk mengunduh file 16

Lampiran 8 Tampilan link untuk mnegunduh file Lampiran 9 Tampilan awal program dekripsi file 17

Lampiran 10 Tampilan browse file yang akan dibuka Lampiran 11. Tampilan memasukkan kunci untuk mendekripsi file 18

Lampiran 12. Tampilan Tampilan file PDF yang dibuka 19