BAB 4 IMPLEMENTASI DAN EVALUASI. dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel Pentium, Core Duo, 1.

dokumen-dokumen yang mirip
BAB 4 IMPLEMENTASI DAN EVALUASI. Dalam perancangan program aplikasi ini, penulis menggunakan komputer dan

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. Dalam perancangan program Spesifikasi sistem yang digunakan saat

BAB III ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN. ini ikut mendorong terjadinya pertumbuhan di berbagai bidang, salah satunya

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. Perancangan program aplikasi dalam skripsi ini menggunakan aturan linear sequential

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

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN SISTEM. permasalahan-permasalahan dan kebutuhan-kebutuhan yang diharapkan sehingga dapat

Bab 3. Metode dan Perancangan Sistem

BAB 3 PERANCANGAN PROGRAM

BAB III METODE PENELITIAN

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. pengembangan sistem yang lazim disebut Waterfall Model. Metode ini terdiri dari enam

BAB III ANALISA MASALAH DAN SISTEM

BAB IV HASIL DAN UJI COBA

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

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN. Perancangan program aplikasi dalam skripsi ini menggunakan aturan linear

BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM

BAB 4 IMPLEMENTASI DAN EVALUASI. Dari hasil perancangan yang dilakukan, pada bab ini disajikan implementasi dan

APLIKASI PENGAMANAN DOKUMEN OFFICE DENGAN ALGORITMA KRIPTOGRAFI BLOWFISH

BAB III PERANCANGAN PROGRAM


BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 3 METODOLOGI. Metodologi penelitian yang digunakan dalam penulisan ini adalah studi

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

IMPLEMENTASI ALGORITMA AES PADA ENKRIPSI TEKS

BAB III ANALISIS DAN PERANCANGAN

BAB 4 PERANCANGAN DAN IMPLEMENTASI PROGRAM. dengan struktur yang sederhana dengan algoritma yang rumit, sehingga

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB V. IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB 1 PENDAHULUAN Latar Belakang

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 2 LANDASAN TEORI. melalui sebuah spektrum frekuensi yang besar. menggunakan software yang berjalan pada Personal Computer (PC) biasa yang

BAB IV HASIL DAN UJI COBA

Bab 3 Metode Perancangan

ANALISIS APLIKASI KRIPTOGRAFI UNTUK SISTEM KEAMANAN PENYIMPANAN DATA ATAU INFORMASI HASIL-HASIL PENELITIAN YANG BERSIFAT RAHASIA

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

APLIKASI ENKRIPSI PENGIRIMAN FILE SUARA MENGGUNAKAN ALGORITMA BLOWFISH

BAB III ANALISIS DAN PERANCANGAN

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

BAB III Metode Perancangan

BAB 3 ANALISIS DAN PERANCANGAN. 3.1.Analisis Perancangan Steganografi dan Kriptografi.

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

BAB I PENDAHULUAN , 1.1. Latar Belakang

BAB 4 IMPLEMENTASI DAN EVALUASI. Adalah kebutuhan yang dibutuhkan dalam memenuhi kebutuhan spesifikasi

Bab 3. Metode dan Perancangan Sistem

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

BAB IV HASIL DAN UJI COBA


BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM. untuk dioperasikan. Dalam implementasi Analisis Enkripsi dan Dekripsi File Teks

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

BAB IV HASIL DAN PEMBAHASAN

Perancangan Perangkat Lunak Bantu Bantu Pemahaman Kritografi Menggunakan Metode MMB (MODULAR MULTIPLICATION-BASED BLOCK CIPHER)

BAB I PENDAHULUAN. dan rahasia telah menjadi suatu hal yang sangat berharga. Data atau informasi

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM. konfigurasi pada perangkat lunak serta perangkat keras sesuai kebutuhan sistem

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN. permasalahan secara umum dan analisis perancangan sistem dari aplikasi Iqra ini.

PERANCANGAN PROGRAM APLIKASI KRIPTOGRAFI MENGGUNAKAN ALGORITMA MARS DENGAN MODUS ECB

PENERAPAN ALGORITMA RIJNDAEL DALAM ENKRIPSI FILE SECARA SIMETRIK MENGGUNAKAN BAHASA C# SURACHMAN


BAB I PENDAHULUAN. sering digunakan dalam kehidupan sehari-hari, seperti internet, e-commerce,

BAB III ANALISA DAN PERANCANGAN. pengamanan file teks dengan menggunakan algoritma triangle chain dan rivest cipher (RC4).

Algoritma Enkripsi Baku Tingkat Lanjut

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

BAB IV HASIL DAN UJI COBA

ANALISIS PERBANDINGAN KINERJA ALGORITMA BLOWFISH DAN ALGORITMA TWOFISH PADA PROSES ENKRIPSI DAN DEKRIPSI

BAB IV IMPLEMENTASI, PENGUJIAN, DAN ANALISIS HASIL. Perangkat keras yang digunakan untuk perancangan aplikasi ini adalah : : Intel Pentium Dual core

BAB II LANDASAN TEORI

BAB III METODE PENELITIAN. Langkah penelitian yang digunakan disajikan pada Gambar 4.

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

BAB III ANALISA DAN PERANCANGAN

BAB IV HASIL DAN UJI COBA

Keamanan Sistem Komputer DES, AES, RSA

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III METODOLOGI PENELITIAN. tools yang akan digunakan untuk merancang aplikasi generator denah

RANCANG BANGUN PHP 5 ENCODER

Pembangunan Perangkat Lunak untuk Enkripsi Folder dengan Algoritma Serpent

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB III METODOLOGI PERANCANGAN. analisa sistem, pengumpulan data, identifikasi masalah, analisa teknologi

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

internal atau upa-kunci. Kunci internal dibangkitkan dari kunci eksternal yang panjangnya 64 bit. Berikut ini adalah skema global algoritma DES.

IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) UNTUK ENKRIPSI DAN DEKRIPSI PADA DOKUMEN TEKS ABSTRAK

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

BAB IV IMPLEMENTASI DAN PENGUJIAN. dilanjutkan dengan pengujian terhadap aplikasi. Kebutuhan perangkat pendukung dalam sistem ini terdiri dari :

BAB III METODE PENELITIAN. Tahapan yang dilakukan dalam penelitian ini disajikan pada Gambar 3. Pengujian

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

BAB III ANALISA DAN DESAIN SISTEM

Transkripsi:

BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Lingkungan Perancangan Dalam perancangan program simulasi ini, penulis menggunakan komputer dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel Pentium, Core Duo, 1.66GHz 2. Memory: 512 Mega Bytes 3. Sistem Operasi: Windows XP Professional sp. 2 Sedangkan pemrograman yang digunakan adalah: 1. Platform: Textpad 4, Java 2 Standard Development Kit version 1.8 2. Bahasa Pemrograman: Java 2 Standard Edition Pemilihan penggunaan bahasa java, karena java adalah bahasa pemrograman OOP yang mantap penyusunannya dan mempunyai ribuan class untuk berbagai tujuan. Selain itu java juga bahasa pemrograman yang compatible dengan berbagai macam sistem operasi, sehingga user dengan sistem operasi apapun dapat menggunakan program simulasi ini. 4.2 Petunjuk Instalasi Sebelum mengimplementasikan program simulasi ini, user harus memiliki beberapa software yang mendukung kerjanya program simulasi ini. Berikut adalah petunjuk instalasi yang harus dilakukan agar memory dan program simulasi ini dapat berjalan dengan baik. Proses instalasi dibagi menjadi dua bagian yaitu instalasi software pendukung program simulasi dan instalasi program simulasi.

68 4.2.1 Instalasi Software Pendukung Program Simulasi Tahap-tahap instalasi software pendukung program simulasi adalah sebagai berikut: 1. Lakukan instalasi sistem operasi yang dapat mendukung instalasi J2SDK version 1.8. Java adalah bahasa pemrograman yang multiplatform sehingga sebagian besar sistem operasi dapat mendukung java. 2. Lakukan instalasi Java 2 Standard Development Kit version 1.8. Java merupakan program open source yang dapat didownload secara gratis melalui website http://java.sun.com/javase/downloads/index.jsp. 3. Lakukan instalasi Java Runtime Environment (JRE). JRE dibutuhkan untuk mendukung jalannya program-program berbasis java karena file-file dengan extension class pada java dijalankan pada Java Virtual Machine yang terdapat pada JRE. 4.2.2 Instalasi Program Simulasi Tahap-tahap instalasi program simulasi adalah sebagai berikut: 1. Copy semua file source code dengan extension java pada sebuah folder. 2. Compile semua source code dengan extension java untuk menghasilkan program berbasis java berupa file dengan extension class. 3. Setelah semua file dengan extension java telah di-compile, untuk menjalankan program simulasi, lakukan perintah java Main pada folder di mana file-file dengan extension class berada.

69 4.3 Penerapan Perancangan Pada Program Seperti yang telah kita ketahui, program simulasi ini dirancang dengan menggunakan konsep Object Oriented Programming. Untuk mendukung pemrograman simulasi ini, arsitektur program simulasi ini dirancang dengan menggunakan Unified Modelling Language. Arsitektur umum program ini dirancang pada class diagram. Berikut adalah penjelasan bagaimana class-class pada class diagram dikembangkan menjadi filefile dengan extension java untuk diprogram. 1. Class Main Main adalah class utama dari program simulasi ini. Pada class Main terdapat method utama untuk program java yaitu void main(string[] args). Method tersebut adalah method pertama yang berjalan pada saat program simulasi ini dimulai. Didalam method tersebut akan dibuat objek dari class SerpentSimulation, yang kemudian akan ditampilkan. Apabila module void main(string[] args) berakhir, program akan berakhir. 2. Class SerpentSimulation SerpentSimulation adalah class GUI dari program simulasi ini yang merupakan class dari layar utama. Pada SerpentSimulation terdapat menu-menu, antara lain menu untuk memanggil layar Encrypt Simulation, menu untuk memanggil layar Decrypt Simulation, menu untuk memanggil layar File Cryptography. Oleh karena itu, pada class SerpentSimulation terdapat objek dari class EncryptSimulation, class DecryptSimulation dan class FileCryptography. Selain perintah-perintah untuk memanggil user interface lain, layar Serpent Simulation juga dilengkapi dengan perintah Encrypt, Decrypt dan Simulate.

70 3. Class EncryptSimulation EncryptSimulation adalah class GUI dari program simulasi ini yang merupakan class dari layar Encrypt Simulation. Pada EncryptSimulation terdapat text field plaintext, yang digunakan user untuk memasukkan plaintext yang akan disimulasi proses enkripsinya. Untuk proses simulasi proses enkripsi pada layar Encrypt Simulation ini, class EncryptSimulation juga menyediakan text field hasil permutasi awal, 32 buah text field hasil 32 tahap Substitution Permutation Network dan text field hasil permutasi akhir. Pada layar Encrypt Simulation ini juga terdapat tombol Exit untuk keluar dari layar ini. Setelah keluar dari layar ini, program akan kembali pada pemanggil layar Encrypt Simulation yaitu layar Serpent Simulation. 4. Class DecryptSimulation DecryptSimulation adalah class GUI dari program simulasi ini yang merupakan class dari layar Decrypt Simulation. Pada DecryptSimulation terdapat text field ciphertext, yang digunakan user untuk memasukkan ciphertext yang akan disimulasi proses dekripsinya. Untuk proses simulasi proses dekripsi pada layar Decrypt Simulation ini, class DecryptSimulation juga menyediakan text field hasil invers permutasi akhir, 32 buah text field hasil invers 32 tahap Substitution Permutation Network dan text field hasil invers permutasi awal. Pada layar Decrypt Simulation ini juga terdapat tombol Exit untuk keluar dari layar ini. Setelah keluar dari layar ini, program akan kembali pada pemanggil layar Decrypt Simulation yaitu layar Serpent Simulation.

71 5. Class FileCryptography FileCryptography adalah class GUI dari program simulasi ini yang merupakan class dari layar File Cryptography. Pada FileCryptography terdapat dua bagian utama yaitu bagian enkripsi file dan bagian dekripsi file. Pada bagian enkripsi file terdapat text field untuk file plaintext yang akan dienkripsi, tombol browse untuk mencari file plaintext dan text field untuk file ciphertext hasil enkripsi serta tombol browse untuk mencari file ciphertext. Pada bagian dekripsi file terdapat text field untuk file ciphertext yang akan didekripsi, tombol browse untuk mencari file ciphertext dan text field untuk file plaintext hasil dekripsi serta tombol browse untuk mencari file plaintext. 6. Class SerpentAlgorithm SerpentAlgorithm adalah class algoritma pendukung yang merupakan class generalisasi dari class SerpentStandard dan class SerpentBitSlice. Seperti halnya class SerpentStandard dan class Serpent BitSlice, class SerpentAlgorithm juga mempunyai method-method yang sama, yaitu makekey, blockencrypt dan blockdecrypt, tetapi pada class SerpentAlgorithm, method-method tersebut dilengkapi dengan pilihan untuk menggunakan implementasi bislice atau implementasi standard. Class SerpentAlgorithm digunakan oleh berbagai class GUI dalam proses enkripsi dan dekripsinya seperti pada class SerpentSimulation. 7. Class SerpentStandard SerpentStandard adalah class algoritma pendukung yang merupakan class yang memuat algoritma Serpent AES dengan implementasi standard. Pada class ini terdapat tiga method utama, yaitu makekey, blockencrypt dan blockdecrypt.

72 Method makekey adalah implementasi algoritma key schedule dari algoritma Serpent. Method blockencrypt adalah fungsi yang menghasilkan ciphertext dengan parameter plaintext dan key. Method blockdecrypt adalah fungsi untuk menghasilkan plaintext dengan parameter ciphertext dan key. Pada class SerpentStandard terdapat beberapa attribute, antara lain matriks S-Box, matriks invers S-Box, matrix IP, matriks FP, matriks LT dan matriks invers LT. Terdapat juga attribute PHI ( ) dengan nilai 0x9E3779B9, di mana: 5 1 2 8. Class SerpentBitSlice SerpentBitSlice adalah class algoritma pendukung yang merupakan class yang memuat algoritma Serpent AES dengan implementasi bitslice. Pada class ini terdapat tiga method utama, yaitu makekey, blockencrypt dan blockdecrypt. Method makekey adalah implementasi algoritma key schedule dari algoritma Serpent implementasi bitslice. Method blockencrypt adalah fungsi yang menghasilkan ciphertext dengan parameter plaintext dan key. Method blockdecrypt adalah fungsi untuk menghasilkan plaintext dengan parameter ciphertext dan key. Pada class SerpentBitSlice terdapat beberapa attribute, antara lain matriks S-Box, matriks invers S-Box dan PHI ( ) dengan nilai 0x9E3779B9, di mana: 5 1 2

73 9. Class HexaDecimal HexaDecimal adalah class parser pendukung untuk mengurus operasi parsing dari array of byte menjadi String ataupun sebaliknya. Pada class HexaDecimal terdapat tiga method utama, yaitu tostring, toreversedstring dan fromevenlengthstring. Method tostring menerima parameter array of byte dan berfungsi untuk merepresentasikan array of byte tersebut dalam bentuk hexadecimal pada sebuah string. Method toreversedstring mempunyai fungsi yang hampir sama dengan method tostring. Perbedaannya hanyalah pada method tostring urutan representasi tersebut berupa big-endian, sedangkan pada toreversedstring representasi tersebut berupa little-endian. Method fromevenlengthstring berfungsi untuk menghasilkan array of byte dengan parameter string berupa representasi hexadecimal. 4.4 Petunjuk Pengoperasian Dalam setiap sistem yang berjalan, pastilah mempunyai langkah-langkah yang ditempuh untuk pengoperasiannya. Berikut ini petunjuk-petunjuk pengoperasian dari program simulasi yang telah dikelompokkan berdasarkan masing-masing layar. Berikut ini petunjuk-petunjuk pengoperasian pada setiap layar yang dapat diakses oleh user.

74 4.4.1 Layar Utama Gambar 4.1 Tampilan Layar Utama Layar utama adalah layar dimana user dapat melakukan proses simulasi transmisi data melalui SDR. User juga dapat mengenkripsi block-block plaintext menjadi ciphertext dalam bentuk hexadecimal. Tombol Simulate pada layar utama berfungsi untuk melakukan simulasi proses transmisi data sesuai dengan yang dimasukkan pada text field simulate melalui SDR. Proses simulasi ditampilkan dalam bentuk animasi yang menjelaskan alur suara yang dikonversi menjadi sinyal analog, sinyal analog

75 yang dikonversi menjadi sinyal digital, plaintext yang dikonversi menjadi ciphertext pada proses pengiriman dan proses sebaliknya pada proses penerimaan. Untuk melakukan proses simulasi, text field simulate harus diisi. Tombol Encrypt digunakan untuk mengenkripsi block-block plaintext dalam bentuk hexadecimal untuk menghasilkan block-block ciphertext dalam bentuk hexadecimal. Tombol Decrypt digunakan untuk mendekripsi block-block ciphertext dalam bentuk hexadecimal untuk menghasilkan block-block plaintext dalam bentuk hexadecimal. Tombol Use BitSlice adalah pilihan untuk user untuk memilih apakah operasi algoritma kriptografi untuk proses simulasi, enkripsi dan dekripsi menggunakan implementasi bitslice. Apabila dalam keadaan checked, maka proses-proses tersebut menggunakan implementasi bitslice.

76 4.4.2 Layar Encrypt Simulation Gambar 4.2 Tampilan Layar Encrypt Simulation Layar Encrypt Simulation adalah layar untuk pelihat tahap-tahap perubahan plaintext menjadi ciphertext pada proses enkripsi dengan menggunakan algoritma Serpent. Tombol Simulate pada layar Encrypt Simulation berfungsi untuk melakukan proses simulasi, yaitu untuk melihat tahap-tahap perubahan plaintext

77 menjadi ciphertext melalui proses permutasi awal, 32 tahap Substitution Permutation Network dan proses permutasi akhir. Tombol Exit berfungsi untuk menutup layar Encrypt Simulation dan kembali pada layar utama. 4.4.3 Layar Decrypt Simulation Gambar 4.3 Layar Decrypt Simulation

78 Layar Decrypt Simulation adalah layar untuk pelihat tahap-tahap perubahan ciphertext menjadi plaintext pada proses dekripsi dengan menggunakan algoritma Serpent. Tombol Simulate pada layar Decrypt Simulation berfungsi untuk melakukan proses simulasi, yaitu untuk melihat tahap-tahap perubahan plaintext menjadi ciphertext melalui proses invers permutasi akhir, 32 tahap invers Substitution Permutation Network dan proses invers permutasi awal. Tombol Exit berfungsi untuk menutup layar Decrypt Simulation dan kembali pada layar utama. 4.4.4 Layar File Cryptography Gambar 4.4 Layar File Cryptography

79 Layar File Cryptography adalah layar untuk melakukan proses enkripsi dan dekripsi file dengan menggunakan algoritma kriptografi Serpent. Layar File Cryptography terdiri dari dua bagian utama yaitu bagian enkripsi file dan bagian dekripsi file. Pada bagian enkripsi file, terdapat text field untuk plaintext yang akan dienkripsi beserta tombol untuk memilih file plaintext tersebut. Juga terdapat text field untuk ciphertext hasil enkripsi disertai dengan tombol untuk memilih file tersebut. Setelah user sudah memilih file plaintext dan file ciphertext maka user dapat mengenkripsi file plaintext untuk menghasilkan file ciphertext. Pada bagian dekripsi file, terdapat text field untuk ciphertext yang akan didekripsi beserta tombol untuk memilih ciphertext tersebut. Juga terdapat text field untuk plaintext hasil enkripsi disertai dengan tombol untuk memilih file tersebut. Setelah user sudah memilih file ciphertext dan file plaintext maka user dapat mendekripsi file ciphertext untuk menghasilkan file plaintext. Tombol Exit berfungsi untuk menutup layar File Cryptography dan kembali pada layar utama. 4.5 Hasil dan Evaluasi 4.5.1 Spesifikasi Proses Serpent AES Pada program simulasi ini terdapat banyak sekali method-method untuk enkripsi dan dekripsi data dengan menerapkan Serpent AES, seperti yang telah digambarkan pada Sequence Diagram pada Bab 3. Berikut adalah spesifikasi proses pada method kriptografi pada Serpent AES.

80 Pada kasus ini, spesifikasi proses enkripsi dan proses dekripsi dianggap sama karena proses dekripsi adalah proses enkripsi dengan arah yang berkebalikan. Spesifikasi proses kriptografi dari satu block plaintext terdiri dari operasi-operasi sebagai berikut: - Permutasi awal Permutasi awal adalah operasi permutasi block plaintext berukuran 128 bit dengan tabel permutasi awal berukuran 128 byte, yang akan menghasilkan hasil permutasi berukuran 128 bit. Proses permutasi dilakukan dengan pengecekan untuk masing-masing bit pada plaintext disesuaikan dengan masing-masing byte pada tabel permutasi awal. - 32 tahap Substitution Permutation Network Pada proses 32 tahap Substitution Permutation Network ini, objekobjek akan dinotasikan. Plaintext dinotasikan dengan P atau, di mana pada masing-masing tahap perubahan plaintext akan menjadi,,,,. Subkey terdiri dari 32 buah variabel 128 bit yaitu,,,,. S-Box terdiri dari 32 baris yaitu,,,,. Pada langkah Key Mixing, operasi yang terjadi adalah dilakukan operasi XOR untuk subkey pada masing-masing tahap dengan plaintext., untuk nilai i=0, 1, 2,, 31 Pada langkah S-Box, operasi yang terjadi adalah mengkombinasikan S- Box pada masing-masing tahap dengan hasil Key Mixing. Pada proses kombinasi terdapat

81,,, Pada langkah transformasi linear, operasi yang terjadi adalah operasi untuk mengkombinasikan tabel LT dengan hasil dari tahap S-Box. - Permutasi akhir Permutasi akhir adalah operasi permutasi block plaintext berukuran 128 bit dengan tabel permutasi akhir berukuran 128 byte, yang akan menghasilkan hasil permutasi berukuran 128 bit. Proses permutasi dilakukan dengan pengecekan untuk masing-masing bit pada plaintext disesuaikan dengan masing-masing byte pada tabel permutasi akhir. 4.5.2 Pseudocode Serpent AES Berikut adalah pseudocode yang dirancang berdasarkan spesifikasi proses diatas digabung dengan teori yang ada mengenai Serpent AES - Permutasi awal MODUL Permutasi_Awal MULAI i BERNILAI 0 SEBELUM 128 LAKUKAN 7 AKHIR MULAI AKHIR MODUL Permutasi_Awal Modul permutasi awal ini akan menghasilkan dengan mengoperasikan bit-bit 0 hingga sebelum 128 seperti operasi diatas.

82 - Tahap Substitution Permutation Network MODUL TAHAP_SP-Network MULAI i BERNILAI 0 SEBELUM 32 LAKUKAN JIKA BUKAN TAHAP TERAKHIR MAKA SELAIN ITU JIKA TAHAP TERAKHIR MAKA AKHIR JIKA AKHIR MULAI AKHIR MODUL TAHAP SP-Network Modul tahap SP-Network diatas akan menghasilkan,,,,, dimana,,,, didapat dari transformasi linear dari langkah S-Box sedangkan untuk didapat dari operasi key mixing tambahan. - Permutasi akhir MODUL Permutasi_Akhir MULAI i BERNILAI 0 SEBELUM 128 LAKUKAN 7 AKHIR MULAI AKHIR MODUL Permutasi_Akhir Modul permutasi akhir ini akan menghasilkan yang merupakan ciphertext dengan mengoperasikan bit-bit 0 hingga 128 seperti operasi diatas.

83 4.5.3 Analisis Serpent AES Dalam Kompleksitas Setelah membuat pseudocode untuk algoritma Serpent AES seperti di atas, kompleksitas Serpent AES dapat dianalisis dan direpresentasikan dalam notasi Big O ( O(n) ). Sesuai dengan pseudocode diatas, kompleksitas algoritma Serpent AES dalam notasi Big O adalah sebagai berikut: di mana dengan panjang block 128 bit, 128 8 32 31 32 8 31 256 31 31 257

84 sehingga 31 257 33 257 Hasil perhitungan algoritma Serpent AES tersebut menghasilkan 33 257 sehingga termasuk kedalam kategori O(n) polinomial, yaitu. Kategori O(n) polinomial seperti yang telah kita ketahui, untuk merancang sebuah algoritma Serpent AES dengan panjang block 256 bit akan menghasilkan kompleksitas empat kali lipat lebih rumit dengan tingkat keamanan berubah dari 2 untuk 128 bit menjadi 2 untuk 256 bit. 4.5.4 Perbandingan Serpent AES Dengan Metode Lain Setelah mengetahui kompeksitas algoritma kriptografi Serpent AES seperti yang telah diterangkan di atas, berikut adalah tabel perbandingan kompleksitas algoritma-algoritma Symmetric Cryptography populer lain dengan Serpent AES, yaitu Rijndael dan Triple DES.

85 Tabel 4.1 Perbandingan Kompeksitas Algoritma Symmetric Cryptography Kriptosistem Operasi O(n) Serpent AES Permutasi awal, 32 tahap SP- Network dan Permutasi akhir 33 257 n=128 bit Rijndael Add Round Key awal, 7 tahap SP- Network dan Sub Bytes, Shift 7 68 n=128 bit Rows dan Add Round Key akhir Triple DES Tiga kali pengoperasian fungsi Feistel 16 tahap 32 144 n=56 bit Pada tabel di atas dapat dilihat bahwa Rijndael merupakan algoritma kriptografi yang memiliki kompleksitas algoritma terkecil dengan ukuran block yang diambil adalah 128 bit, meskipun demikian ketiga algoritma kriptografi tersebut memiliki bentuk O(n) yang sama yaitu O(n) kuardratik. Operasi-operasi pada Serpent AES lebih menjamin keamanan key, dengan adanya 32 tahap SP- Network tersebut. Dari tabel diatas hasil perbandingan adalah sebagai berikut: 1. Dari segi keamanan: Serpent, Rijndael, Triple DES. 2. Dari segi kecepatan: Rijndael, Triple DES, Serpent 4.5.5 Spesifikasi File Cryptography Dalam implementasi kriptografi ini, telah dlakukan percobaan pada layar File Cryptography dengan spesifikasi perangkat keras yang telah dijelaskan di atas. Kecepatan kriptografi mencapai 469760 bytes per second. Batas ukuran file yang dapat dikriptografi adalah 17 Gyga Bytes, dan untuk kriptografi sebuah file berukuran 17 GB membutuhkan waktu sekitar 10 jam 18 menit.

86 Tabel 4.2 Spesifikasi File Cryptography Jenis Spesifikasi Spesifikasi Komputer Kecepatan Kriptografi Ukuran File Jenis Plaintext File Waktu Kriptografi Keterangan Processor: Intel Pentium, Core Duo 1.66 GHz Memory: 512 Mega Bytes Harddisk: 80 Giga Bytes 469760 bytes per second 17 Giga Bytes RAR 10 jam 18 menit