ANALISIS DAN IMPLEMENTASI ALGORITME ADVANCED ENCRYPTION STANDARD (AES) SECARA PARALEL SAYED ZULFIKAR

Ukuran: px
Mulai penontonan dengan halaman:

Download "ANALISIS DAN IMPLEMENTASI ALGORITME ADVANCED ENCRYPTION STANDARD (AES) SECARA PARALEL SAYED ZULFIKAR"

Transkripsi

1 ANALISIS DAN IMPLEMENTASI ALGORITME ADVANCED ENCRYPTION STANDARD (AES) SECARA PARALEL SAYED ZULFIKAR DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012

2 ANALISIS DAN IMPLEMENTASI ALGORITME ADVANCED ENCRYPTION STANDARD (AES) SECARA PARALEL SAYED ZULFIKAR Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012

3 ABSTRACT SAYED ZULFIKAR. Analysis and Implementation of Advanced Encryption Standard (AES) Parallel Algorithm supervised by HENDRA RAHMAWAN and ENDANG PURNAMA GIRI. AES is an algorithm for symmetric key cryptography. AES is expected to replace Data Encryption Standard (DES) as a recognized standard for various applications. The complexity of AES encryption and decryption process is O(n), it has fast computation in both encryption and decryption but its execution time will increase as the input data increase. In this research the AES algorithm would be parallelized by dividing the data to each processor (domain decomposition) and by dividing the constituent computing of AES to each processor (functional decomposition), and their performance would be analyzed. Parallel implementation of AES algorithm uses Message Passing Interface (MPI). The objectives of this research are to measure and analyze the performance of parallel AES algorithm using performance metrics. The best result of the parallel AES algorithm in this research is in the decryption process using domain decomposition method. A file with MB size has seconds decryption execution time using sequential AES algorithm, whereas using 16 processors, its decryption execution time is seconds. The speedup is and the efficiency is This result is not good enough because the speedup is not equal to the number of processors used and the efficiency is below one. This is because the AES decryption in this research has a fast computational process, yet it has a big overhead for data communication. The worst result of the parallel AES algorithm is in the decryption process using functional decomposition method. Using the same file and three processors, the decryption execution time is seconds. The speedup is and the efficiency is This is due to the fact that computing process decomposition is not equally distributed among the processes and the use of MPI blocking communication routine which cause a big overhead for data communication. Both parallel algorithms used in this research are not cost-optimal. Keywords: AES algorithm, Message Passing Interface (MPI), parallel, performance metrics, pipeline.

4 Judul Skripsi : Analisis dan Implementasi Algoritme Advanced Encryption Standard (AES) Secara Paralel Nama : Sayed Zulfikar NIM : G Menyetujui: Pembimbing I Pembimbing II Hendra Rahmawan, S.Kom. M.T. NIP Endang Purnama Giri, S.Kom. M.Kom. NIP Mengetahui: Ketua Departemen Ilmu Komputer Dr. Ir. Agus Buono, M.Si. M.Kom. NIP Tanggal Lulus:

5 PRAKATA Puji dan syukur penulis panjatkan ke hadirat Allah subhanahu wa-ta ala yang telah memberikan rahmat dan hidayah-nya sehingga penulis dapat menyelesaikan tugas akhir ini. Selawat serta salam pada junjungan kita Nabi Muhammad shallallahu `alaihi wa sallam beserta keluarga dan sahabatnya. Penulis mengucapkan terima kasih kepada semua pihak yang telah membantu dalam penyelesaian tugas akhir ini, yaitu : 1 Kedua orang tua tercinta (Said Basri Umar dan Cut Mardiani) yang telah memberikan dukungan, bantuan, perhatian, dan doa sehingga penulis dapat menyelesaikan studi di Departemen Ilmu Komputer IPB. 2 Bapak Hendra Rahmawan, S.Kom. M.T. dan Bapak Endang Purnama Giri, S.Kom. M.Kom. selaku dosen pembimbing. 3 Ibu Ir. Sri Wahjuni, M.T. selaku dosen penguji. 4 Seluruh dosen pengajar dan civitas akademika Departemen Ilmu Komputer FMIPA IPB. 5 Keluarga besar Ilkomerz Semua pihak yang telah membantu pelaksanaan tugas akhir ini baik secara langsung maupun tidak langsung yang belum disebutkan di atas. Penulis menyadari dalam tugas akhir ini masih banyak kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang membangun. Semoga penelitian ini dapat bermanfaat bagi semua pihak yang membutuhkan. Aamiin. Bogor, Februari 2011 Sayed Zulfikar

6 RIWAYAT HIDUP Penulis lahir di Jakarta pada tanggal 26 Juni Penulis merupakan anak ketiga dari tiga bersaudara, pasangan Said Basri Umar dan Cut Mardiani. Penulis lulus dari Sekolah Menengah Atas Negeri 28 Jakarta pada tahun 2007 dan pada tahun yang sama diterima di Program Studi Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor (IPB) melalui jalur SPMB. Selama mengikuti perkuliahan, penulis aktif dalam berbagai kegiatan termasuk menjadi asisten praktikum Mata Kuliah Komunikasi Data dan Jaringan Komputer pada tahun , Organisasi Komputer pada tahun , dan Pemrosesan Paralel pada tahun Penulis aktif di bidang non-akademis ditandai dengan menjadi panitia Masa Perkenalan Departemen pada tahun 2009 sebagai anggota divisi Logistik dan Tranportasi dan acara tahunan HIMALKOM, IT TODAY, pada tahun 2009 sebagai ketua. Penulis pernah melakukan Praktik Kerja Lapangan di PT. Pertamina RU VI Balongan, Indramayu Jawa Barat selama 35 hari kerja. Penulis membuat Sistem Informasi Online Attendance System (OASYS) PT. Pertamina RU VI Balongan (Modul Harian) selama PKL di sana.

7 DAFTAR ISI Halaman DAFTAR GAMBAR... vii DAFTAR LAMPIRAN...viii PENDAHULUAN... 1 Latar Belakang... 1 Tujuan Penelitian... 1 Ruang Lingkup Penelitian... 1 Manfaat Penelitian... 1 TINJAUAN PUSTAKA... 2 Kriptografi... 2 Kotak-S... 2 Inversi Kotak-S... 2 Algoritme AES... 2 Proses Enkripsi AES... 2 Proses Dekripsi AES... 4 Ekspansi Kunci... 5 Pemrograman Paralel... 5 Metode Foster... 5 MPI (Message-Passing-Interface)... 6 Performance Metrics... 6 METODE PENELITIAN... 6 Studi Pustaka... 7 Analisis Algoritme AES Sekuensial... 7 Implementasi Algoritme AES Sekuensial... 7 Penerapan Metode Foster ke Algoritme AES Domain Decomposition... 7 Analisis dan Implementasi Algoritme AES Paralel Domain Decomposition... 7 Penerapan Metode Foster ke Algoritme AES Pipeline... 7 Analisis dan Implementasi Algoritme AES Pipeline... 7 Perancangan Percobaan... 7 Percobaan... 7 Analisis Kinerja... 7 HASIL DAN PEMBAHASAN... 7 Analisis Algoritme AES Sekuensial... 7 Implementasi Algoritme AES Sekuensial... 8 Penerapan Metode Foster ke Algoritme AES Paralel Domain Decomposition... 8 Analisis dan Implementasi Algoritme AES Paralel Domain Decomposition... 9 Penerapan Metode Foster ke Algoritme AES Pipeline Analisis dan Implementasi Algoritme AES Pipeline Perancangan Percobaan Percobaan Analisis Kinerja Waktu Eksekusi Sekuensial Waktu Eksekusi Paralel Speedup Efisiensi Cost Overhead KESIMPULAN DAN SARAN Kesimpulan Saran v

8 Halaman DAFTAR PUSTAKA LAMPIRAN vi

9 DAFTAR GAMBAR Halaman 1 Kotak-S Inversi kotak-s Proses umum enkripsi dan dekripsi AES Matriks input, state, dan output Ilustrasi proses SubBytes Ilustrasi proses ShiftRows Matriks polimat Ilustrasi proses AddRoundKey Matriks inversi polimat Proses ekspansi kunci AES Ilustrasi metode Foster Metode penelitian Algoritme enkripsi AES sekuensial Ilustrasi partisi algoritme AES paralel domain decomposition Ilustrasi komunikasi algoritme AES paralel domain decomposition Ilustrasi aglomerasi algoritme AES paralel domain decomposition Algoritme enkripsi AES paralel domain decomposition Ilustrasi partisi algoritme AES pipeline Ilustrasi komunikasi algoritme AES pipeline Ilustrasi aglomerasi algoritme AES pipeline Algoritme implementasi AES pipeline Topologi jaringan star Perbandingan waktu eksekusi enkripsi dan dekripsi AES sekuensial Waktu eksekusi enkripsi AES paralel domain decomposition Waktu eksekusi dekripsi AES paralel domain decomposition Waktu eksekusi enkripsi AES pipeline Waktu eksekusi dekripsi AES pipeline Speedup enkripsi AES paralel domain decomposition Speedup dekripsi AES paralel domain decomposition Speedup enkripsi dan dekripsi AES paralel domain decomposition dengan jumlah proses 8 buah Speedup enkripsi dan dekripsi AES pipeline Efisiensi enkripsi AES paralel domain decomposition Efisiensi dekripsi AES paralel domain decomposition Efisiensi enkripsi dan dekripsi AES pipeline Cost enkripsi paralel domain decomposition Cost dekripsi paralel domain decomposition Cost enkripsi dan dekripsi AES pipeline Overhead enkripsi AES paralel domain decomposition Overhead dekripsi AES paralel domain decomposition Overhead enkripsi dan dekripsi AES pipeline vii

10 DAFTAR LAMPIRAN Halaman 1 Variabel pendukung dan waktu eksekusi yang diharapkan Implementasi AES sekuensial Implementasi AES paralel domain decomposition Implementasi AES pipeline Pengaturan dan instalasi MPICH Data hasil percobaan algoritme enkripsi AES paralel domain decomposition perlakuan Data hasil percobaan algoritme dekripsi AES paralel domain decomposition perlakuan Data hasil percobaan algoritme enkripsi AES paralel domain decomposition perlakuan Data hasil percobaan algoritme dekripsi AES paralel domain decomposition perlakuan Data hasil percobaan algoritme enkripsi AES pipeline Data hasil percobaan algoritme dekripsi AES pipeline viii

11 1 PENDAHULUAN Latar Belakang Pesatnya perkembangan dunia komputer dan interaksinya melalui jaringan publik telah menjadikan keamanan data digital menjadi suatu hal yang penting. Proses pengiriman data melalui jaringan publik rawan untuk dicuri, disadap, ataupun diubah oleh pihak lain yang tidak bertanggung jawab. Untuk menjamin integritas data yang dikirim, selain bergantung kepada keamanan di dalam jaringan, perlu juga dilakukan proteksi terhadap data tersebut. Salah satu cara memproteksi data adalah menggunakan teknik kriptografi. AES merupakan teknik atau algoritme kriptografi yang telah digunakan pada berbagai aplikasi di seluruh dunia saat ini. AES diharapkan bisa menggantikan Data Encryption Standard (DES) sebagai standar yang diakui untuk keperluan berbagai aplikasi (Stallings 2003). AES memiliki proses enkripsi dan dekripsi yang diketahui memiliki kompleksitas pada lingkup O(n) (Giri 2004). Proses enkripsi dan dekripsi AES tergolong cukup cepat secara kompleksitas, namun waktu eksekusinya akan meningkat seiring dengan besarnya data yang digunakan. Berbagai upaya dapat dilakukan untuk mengurangi waktu eksekusi. Pemrosesan paralel dikenal sebagai salah satu metode untuk mengurangi waktu eksekusi, namun tidak semua jenis algoritme baik untuk diparalelkan karena terkadang beban komunikasi antar proses dapat memperburuk kinerja algoritme tersebut. Penelitian ini menerapkan pemrosesan paralel terhadap proses enkripsi dan dekripsi AES. Ada dua cara pemrosesan paralel yang digunakan yaitu dengan membagi seluruh data ke setiap proses dan dengan memecah algoritme AES ke dalam beberapa tahap untuk kemudian data diproses secara pipeline. Cara pertama dikenal dengan domain decomposition, sedangkan cara kedua dikenal dengan nama functional decomposition. Tujuan Penelitian Tujuan dari penelitian ini adalah : 1 Mengimplementasikan algoritme AES secara paralel pada komputer dengan menggunakan bahasa C dengan library MPI. 2 Menganalisis kinerja algoritme AES secara sekuensial dan paralel dengan menghitung waktu eksekusi, speedup, efisiensi, cost, dan overhead. Ruang Lingkup Penelitian Ruang lingkup dalam penelitian ini adalah: 1 Penelitian ini menggunakan sistem operasi Windows XP Professional dan library MPICH2 pada bahasa pemrograman C. 2 Komputer yang digunakan memiliki spesifikasi processor Intel Core i5 (4 GHz, 1.7 GB memory dan dihubungkan oleh Fast Ethernet dengan kabel UTP standar. 3 Padding dilakukan dengan cara menambahkan nilai antara 1 dan 16 sampai panjang input genap 16. Nilai tiap pad merupakan representasi dari jumlah pad yang ditambahkan. 4 Algoritme paralel yang diterapkan ada dua yaitu algoritme AES paralel domain decomposition dan algoritme AES paralel functional decomposition (pipeline). 5 Algoritme AES paralel domain decomposition diberikan dua perlakuan yaitu: a perlakuan 1 yang menggunakan empat unit komputer dengan proses yang dibangkitkan adalah 4, 8, 12, 16, 20, 24. b perlakuan 2 yang membangkitkan 4, 8, 12, dan 16 proses dengan jumlah komputer yang digunakan berturutturut sebanyak 1, 2, 3, 4 unit. 6 Jumlah proses yang dibangkitkan untuk algoritme AES pipeline dibatasi hanya 2, 3 dan 5. Pembangkitan 2 atau 3 proses hanya menggunakan 1 komputer, sedangkan pembangkitan 5 proses akan menggunakan 2 komputer,. 7 Analisis teori, analisis algoritme, analisis uji perbandingan, dan implementasi algoritme AES dibatasi untuk panjang blok pesan 128 bit dengan panjang blok kunci 128 bit. 8 Analisis performance metrics dibatasi pada waktu eksekusi, speedup, efisiensi, cost, dan overhead Manfaat Penelitian Manfaat yang dapat diperoleh dari penelitian ini adalah dapat diketahui baik atau tidaknya algoritme AES jika diparalelkan dengan cara mengukur performance metrics.

12 2 TINJAUAN PUSTAKA Kriptografi Kriptografi didefinisikan sebagai studi teknik matematis yang berkaitan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, autentikasi entitas, dan autentikasi asal data. Adapun orang yang melakukannya disebut kriptografer (Menezes et al. 1996). Menurut Menezes et al. (1996), empat tujuan utama kriptografi yaitu: 1 Kerahasiaan. 2 Integritas data (keutuhan data). 3 Autentikasi (identifikasi entitas dan data). 4 Non-repudiasi (terjaganya kesepakatan transaksi). Menurut Menezes et al. (1996), sistem pengamanan data pada kriptografi secara umum ada dua langkah, yaitu: 1 Proses enkripsi Proses enkripsi adalah suatu proses yang mengubah plaintext (kode sesungguhnya) menjadi chipertext (kode rahasia). Pada enkripsi, proses perubahan plaintext ke chipertext dilakukan dengan cara menyandikan pesan M dengan suatu kunci K yang akan menghasilkan pesan C. 2 Proses dekripsi Proses dekripsi adalah suatu proses yang mengubah chipertext menjadi plaintext, dimana pesan yang sudah teracak dikembalikan ke pesan semula. Pada proses dekripsi, pesan C tersebut diuraikan dengan menggunakan kunci K, sehingga dihasilkan pesan M yang sama seperti pesan sebelumnya. Kotak-S Kotak-S merupakan suatu bentuk pemetaan substitusi sederhana dari m-bit input menjadi n-bit output. Suatu kotak-s dengan m bit input dan n bit output dinamakan kotak-s m*n bit (Stallings 2003). Gambar 1 Kotak-S.. Algoritme AES menggunakan desain kotak-s yang memetakan 4*32 bit input kepada 4*32 bit output sebagai hasilnya. Desain kotak-s yang digunakan AES dapat dilihat pada Gambar 1. Inversi Kotak-S Inversi Kotak-S merupakan bentuk kebalikan dari kotak-s yang tiap sel penyusunnya merupakan antilog (pemetaan kebalikan) dari setiap sel bersesuaian pada kotak-s. Desain inversi kotak-s yang digunakan AES dapat dilihat pada Gambar 2. Gambar 2 Inversi kotak-s. Algoritme AES AES merupakan algoritme kriptografi yang didesain untuk beroperasi pada blok pesan 128 bit dan menggunakan tiga variasi blok kunci dengan panjang 128 bit, 192 bit, atau 256 bit. Khusus untuk penelitian ini, pengkajian akan dibatasi pada blok pesan 128 bit dengan ukuran blok kunci 128 bit. Empat proses utama algoritme terdiri atas satu proses permutasi (ShiftRows) dan tiga proses substitusi (SubBytes, MixColumns, dan AddRoundKey). Struktur algoritme secara umum cukup sederhana, dengan proses baik enkripsi maupun dekripsi diawali proses AddRoundKey, diikuti sembilan round yang masing-masing tersusun atas empat proses, dan diakhiri round kesepuluh yang terdiri atas tiga proses. Proses AddRoundKey saja yang memanfaatkan kunci, karena itu penyandian diawali dan diakhiri oleh sebuah proses AddRoundKey (Stallings 2003). Proses Enkripsi AES Secara umum, proses enkripsi dan dekripsi AES dapat digambarkan pada Gambar 3. Masukan dari algoritme enkripsi dan dekripsi AES adalah sebuah blok berukuran 128 bit. Blok ini digambarkan sebagai sebuah matriks 4x4 dengan tiap elemen berukuran satu byte dan direpresentasikan dalam dua karakter

13 3 heksadesimal, maka dihasilkan 16 buah input. Input tersebut direpresentasikan ke dalam matriks 4x4 yang disebut matriks input. Gambar 4 Matriks input, state, dan output. Proses enkripsi AES diawali proses AddRoundKey diikuti sembilan round dengan arsitektur yang tersusun atas empat proses dan urutan identik yaitu SubBytes, ShiftRows, MixColumns, dan AddRoundKey. Pada akhir proses enkripsi, digunakan round kesepuluh yang tersusun atas tiga proses terurut SubBytes, ShiftRows, dan AddRoundKey yang keseluruhan proses tersebut diiringi proses penjadwalan key (oleh expand key) bagi setiap round (Stallings 2003). Gambar 3 Proses umum enkripsi dan dekripsi AES. a SubBytes Operasi ini merupakan suatu operasi substitusi tak linear yang beroperasi secara mandiri pada setiap byte dengan menggunakan kotak-s (Ariyus 2008). Ilustrasi proses SubBytes diberikan pada Gambar 5. Matriks input disalin kedalam matriks state yang kemudian akan dimodifikasi pada setiap tahap enkipsi atau dekripsi. Pada tahap akhir penyandian, matriks state disalin ke dalam matriks output (Stallings 2003). Ilustrasi matriks input, state, dan output tersaji pada Gambar 4. Kunci juga digambarkan sebagai matriks 4x4 yang disebut matriks key. Tiap elemennya berukuran satu byte dan direpresentasikan dalam dua karakter heksadesimal (Stallings 2003). Gambar 5 Ilustrasi proses SubBytes. b ShiftRows ShiftRows merupakan proses permutasi sederhana dari 16 nilai matriks 4x4 kepada 16 nilai baru matriks 4x4. (Stallings 2003). Ilustrasi proses ShiftRows diberikan pada Gambar 6.

14 4 Gambar 6 Ilustrasi proses ShiftRows. c MixColumns MixColumns merupakan operasi terhadap setiap kolom secara terpisah. Setiap byte dari suatu kolom dipetakan terhadap suatu nilai baru dengan suatu fungsi yang melibatkan seluruh nilai (4 byte) dari kolom yang bersangkutan. Proses MixColumns mengalikan matriks polimat dengan matriks state (Stallings 2003). d Gambar 7 Matriks polimat. AddRoundKey Operasi ini merupakan suatu operasi penambahan kunci dengan operasi XOR dan setiap kunci putaran terdiri dari w[i]. Nilai w[i] merupakan kunci ekspansi yang diturunkan dari kunci primer (Ariyus 2008). Ilustrasi proses AddRoundKey diberikan pada Gambar 8. Proses dekripsi diawali dengan AddRoundKey lalu dilanjutkan dengan proses sembilan buah round identik yang menggunakan key hasil ekspansi bagi round bersesuaian. Setiap round dekripsi (round pertama sampai round kesembilan) tersusun atas empat proses transformasi terurut, yaitu InvShiftRows, InvSubBytes, AddRoundKey, dan MixColumns. Proses dekripsi diakhiri oleh round kesepuluh dengan tiga proses penyusun secara berurut yaitu InvShiftRows, InvSubBytes, dan AddRounKey (Stallings 2003). a b InvShiftRows InvShiftRows merupakan transformasi kebalikan dari proses permutasi ShiftRows (Stallings 2003). Untuk kasus blok pesan 128 bit dengan 128 bit blok kunci, InvShiftRows memiliki aturan permutasi sebagai berikut: 1 Baris pertama matriks tetap. 2 Baris kedua matriks bergeser secara rotasi satu byte ke kanan. 3 Baris ketiga matriks bergeser secara rotasi dua byte ke kanan. 4 Baris keempat matriks bergeser secara rotasi tiga byte ke kanan. InvSubBytes InvSubBytes memiliki kaidah pemetaan seperti proses SubBytes pada enkripsi akan tetapi kamus pemetaannya menggunakan inversi kotak-s (Stallings 2003). Gambar 8 Ilustrasi proses AddRoundKey. Proses Dekripsi AES Struktur proses dekripsi AES sama dengan proses enkripsi. Akan tetapi, proses dekripsi AES memiliki urutan proses dan transformasi penyusun tiap round yang berbeda. Selain itu, transformasi yang digunakan pun merupakan transformasi kebalikan dari proses transformasi penyusun setiap round pada proses enkripsi (Stallings 2003). c d AddRoundKey AddRoundKey pada proses dekripsi identik dengan AddRoundKey pada proses enkripsi. Hal ini dikarenakan operasi inversi dari XOR merupakan operasi XOR itu sendiri (Stallings 2003). InvMixColumns InvMixColumns merupakan proses inversi dari proses MixColumns pada enkripsi (Stallings 2003). Proses InvMixColumns dapat didefinisikan sebagai proses perkalian dengan inversi dari matriks polimat pada proses enkripsi (Gambar 10). 0E 0B 0D E 0B 0D 0D 09 0E 0B 0B 0D 09 0E Gambar 9 Matriks inversi polimat

15 5 Ekspansi Kunci Ekspansi kunci adalah proses untuk membangkitkan kunci bagi round pada setiap iterasi. Algoritme ekspansi kunci AES membutuhkan masukan sebuah kunci berukuran empat word dan akan menghasilkan sebuah 44 word (156 bytes) array yang linear (Stallings 2003). Proses ekspansi kunci digambarkan pada Gambar 10. komunikasi intensif dengan bagian lain, dan memetakan kelompok tersebut ke sejumlah prosesor yang ada. Empat tahapan desain tersebut adalah partisi, komunikasi, aglomerasi, dan pemetaan (Quinn 2004). Ilustrasi metode foster dapat dilihat pada Gambar 11. Gambar 10 Proses ekspansi kunci AES. Pemrograman Paralel Pemrograman paralel adalah pemrograman dalam bahasa yang memungkinkan secara eksplisit menunjukkan bagaimana bagian yang berbeda dari komputasi dapat dieksekusi secara bersamaan oleh prosesor yang berbeda (Quinn 2004). Algoritme paralel adalah sebuah urutan yang memberi tahu kita bagaimana cara untuk memecahkan suatu masalah menggunakan beberapa prosesor. Algoritme ini mencakup identifikasi bagian dari pekerjaan bersama ke dalam proses yang berjalan secara paralel, pengaturan akses data yang dibagi ke beberapa prosesor, pendistribusian input, output, dan data yang terkait dengan program serta koordinasi proses di berbagai tahapan pelaksanaan program paralel (Grama et al. 2003). Metode Foster Ian Foster mengemukakan empat langkah metode desain sistem paralel yang dimulai dari pembagian data ke dalam beberapa bagian, menentukan komunikasi antar bagian, mengelompokkan bagian yang memiliki a b c Gambar 11 Ilustrasi metode Foster. Partisi Partisi adalah suatu proses pembagian komputasi dan data ke dalam beberapa bagian. Ada dua cara untuk melakukan partisi, yaitu domain decompotition dan functional decompotition. Domain decompotition adalah pendekatan model algoritme paralel yang melakukan pembagian data menjadi beberapa bagian terlebih dahulu, kemudian menentukan bagaimana mengasosiasikan komputasi dengan data tersebut. sedangkan functional decompotition melakukan pembagian komputasi terlebih dahulu lalu menentukan bagaimana menghubungkan data dengan komputasi-komputasi tersebut (Quinn 2004). Komunikasi Skema komunikasi antar bagian hasil partisi dibuat setelah melakukan partisi. Ada dua jenis komunikasi yang digunakan yaitu local communication dan global communication. Local communication adalah membuat saluran antar task ketika ada task yang membutuhkan nilai dari task lainnya. Global communication terjadi ketika ada primitive task dengan jumlah yang signifikan menyumbangkan data untuk menunjukkan proses komputasi (Quinn 2004). Aglomerasi Aglomerasi adalah proses pengelompokkan task ke dalam task yang lebih besar guna meningkatkan kinerja

16 6 d program maupun menyederhanakan program (Quinn 2004). Pemetaan Pemetaan adalah proses penugasan task ke prosesor. Tujuan dari pemetaan adalah memaksimalkan kemampuan prosesor dan meminimalkan komunikasi antar prosesor (Quinn 2004). MPI (Message-Passing-Interface) MPI adalah sebuah standar library pengenalan dasar pemrograman sistem paralel (Quinn 2004). MPI dapat digunakan dengan berbagai bahasa pemrograman seperti bahasa C dan Fortran. Operasi utama yang dilakukan oleh standar MPI yaitu: a b Point-to-point Communication MPI Point-to-point Communication adalah komunikasi antar dua proses. Satu proses bertugas mengirim data atau operasi dan proses lainnya bertugas menerima data atau operasi tersebut. Collective Communication MPI Collective Communication adalah komunikasi yang melibatkan sekumpulan proses yang dipanggil oleh semua proses dalam communicator. Performance Metrics Performance metrics adalah salah satu cara untuk menganalisis kinerja algoritme paralel (Grama et al.). Beberapa persamaan performance metric yaitu: a Waktu Eksekusi Waktu eksekusi adalah waktu yang dihitung dari awal sampai akhir eksekusi. Waktu eksekusi sekuensial dilambangkan dengan T s. Waktu eksekusi paralel adalah dilambangkan dengan T p (Grama et al. 2003). b Speedup Speedup (S) adalah rasio dari waktu yang digunakan untuk menyelesaikan masalah dalam program sekuensial (T s ) terhadap waktu yang diperlukan untuk menyelesaikan masalah yang sama dengan program paralel (T p ) (Grama et al. 2003). Speedup dirumuskan pada Persamaaan 1 c d e Efisiensi Efisiensi (E) adalah rasio antara speedup dengan banyaknya prosesor yang digunakan (p). Suatu sistem paralel dikatakan cost-optimal jika memiliki efisiensi sebesar 1 (Grama et al. 2003). Efisiensi dirumuskan pada Persamaan 2. E = (2) Cost Cost (C) pada sistem paralel adalah hasil perkalian waktu eksekusi paralel dengan jumlah prosesor yang digunakan (Grama et al. 2003). Fungsi cost dirumuskan pada Persamaan 3. C = pt p (3) Overhead Overhead adalah kelebihan dari total waktu yang dibutuhkan oleh semua proses paralel dibandingkan proses sekuensial pada masalah yang sama (Grama et al. 2003). Fungsi overhead dirumuskan pada Persamaan 4. T o = pt p - T s (4) METODE PENELITIAN Penelitian ini akan menggunakan metode Foster dalam merancang sistem paralelnya. Pembagian komputasi akan dilakukan secara domain decomposition dan functional decomposition. Penelitian ini akan dikerjakan dalam beberapa tahap yang disesuaikan dengan metode penelitian seperti terlihat pada Gambar 12. S = (1) Gambar 12 Metode penelitian.

17 7 Studi Pustaka Kegiatan yang dilakukan pada tahap ini adalah mengumpulkan semua informasi atau literatur yang terkait dengan penelitian. Informasi tersebut didapat dari buku, internet, dan artikel yang membahas tentang algoritme AES dan pemrosesan paralel. Analisis Algoritme AES Sekuensial Analisis algoritme yang dilakukan pada tahap ini adalah analisis kompleksitas waktu asimptotik dan penghitungan waktu eksekusi AES sekuensial yang diharapkan. Implementasi Algoritme AES Sekuensial Algoritme AES sekuensial diimplementasikan dengan menggunakan bahasa pemrograman C. Algoritme utama AES dibagi menjadi tiga bagian yaitu ekspansi kunci, enkripsi, dan dekripsi. Penerapan Metode Foster ke Algoritme AES Domain Decomposition Metode yang digunakan untuk implementasi algoritme AES secara paralel pada penelitian ini adalah metode Foster dengan tahapan partisi, komunikasi, aglomerasi, dan pemetaan. Tahapan partisi dilakukan secara domain decomposition. Analisis dan Implementasi Algoritme AES Paralel Domain Decomposition Analisis algoritme yang dilakukan pada tahap ini adalah analisis kompleksitas waktu asimptotik dan penghitungan waktu eksekusi AES paralel domain decomposition yang diharapkan. Implementasinya akan menggunakan prosedur komunikasi MPI kolektif scatter/scatterv dan gather/gatherv untuk pendistribusian data. Penerapan Metode Foster ke Algoritme AES Pipeline Metode yang digunakan untuk implementasi algoritme AES secara paralel pada penelitian ini adalah metode Foster dengan tahapan partisi, komunikasi, aglomerasi dan pemetaan. Tahapan partisi dilakukan secara functional decomposition. Fungsi yang dipecah adalah komputasikomputasi penyusun enkripsi atau dekripsi AES dan komputasi ekspansi kunci AES. Analisis dan Implementasi Algoritme AES Pipeline Analisis algoritme yang dilakukan pada tahap ini adalah analisis kompleksitas waktu asimptotik dan penghitungan waktu eksekusi AES pipeline yang diharapkan. Implementasinya akan menggunakan prosedur komunikasi MPI point-to-point send-receive untuk aliran proses penyandian. Perancangan Percobaan Parameter-parameter yang dibutuhkan untuk percobaan ditentukan pada tahap ini. Parameter-parameter tersebut antara lain: 1 Jenis algoritme. 2 Jenis perlakuan. 3 Ukuran file masukan. 4 Jumlah prosesor dan proses. 5 Performace metrics. 6 Perangkat keras dan perangkat lunak. Percobaan Waktu enkripsi dan dekripsi dari implementasi AES secara sekuensial dan paralel akan dicatat pada tahap ini. Analisis Kinerja Waktu eksekusi algoritme AES sekuensial akan ditentukan pada tahap ini. Kedua algoritme AES paralel akan ditentukan waktu eksekusi, speedup, efisiensi, cost, dan overhead. Waktu eksekusi kedua algoritme AES paralel akan dibandingkan dengan waktu eksekusi algoritme paralel yang diharapkan dan waktu eksekusi algoritme sekuensial. HASIL DAN PEMBAHASAN Analisis Algoritme AES Sekuensial Proses enkripsi dan dekripsi AES diketahui memiliki kompleksitas pada lingkup O(n) (Giri 2004). Proses enkripsi file pada AES sekuensial diawali dengan membangkitkan 176 bytes kunci-kunci ekspansi melalui proses ekspansi kunci. Selanjutnya file dibagi-bagi ke dalam tiap blok berukuran 128 bit, kemudian setiap blok dioperasikan dengan operasi seperti pada Gambar 3. Proses ini akan terus diulangi sampai semua blok file selesai diproses. Proses dekripsi file pada AES sekuensial memiliki pola yang hampir sama dengan proses enkripsi. Perbedaannya terletak pada jenis operasinya. Waktu eksekusi enkripsi dan dekripsi AES sekuensial harapan dirumuskan pada Persamaan 5 dan 6. T SEH = x 1 + x 2 + A + n(b) (5) T SDH = x 1 + x 2 + A + n(c) (6)

18 8 Keterangan : T SEH : waktu eksekusi enkripsi sekuensial harapan T DEH : waktu eksekusi dekripsi sekuensial harapan x 1 : waktu yang dibutuhkan untuk membaca suatu data masukan x 2 : waktu yang dibutuhkan untuk menulis data keluaran n : banyak blok A : waktu yang dibutuhkan untuk melakukan ekspansi kunci B : waktu yang dibutuhkan untuk C melakukan enkripsi satu blok data : waktu yang dibutuhkan untuk melakukan dekripsi satu blok data Variabel pendukung dan waktu eksekusi harapan untuk enkripsi dan dekripsi algoritme AES sekuensial disajikan dalam Lampiran 1. Implementasi Algoritme AES Sekuensial Proses enkripsi dan dekripsi pada penelitian ini menggunakan bahasa pemrograman C, kompilator GCC, dan library MPICH2 yang digunakan untuk memakai fungsi perhitungan waktu eksekusi karena implementasi AES paralel juga menggunakan fungsi yang sama sehingga perbandingannya akan sederajat. Algoritme enkripsi AES sekuensial pada penelitian ini dijelaskan pada Gambar 13. Algoritme dekripsi AES sekuensial hampir sama dengan enkripsi AES sekuensial. Perbedaannya terletak pada jenis operasinya dan proses unpadding dilakukan di akhir sebelum hasil dekripsi disimpan ke file. Implementasi algoritme AES sekunsial dapat dilihat pada Lampiran 2. Penerapan Metode Foster ke Algoritme AES Paralel Domain Decomposition Metode yang digunakan untuk implementasi algoritme AES secara paralel adalah metode Foster. Tahapan dari metode foster yaitu: 1 Partisi Jenis partisi yang dilakukan pada algoritme ini adalah domain decomposition. File plaintext akan dipecah menjadi blok-blok data berukuran 16 byte. Setiap blok data akan ditangani oleh satu proses, sehingga untuk n blok data akan membutuhkan n proses. Ilustrasi partisi algoritme AES paralel domain decomposition ditunjukkan pada Gambar 14. Gambar 14 Ilustrasi partisi algoritme AES paralel domain decomposition. Gambar 13 Algoritme enkripsi AES sekuensial. 2 Komunikasi Proses master (root) akan mengirim blok-blok data kepada setiap proses untuk dienkripsi dengan menggunakan komunikasi kolektif (scatter). Hasil enkripsi tiap proses akan dikumpulkan kembali ke root juga dengan menggunakan koleksi komunikatif (gather). n blok data akan membutuhkan 2 kali komunikasi dan n buah proses. Ilustrasi komunikasi algoritme AES paralel domain

19 9 decomposition ditunjukkan pada Gambar 15. Gambar 15 Ilustrasi komunikasi algoritme AES paralel domain decomposition 3 Aglomerasi Aglomerasi dilakukan untuk mengurangi komunikasi dan kebutuhan proses agar menjadi lebih efisien. Tiap proses (p) akan menangani n/p blok data. Komunikasi kolektif digunakan untuk meminimalkan komunikasi sehingga hanya membutuhkan sekali scatter untuk pendistribusian data dan sekali gather untuk pengumpulan data. Ilustrasi aglomerasi algoritme AES paralel domain decomposition ditunjukkan pada Gambar 16. Analisis dan Implementasi Algoritme AES Paralel Domain Decomposition Algoritme ini membagi langsung semua data masukan ke setiap proses. Setiap proses akan membangkitkan kunci-kunci ekspansi dan melakukan enkripsi atau dekripsi terhadap data masukan yang telah dibagi-bagi tersebut. Terakhir, data hasil enkripsi atau dekripsi dikumpulkan di satu proses untuk kemudian dicetak. Broadcast diketahui memiliki kompleksitas Ɵ (log p), sedangkan scatter dan gather Ɵ (n + log p) (Quinn 2004). Algoritme ini dalam proses komunikasinya melakukan tiga kali broadcast, sekali scatter dan sekali gather. Ekspansi kunci memiliki kompleksitas waktu asimptotik O(1). Untuk perhitungan enkripsi atau dekripsi tiap proses akan melakukan iterasi sebanyak n/p kali. Jika diasumsikan proses pembacaan data masukan dan penulisan data keluaran diabaikan dalam analisis perhitungan kompleksitas waktu asimptotiknya, total kompleksitas waktunya adalah: Ɵ (n/p + 2n + 5log p) Keterangan: p : jumlah proses yang dibangkitkan Jika λ adalah waktu yang dibutuhkan untuk mengirim sebuah pesan dan β (bandwidth) adalah jumlah data yang dapat dikirim dalam satu waktu, maka waktu yang dibutuhkan untuk melakukan suatu broadcast adalah λ log p Scatter atau gather data berukuran 16 byte membutuhkan waktu Gambar 16 Ilustrasi aglomerasi algoritme AES paralel domain decomposition 4 Pemetaan Setiap proses akan mengerjakan tugas yang sama namun dengan data masukan yang berbeda-beda. Jika n mod p!= 0, jumlah blok data yang dikerjakan oleh tiap proses ada yang sebesar dan ada juga yang sebesar. Jika s = n mod p, blok data akan dipetakan ke s proses pertama sedangkan sisa proses lainnya akan dipetakan blok data. λ log p + 16n (p-1) / (βp) Waktu eksekusi harapan enkripsi dan dekripsi yang diharapakan untuk algoritme AES paralel domain decomposition ini dapat dirumuskan melalui Persamaan 7 dan 8. T p1he = x 1 +x 2 +A+ B + 5λlog p + 32n T p1hd = x 1 +x 2 + A+ C+ 5λlog p + 32n (7) (8)

20 10 Keterangan : T p1he : Waktu eksekusi harapan enkripsi AES paralel domain decomposition T p1hd : Waktu eksekusi harapan dekripsi AES paralel domain decomposition Nilai λ diperoleh dari menghitung waktu rata-rata yang dibutuhkan untuk menyelesaikan 1000 kali proses send-receive data sebesar satu byte. Percobaan ini menggunakan Fast Ethernet sehingga nilai β adalah 12,5 x 10 6 byte/detik. Variabel pendukung dan waktu eksekusi harapan untuk enkripsi dan dekripsi algoritme AES paralel domain decomposition disajikan dalam Lampiran 1. Algoritme enkripsi AES paralel domain decomposition pada penelitian ini dijelaskan pada Gambar 17. Algoritme dekripsi AES paralel hampir sama dengan enkripsi AES paralel. Perbedaannya terletak pada jenis operasinya dan proses unpadding dilakukan di akhir sebelum hasil dekripsi disimpan ke file. Implementasi algoritme AES paralel domain decomposition dapat dilihat di Lampiran 3. Penerapan Metode Foster ke Algoritme AES Pipeline Tahapan metode Foster yang digunakan dalam menyusun algoritme ini adalah: 1 Partisi Jenis partisi yang dilakukan pada algoritme ini adalah functional decomposition. Komputasi AES akan dipecah menjadi komputasi-komputasi penyusun dasarnya. Diketahui enkripsi AES terdiri atas dua komputasi utama yaitu ekspansi kunci dan enkripsi itu sendiri. Ekspansi kunci tersusun atas empat buah komputasi, yaitu: RotWord, SubWord, dan dua buah proses bitwise XOR. Secara lengkap ekspansi kunci tersusun dari 10 RotWord, 10 SubWord, dan 50 bitwise XOR. Terdapat 70 komputasi dalam ekspansi kunci. Enkripsi utama AES tersusun atas empat buah komputasi yaitu: SubBytes, ShiftRows, MixCol, AddRoundKey. Secara lengkap, enkripsi AES tersusun atas: 11 AddRoundKey, 10 SubBytes, 10 ShiftRows, dan 9 MixColumns. Terdapat 40 komputasi dalam enkripsi AES. Tiap komputasi akan ditangani satu proses sehingga untuk n blok data dibutuhkan 40 proses untuk ekspansi kunci dan 40 proses untuk enkripsi/dekripsi. Ilustrasi partisi algoritme AES pipeline ditunjukkan pada Gambar 18. Gambar 17 Algoritme enkripsi AES paralel domain decomposition Gambar 18 Ilustrasi partisi algoritme AES pipeline.

21 11 2 Komunikasi Setiap proses akan mengolah blok data masukan sesuai dengan komputasi bagiannya. Jika suatu proses telah selesai melakukan komputasi untuk suatu blok data, blok data tersebut akan dikirim ke proses selanjutnya dan proses tersebut akan menerima masukan berikutnya. Jenis komunikasi yang digunakan adalah komunikasi point-to-point. Untuk n blok data, dibutuhkan 110 proses dan komunikasi sebanyak 39n kali untuk enkripsi atau dekripsi, 69 kali untuk ekspansi kunci, dan 40 kali untuk pengiriman kunci ekspansi ke tiap proses yang menangani komputasi AddRoundKey. Ilustrasi komunikasi algoritme AES pipeline ditunjukkan pada Gambar 19. Gambar 19 Ilustrasi komunikasi algoritme AES pipeline. 3 Aglomerasi Aglomerasi pada ekspansi kunci dilakukan karena ekspansi kunci tidak tergantung pada besarnya data masukan dan memiliki waktu komputasi yang kecil, sehingga komputasi ekspansi kunci tidak akan dipecah. Aglomerasi pada enkripsi utama AES dilakukan tergantung pada jumlah proses yang dibangkitkan. Pada dasarnya, algoritme AES pipeline membagi enkripsi AES ke dalam tiga kelompok komputasi yang dijelaskan pada Gambar 20. Jika proses yang dibangkitkan dua, Komputasi 2 dan Komputasi 3 digabung. Jika proses yang dibangkitkan tiga, pengelompokkan komputasi tidak berubah. Jika proses yang dibangkitkan lima, Komputasi 2 akan dipecah menjadi tiga pecahan yang akan melakukan tiga iterasi yang tiap iterasinya terdiri atas empat buah komputasi yang dilaksanakan secara berturut-turut, yaitu: SubBytes, ShiftRows, MixCol, dan AddRoundKey. 4 Pemetaan Setiap proses akan melakukan komputasi yang berbeda-beda. Komputasi 1 akan dilakukan oleh proses root, Koputasi 3 akan dikerjakan oleh proses p- 1, sedangkan Komputasi 2 akan dikerjakan sisa proses lainnya. Analisis dan Implementasi Algoritme AES Pipeline Satu blok data membutuhkan p-1 pasang komunikasi send-receive. Maka untuk menyelesaikan seluruh komputasi bagi seluruh data dibutuhkan n(p-1) pasang komunikasi send-receive. Sepasang komunikasi send-receive membutuhkan waktu λ sehingga total kebutuhan waktu komunikasi point-to-point adalah λn(p-1) Komunikasi global yang dilakukan ada dua buah broadcast, sehingga total kebutuhan waktu komunikasi global adalah 2λ (log p) Total waktu komunikasi algoritme AES pipeline harapan dirumuskan dalam Persamaan 9. T cpi = λn(p-1) + 2λ (log p) (9) Keterangan: T cpi : waktu komunikasi AES pipeline harapan Gambar 20 Ilustrasi aglomerasi algoritme AES pipeline. Proses pengiriman data menggunakan komunikasi blocking. Jadi, secara otomatis, tiap proses akan saling menunggu sampai data benar-benar terkirim. Sehingga waktu

22 12 komputasi terbesar di suatu proses akan mempengaruhi waktu komputasi keseluruhan. Jika p = 2, waktu komputasi total enkripsi dan dekripsi AES pipeline harapannya dirumuskan dalam Persamaan 10 dan 11. T p22he = x 1 + x 2 + A + d + n(9d + E) + T cpi (10) T p22hd = x 1 + x 2 + A + d + n(9f + G) + T cpi (11) Keterangan: T p22he : waktu enkripsi AES pipeline harapan dengan 2 proses T p22hd : waktu dekripsi AES pipeline harapan dengan 2 proses d : waktu komputasi AddRoundKey D : waktu komputasi SubBytes + ShiftRows+MixCol +AddRoundKey E : waktu komputasi SubBytes + ShiftRows + AddRoundKey F : waktu komputasi InvSubBytes + InvShiftRows + InvMixCol +InvAddRoundKey G : waktu komputasi InvSubBytes + InvShiftRows + InvAddRoundKey bahasa pemrograman C dan library MPICH2 untuk pemrosesan paralel. Algoritme disusun agar setiap proses bertanggung jawab terhadap komputasi tertentu yang seluruh rangkaian komputasi tersebut merupakan suatu komputasi AES utuh. Selanjutnya, setiap blok data dialirkan ke rangkaian komputasi tersebut untuk diolah secara bertahap. Kedatangan suatu blok data akan memicu eksekusi komputasi baru oleh suatu proses dalam pipeline, pengecualian pada proses yang menginisiasi pipeline. Implementasi AES pipeline dalam penelitian ini berbentuk linear 1D. Komunikasi antar proses untuk pengiriman aliran data menggunakan komunikasi pointto-point send-receive. Algoritme implementasi AES pipeline untuk tiap jumlah proses yang dibangkitkan digambarkan melalui Gambar 21. Jika p = 3, maka waktu komputasi total enkripsi dan dekripsi AES pipeline harapannya dirumuskan dalam Persamaan 12 dan 13. T p23he = x 1 + x 2 + A + d + n9d + E + T cpi (12) T p23hd = x 1 + x 2 + A + d + n9f + G + T cpi (13) Keterangan: T p23he : waktu enkripsi AES pipeline harapan dengan 3 proses T p23hd : waktu dekripsi AES pipeline harapan dengan 3 proses Jika p=5, maka waktu komputasi total enkripsi dan dekripsi AES pipeline harapannya dirumuskan dalam Persamaan 14 dan 15. T p25he = x 1 + x 2 +A +d+9d+e+ (n-1)3d+t cpi (14) T p25hd = x 1 +x 2 +A+d+9F+G+ (n-1)3f+ T cpi (15) Keterangan: T p25he : waktu enkripsi AES pipeline harapan dengan 5 proses T p25hd : waktu dekripsi AES pipeline harapan dengan 5 proses Implementasi enkripsi dan dekripsi AES pipeline dilakukan dengan menggunakan Gambar 21 Algoritme implementasi AES pipeline. Algoritme dekripsi AES pipeline hampir sama dengan enkripsi AES pipeline. Perbedaannya terletak pada jenis operasinya

23 13 dan proses unpadding dilakukan di akhir sebelum hasil dekripsi disimpan ke file. Implementasi algoritme AES pipeline dapat dilihat pada Lampiran 4. Perancangan Percobaan Parameter-parameter yang digunakan dalam percobaan ini adalah: 1 Jenis algoritme Percobaan ini akan menguji tiga buah algoritme, yaitu algoritme AES sekuensial, paralel domain decomposition, dan pipeline. 2 Proses dan prosesor Jumlah komputer yang digunakan pada penelitian ini berbeda-beda, Algoritme AES paralel domain decomposition diberi dua perlakuan. Perlakuan pertama dengan membangkitkan 4, 8, 12, 16, 20, dan 24 proses pada empat buah komputer quadcore. Perlakuan kedua dengan membangkitkan 4, 8, 12, dan 16 proses pada masing-masing 1, 2, 3, 4 buah komputer quad-core, sedangkan algoritme AES pipeline dibatasi dengan membangkitkan proses sebanyak 2 dan 3 pada 1 komputer quad-core serta 5 proses pada 2 buah komputer quad-core. 3 Ukuran file Ukuran file yang digunakan ada tiga kategori yaitu kecil (berukuran sekitar 4 MB), sedang (berukuran sekitar lima kali kecil), dan besar (berukuran sekitar lima kali sedang). Detil ukuran file disajikan pada Tabel 1. Tabel 1 Nama file beseta ukurannya Nama Kategori Ukuran File File file 1 Kecil MB file 2 Sedang MB file 3 Besar MB 4 Ulangan Ulangan yang dilakukan pada setiap eksekusi adalah sebanyak lima kali. 5 Performance metrics Performance metrics yang dianalisis adalah waktu eksekusi, speedup, efisiensi, dan overhead. 6 Lingkungan penelitian a Sepuluh komputer quad-core. b c Tiga fast Ethernet 100 Mbps. Sistem operasi Windows XP dan program MPICH p1 32 bit. Percobaan Ketiga data yang digunakan dalam percobaan ini dijalankan dengan ketiga jenis algoritme baik untuk komputasi enkripsi maupun dekripsinya. Perhitungan setiap perlakuan pada masing-masing file dilakukan lima kali ulangan, kemudian diambil nilai rata-ratanya. Percobaan ini dibagi ke dalam empat bagian yaitu: 1 Eksekusi enkripsi dan dekripsi algoritme AES paralel dengan perlakuan 1. 2 Eksekusi enkripsi dan dekripsi algoritme AES paralel dengan perlakuan 2. 3 Eksekusi enkripsi dan dekripsi algoritme AES pipeline. 4 Eksekusi enkripsi dan dekripsi algoritme AES sekuensial. Percobaan bagian 1 membutuhkan (2x6x3x5 = 180) kali eksekusi. Percobaan bagian 2 membutuhkan (2x4x3x5=120) kali eksekusi. Percobaan bagian 3 membutuhkan (2x3x3x5=90) kali eksekusi. Percobaan bagian 4 membutuhkan (2x3x5=30) kali eksekusi. Secara keseluruhan percobaan ini terdiri dari 210 eksekusi untuk enkripsi dan 210 eksekusi untuk dekripsi. Percobaan ini menggunakan tiga kelompok komputer yaitu: 1 Kelompok 1, terdiri atas empat buah komputer yang digunakan untuk percobaan bagian 1. 2 Kelompok 2, terdiri atas empat buah komputer yang digunakan untuk percobaan bagian 2. 3 Kelompok 3, terdiri atas dua buah komputer yang digunakan untuk percobaan bagian 3 dan 4. Percobaan ini diawali dengan melakukan pengaturan jaringan dan komputer agar bisa bekerja secara paralel. Langkah-langkah pengaturan jaringan dan komputer dapat dilihat pada Lampiran 5. Bentuk topologi jaringan yang digunakan adalah starconnected network yang dapat dilihat pada Gambar 22. Gambar 22 Topologi jaringan star. Langkah selanjutnya adalah dengan menjalankan batch file yang berisi perintah eksekusi percobaan di masing-masing

24 14 kelompok komputer. Data hasil percobaan berupa waktu eksekusi tiap jenis eksekusi yang dapat dilihat pada Lampiran 6, 7, 8, 9, 10, dan 11. Khusus untuk percobaan 3, eksekusi algoritme AES pipeline, ketika proses yang dibangkitkan berjumlah 5, pada eksekusi enkripsi 4 proses pertama berada di PC1 dan 1 proses terakhir ada di PC 2, sedangkan dekripsi kebalikannya. Hal ini dilakukan untuk mencegah terjadinya eror karena overlapping aliran data. Analisis Kinerja Analisis kinerja implementasi algoritme AES sekuensial dan paralel diawali dengan menghitung waktu eksekusi untuk tiap jenis perlakuan dan data yang berbeda. Setelah diketahui waktu eksekusinya, performance metrics yang lain dapat dihitung. Penghitungan waktu eksekusi dilakukan untuk kedua proses enkripsi dan dekripsi. Gambar 24 Waktu eksekusi enkripsi AES paralel domain decomposition. Waktu Eksekusi Sekuensial Waktu eksekusi enkripsi dan dekripsi AES secara sekuensial untuk tiap file disajikan pada Gambar 23. Gambar 25 Waktu eksekusi dekripsi AES paralel domain decomposition. Gambar 23 Perbandingan waktu eksekusi enkripsi dan dekripsi AES sekuensial. Gambar tersebut menunjukkan waktu eksekusi dekripsi AES lebih lama dari enkripsi. Hal ini disebabkan tiga komputasi penyusun dekripsi AES, yaitu: InvShiftRows, InvSubstituteBytes, dan InvMixColumns membutuhkan waktu eksekusi yang lebih lama dibanding komputasi-komputasi penyusun enkripsi AES. Waktu eksekusi meningkat seiring meningkatnya ukuran file yang digunakan. Waktu Eksekusi Paralel Waktu eksekusi enkripsi dan dekripsi AES secara paralel domain decomposition untuk setiap file disajikan pada Gambar 24 dan 25. Terlihat pada kedua gambar tersebut, waktu eksekusi aktual lebih besar dibanding waktu eksekusi yang diharapkan. Beberapa faktor dapat menyebabkan hal ini terjadi, di antaranya adalah: lantensi jaringan yang tidak konstan dan kerja prosesor yang tidak stabil. Waktu eksekusi secara paralel lebih cepat dibanding waktu eksekusi sekuensial untuk proses enkripsi maupun dekripsi. Namun, penambahan jumlah proses tidak memberikan penurunan waktu eksekusi yang berarti, bahkan ada beberapa yang waktu eksekusinya meningkat. Hal ini terjadi karena waktu komunikasi yang semakin membesar seiring meningkatnya jumlah proses yang dibangkitkan. Algoritme AES paralel domain decomposition dengan perlakuan 1 secara umum memiliki waktu eksekusi yang lebih cepat daripada dengan perlakuan 2, walaupun perbedaaan waktu eksekusinya tidak terlalu signifikan. Waktu eksekusi enkripsi dan dekripsi AES pipeline untuk setiap file disajikan pada Gambar 26 dan 27.

25 15 komunikasi blocking. p 0 akan menunggu sampai p 1 selesai mengeksekusi baru mengirim data selanjutnya. Hasilnya adalah overhead komunikasi yang tinggi. Jika proses yang dibangkitkan lima, beban fungsi cukup merata tiap proses, sehingga proses-proses tidak akan saling menunggu terlalu lama untuk mengirim atau menerima data. Gambar 26 Waktu eksekusi enkripsi AES pipeline. Speedup Nilai speedup enkripsi dan dekripsi AES paralel domain decomposition hasil percobaan disajikan pada Gambar 28 dan 29. Gambar 27 Waktu eksekusi dekripsi AES pipeline. Terlihat dari kedua gambar tersebut, waktu eksekusi aktual lebih cepat dibanding waktu eksekusi harapan. Penyebab terjadinya hal ini adalah kurang akuratnya pengukuran waktu eksekusi untuk tiap komputasi. Pengukuran menunjukkan D (waktu komputasi SubBytes +ShiftRows + MixColumns + AddRoundKey) sebesar µs, namun pengukuran lain menunjukan B (waktu komputasi enkripsi satu blok data) sebesar 10 µs. Berdasarkan struktur komputasinya, seharusnya D sepuluh kali lebih cepat dari B, namun hasil pengukuran menunjukan D tiga kali lebih cepat dari B. Hal ini dapat mengakibatkan estimasi yang berlebihan terhadap waktu eksekusi harapan secara keseluruhan. Waktu eksekusi enkripsi dan dekripsi AES pipeline lebih lambat dibandingkan dengan waktu eksekusi sekuensial pada penggunaan dua atau tiga proses. Waktu eksekusi secara pipeline baru membaik jika proses yang dibangkitkan lima. Penyebab terjadinya fenomena ini adalah penggunaan komunikasi blocking dan pendistribusian beban fungsi yang tidak merata tiap proses. Jika proses yang dibangkitkan dua, p 1 memiliki beban kerja yang lebih besar dibanding p 0. Akibatnya, p 1 belum selesai mengeksekusi ketika p 0 telah selesai karena komunikasi yang digunakan adalah Gambar 28 Speedup enkripsi AES paralel domain decomposition. Gambar 29 Speedup dekripsi AES paralel domain decomposition. Grafik speedup untuk ukuran file meningkat dan jumlah proses tetap disajikan dalam Gambar 30. Gambar 30 Speedup enkripsi dan dekripsi AES paralel domain decomposition dengan jumlah proses 8 buah. Berdasarkan Gambar 28 dan 29, nilai speedup cenderung naik seiring meningkatknya jumlah proses, namun hal ini

26 16 hanya berlaku jika jumlah proses kurang dari atau sama dengan jumlah prosesor. Jika jumlah proses lebih besar dari jumlah prosesor, speedup akan konstan dan bahkan bisa turun. Nilai speedup tidak sebanding dengan jumlah proses yang digunakan. Hal ini berkaitan dengan waktu eksekusinya yang tidak terlalu signifikan menurun seiring meningkatnya jumlah proses yang digunakan. Gambar 30 menunjukkan speedup semakin membesar seiring meningkatnya ukuran file. Fenomena ini sesuai dengan teori yang dikenal dengan nama Amdahl Effect. Speedup perlakuan 1 secara umum lebih baik dibanding perlakuan 2 karena waktu komputasi perlakuan 1 secara umum lebih baik dibanding perlakuan 2. Nilai speedup enkripsi dan dekripsi AES pipeline hasil percobaan disajikan pada Gambar 31. Gambar 31 Speedup enkripsi dan dekripsi AES pipeline. Speedup menggunakan dua atau tiga proses bernilai kurang dari satu menunjukkan bahwa waktu eksekusinya lebih lama dibanding dengan eksekusi secara sekuensial. Sedangkan jika menggunakan lima proses nilai speedup bernilai lebih dari satu karena waktu eksekusinya lebih cepat dibanding dengan eksekusi secara sekuensial. Efisiensi Efisiensi enkripsi dan dekripsi AES Paralel domain decomposition untuk semua proses dan ukuran file disajikan dalam Gambar 32 dan 33. Gambar 32 Efisiensi enkripsi AES paralel domain decomposition. Gambar 33 Efisiensi dekripsi AES paralel domain decomposition. Kedua gambar tersebut menunjukkan semakin banyak jumlah proses yang digunakan, nilai efisiensi akan semakin menurun. Nilai efisiensi yang diperoleh umumnya lebih kecil dari 0.5. Hal ini menunjukkan pemanfaatan prosesor yang rendah. Penambahan jumlah prosesor tidak dapat menurunkan waktu komputasi secara proporsional. Untuk semua jenis file, tidak ada jumlah proses yang nilai efisiensinya mendekati satu, hal ini berarti algoritme AES paralel domain decomposition yang digunakan tidak cost-optimal. Efisiensi enkripsi dan dekripsi AES pipeline untuk semua proses dan ukuran file disajikan dalam Gambar 34. Gambar 34 Efisiensi enkripsi dan dekripsi AES pipeline. Gambar 34 menunjukkan pada proses enkripsi, efisiensi semakin menurun seiring meningkatnya jumlah proses yang digunakan, sedangkan pada proses dekripsi terlihat efisiensi awalnya menurun lalu meningkat. Sekalipun waktu eksekusinya lebih buruk dari sekuensial, AES pipeline dengan menggunakan dua proses memiliki efisiensi yang cukup baik jika dibandingkan dengan AES paralel yang menggunakan proses lebih dua. Hal ini disebabkan pada dasarnya efisiensi adalah ukuran pemanfaatan prosesor dalam eksekusi program secara paralel. Untuk semua jenis file, tidak ada jumlah proses yang nilai efisiensinya mendekati satu, hal ini

27 17 berarti algoritme AES paralel pipeline yang digunakan tidak cost-optimal. Cost Cost enkripsi dan dekripsi AES Paralel domain decomposition untuk semua proses dan ukuran file disajikan dalam Gambar 35 dan 36. Gambar tersebut menunjukkan bahwa pada proses enkripsi AES pipeline, nilai cost semakin besar seiring meningkatnya jumlah proses yang digunakan, sedangkan pada pada proses dekripsi nilai cost turun ketika proses yang dibangkitkan ada lima. Semakin besar ukuran file, nilai cost juga semakin besar. Overhead Overhead enkripsi dan dekripsi AES Paralel domain decomposition untuk semua proses dan ukuran file disajikan dalam Gambar 38 dan 39. Gambar 35 Cost enkripsi paralel domain decomposition. Gambar 38 Overhead enkripsi AES paralel domain decomposition. Gambar 36 Cost dekripsi paralel domain decomposition Gambar 35 dan 36 menunjukkan bahwa cost semakin besar seiring dengan meningkatnya jumlah proses yang digunakan. Cost yang yang paling mendekati nilai eksekusi sekuensial adalah yang menggunakan 4 proses untuk setiap file dengan besarnya dua kali waktu eksekusi sekuensialnya. Semakin besar ukuran file, nilai cost juga semakin besar. Cost enkripsi dan dekripsi AES pipeline untuk semua proses dan ukuran file disajikan dalam Gambar 37. Gambar 37 Cost enkripsi dan dekripsi AES pipeline. Gambar 39 Overhead dekripsi AES paralel domain decomposition. Terlihat pada kedua gambar tersebut, nilai overhead pada proses enkripsi lebih kecil dibandingkan dengan proses dekripsi. Nilai overhead semakin meningkat seiring dengan meningkatnya jumlah proses yang digunakan, namun hal ini hanya berlaku jika jumlah proses kurang dari atau sama dengan jumlah prosesor. Nilai overhead yang tidak mendekati nol dan stabil menunjukkan sistem paralel yang digunakan tidak ideal. Overhead enkripsi dan dekripsi AES pipeline untuk semua proses dan ukuran file disajikan dalam Gambar 40. Terlihat pada gambar tersebut, nilai overhead menurun pada penggunaan lima proses. Hal ini disebabkan semata-mata karena AES pipeline dengan penggunaan lima proses dapat menurunkan waktu eksekusi sekuensialnya. Untuk semua jenis file, tidak ada jumlah proses yang nilai

28 18 overhead nya mendekati nol. Hal ini berarti AES pipeline juga tidak ideal. Gambar 40 Overhead enkripsi dan dekripsi AES pipeline. KESIMPULAN DAN SARAN Kesimpulan Kesimpulan dari hasil penelitian ini di antaranya sebagai berikut: 1 Waktu eksekusi algoritme AES secara sekuensial akan semakin meningkat seiring dengan meningkatnya ukuran file yang digunakan. Waktu eksekusi enkripsi dan dekripsi secara sekuensial untuk file 1 (4.762 MB) adalah dan detik, file 2 ( MB) dan detik, dan file 3 ( MB) dan detik. 2 Algoritme AES paralel domain decomposition dapat menurunkan waktu komputasi AES sekuensial. Waktu eksekusi enkripsi dan dekripsi secara paralel domain decomposition terendah untuk file 1 adalah dan detik, file dan detik, dan file dan detik. 3 Algoritme AES pipeline dapat menurunkan waktu komputasi sekuensial pada penggunaan lima buah proses. Waktu eksekusi enkripsi dan dekripsi secara pipeline terendah untuk file 1 adalah dan detik, file dan detik, dan file dan detik. 4 Eksekusi AES secara paralel domain decomposition dengan perlakuan 1 memberikan hasil yang lebih baik dibandingkan dengan perlakuan 2. Selisih perlakuan 1 dengan perlakuan 2 rata-rata sebesar detik. 5 Algoritme AES paralel domain decomposition dan algoritme AES pipeline yang digunakan dalam penelitian ini tidak cost-optimal. Saran Saran untuk penelitian lebih lanjut : 1 Pada penelitian selanjutnya dapat digunakan library MPI yang lain seperti Open-MP atau gabungan dari library MPI dan Open-MP. 2 Pada penelitian selanjutnya dapat dianalisis kinerja algoritme dengan parameter tambahan lain seperi Amdahl s Law, Gustafson-Barsis s Law, Karp-Flatt Metric, dan Isoefficiency Metric. 3 Pada penelitian selanjutnya dapat dihilangkan batasan jumlah proses yang digunakan pada algoritme AES pipeline functional decomposition. DAFTAR PUSTAKA Ariyus D. 2008, Pengantar Ilmu Kriptografi Teori, Analisis, dan Implementasi. Yogyakarta: Penerbit Andi. Giri EP Analisis Algoritme dan Waktu Enkripsi Versus Dekripsi pada Advanced Encryption Standard (AES) [skripsi]. Bogor: Fakultas Matematika dan Ilmu Pengetahuan Alam. Institut Pertanian Bogor. Grama A, Gupta A, Karypis G, Kumar V Introduction to Parallel Computing. Ed ke-2. England: Addison-Wesley Publishing Company. Menezes A, et al. 1996, Handbook of Applied Cryptography, London: CRC Press. Quinn MJ Parallel Programming in C with MPI and OpenMP. San Francisco: Mc Graw Hill. Stallings W. 2003, Crypthography and Network Security Principles and Practice. Ed ke-3. London: Prentice Hall.

29 LAMPIRAN

30 22 Lampiran 1 Variabel pendukung dan waktu eksekusi yang diharapkan Variabel Nilai λ (lokal) µs λ (jaringan) µs β 100 mbps x1 file x 10 3 µs x2 file x 10 3 µs x1 file x 10 3 µs x2 file x 10 3 µs x1 file x 10 3 µs x2 file x 10 6 µs d µs A 4 µs B 10 µs C 17,200 µs D µs E µs F µs G µs Proses Waktu eksekusi AES paralel domain decomposition yang diharapkan waktu enkripsi waktu dekripsi file 1 file 2 file 3 file 1 file 3 file proses Waktu eksekusi AES pipeline yang diharapkan waktu enkripsi waktu dekripsi file 1 file 2 file 3 file 1 file 3 file

31 23 Lampiran 2 Implementasi AES sekuensial /* ****************************************************************** ** Advanced Encryption Standard implementation in C. ** By Niyaz PK ** niyazlife@gmail.com ** Downloaded from Website: Modified By Sayed Zulfikar ~ sayed.zulfikar@yahoo.com ****************************************************************** */ // Include stdio.h for standard input/output. // Used for giving output to the screen. #include<stdio.h> #include <stdlib.h> #include <mpi.h> main(int argc, char *argv[]) int i, j, c, rank, size, alg, pad=0, sisa, Cpad = 0; unsigned long int ps, k, pk; double block; double start, finish, wp; FILE *file, *hasil, *kunci; char character; unsigned char Kunci[16]; char *file_awal, *file_akhir, *file_kunci, s; //penampung argumen file_kunci = argv[1]; file_awal = argv[2]; file_akhir = argv[3]; alg = atoi(argv[4]); //penentuan panjang kunci (128 bit) Nr = 128; // Calculate Nk and Nr from the recieved value. Nk = Nr / 32; Nr = Nk + 6; MPI_Init (&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); if ((argc!= 5) (size!=1)) MPI_Finalize(); if (rank==0) printf("\nterjadi Kesalahan input data!\n+ Argumen Harus Berjumlah 4!\n\t1. File Eksekusi\n\t2. File Kunci\n\t3. File Input\n\t4. File output\n+ Jumlah Proses yang bisa dibangkitkan hanya 1 saja!\n+ Panjang Kunci Kurang/Lebih dari 16 Karakter!\n\nSilahkan Periksa Kembali"); exit(1); start = MPI_Wtime();

32 24 Lampiran 2 (lanjutan) if (rank ==0) pk = ambil_pchar(file_kunci); kunci = fopen(file_kunci, "rb"); fread(kunci, pk, 1, kunci); for(i=0;i<nk*4;i++) Key[i]=Kunci[i]; //membaca ukuran data input ps = ambil_pchar(file_awal); //alokasi memory untuk file input input=(unsigned char*)malloc(ps*sizeof(unsigned char)); //membaca file input file = fopen(file_awal, "rb"); fread(input, ps, 1, file); //menghitung banyak blok yg terbentuk (pembulatan ke atas block = ceil(ps/16.0); sisa = 16-(ps%16); //Proses Padding (menggunakan PKCS7) while (ps%16!=0) input[ps] = sisa; ps++; //alokasi memori untuk output output=(unsigned char*)malloc((block*16)*sizeof(unsigned char)); // The KeyExpansion routine must be called before encryption. KeyExpansion(); if (alg == 1) for (c=0;c<block;c++) for (i=0;i<16;i++) in[i]=input[i+c*16]; //Proses enkripsi Cipher(); for (i=0;i<16;i++) output[i+c*16]=out[i]; else for (c=0;c<block;c++) for (i=0;i<16;i++) in[i]=input[i+c*16]; InvCipher(); // Proses unpadding (hanya dilakukan di blok terakhir) if (c==block-1) s = out[15]; for (i=16-s;i<16;i++) if (out[i]==s) Cpad++; if (Cpad==s) pad =s; for (i=0;i<16-pad;i++) output[i+c*16]=out[i];

33 25 Lampiran 2 (lanjutan) free(input); //mencetak hasil enkripsi hasil = fopen (file_akhir, "wb"); for (k=0;k<(((block-1)*16)+16-pad);k++) fputc(output[k], hasil); fclose (hasil); finish = MPI_Wtime(); wp = finish-start; //printf("%f", wp); MPI_Finalize(); return 0;

34 26 Lampiran 3 Implementasi AES paralel domain decomposition /* ****************************************************************** ** Advanced Encryption Standard Parallel Domain Decomposition implementation in C. By Sayed Zulfikar ~ sayed.zulfikar@yahoo.com ****************************************************************** */ // Include stdio.h for standard input/output. // Used for giving output to the screen. #include<stdio.h> #include <stdlib.h> #include <mpi.h> main(int argc, char *argv[]) int i, j, alg, pad=0, c=0, rank, size, block, ex=0, dest=1, dest2=1, d, s, cei, flo, b, tagr, sisa, Cpad=0; unsigned long int ps, pk, k; double start, finish, wp, bl; FILE *file, *hasil, *kunci; char *file_awal, *file_akhir, *file_kunci; unsigned char *tempin, *tempout, Kunci[16]; //penampung argumen file_kunci = argv[1]; file_awal = argv[2]; file_akhir = argv[3]; alg = atoi(argv[4]); //penentuan panjang kunci (128 bit) Nr = 128; // Calculate Nk and Nr from the recieved value. Nk = Nr / 32; Nr = Nk + 6; MPI_Init (&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Status status; int send[size]; int displs[size]; int tag[size]; start = MPI_Wtime(); start = MPI_Wtime(); //P0 melakuakan PreProcessing //P0 melakukan pengecekan inputan sesuai atau tidak //P0 melakukan pembacaan kunci, pembacaan inputan, menghitung jumlah blok yang terbentuk, dan melakukan padding if (rank == 0) //fungsi kontrol jenis algoritma if ((alg!=1) && (alg!=2)) ex = 1;

35 27 Lampiran 3 (lanjutan) //fungsi kontrol jumlah argumen if (argc!=5) ex = 1; pk = ambil_pchar(file_kunci); if (pk==16) //pembacaan kunci kunci = fopen(file_kunci, "rb"); fread(kunci, pk, 1, kunci); for(i=0;i<nk*4;i++) Key[i]=Kunci[i]; //membaca ukuran data input ps = ambil_pchar(file_awal); //alokasi memory untuk file input input=(unsigned char*)malloc(ps*sizeof(unsigned char)); //membaca file input file = fopen(file_awal, "rb"); fread(input, ps, 1, file); //menghitung banyak blok yg terbentuk (pembulatan ke atas) bl = ceil(ps/16.0); block = (int)bl; if (alg==1) sisa = 16-(ps%16); //Proses Padding while (ps%16!=0) input[ps] = sisa; ps++; //alokasi memori untuk output output=(unsigned char*)malloc((block*16)*sizeof(unsigned char)); //fungsi kontrol panjang kunci else ex = 1; //fungsi kontrol kesalahan input MPI_Bcast(&ex, 1, MPI_INT,0, MPI_COMM_WORLD); if (ex==1) MPI_Finalize(); if (rank==0) printf("\nterjadi Kesalahan input data!\n+ Argumen Harus Berjumlah 5!\n\t1. File Eksekusi\n\t2. File Kunci\n\t3. File Input\n\t4. File output\n\t5. Algoritma Data Decomposition (1/2)\n+ Algoritma yang tersedia hanya 1 (Scatter keseluruhan data) dan 2 (Scatter data sedikit demi sedikit)!\n+ Panjang Kunci Kurang/Lebih dari 16 Karakter!\n\nSilahkan Periksa Kembali"); exit(1); //broadcast kunci MPI_Bcast(&Key, 16, MPI_UNSIGNED_CHAR,0, MPI_COMM_WORLD); //broadast banyak blok yang terbentuk MPI_Bcast(&block, 1, MPI_INT,0, MPI_COMM_WORLD);

36 28 Lampiran 3 (lanjutan) s=(block%size); b = block/size; cei = ceil (((float)block)/size); flo = floor (((float)block)/size); // The KeyExpansion routine must be called before encryption. KeyExpansion(); //jika data dapat dibagi MERATA ke setiap proses if (s == 0) //alokasi memori untuk data input dan output yang sudah dibagi rata ke setiap proses tempin = (unsigned char*)malloc((b*16)*sizeof(unsigned char)); tempout = (unsigned char*)malloc((b*16)*sizeof(unsigned char)); //scatter data, setiap proses langsung mendapat banyak data MPI_Scatter (input, 16*b, MPI_UNSIGNED_CHAR, tempin, 16*b, MPI_UNSIGNED_CHAR, 0, MPI_COMM_WORLD); //proses enkripsi atau dekripsi for (i=0;i<b;i++) for (j=0;j<16;j++) in[j] = tempin[(i*16)+j]; if (alg==1) Cipher(); else InvCipher(); for (j=0;j<16;j++) tempout[(i*16)+j] = out[j]; if (alg==2) //unpadding if (rank==(size-1) && i==(b-1)) s = out[15]; for (i=16-s;i<16;i++) if (out[i]==s) Cpad++; if (Cpad==s) pad = s; //gather data hasil enkripsi MPI_Gather (tempout, 16*b, MPI_UNSIGNED_CHAR, output, 16*b, MPI_UNSIGNED_CHAR, 0, MPI_COMM_WORLD); //jika data tidak dapat dibagi merata, maka menggunaka prinsip c = a mod b -> a = c*(ceil(a/b)) + (b-c)*(floor(a/b)) else for (i=0;i<size;i++) //jika sisa bagi masih!=0, maka proses i akan mendapat data pembulatan ke atas if (s!=0) send[i] = 16*cei; tag[i] = 1; s--;

37 29 Lampiran 3 (lanjutan) //jika sisa bagi sudah 0, maka proses i dapat data pembulatan ke bawah else send[i] = 16*flo; tag[i] = 0; if (i==0) displs[i]=0; else displs[i] = displs[i-1]+send[i-1]; if (tag[rank]==1) tagr=cei; else tagr=flo; //alokasi memori untuk data yang sudah dibagi tempin = (unsigned char*)malloc((tagr*16)*sizeof(unsigned char)); tempout = (unsigned char*)malloc((tagr*16)*sizeof(unsigned char)); //Scatter data berdasarkan bobotnya masing-masing MPI_Scatterv(input, send, displs, MPI_UNSIGNED_CHAR, tempin, 16*tagR, MPI_UNSIGNED_CHAR, 0, MPI_COMM_WORLD); //proses enkripsi //jika proses termasuk yang mendapatkan data pembulatan ke atas if (tag[rank]==1) for (i=0;i<cei;i++) for (j=0;j<16;j++) in[j] = tempin[(i*16)+j]; if (alg==1) Cipher(); else InvCipher(); for (j=0;j<16;j++) tempout[(i*16)+j] = out[j]; if (alg==2) //unpadding if (rank==(size-1) && i==(cei-1)) s = out[15]; for (i=16-s;i<16;i++) if (out[i]==s) Cpad++; if (Cpad==s) pad = s; //jika proses termasuk yang mendapatkan data pembulatan ke bawah else for (i=0;i<flo;i++) for (j=0;j<16;j++) in[j] = tempin[(i*16)+j]; if (alg==1) Cipher(); else InvCipher(); for (j=0;j<16;j++) tempout[(i*16)+j] = out[j];

38 30 Lampiran 3 (lanjutan) if (alg==2) //unpadding if (rank==(size-1) && i==(flo-1)) s = out[15]; for (i=16-s;i<16;i++) if (out[i]==s) Cpad++; if (Cpad==s) pad = s; MPI_Gatherv(tempOut, 16*tagR, MPI_UNSIGNED_CHAR, output, send, displs, MPI_UNSIGNED_CHAR, 0, MPI_COMM_WORLD); //broadcast unpadding if (block<size) x=block-1; else x=size-1; MPI_Bcast(&pad, 1, MPI_INT,x, MPI_COMM_WORLD); //mencetak hasil enkripsi if (rank==0) hasil = fopen (file_akhir, "wb"); for (k=0;k<(((block-1)*16)+16-pad);k++) fputc(output[k], hasil); fclose (hasil); finish = MPI_Wtime(); wp = finish-start; if (rank==0) printf("%f", wp); free(input); MPI_Finalize(); return 0;

39 31 Lampiran 4 Implementasi AES pipeline /* ****************************************************************** ** Advanced Encryption Standard Parallel Functional Decomposition implementation in C. By Sayed Zulfikar ~ sayed.zulfikar@yahoo.com ****************************************************************** */ // Include stdio.h for standard input/output. // Used for giving output to the screen. #include<stdio.h> #include <stdlib.h> #include <mpi.h> main(int argc, char *argv[]) int rank, size, alg, block, blockcount, proc, i, j, pad=16, ex=0; unsigned long int ps, pk, k; double start, finish, wp, bl; FILE *file, *hasil, *kunci; char *file_awal, *file_akhir, *file_kunci; unsigned char *tempin, *tempout, Kunci[16]; //penampung argumen file_kunci = argv[1]; file_awal = argv[2]; file_akhir = argv[3]; alg = atoi(argv[4]); //penentuan panjang kunci (128 bit) Nr = 128; // Calculate Nk and Nr from the recieved value. Nk = Nr / 32; Nr = Nk + 6; MPI_Init (&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Status status; start = MPI_Wtime(); //P0 melakuakan PreProcessing Tahap 1 //P0 melakukan pengecekan inputan sesuai atau tidak //P0 melakukan pembacaan kunci, pembacaan inputan, menghitung jumlah blok yang terbentuk, melakukan padding dan membangkitkan Upa-Kunci if (rank == 0) //fungsi kontrol ukuran proses if ((size==2) (size==3) (size==5)) ex = 0; else ex = 1; //fungsi kontrol jumlah argumen if (argc!=5) ex = 1;

40 32 Lampiran 4 (lanjutan) pk = ambil_pchar(file_kunci); if (pk==16) kunci = fopen(file_kunci, "rb"); fread(kunci, pk, 1, kunci); for(i=0;i<nk*4;i++) Key[i]=Kunci[i]; //membaca ukuran data input ps = ambil_pchar(file_awal); //alokasi memory untuk file input input=(unsigned char*)malloc(ps*sizeof(unsigned char)); //membaca file input file = fopen(file_awal, "rb"); fread(input, ps, 1, file); //menghitung banyak blok yg terbentuk (pembulatan ke atas) bl = ceil(ps/16.0); block = (int)bl; if (alg==1) sisa = 16-(ps%16); //Prose Padding while (ps%16!=0) input[ps] = sisa; ps++; //proses pembangkitan Upa-Kunci oleh P0 untuk kemudian d BroadCast ke Proses lain KeyExpansion(); //fungsi kontrol panjang kunci else ex = 1; //fungsi kontrol kesalahan input MPI_Bcast(&ex, 1, MPI_INT,0, MPI_COMM_WORLD); if (ex==1) MPI_Finalize(); if (rank==0) printf("\nterjadi Kesalahan input data!\n+ Argumen Harus Berjumlah 4!\n\t1. File Eksekusi\n\t2. File Kunci\n\t3. File Input\n\t4. File output\n+ Jumlah Proses yang bisa dibangkitkan hanya 2/3/5 saja!\n+ Panjang Kunci Kurang/Lebih dari 16 Karakter!\n\nSilahkan Periksa Kembali"); exit(1); //broadcast kunci MPI_Bcast(&RoundKey, 240, MPI_UNSIGNED_CHAR,0, MPI_COMM_WORLD); //broadcast jumlah block MPI_Bcast(&block, 1, MPI_INT,0, MPI_COMM_WORLD); blockcount=block; //untuk mengetahui berapa banyak proses yang teribat di antara PreProcessing dan Finishing proc = size-2;

41 33 Lampiran 4 (lanjutan) //PreProcessing tahap 2 dilakukan oleh P0 //P0 mengambil data tiap blok (16 byte) lalu AddRoundKey(0) dan mengirimkan data tersebut ke P1 if (rank == 0) while (blockcount > 0) for (i=0;i<16;i++) in[i] = input[((block-blockcount)*16)+i]; //Copy the input PlainText to state array. for(i=0;i<4;i++) for(j=0;j<4;j++) state[j][i] = in[i*4 + j]; if (alg==1) AddRoundKey(0); else AddRoundKey(10); for(i=0;i<4;i++) for(j=0;j<4;j++) out[i*4+j]=state[j][i]; MPI_Send(out, 16, MPI_UNSIGNED_CHAR, rank+1, rank+1, MPI_COMM_WORLD); blockcount--; free(input); //Pengecekan jika tidak ada proses antara, maka selain PreProcessing sisanya dikerjakan oleh P1 if (proc==0) if (rank == 1) output=(unsigned char*)malloc((block*16)*sizeof(unsigned char)); while (blockcount > 0) MPI_Recv(in, 16, MPI_UNSIGNED_CHAR, rank-1, rank, MPI_COMM_WORLD, &status); for(i=0;i<4;i++) for(j=0;j<4;j++) state[j][i] = in[i*4 + j]; if (alg==1) for(i=1;i<10;i++) SubBytes(); ShiftRows(); MixColumns(); AddRoundKey(i); SubBytes(); ShiftRows(); AddRoundKey(10);

42 34 Lampiran 4 (lanjutan) else for(i=9;i>0;i--) InvShiftRows(); InvSubBytes(); AddRoundKey(i); InvMixColumns(); InvShiftRows(); InvSubBytes(); AddRoundKey(0); for(i=0;i<4;i++) for(j=0;j<4;j++) out[i*4+j]=state[j][i]; if (alg==2) //unpadding if (blockcount == 1) for (j=0;j<16;j++) if (out[j]==0x5) pad -=1; for (i=0;i<16;i++) output[((block-blockcount)*16)+i] = out[i]; blockcount--; hasil = fopen (file_akhir, "wb"); for (k=0;k<(((block-1)*16)+pad);k++) fputc(output[k], hasil); fclose (hasil); finish = MPI_Wtime(); wp = finish-start; printf("%f", wp); //Jika ada proses antara else if ((rank>0) && (rank<(size-1))) while (blockcount > 0) MPI_Recv(in, 16, MPI_UNSIGNED_CHAR, rank-1, rank, MPI_COMM_WORLD, &status); for(i=0;i<4;i++) for(j=0;j<4;j++) state[j][i] = in[i*4 + j]; if (alg==1) for (i=((rank*proc)-(proc-1));i<=((9/proc)*rank);i++)

43 35 Lampiran 4 (lanjutan) SubBytes(); ShiftRows(); MixColumns(); AddRoundKey(i); else for (i=(9-((rank*proc)-proc));i>=(10-((9/proc)*rank));i--) InvShiftRows(); InvSubBytes(); AddRoundKey(i); InvMixColumns(); for(i=0;i<4;i++) for(j=0;j<4;j++) out[i*4+j]=state[j][i]; MPI_Send(out, 16, MPI_UNSIGNED_CHAR, rank+1, rank+1, MPI_COMM_WORLD); blockcount--; //P(size-1) melakukan finishing else if (rank == size-1) output=(unsigned char*)malloc((block*16)*sizeof(unsigned char)); while (blockcount > 0) MPI_Recv(in, 16, MPI_UNSIGNED_CHAR, rank-1, rank, MPI_COMM_WORLD, &status); for(i=0;i<4;i++) for(j=0;j<4;j++) state[j][i] = in[i*4 + j]; if (alg==1) SubBytes(); ShiftRows(); AddRoundKey(10); else InvShiftRows(); InvSubBytes(); AddRoundKey(0); for(i=0;i<4;i++) for(j=0;j<4;j++) out[i*4+j]=state[j][i]; if (alg==2)

44 36 Lampiran 4 (lanjutan) //unpadding if (blockcount == 1) s = out[15]; for (i=16-s;i<16;i++) if (out[i]==s) Cpad++; if (Cpad==s) pad =s; for (i=0;i<16;i++) output[((block-blockcount)*16)+i] = out[i]; blockcount--; hasil = fopen (file_akhir, "wb"); for (k=0;k<(((block-1)*16)+16-pad);k++) fputc(output[k], hasil); fclose (hasil); finish = MPI_Wtime(); wp = finish-start; printf("%f", wp); MPI_Finalize(); return 0;

45 37 Lampiran 5 Pengaturan dan instalasi MPICH2 Langkah-langkah dalam pengaturan dan istalasi MPICH2 dalam penelitian ini yaitu: 1 Hubungkan tiap komputer dengan Fast Ethernet dan kabel UTP agar membentuk topologi star. 2 Ping ke setiap komputer yang hendak digunakan, pastikan semua komputer saling terhubung agar lebih mudah buat IP menjadi statis dan matikan firewall. 3 Instal mpich p1-win-ia32.msi di setiap komputer dengan menggunakan administrator priviledge. 4 Tentukan passphrase yang akan digunakan dan pastikan setiap komputer memiliki passphrase yang sama dan Pilih Everyone pada salah satu menu instalasi agar MPICH2 bisa digunakan untuk semua pengguna komputer. 5 Tambahkan path MPICH2 (C:\Program Files\MPICH2\bin) pada system variabel tiap komputer. 6 Buat user baru dengan nama yang seragam dan password-nya sesuai dengan passphrase di tiap komputer. 7 Daftar user baru di tiap komputer dengan menjalankan perintah mpiexec register user 1 pada jendela command prompt, masukkan nama dan passphrase sesuai dengan poin nomor 7. 8 Jalankan contoh program C:\Program Files\MPICH2\examples\cpi.exe secara paralel dengan menggunakan user yang sudah daftarkan. Jika contoh program dapat berjalan dengan baik, cluster komputer telah siap digunakan.

AES pipeline yang diharapkan. Implementasinya akan menggunakan prosedur komunikasi MPI point-to-point send-receive untuk aliran proses penyandian.

AES pipeline yang diharapkan. Implementasinya akan menggunakan prosedur komunikasi MPI point-to-point send-receive untuk aliran proses penyandian. 7 Studi Pustaka Kegiatan yang dilakukan pada tahap ini adalah mengumpulkan semua informasi atau literatur yang terkait dengan penelitian. Informasi tersebut didapat dari buku, internet, dan artikel yang

Lebih terperinci

TINJAUAN PUSTAKA. Kriptografi

TINJAUAN PUSTAKA. Kriptografi 2 2 Penelitian ini berfokus pada poin a, yaitu pengembangan sistem mobile serta melakukan perlindungan komunikasi data. 3 Spesifikasi sistem dibuat berdasarkan pada alur proses penilangan yang berlaku

Lebih terperinci

ANALISIS DAN IMPLEMENTASI I/O PARALEL PADA ALGORITME ENKRIPSI ADVANCED ENCRYPTION STANDARD (AES) MUHAMMAD ZULFIKAR HANDANA

ANALISIS DAN IMPLEMENTASI I/O PARALEL PADA ALGORITME ENKRIPSI ADVANCED ENCRYPTION STANDARD (AES) MUHAMMAD ZULFIKAR HANDANA ANALISIS DAN IMPLEMENTASI I/O PARALEL PADA ALGORITME ENKRIPSI ADVANCED ENCRYPTION STANDARD (AES) MUHAMMAD ZULFIKAR HANDANA DEPARTEMEN ILMU KOMPUTER FAKLTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisa Masalah Proses Analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami informasi-informasi yang didapat

Lebih terperinci

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan Andreas Dwi Nugroho (13511051) 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Keamanan data merupakan hal yang sangat penting dalam menjaga kerahasiaan informasi, terutama yang berisi informasi sensitif yang hanya boleh diketahui isinya oleh

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisis III.1.1 Analisis Masalah Seiring dengan perkembangan teknologi, keamanan dalam berteknologi merupakan hal yang sangat penting. Salah satu cara mengamankan

Lebih terperinci

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

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A. Latar Belakang Advanced Encryption Standard (AES) Rifqi Azhar Nugraha 1137050186 IF 6 A DES dianggap sudah tidak aman. rifqi.an@student.uinsgd.ac.id Perlu diusulkan standard algoritma baru sebagai pengganti

Lebih terperinci

Algoritma Enkripsi Baku Tingkat Lanjut

Algoritma Enkripsi Baku Tingkat Lanjut Algoritma Enkripsi Baku Tingkat Lanjut Anggrahita Bayu Sasmita 13507021 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung e-mail: if17021@students.if.itb.ac.id

Lebih terperinci

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi Wiwin Styorini 1), Dwi Harinitha 2) 1) Jurusan Teknik Elektro, Politeknik Caltex Riau, Pekanbaru 28265, email: wiwin@pcr.ac.id

Lebih terperinci

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD Mohammad Riftadi NIM : 13505029 Program Studi Informatika, Institut Teknologi Bandung Jl. Ganesha No. 10, Bandung E-mail :

Lebih terperinci

Implementasi Komputasi Paralel. Mohammad Zarkasi Dosen Pembimbing: Waskitho Wibisono, S.Kom., M.Eng., Ph.D. Ir. FX. Arunanto, M.

Implementasi Komputasi Paralel. Mohammad Zarkasi Dosen Pembimbing: Waskitho Wibisono, S.Kom., M.Eng., Ph.D. Ir. FX. Arunanto, M. Implementasi Komputasi Paralel untuk Enkripsi Citra berbasis AES menggunakan JPPF Mohammad Zarkasi 5109100155 Dosen Pembimbing: Waskitho Wibisono, S.Kom., M.Eng., Ph.D. Ir. FX. Arunanto, M.Sc 1 Latar Belakang

Lebih terperinci

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

ANALISIS ALGORITME DAN WAKTU ENKRIPSI VERSUS DEKRIPSI PADA ADVANCED ENCRYPTION STANDARD (AES) 1 ANALISIS ALGORITME DAN WAKTU ENKRIPSI VERSUS DEKRIPSI PADA ADVANCED ENCRYPTION STANDARD (AES) Sugi Guritman 1, Ahmad Ridha 2, Endang Purnama Giri 3 1 Departemen Matematika, Fakultas Matematika dan IPA,

Lebih terperinci

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone

Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone Rancang Bangun Aplikasi Keamanan Data Menggunakan Metode AES Pada Smartphone Amir Mahmud Hasibuan STMIK Budi Darma, Jl. Sisingamangaraja No.338 Medan, Sumatera Utara, Indonesia http : //www.stmik-budidarma.ac.id

Lebih terperinci

SKRIPSI MADE SUKA SETIAWAN NIM

SKRIPSI MADE SUKA SETIAWAN NIM ANALISIS PERBANDINGAN KECEPATAN AUTENTIKASI DAN KEAMANAN ALGORITMA AES (ADVANCED ENCRYPTION STANDARD) DAN 3DES (TRIPLE DATA ENCRYPTION STANDARD) PADA PENERAPAN APLIKASI INSTANT MESSAGING SKRIPSI MADE SUKA

Lebih terperinci

ANALISIS PERBANDINGAN ALGORITMA SIMETRIS TINY ENCRYPTION ALGORITHM DAN LOKI DALAM ENKRIPSI DAN DEKRIPSI DATA

ANALISIS PERBANDINGAN ALGORITMA SIMETRIS TINY ENCRYPTION ALGORITHM DAN LOKI DALAM ENKRIPSI DAN DEKRIPSI DATA ANALISIS PERBANDINGAN ALGORITMA SIMETRIS TINY ENCRYPTION ALGORITHM DAN DALAM ENKRIPSI DAN DEKRIPSI DATA 1 Pradana Marlando 2 Wamiliana, 3 Rico Andrian 1, 3 Jurusan Ilmu Komputer FMIPA Unila 2 Jurusan Matematika

Lebih terperinci

PENGAMANAN FILE GAMBAR PADA PERANGKAT MOBILE ANDROID MENGGUNAKAN METODE STEGANOGRAFI LSB DAN ALGORITMA KRIPTOGRAFI AES SKRIPSI

PENGAMANAN FILE GAMBAR PADA PERANGKAT MOBILE ANDROID MENGGUNAKAN METODE STEGANOGRAFI LSB DAN ALGORITMA KRIPTOGRAFI AES SKRIPSI PENGAMANAN FILE GAMBAR PADA PERANGKAT MOBILE ANDROID MENGGUNAKAN METODE STEGANOGRAFI LSB DAN ALGORITMA KRIPTOGRAFI AES SKRIPSI Gede Wisnu Bhaudhayana NIM. 1008605013 JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

KRIPTOGRAFI CITRA DIGITAL DENGAN ALGORITMA RIJNDAEL DAN TRANSFORMASI WAVELET DISKRIT HAAR

KRIPTOGRAFI CITRA DIGITAL DENGAN ALGORITMA RIJNDAEL DAN TRANSFORMASI WAVELET DISKRIT HAAR KRIPTOGRAFI CITRA DIGITAL DENGAN ALGORITMA RIJNDAEL DAN TRANSFORMASI WAVELET DISKRIT HAAR Bagus Satrio Waluyo Poetro, Aris Sugiharto dan Sukmawati Nur Endah Program Studi Teknik Informatika Universitas

Lebih terperinci

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL

APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL APLIKASI PENGAMANAN DOKUMEN DENGAN MENGGUNAKAN TEKNIK KRIPTOGRAFI ALGORITMA AES-RINJDAEL Ari Teknik Informatika STMIK ATMA LUHUR PANGKALPINANG Jl.Jend. Sudirman Selindung Lama Pangkalpinang Kepulauan Babel

Lebih terperinci

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi BAB II DASAR TEORI Pada bagian ini akan dibahas mengenai dasar teori yang digunakan dalam pembuatan sistem yang akan dirancang dalam skripsi ini. 2.1. Enkripsi dan Dekripsi Proses menyandikan plaintext

Lebih terperinci

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI

IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI IMPLEMENTASI ALGORITMA KRIPTOGRAFI AES UNTUK ENKRIPSI DAN DEKRIPSI EMAIL Ahmad Rosyadi E-mail: mattady@ymail.com Jurusan Teknik Elektro, Universitas Diponegoro Semarang Jl. Prof. Sudharto, SH, Kampus UNDIP

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisa Masalah Dalam era teknologi yang semakin pesat saat ini, keamanan merupakan suatu prioritas utama. Banyak tindakan-tindakan kejahatan yang sudah marak dilakukan

Lebih terperinci

Prosiding Matematika ISSN:

Prosiding Matematika ISSN: Prosiding Matematika ISSN: 2460-6464 Kriptografi Advanced Encryption Standard (AES) Untuk Penyandian File Dokumen Cryptography Advanced Encryption Standard (AES) for File Document Encryption 1 Aditia Rahmat

Lebih terperinci

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

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop Ratno Prasetyo Magister Ilmu Komputer Universitas Budi Luhur, Jakarta, 12260 Telp : (021) 5853753

Lebih terperinci

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme Muhammad Aodyra Khaidir (13513063) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Insitut Teknologi Bandung

Lebih terperinci

IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID

IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID SKRIPSI HARI RAHMAN NIHE 111401114 PROGRAM STUDI S1 ILMU

Lebih terperinci

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

BAB III ANALISA DAN DESAIN SISTEM. perancangan pembuatan kriptografi Impementasi AES ( Advanced Encyrption BAB III ANALISA DAN DESAIN SISTEM III.1. Analisa Masalah Pada pembahasan bab ini, akan dilakukan penganalisaan mengenai analisa dan perancangan pembuatan kriptografi Impementasi AES ( Advanced Encyrption

Lebih terperinci

APLIKASI PENGAMAN ISI LAYANAN PESAN SINGKAT PADA TELEPON SELULER BERBASIS J2ME MENGGUNAKAN ALGORITHMA SIMETRI SKRIPSI. Oleh : MIFTAHUL.

APLIKASI PENGAMAN ISI LAYANAN PESAN SINGKAT PADA TELEPON SELULER BERBASIS J2ME MENGGUNAKAN ALGORITHMA SIMETRI SKRIPSI. Oleh : MIFTAHUL. APLIKASI PENGAMAN ISI LAYANAN PESAN SINGKAT PADA TELEPON SELULER BERBASIS J2ME MENGGUNAKAN ALGORITHMA SIMETRI SKRIPSI Oleh : `` MIFTAHUL. FARID ( 0734010152 ) PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS

Lebih terperinci

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM BAB III ANALISA DAN DESAIN SISTEM III.1 Analisa Masalah Dalam melakukan pengamanan data SMS kita harus mengerti tentang masalah keamanan dan kerahasiaan data merupakan hal yang sangat penting dalam suatu

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Pengertian kriptografi kriptografi adalah seni atau ilmu yang digunakan untuk menjaga keamanan informasi atau pesan dengan mengubahnya menjadi suatu yang tidak memiliki arti.

Lebih terperinci

Algoritma Spiral shifting

Algoritma Spiral shifting Algoritma Spiral shifting Algoritma Gabungan Feistel Network dan Rijndael dengan Transformasi Spiral shifting dan Dependent SubBytes Muhammad Harits Shalahuddin Adil Haqqi Elfahmi Sekolah Teknik Elektro

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI 32 BAB II LANDASAN TEORI Bab ini menjelaskan teori dan konsep yang menjadi landasan materi dari sistem yang akan dibuat. Beberapa teori dan konsep yang akan dibahas seperti konsep dasar kriptografi, konsep

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM Pada bab ini akan dibahas mengenai Aplikasi Pengamanan E-Mail Menggunakan Metode AES (Advanced Encryption Standard) yang meliputi analisa sistem dan desain sistem. III.1.

Lebih terperinci

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES INFOKAM Nomor I / Th. VII/ Maret / 11 39.. ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES Muhamad Danuri Dosen Jurusan Manajemen Informatika, AMIK JTC Semarang ABSTRAKSI Makalah ini membahas tentang

Lebih terperinci

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

BAB III ANALISIS DAN PERANCANGAN SISTEM. permasalahan-permasalahan dan kebutuhan-kebutuhan yang diharapkan sehingga dapat BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem Analisis sistem ini merupakan penguraian dari suatu sistem yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan

Lebih terperinci

Bab 3 Metode Perancangan

Bab 3 Metode Perancangan Bab 3 Metode Perancangan 3.1 Metode Perancangan dan Desain Sistem Metode rekayasa perangkat lunak yang digunakan dalam pembuatan skripsi ini adalah metode prototyping. Metode prototyping adalah metode

Lebih terperinci

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD Konferensi Nasional Ilmu Sosial & Teknologi (KNiST) Maret 2017, pp. 165~171 165 PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD Cahyani Budihartanti 1, Egi Bagus Wijoyo

Lebih terperinci

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

PERANCANGAN APLIKASI PENGAMANAN DATA DENGAN KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD (AES) PERANCANGAN APLIKASI PENGAMANAN DATA DENGAN KRIPTOGRAFI ADVANCED ENCRYPTION STANDARD (AES) Fricles Ariwisanto Sianturi (0911457) Mahasiswa Program Studi Teknik Informatika STMIK Budi Darma Medan Jl. Sisingamangaraja

Lebih terperinci

BAB I PENDAHULUAN. dalam kehidupan manusia. Kemajuan teknologi dengan kehidupan manusia seakan-akan tidak

BAB I PENDAHULUAN. dalam kehidupan manusia. Kemajuan teknologi dengan kehidupan manusia seakan-akan tidak BAB I PENDAHULUAN I.1. Latar Belakang Perkembangan Teknologi Informasi dan Komunikasi pada saat ini sangatlah pesat. Tidak dapat dipungkiri bahwa kemajuan dan perkembangan teknologi mempunyai peranan penting

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message). BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message). Kata cryptography berasal dari kata Yunani yaitu kryptos yang artinya tersembunyi

Lebih terperinci

Modul Praktikum Keamanan Sistem

Modul Praktikum Keamanan Sistem 2017 Modul Praktikum Keamanan Sistem LABORATORIUM SECURITY SYSTEM Hanya dipergunakan di lingkungan Fakultas Teknik Elektro KK KEAMANAN SISTEM FAKULTAS TEKNIK ELEKTRO UNIVERSITAS TELKOM DAFTAR PENYUSUN

Lebih terperinci

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

Perancangan Aplikasi Kriptografi File Dengan Metode Algoritma Advanced Encryption Standard (AES) Perancangan Aplikasi Kriptografi File Dengan Metode Algoritma Advanced Encryption Standard (AES) Rahmat Tullah 1, Muhammad Iqbal Dzulhaq 2, Yudi Setiawan 3 1,2 Dosen STMIK Bina Sarana Global, 3 Mahasiswa

Lebih terperinci

HASIL DAN PEMBAHASAN. 2 Perangkat keras: Prosesor AMD Athlon II 245 2,9 GHz; Memori 2046 MB; HDD 160 GB. Client:

HASIL DAN PEMBAHASAN. 2 Perangkat keras: Prosesor AMD Athlon II 245 2,9 GHz; Memori 2046 MB; HDD 160 GB. Client: 9 batasan, dan tujuan sistem. Pada tahap ini, spesifikasi sistem telah ditetapkan. Perancangan Sistem dan Perangkat Lunak Pada tahap ini, akan dirancang suatu representasi sistem yang akan dibuat. Perancangan

Lebih terperinci

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

PROTOKOL KEAMANAN DOKUMEN DIGITAL PADA SISTEM E-PROCUREMENT MENGGUNAKAN AES, RSA, DAN SHA1 PERMADHI SANTOSA PROTOKOL KEAMANAN DOKUMEN DIGITAL PADA SISTEM E-PROCUREMENT MENGGUNAKAN AES, RSA, DAN SHA1 PERMADHI SANTOSA DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang Data merupakan salah satu aset paling penting dalam kelangsungan hidup perusahaan mana pun, instansi-instansi pemerintahan, maupun intistusi-institusi pendidikan. Penyimpanan

Lebih terperinci

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI 2.1. Tinjauan Pustaka Menurut (Alyanto, 2016) dalam penelitiannya yang berjudul Penerapan Algoritma AES : Rijndael dalam Pengenkripsian Data Rahasia, melakukan

Lebih terperinci

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB III ANALISA MASALAH DAN PERANCANGAN BAB III ANALISA MASALAH DAN PERANCANGAN III.1. Analisa Sub bab ini berisikan tentang analisa sistem yang akan dibangun. Sub bab ini membahas teknik pemecahan masalah yang menguraikan sebuah sistem menjadi

Lebih terperinci

APLIKASI PENGAMANAN FILE DENGAN ALGORITMA AES256 DAN SHA1

APLIKASI PENGAMANAN FILE DENGAN ALGORITMA AES256 DAN SHA1 APLIKASI PENGAMANAN FILE DENGAN ALGORITMA AES256 DAN SHA1 IHSAN FATHANAH AKBAR SIREGAR 1, HABIBI RAMDANI SYAHFITRI 2, TOMMY 3 Jurusan Teknik Informatika Sekolah Tinggi Teknik Harapan Medan, Jl. HM Jhoni

Lebih terperinci

ANALISIS ALGORITME FAKTORISASI PENYARING KUADRIK BESERTA IMPLEMENTASINYA SECARA PARALEL RADEN BAGUS DIMAS PUTRA

ANALISIS ALGORITME FAKTORISASI PENYARING KUADRIK BESERTA IMPLEMENTASINYA SECARA PARALEL RADEN BAGUS DIMAS PUTRA ANALISIS ALGORITME FAKTORISASI PENYARING KUADRIK BESERTA IMPLEMENTASINYA SECARA PARALEL RADEN BAGUS DIMAS PUTRA DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN

Lebih terperinci

BAB I PENDAHULUAN. terbuka bagi setiap orang. Informasi tersebut terkadang hanya ditujukan bagi

BAB I PENDAHULUAN. terbuka bagi setiap orang. Informasi tersebut terkadang hanya ditujukan bagi BAB I PENDAHULUAN I.1 Latar Belakang Dalam era globalisasi sekarang ini, keamanan merupakan aspek yang sangat penting dalam transaksi informasi. Informasi yang dipertukarkan tidak semuanya terbuka bagi

Lebih terperinci

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

BAB 4 IMPLEMENTASI DAN EVALUASI. dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel Pentium, Core Duo, 1. 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

Lebih terperinci

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

BAB III METODE PENELITIAN. Tahapan yang dilakukan dalam penelitian ini disajikan pada Gambar 3. Pengujian BAB III METODE PENELITIAN 3.1 Tahapan Penelitian Tahapan yang dilakukan dalam penelitian ini disajikan pada Gambar 3. Pengujian aplikasi dilakukan berdasarkan pada skenario pengujian yang ditentukan. 30

Lebih terperinci

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman Edmund Ophie - 13512095 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

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

POLYNOMIAL FUNCTIONS DAN IMPLEMENTASINYA DALAM ALGORITMA ADVANCED ENCRYPTION STANDARD PADA DATABASE ACCOUNTING POLYNOMIAL FUNCTIONS DAN IMPLEMENTASINYA DALAM ALGORITMA ADVANCED ENCRYPTION STANDARD PADA DATABASE ACCOUNTING 1 Agus Winarno, 2 Eko Tulus Budi Cahyanto, 3 Mulyadi Sekolah Tinggi Sandi Negara, Jl. Raya

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN 3.1 Analis Sistem Analisis sistem merupakan uraian dari sebuah sistem kedalam bentuk yang lebih sederhana dengan maksud untuk mengidentifikas dan mengevaluasi permasalahan-permasalahan

Lebih terperinci

ANALISIS DAN PERANCANGAN SISTEM KRIPTOGRAFI SIMETRIS TRIPLE DES DAN KRIPTOGRAFI ASIMETRIS RSA SKRIPSI BENY

ANALISIS DAN PERANCANGAN SISTEM KRIPTOGRAFI SIMETRIS TRIPLE DES DAN KRIPTOGRAFI ASIMETRIS RSA SKRIPSI BENY ANALISIS DAN PERANCANGAN SISTEM KRIPTOGRAFI SIMETRIS TRIPLE DES DAN KRIPTOGRAFI ASIMETRIS RSA SKRIPSI BENY 101421002 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat 41 BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Masalah Analisis masalah bertujuan untuk mengidentifikasi permasalahanpermasalahan yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat keras

Lebih terperinci

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH Achmad Shoim 1), Ahmad Ali Irfan 2), Debby Virgiawan Eko Pranoto 3) FAKULTAS TEKNIK INFORMATIKA UNIVERSITAS PGRI RONGGOLAWE

Lebih terperinci

IMPLEMENTASI ALGORITMA STEGANOGRAFI WHITESPACE DAN ENKRIPSI RC6 UNTUK KEAMANAN PADA TEKS

IMPLEMENTASI ALGORITMA STEGANOGRAFI WHITESPACE DAN ENKRIPSI RC6 UNTUK KEAMANAN PADA TEKS IMPLEMENTASI ALGORITMA STEGANOGRAFI WHITESPACE DAN ENKRIPSI RC6 UNTUK KEAMANAN PADA TEKS Dwi Kuswanto, S.Pd., MT.* 1, Mulaab, S.Si., M.Kom. 2, Stefhanie Andreaane Adelia Tendean 3, 1,2,3 Program Studi

Lebih terperinci

ANALISIS GRAFOLOGI BERDASARKAN HURUF a DAN t MENGGUNAKAN ALGORITME K-NEAREST NEIGHBOR AMANDA KARATIKA HUBEIS

ANALISIS GRAFOLOGI BERDASARKAN HURUF a DAN t MENGGUNAKAN ALGORITME K-NEAREST NEIGHBOR AMANDA KARATIKA HUBEIS ANALISIS GRAFOLOGI BERDASARKAN HURUF a DAN t MENGGUNAKAN ALGORITME K-NEAREST NEIGHBOR AMANDA KARATIKA HUBEIS DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

Lebih terperinci

Bab 1 PENDAHULUAN Latar Belakang

Bab 1 PENDAHULUAN Latar Belakang Bab 1 PENDAHULUAN 1.1. Latar Belakang Sistem keamanan pengiriman data (komunikasi data yang aman) dipasang untuk mencegah pencurian, kerusakan, dan penyalahgunaan data yang terkirim melalui jaringan komputer.

Lebih terperinci

SKRIPSI BILQIS

SKRIPSI BILQIS ANALISIS DAN PERANCANGAN APLIKASI PESAN RAHASIA MENGGUNAKAN ALGORITMA ONE TIME PAD (OTP) DENGAN PEMBANGKIT BILANGAN ACAK LINEAR CONGRUENTIAL GENERATOR (LCG) SKRIPSI BILQIS 081401072 PROGRAM STUDI S1 ILMU

Lebih terperinci

Gambar 3.1 Flowchart proses enkripsi AES

Gambar 3.1 Flowchart proses enkripsi AES BAB III ANALISA DAN PERANCANGAN 1.1 GAMBARAN UMUM Aplikasi gerbang dijital dengan fungsi penyandian ini merupakan aplikasi gerbang logika yang dirancang untuk memproses hasil pemasukan data berupa karakter

Lebih terperinci

RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI

RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI Ozzi Oriza Sardjito NIM 13503050 Program Studi Teknik Informatika, STEI Institut Teknologi Bandung

Lebih terperinci

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

Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java SEMINAR NASIONAL MATEMATIKA DAN PENDIDIKAN MATEMATIKA UNY 16 Rancangan Aplikasi Pemilihan Soal Ujian Acak Menggunakan Algoritma Mersenne Twister Pada Bahasa Pemrograman Java T - 8 Faizal Achmad Lembaga

Lebih terperinci

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB Mukhlisulfatih Latief Jurusan Teknik Informatika Fakultas Teknik Universitas Negeri Gorontalo Abstrak Metode enkripsi dapat digunakan untuk

Lebih terperinci

II Bab II Dasar Teori

II Bab II Dasar Teori II Bab II Dasar Teori II.1 Kriptografi Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan [SCH96]. Terdapat berbagai macam definisi mengenai kriptografi, namun pada intinya kriptografi adalah

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Dewasa ini keamanan data dirasakan semakin penting, Keamanan pengiriman informasi melalui komputer menjadi bagian yang tidak terpisahkan dalam kehidupan sehari-hari.

Lebih terperinci

METODE PENELITIAN HASIL DAN PEMBAHASAN

METODE PENELITIAN HASIL DAN PEMBAHASAN 1 Dalam segi keamanan penyandian data algoritme IDEA mempunyai standar yang lebih sederhana namun cukup ampuh untuk mencegah serangan cryptanalysis terhadap kunci enkripsi dan dekripsi. Pembangkit kunci

Lebih terperinci

Modul Praktikum Keamanan Sistem

Modul Praktikum Keamanan Sistem 2017 Modul Praktikum Keamanan Sistem LABORATORIUM SECURITY SYSTEM Hanya dipergunakan di lingkungan Fakultas Teknik Elektro KK KEAMANAN SISTEM FAKULTAS TEKNIK ELEKTRO UNIVERSITAS TELKOM DAFTAR PENYUSUN

Lebih terperinci

Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) Bahan Kuliah ke-13 IF5054 Kriptografi Advanced Encryption Standard (AES) Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 13. Advanced Encryption Standard

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang 1 BAB I PENDAHULUAN 1.1 Latar Belakang Kemajuan teknologi komputer terbukti telah membantu manusia dalam berbagai aspek kehidupan dari hal hal yang sederhana sampai kepada masalah masalah yang cukup rumit.

Lebih terperinci

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB

STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB STUDI PERBANDINGAN ENKRIPSI MENGGUNAKAN ALGORITMA IDEA DAN MMB Mukhlisulfatih Latief Jurusan Teknik Informatika Fakultas Teknik Universitas Negeri Gorontalo ABSTRAK Metode enkripsi dapat digunakan untuk

Lebih terperinci

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis III.1.1 Analisis Masalah Secara umum data dikategorikan menjadi dua, yaitu data yang bersifat rahasia dan data yang bersifat tidak rahasia. Data yang

Lebih terperinci

IMPLEMENTASI ALGORITMA AES UNTUK PENGAMANAN ISI FILE CSS PADA WEBSITE KOMPETENSI JARINGAN SKRIPSI

IMPLEMENTASI ALGORITMA AES UNTUK PENGAMANAN ISI FILE CSS PADA WEBSITE KOMPETENSI JARINGAN SKRIPSI IMPLEMENTASI ALGORITMA AES UNTUK PENGAMANAN ISI FILE CSS PADA WEBSITE KOMPETENSI JARINGAN SKRIPSI MADE PANDE GALIH DARMARANI NIM. 0608605026 JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

Lebih terperinci

Pada blok state diatas dibagi menjadi 2 bagian state, dimana state ini disebut dengan state asli. Satu state

Pada blok state diatas dibagi menjadi 2 bagian state, dimana state ini disebut dengan state asli. Satu state KOMBINASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) DAN HASH UNTUK MENGIDENTIFIKASI KEASLIAN IJAZAH Henki Bayu Seta 1), Moh. Mulki Ridho 2), Theresiawati 3) 1), 2) Teknik Informatika UPN Veteran Jakarta

Lebih terperinci

IMPLEMENTASI ALGORITMA HUFFMAN DAN ALGORITMA AES UNTUK MENGAMANKAN FILE GAMBAR SKRIPSI. Anak Agung Ngurah Mahendra Adhi Putra NIM.

IMPLEMENTASI ALGORITMA HUFFMAN DAN ALGORITMA AES UNTUK MENGAMANKAN FILE GAMBAR SKRIPSI. Anak Agung Ngurah Mahendra Adhi Putra NIM. IMPLEMENTASI ALGORITMA HUFFMAN DAN ALGORITMA AES UNTUK MENGAMANKAN FILE GAMBAR SKRIPSI Anak Agung Ngurah Mahendra Adhi Putra NIM. 1008605025 JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

Lebih terperinci

PEMBERIAN TANDA AIR PADA CITRA DIGITAL DENGAN SKEMA TANDA AIR BERDASARKAN KUANTITASI WARNA DAN MENGGUNAKAN STANDARD ENKRIPSI TINGKAT LANJUT

PEMBERIAN TANDA AIR PADA CITRA DIGITAL DENGAN SKEMA TANDA AIR BERDASARKAN KUANTITASI WARNA DAN MENGGUNAKAN STANDARD ENKRIPSI TINGKAT LANJUT TUGAS AKHIR PEMBERIAN TANDA AIR PADA CITRA DIGITAL DENGAN SKEMA TANDA AIR BERDASARKAN KUANTITASI WARNA DAN MENGGUNAKAN STANDARD ENKRIPSI TINGKAT LANJUT Oleh : Hendra Dani Dewaji 1205 100 068 Pembimbing:

Lebih terperinci

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

ANALISIS PERBANDINGAN KINERJA ALGORITMA BLOWFISH DAN ALGORITMA TWOFISH PADA PROSES ENKRIPSI DAN DEKRIPSI Jurnal Pseuode, Volume 2 Nomor 1, Februari 2015, ISSN 2355 5920 ANALISIS PERBANDINGAN KINERJA ALGORITMA BLOWFISH DAN ALGORITMA TWOFISH PADA PROSES ENKRIPSI DAN DEKRIPSI Dimas Aulia Trianggana 1, Herlina

Lebih terperinci

SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH

SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH SKRIPSI ENKRIPSI TEKS MENGGUNAKAN ALGORITMA TWOFISH JOVI TANATO NPM: 2012730011 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI DAN SAINS UNIVERSITAS KATOLIK PARAHYANGAN 2017 UNDERGRADUATE

Lebih terperinci

Endang Fiansyah 1, dan Muhammad Salman, ST, MIT 2

Endang Fiansyah 1, dan Muhammad Salman, ST, MIT 2 IMPLEMENTASI ALGORITMA DASAR RC4 STREAM CIPHER DAN PENGACAKAN PLAINTEXT DENGAN TEKNIK DYNAMIC BLOCKING PADA APLIKASI SISTEM INFORMASI KEGIATAN SKRIPSI DI DEPARTEMEN TEKNIK ELEKTRO Endang Fiansyah 1, dan

Lebih terperinci

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL Deny Adhar Teknik Informatika, STMIK Potensi Utama Medan Jln. Kol. Yos. Sudarso Km. 6,5 No. 3A Medan adhar_7@yahoo.com Abstrak SQLite database

Lebih terperinci

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

BAB 1 PENDAHULUAN. khususnya internet sangatlah cepat dan telah menjadi salah satu kebutuhan dari 1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Dewasa ini perkembangan teknologi komputer dan jaringan komputer, khususnya internet sangatlah cepat dan telah menjadi salah satu kebutuhan dari sebagian

Lebih terperinci

PENGEMBANGAN ALGORITMA CAESAR CIPHER DALAM PESAN RAHASIA DENGAN QUICK RESPONSE CODE (QR CODE)

PENGEMBANGAN ALGORITMA CAESAR CIPHER DALAM PESAN RAHASIA DENGAN QUICK RESPONSE CODE (QR CODE) PENGEMBANGAN ALGORITMA CAESAR CIPHER DALAM PESAN RAHASIA DENGAN QUICK RESPONSE CODE (QR CODE) TIANUR SITIO 41511120025 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2015

Lebih terperinci

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012 ANALISIS ALGORITMA ENKRIPSI ELGAMAL, GRAIN V1, DAN AES DENGAN STUDI KASUS APLIKASI RESEP MASAKAN Dimas Zulhazmi W. 1, Ary M. Shiddiqi 2, Baskoro Adi Pratomo 3 1,2,3 Jurusan Teknik Informatika, Fakultas

Lebih terperinci

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

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di BAB I PENDAHULUAN 1.1 Latar Belakang Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di bidang teknologi, tanpa disadari komputer telah ikut berperan dalam dunia pendidikan terutama penggunaannya

Lebih terperinci

LUX HASH FUNCTION. Brian Al Bahr NIM: Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung

LUX HASH FUNCTION. Brian Al Bahr NIM: Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung LUX HASH FUNCTION Brian Al Bahr NIM: 13506093 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail: if16093@students.if.itb.ac.id,

Lebih terperinci

BAB I PENDAHULUAN. Teknologi Quick Response Code (QR-Code) adalah salah satu teknologi

BAB I PENDAHULUAN. Teknologi Quick Response Code (QR-Code) adalah salah satu teknologi BAB I PENDAHULUAN 1.1. Latar Belakang. Teknologi Quick Response Code (QR-Code) adalah salah satu teknologi yang memanfaatkan metode kriptografi. Saat ini metode kriptografi pun mulai berubah menuju ke

Lebih terperinci

PENGEMBANGAN PROTOKOL KEAMANAN PADA JALUR KOMUNIKASI MODUL CLIENT DAN SERVER SISTEM PENILANGAN KENDARAAN BERMOTOR ANINDRA AGENG JIHADO

PENGEMBANGAN PROTOKOL KEAMANAN PADA JALUR KOMUNIKASI MODUL CLIENT DAN SERVER SISTEM PENILANGAN KENDARAAN BERMOTOR ANINDRA AGENG JIHADO PENGEMBANGAN PROTOKOL KEAMANAN PADA JALUR KOMUNIKASI MODUL CLIENT DAN SERVER SISTEM PENILANGAN KENDARAAN BERMOTOR ANINDRA AGENG JIHADO DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

Lebih terperinci

ANALISIS DAN IMPLEMENTASI MODEL PARALEL HYBRID DENGAN MPI DAN OPENMP PADA METODE CONJUGATE GRADIENT ANGGI HARYO SAKSONO

ANALISIS DAN IMPLEMENTASI MODEL PARALEL HYBRID DENGAN MPI DAN OPENMP PADA METODE CONJUGATE GRADIENT ANGGI HARYO SAKSONO ANALISIS DAN IMPLEMENTASI MODEL PARALEL HYBRID DENGAN MPI DAN OPENMP PADA METODE CONJUGATE GRADIENT ANGGI HARYO SAKSONO DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN

Lebih terperinci

BAB I PENDAHULUAN. mengamankan informasi pada masalah ini dapat memanfaatkan kriptografi.

BAB I PENDAHULUAN. mengamankan informasi pada masalah ini dapat memanfaatkan kriptografi. BAB I PENDAHULUAN 1.1 Latar Belakang Kemajuan sistem informasi dewasa ini memiliki banyak keuntungan tetapi juga rawan dari hal yang negatif seperti pencurian informasi. Keamanan informasi yang terkomputasi

Lebih terperinci

PERANCANGAN DAN IMPLEMENTASI ALGORITMA VEA. (Video Encryption Algorithm) UNTUK KEAMANAN DATA PADA VIDEO MPEG SKRIPSI

PERANCANGAN DAN IMPLEMENTASI ALGORITMA VEA. (Video Encryption Algorithm) UNTUK KEAMANAN DATA PADA VIDEO MPEG SKRIPSI PERANCANGAN DAN IMPLEMENTASI ALGORITMA VEA (Video Encryption Algorithm) UNTUK KEAMANAN DATA PADA VIDEO MPEG SKRIPSI Diajukan Oleh : DONY RAHMAWAN 0736010020 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Analisis adalah penguraian dari suatu pembahasan, dalam hal ini pembahasan mengenai aplikasi keamanan pengiriman data pada jaringan Local Area Network (LAN),

Lebih terperinci

IMPLEMENTASI METODE KRIPTOGRAFI IDEA DENGAN FUNGSI HASH DALAM PENGAMANAN INFORMASI

IMPLEMENTASI METODE KRIPTOGRAFI IDEA DENGAN FUNGSI HASH DALAM PENGAMANAN INFORMASI IMPLEMENTASI METODE KRIPTOGRAFI IDEA DENGAN FUNGSI HASH DALAM PENGAMANAN INFORMASI Ramen Antonov Purba Manajemen Informatika Politeknik Unggul LP3M Medan Jl Iskandar Muda No.3 CDEF, Medan Baru, 20153 Email

Lebih terperinci

SIMULASI KERAHASIAAN / KEAMANAN INFORMASI DENGAN MENGGUNAKAN ALGORITMA DES (DATA ENCRYPTION STANDARD) SKRIPSI INDRA SYAHPUTRA

SIMULASI KERAHASIAAN / KEAMANAN INFORMASI DENGAN MENGGUNAKAN ALGORITMA DES (DATA ENCRYPTION STANDARD) SKRIPSI INDRA SYAHPUTRA SIMULASI KERAHASIAAN / KEAMANAN INFORMASI DENGAN MENGGUNAKAN ALGORITMA DES (DATA ENCRYPTION STANDARD) SKRIPSI INDRA SYAHPUTRA 051411011 DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

Lebih terperinci

TUGAS AKHIR IMPLEMENTASI ALGORITMA KRIPTOGRAFI LOKI97 UNTUK PENGAMANAN AUDIO FORMAT AMR KOMPETENSI JARINGAN SKRIPSI

TUGAS AKHIR IMPLEMENTASI ALGORITMA KRIPTOGRAFI LOKI97 UNTUK PENGAMANAN AUDIO FORMAT AMR KOMPETENSI JARINGAN SKRIPSI TUGAS AKHIR IMPLEMENTASI ALGORITMA KRIPTOGRAFI LOKI97 UNTUK PENGAMANAN AUDIO FORMAT AMR KOMPETENSI JARINGAN SKRIPSI A.A. NGURAH PRADNYA ADHIKA NIM. 0608605084 JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Keamanan Data Keamanan merupakan salah satu aspek yang sangat penting dari sebuah sistem informasi. Masalah keamanan sering kurang mendapat perhatian dari para perancang dan

Lebih terperinci

Implementasi Disk Encryption Menggunakan Algoritma Rijndael

Implementasi Disk Encryption Menggunakan Algoritma Rijndael Implementasi Disk Encryption Menggunakan Algoritma Rijndael Elfira Yolanda S Laboratorium Ilmu dan Rekayasa Komputasi Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut

Lebih terperinci

ANALISIS PERBANDINGAN ALGORITME AES DENGAN MODE OPERASI ECB DAN CBC DAN PENDUGAAN WAKTU MENGGUNAKAN REGRESI LINEAR IRVANY IRSYAD

ANALISIS PERBANDINGAN ALGORITME AES DENGAN MODE OPERASI ECB DAN CBC DAN PENDUGAAN WAKTU MENGGUNAKAN REGRESI LINEAR IRVANY IRSYAD i ANALISIS PERBANDINGAN ALGORITME AES DENGAN MODE OPERASI ECB DAN CBC DAN PENDUGAAN WAKTU MENGGUNAKAN REGRESI LINEAR IRVANY IRSYAD DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

Lebih terperinci

BEA A New Block Cipher Algorithm

BEA A New Block Cipher Algorithm BEA A New Block Cipher Algorithm Luqman A. Siswanto (13513024) 1, Yoga Adrian Saputra (13513030) 2 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jalan

Lebih terperinci