BAB 2 TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
MENGENAL PROSES PERHITUNGAN ENKRIPSI MENGGUNAKAN ALGORITMA KRIPTOGRAFI ADVANCE ENCRYPTION STANDARD(AES) RIJDNAEL

BAB III ANALISA MASALAH DAN PERANCANGAN

TINJAUAN PUSTAKA. Kriptografi

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

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

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

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

BAB III ANALISA DAN DESAIN SISTEM. perancangan pembuatan kriptografi Impementasi AES ( Advanced Encyrption

BAB III ANALISIS DAN DESAIN SISTEM

Pengkajian Metode dan Implementasi AES

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB II LANDASAN TEORI

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

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

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone

BAB II TINJAUAN PUSTAKA


BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Algoritma Enkripsi Baku Tingkat Lanjut

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

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB 2 TINJAUAN PUSTAKA

Advanced Encryption Standard (AES)

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal

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

Algoritma Kriptografi Modern (AES, RSA, MD5)

IMPLEMENTASI KRIPTOGRAFI VIGENERE CIPHER DENGAN PHP

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN , 1.1. Latar Belakang

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD

+ Basic Cryptography

Bab 3 Metode Perancangan

BAB III ANALISIS DAN PERANCANGAN SISTEM

Algoritma Spiral shifting

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

BAB II LANDASAN TEORI

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

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme

BAB 2 LANDASAN TEORI

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

K i r p i t p o t g o ra r f a i

Bab 2 Tinjauan Pustaka

2.4.1 Teknik Blok Teknik Permutasi dan Transposisi Teknik teknik Kriptanalis Know Plainteks Analisys...

Algoritma AES sebagai Metode Enkripsi dalam Password Management

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

LAMPIRAN A ALGORITMA AES 128

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

ADVANCED ENCRYPTION STANDARD (AES) DENGAN ONE TIME PASSWORD UNTUK KEAMANAN LAYANAN SMS BANKING

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

Rancang Bangun Aplikasi Enkripsi dan Dekripsi Dengan Menggunakan Algoritma Advanced Encryption Standard Dan Knapsack

BAB III ANALISA DAN DESAIN SISTEM

BAB 2 TINJAUAN PUSTAKA

Kriptografi. A. Kriptografi. B. Enkripsi

Kriptografi Kunci Rahasia & Kunci Publik

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

IMPLEMENTASI ALGORITMA RIJNDAEL UNTUK ENKRIPSI DAN DEKRIPSI PADA CITRA DIGITAL

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

Bab 2 Tinjauan Pustaka

BAB 2 LANDASAN TEORI

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

BAB II TINJAUAN PUSTAKA

I. PENDAHULUAN. andil yang besar dalam perkembangan komunikasi jarak jauh. Berbagai macam model alat komunikasi dapat dijumpai, baik yang berupa

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN Latar Belakang

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

Pengenalan Kriptografi

BAB II TINJAUAN PUSTAKA

Prosiding Matematika ISSN:

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

Sistem Kriptografi Kunci Publik Multivariat

Perhitungan dan Implementasi Algoritma RSA pada PHP

APLIKASI PENGAMANAN FILE DENGAN ALGORITMA AES256 DAN SHA1

KOMBINASI ALGORITMA AES, RC4 DAN ELGAMAL DALAM SKEMA HYBRID UNTUK KEAMANAN DATA

BAB 1 PENDAHULUAN Latar Belakang

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

BAB I PENDAHULUAN 1.1 Latar Belakang

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

General Discussion. Bab 4

TINJAUAN PUSTAKA. Protokol

BAB I PENDAHULUAN 1.1. LATAR BELAKANG

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

ERWIEN TJIPTA WIJAYA, ST.,M.KOM KEAMANAN INFORMASI

Gambar 3.1 Flowchart proses enkripsi AES

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

ANALISIS PERBANDINGAN KINERJA ALGORITMA TWOFISH DAN TEA (TINY ENCRYPTION ALGORITHM) PADA DATA SUARA

KOMBINASI ALGORITMA AES, RC4 DAN ELGAMAL DALAM SKEMA HYBRID UNTUK KEAMANAN DATA

Keamanan Sistem Komputer DES, AES, RSA

ALGORITMA KRIPTOGRAFI AES RIJNDAEL

Transkripsi:

BAB 2 TINJAUAN PUSTAKA 2.1. Definisi Kriptografi Penjagaan sebuah informasi sangatlah diperlukan agar tidak jatuh ke tangan orangorang yang tidak berhak untuk mengaksesnya. Teknik kriptografi telah banyak digunakan sebagai salah satu cara untuk menciptakan sebuah informasi yang selalu terjaga keabsahannya (Dony Ariyus, 2005). Kriptografi pada awalnya merupakan ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Kemudian seiring dengan berkembangnya kriptografi yaitu di mana kriptografi tidak lagi sebatas mengenkripsikan pesan, tetapi juga memberikan aspek keamanan yang lain seperti serangan dari kriptanalisis. Oleh karena itu pengertian kriptografi pun berubah menjadi ilmu sekaligus seni untuk menjaga keamanan pesan. Cryptography (kriptografi) berasal dari bahasa Yunani yaitu dari kata crypto yang berarti penulisan screet (rahasia), sedangkan graphein artinya writing (tulisan). Jadi secara sederhana dapat diartikan screet writing (tulisan rahasia). Definisi lain dari kriptografi adalah sebuah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data serta otentikasi (Rinaldi Munir, 2006). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain (Dony Ariyus, 2005). 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 atau mengupas informasi yang telah disandi.

8 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, psssenghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya. 3. Autentikasi, adalah berhubungan dengan identifikasi atau pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain. 4. Non-repudiasi, adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman atau terciptanya suatu informasi oleh yang mengirimkan atau membuat. Teknik kriptografi untuk enkripsi data ada dua macam, antara lain : 1. Kriptografi Simetris 2. Kriptografi Asimetris 2.1.1. Kriptografi Simetris Algoritma simetris atau sering disebut algoritma kriptografi konvensional adalah algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan proses deskripsi. Algoritma kriptografi simetris dibagi menjadi dua kategori yaitu algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Di mana pada algoritma aliran, proses penyandiannya akan beriorientasi pada satu bit atau byte data. Sedangkan pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok). Adapun contoh algoritma kunci simetris adalah DES (Data Encryption Standard), Blowfish, Twofish, MARS, IDEA, 3DES (DES diaplikasikan 3 kali), AES (Advanced Encryption Standard) yang bernama asli Rijndael.

9 Gambar 2.1 Proses Enkripsi dan Dekripsi Kriptografi Simetris 2.1.2. Kriptografi Asimetris Kriptografi asimetris adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi. Di mana kunci enkripsi dapat disebarkan kepada umum dan dinamakan sebagai kunci publik (public key), sedangkan kunci deskripsi disimpan untuk digunakan sendiri dan dinamakan sebagai kunci pribadi (private key). Oleh karena itu, kriptografi ini dikenal pula dengan nama kriptografi kunci publik (public key cryptography). Adapun contoh algoritma yang menggunakan kunci asimetris adalah RSA (Riverst Shamir Adleman) dan ECC (Elliptic Curve Cryptography). Adapun pada kriptografi asimetris, di mana setiap pelaku sistem informasi akan memiliki sepasang kunci, yaitu kunci publik dan kunci pribadi, dimana kunci publik di distribusikan kepada umum, sedangkan kunci pribadi disimpan untuk diri sendiri. Artinya bila A ingin mengirimkan pesan kepada B, A dapat menyandikan pesannya dengan menggunakan kunci publik B, dan bila B ingin membaca surat tersebut, ia perlu mendeskripsikan surat itu dengan kunci privatnya. Dengan demikian kedua belah pihak dapat menjamin asal surat serta keaslian surat tersebut. Gambar 2.2 Proses Enkripsi dan Dekripsi Kriptografi Asimetris

10 2.2. Algoritma Rijndael Algoritma kriptografi bernama Rijndael yang didesain oleh oleh Vincent Rijmen dan John Daemen asal Belgia keluar sebagai pemenang kontes algoritma kriptografi pengganti DES yang diadakan oleh NIST (National Institutes of Standards and Technology) milik pemerintah Amerika Serikat pada 26 November 2001. Algoritma Rijndael inilah yang kemudian dikenal dengan Advanced Encryption Standard (AES). Setelah mengalami beberapa proses standarisasi oleh NIST, Rijndael kemudian diadopsi menjadi standar algoritma kriptografi secara resmi pada 22 Mei 2002. Pada 2006, AES merupakan salah satu algoritma terpopuler yang digunakan dalam kriptografi kunci simetrik. Proses enkripsi pada algoritma Rijndael terdiri dari 4 jenis transformasi byte, yaitu SubBytes(), ShiftRows(), MixCoulums(), dan AddRoundKey(). Pada awal proses enkripsi, masukan yang telah berbentuk array state akan mengalami transformasi AddRoundKey(). Setelah itu, array state akan mengalami transformasi SubBytes(), ShiftRows(), MixColoumns(), dan AddRoundKey() secara berulang-ulang sebanyak Nr. Proses ini dalam algoritma Rijndael disebut sebagai round function. Round yang terakhir agak berbeda dengan round-round sebelumnya dimana pada round terakhir, array state tidak mengalami transformasi MixColumns(). Gambar 2.3 Diagram Proses Enkripsi Rijndael

11 Transformasi cipher dapat dibalikkan dan diimplementasikan dalam arah yang berlawanan untuk menghasilkan inverse cipher. Transformasi yang digunakan pada inverse cipher adalah InvShiftRows(), InvSubBytes(), InvMixClolumns(), dan AddRoundKey(). Gambar 2.4 Diagram Proses Dekripsi Rijndael (Stallings, 2005) 2.2.1. Rijndael Block Chiper AES memiliki ukuran block yang tetap sepanjang 128 bit dan ukuran kunci sepanjang 128, 192, atau 256 bit. Berdasarkan ukuran block yang tetap, AES block bekerja pada matriks berukuran 4 x 4 di mana tiap-tiap sel matriks terdiri atas 1 byte (8 bit) (Nuryatin, 2014). Kunci round diturunkan dari kunci cipher melalui jadwal kunci, yang terdiri dari ekspansi kunci dan pemilihan kunci round. Jumlah round yang digunakan cipher rijndael adalah sebuah fungsi dari ukuran kunci sebagai berikut: 1. Kunci 128 bit: 10 round 2. Kunci 192 bit: 12 round 3. Kunci 256 bit: 14 round 2.3. Enkripsi Enkripsi adalah proses mengubah suatu pesan asli (plaintext) menjadi suatu pesan dalam bahasa sandi (ciphertext).

12 C = E ( M) Keterangan: C = Chipertext (Plaintext yang terenkripsi AES) E = Proses enkripsi dengan Key Private M = Pesan asli (Plaintext) Secara umum enkripsi dengan algoritma Rijndael sebagai berikut : 1. AddRoundKey: Melakukan XOR antara state awal (plainteks) dengan cipher key. Tahap ini disebut juga initial round. 2. Round : Putaran sebanyak Nr 1 kali. Proses yang dilakukan pada setiap putaran adalah: a) SubBytes : Substitusi byte dengan menggunakan table substitusi (S-box). b) ShiftRows : Pergeseran baris-baris array state secara wrapping. c) MixColumns : Mengacak data di masing-masing kolom array state. d) AddRoundKey : Melakukan XOR antara state sekarang dengan round key. 3. Final round : Proses untuk putaran terakhir: a) SubBytes b) ShiftRows c) AddRoundKey Diskripsi proses enkripsi sebagai berikut : 1. Add Round Key Add Round Key pada dasarnya adalah mengkombinasikan chiper teks yang sudah ada dengan chiper key yang chiper key dengan hubungan XOR. Bagannya bisa dilihat pada Gambar 2.5 Gambar 2.5 Round Key

13 2. Sub Bytes Proses SubBytes () memetakan setiap byte dari array state dengan menggunakan tabel substitusi S-Box. Tidak seperti Des S-box berbeda pada setiap putaran, AES hanya mempunyai satu buah S-Box. Tabel yang digunakan adalah seperti pada Tabel 2.1 Tabel 2.1 S-BOX Untuk Enkripsi Cara pensubstitusian adalah untuk setiap byte pada array state, misalkan S[r,c] = xy, yang dalam hal ini xy adalah digit heksadesimal dari nilai S [r,c], maka nilai substitusinya, yang dinyatakan dengan S [r,c], adalah elemen di dalam S-Box yang merupakan perpotongan baris x dengan kolom y. Gambar 2.6 memperlihatkan transformasi SubBytes. Gambar 2.6 Ilustrasi Sub Bytes

14 Add Round Key (State 1 XOR Cipherkey) State 2 : 19 a0 9a e9 3d f4 c6 f8 e3 e2 8d 48 be 2b 2a 08 Untuk angka 19 cara mengambil nilai sub bytenya sebagai berikut ini : Tabel 2.2 Tabel S-BOX Pengambilan Nilai Sub Byte SubBytes (Subtitusi State 2 dengan S-Box Rijndael) State 3 : d4 e0 b8 1e 27 bf b4 41 11 98 5d 52 ae f1 e5 30 3. Shift Rows Proses ShiftRows() ini adalah proses yang sangat sederhana. Pada ShiftRows() melakukan pergeseran wrapping (sikklik) pada 3 baris terakhir dari array state. Jumlah pergeseran bergantung nilai baris (r). Baris r = 1 digeser sejauh 1 byte, baris r = 2 digeser 2 byte, dan baris r = 3 digeser sejauh 3 byte. Baris r = 0 tidak digeser. Contoh : Geser baris 0 sebesar 0

byte : Karena 0 byte maka tidak melakukan pergeseran dan state-pun tetap sama. 15 Geser Baris 1 Sebesar 0 Geser Baris 3 Sebesar Dua Byte Geser Baris 2 Sebesar Satu Byte Geser Baris 4 Sebesar Tiga Byte Gambar 2.7 Ilustrasi dari Shift Row Hasil dari Shift Row Sebagai berikut : Shift Row (Pergeseran Elemen State 3) State 4 : d4 e0 b8 1e bf b4 41 27 5d 52 11 98 30 ae f1 e5 4. Mix Columns Transformasi menggunakan MixColumns() adalah proses ketiga dalam satu Ronde enkripsi AES. Di sini, kolom-kolom pada array state akan diperlukan sebagai suatu polynomial yang berada dalam GF(28) dan akan dikalikan dengan modulo x4 +1, dengan suatu polynomial tertentu seperti terlihat pada tabel berikut :

16 Tabel 2.3 Bilangan Polynominal Untuk Mix Column 02 01 01 03 03 02 01 01 01 03 02 01 01 01 02 03 Hasil Substitusi dikalikan dengan matrix MixColumn : Hasil Perkalian dengan matrix MixColumn : Pada proses AddRoundKey() maka 128 bit hasil state akan di-xor-kan dengan Kunci Ronde, yaitu kunci hasil dari proses Expand Key. Pada awal enkripsi, 128 bit plaintext akan di-xor-kan dengan 128 bit kunci yang asli. Kemudian 128 bit plaintext akan mengalami proses-proses : SubBytes(), ShiftRows() dan MixColumns(). Pada proses AddRoundKey(), 128 bit yang sudah melalui tiga tersebut akan di-xorkan dengan kunci ronde hasil Ekspand Key yang pertama. Hasil AddRoundKey() ini adalah state pada ronde 1. State 1 ini akan mengalami ketiga proses tersebut kembali. Pada AddRoundKey() yang berikut, maka 128 bit yang sudah mengalami perubahan pada ketiga proses tersebut kembali akan di XOR-kan dengan kunci hasil Ekspand Key kedua dan seterusnya.

17 2.4. Dekripsi Dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi menjadi pesan asli kembali. M = D (C) Keterangan: M = Pesan asli setelah di dekripsi D = Prose dekripsi menggunakan key private C = Chipertext (Hasil Plaintext terenkripsi) Pada Gambar 2.8 merupakan proses dari sebuah dekripsi file Gambar 2.8 Diagram Alur Proses Dekripsi

18 2.5. Rfc2898 DeriveBytes Rfc2898DeriveBytes adalah class atau metode dengan proses yang melibatkan pengambilan kunci (password), pencampur (salt), jumlah iterasi, dan kemudian menghasilkan kedalaman kunci melalui panggilan ke metode GetBytes. Rfc2898DeriveBytes mencakup metode untuk menciptakan vektor kunci dan inisialisasi (Blok IV) dari password dan pencampur (salt/s-box/ascii). Rfc2898DeriveBytes berguna untuk menghasilkan kunci yang berasal dari kunci dasar dan parameter lainnya. Rfc2898DeriveBytes ini bukanlah satu-satunya metode untuk menghasilkan kunci ke dalam bentuk tipe data byte (GetBytes). Salah satunya yang lain adalah PasswordDeriveBytes. Rfc2898DeriveBytes adalah penerus dari beberapa class lainnya yang sangat direkomendasi oleh Visual Studio 2013 (Microsoft). Rfc2898DeriveBytes merupakan implementasi dari PBKDF2. Adapun keuntungan pencampuran yang dilakukan berulang kali antara kunci dengan pencampur (salt) yakni: 1. Ukuran password tidak terbatas tergantung kepada iterasi yang diberikan. Sedangkan AES hanya mendukung ukuran kunci tertentu. 2. Penambahan ukuran pencampur (salt) dapat menggunakan frasa sandi yang sama untuk menghasilkan beberapa kunci yang berbeda (dengan asumsi pencampur (salt) bukan konstan. Hal ini penting untuk pemisahan kunci dengan menggunakan kembali kunci dalam konteks yang berbeda. 3. Bila iterasi yang diberi hingga 1000 kali, maka bertujuan agar memperlambat serangan untuk menebak password sebagaimana menghadapi serangan Brute Force dalam menebak kunci AES. Bilamana hanya menggunakan kunci AES maka kemungkinan kunci yang ditebak akan lebih mudah dikarenakan hanya mengandalkan kunci tanpa adanya pencampur (salt) dan iterasi yang dikenal sebagai pendalaman kunci. Dengan menggunakan Rfc2898DeriveBytes kita dapat menggunakan iterasi yang nilainya bisa di atur dan direkomendasikan hingga 10000 kali. Hal ini akan mempersulit serangan semacam Brute Force (serangan random pencarian password).

19 2.6. Data Flow Diagram (DFD) Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi. Adapun komponen-komponen dalam DFD adalah sebagai berikut: Menurut Yourdan dan DeMarco: Menurut Gene dan Serson: 2.7. Pengertian Database Pada sistem informasi, database merupakan sebuah komponen yang paling berperan penting dalam menampung semua data-data yang telah diolah, basis data adalah suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktivitas untuk memperoleh informasi (Abdul Kadir dan Terra CH. Triwahyuni, 2003). Berikut ini adalah beberapa alasan mengapa database sangat diperlukan : 1. Salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi. 2. Menentukan kualitas informasi yang akurat, tepat waktu dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih aktif dibandingkan biaya mendapatkannya. 3. Mengurangi duplikasi data. 4. Hubungan data dapat ditingkatkan. 5. Mengurangi pemborosan tempat simpanan luar.

20 2.7.1. Keamanan Database Ada beberapa cara yang umum dapat dilakukan untuk mengamankan database dari pengaksesan orang lain yang tidak berhak, diantaranya (Janner Simarmata dan Iman Paryudi, 2005) : 1. Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita. 2. Password adalah kumpulan karakter atau string yang digunakan oleh pengguna jaringan atau sebuah sistem operasi yang mendukung banyak pengguna (multiuser) untuk memverifikasi identitas dirinya kepada sistem keamanan yang dimiliki oleh jaringan atau sistem tersebut. 3. Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. 4. MD5 (Message-Digest algortihm 5) adalah sebuah fungsi hash kriptografi yang digunakan secara luas dengan hash value 128-bit. 2.8. VB NET Microsoft Visual Basic.NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem.net Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command-line. 2.9. Flowchart Flowchart merupakan sebuah metodologi yang digunakan untuk menganalisis, meningkatkan dokumen dan mengelola proses atau program. Adapun symbol-simbol yang dipakai pada flowchart terlihat pada Gambar 2.9 di bawah ini:

21 Gambar 2.9 Simbol Flowchart 2.9. Diagram Dasar dalam Unified Modeling Language (UML) UML adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. Standar spesifikasi UML dijadikan standar defacto oleh OMG (Object Management Group) pada tahun 1997. UML mendeskripsikan OOP dengan beberapa diagram, diantaranya : Diagram Struktur (Structure Diagram) 1. Diagram Kelas (Class Diagram) Menggambarkan struktur dari sistem dengan menunjukkan class sistem, atribut class dan hubungan atau relasi antar class.

22 2. Diagram Obyek (Object Diagram) Menunjukan tampilan baik secra menyeluruh atau pun bagian struktur dari sistem yang dimodelkan. 3. Diagram Komponen (Component Diagram) Menggambarkan bagaimana sistem dibagi menjadi komponen-komponen serta menunjukan ketergantungan antara komponen-komponen tersebut. 4. Diagram Deployment (Deployment Diagram) Untuk memodelkan perangkat keras yang digunakan pada implementasi sistem, lingkungan, dan cara penggunaan sitem pada perangkat keras. 5. Diagram Struktur Komposit (Composite Diagram) Menggambarkan struktur internal yang saling terhubung. 6. Diagram Paket (Package Diagram) Menggambarkan bagaimana sistem dibagi menjadi kelompok-kelompok logikal dengan menunjukkan ketergantungan antara kelompok tersebut. Diagram Perilaku (Behavior Diagram) 1. Diagram use-case Menunjukan fungsi-fungsi yang diberikan sistem kepada aktor, tujuannya merepresentasikan kasus penggunaan dan setiap ketergantungan antara kasus pengguna. 2. Diagram State Machine Merupakan notasi standar untuk menggambarkan banyak sistem, dari program komputer ke proses bisnis. 3. Diagram aktivitas (Activity Diagram) Merepresentasikan langkah demi langkah alur bisnis dan operasional dari komponen pada sebuah sistem. 4. Diagram Komunikasi (Communication Diagram) Menunjukan interaksi antara obyek-obyek atau bagian-bagian dari urutan pesan. 5. Diagram Ringkasan Interaksi (Interaction Overview Diagram) Merupakan sebuah tipe diagram aktifitas dengan node atau simpul mewakili diagram-diagram interaksi.

23 6. Diagram Urutan (Sequence Diagram) Menujukan bagaimana obyek-obyek berkomunikasi satu sama lain dari sebuah urutan pesan. 7. Diagram Pewaktuan (Timing Diagram) Merupakan jenis yang lebih spesifik dari diagram interaksi di mana fokusnya pada batasan waktu. 2.11. Penelitian Terdahulu Sistem kriptografi telah ada pada awal tahun 1900. Dalam melakukan penelitian, penulis membutuhkan beberapa referensi penelitian yang pernah dibuat oleh orang lain mengenai masalah pengamanan file dan algoritma rijndael. Fadhilah (2012) telah melakukan penelitian tentang pengamanan citra digital dengan menggunakan algoritma rijndael. Suriski et al (2010) juga telah melakukan penelitian tentang kriptografi file dengan menggunakan algoritma blowfish. Arief (2014) telah meneliti tentang bagaimana mengamankan file dengan menggunakan algortima rijndael dengan menggunakan interface USB Flashdisk. Tabel 2.5 Tabel Penelitian Terdahulu Peneliti Metode Kasus Tahun Penelitian Fadhilah Rijndael Pengamanan Citra Digital 2012 Suriski et al Blowfish Pengamanan File 2010 Arief Rijndael Pengamanan File 2014