implementasi algoritma advanced encryption standard (aes) … · 2019. 11. 8. · implementasi...

70
Universitas Sumatera Utara Repositori Institusi USU http://repositori.usu.ac.id Departemen Ilmu Komputer Skripsi Sarjana 2017 Implementasi Algoritma Advanced Encryption Standard (AES) Rijndael untuk Proteksi File Audio Prasetyo, M. Sigit Universitas Sumatera Utara http://repositori.usu.ac.id/handle/123456789/18386 Downloaded from Repositori Institusi USU, Univsersitas Sumatera Utara

Upload: others

Post on 06-Oct-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

Universitas Sumatera Utara

Repositori Institusi USU http://repositori.usu.ac.id

Departemen Ilmu Komputer Skripsi Sarjana

2017

Implementasi Algoritma Advanced

Encryption Standard (AES) Rijndael

untuk Proteksi File Audio

Prasetyo, M. Sigit

Universitas Sumatera Utara

http://repositori.usu.ac.id/handle/123456789/18386

Downloaded from Repositori Institusi USU, Univsersitas Sumatera Utara

Page 2: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION

STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO

SKRIPSI

M. SIGIT PRASETYO

131421094

PROGRAM EKSTENSI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2016

Universitas Sumatera Utara

Page 3: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTIONN STANDARD

(AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

Sarjana Ilmu Komputer

M. SIGIT PRASETYO

131421094

PROGRAM EKSTENSI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2016

Universitas Sumatera Utara

Page 4: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

ii

PERSETUJUAN

Judul : IMPLEMENTASI ALGORITMA ADVANCED

ENCRYPTION STANDARD (AES) RIJNDAEL

UNTUK PROTEKSI FILE AUDIO

Kategori : SKRIPSI

Nama : M. SIGIT PRASETYO

Nomor Induk Mahasiswa : 131421094

Program Studi : EKSTENSI S1 ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing II Pembimbing I

Dian Rachmawati, S.Si.,M. Kom Prof. Dr. Muhammad Zarlis

NIP. 198307232009122004 NIP. 195707011986011003

Diketahui/disetujui oleh

Program Studi Ekstensi S1 Ilmu Komputer

Ketua,

Dr. Poltak Sihombing, M.Kom

NIP. 19620217 199103 1 001

Universitas Sumatera Utara

Page 5: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

iii

PERNYATAAN

IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES)

RIJNDAEL UNTUK PROTEKSI FILE AUDIO

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa

kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Oktober 2016

M. SIGIT PRASETYO

131421094

Universitas Sumatera Utara

Page 6: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

iv

PENGHARGAAN

Syukur kepada Tuhan Yang Maha Esa penulis ucapkan, Tuhan yang telah

memberikan rahmat, berkah serta hidayah-Nya kepada penulis sehingga penulis dapat

menyelesaikan skripsi ini tepat waktu yang sesuai dengan instruksi dan peraturan yang

berlaku di Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera

Utara.

Selanjutnya penulis menyampaikan rasa terima kasih dan penghargaan yang

sebesar-besarnya kepada semua pihak yang telah memberikan bantuan dan masukan,

baik secara moril dan materil dalam menyelesaikan penulisan tugas akhir ini, terutama

sekali kepada:

1. Bapak Prof. Dr. Runtung Sitepu, SH, M.Hum selaku Rektor Universitas Sumatera

Utara.

2. Bapak Prof. Dr. Opim Salim Sitompul, M.Si sebagai Dekan Fakultas Ilmu

Komputer dan Teknologi Informasi

3. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu

Komputer.

4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi Ilmu

Komputer.

5. Bapak Prof. Dr. Muhammad Zarlis selaku Dosen Pembimbing I yang telah

meluangkan waktu, tenaga, dan pikiran dalam membimbing, mengarahkan,

menasehati, memotivasi, dan menyemangati penulis agar dapat menyelesaikan

skripsi ini.

6. Ibu Dian Rachmawati, S.Si.,M. Kom selaku Dosen Pembimbing II yang telah

meluangkan waktu, tenaga, dan pikiran dalam membimbing, mengarahkan,

menasehati, memotivasi, dan menyemangati penulis agar dapat menyelesaikan

skripsi ini.

7. Bapak Dr. Poltak Sihombing, M. Kom selaku dosen Pembanding I yang telah

memberikan kritik dan saran terhadap skripsi penulis.

Universitas Sumatera Utara

Page 7: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

iv

8. Bapak Handrizal, S.Si.,M.Comp.,Sc selaku dosen Pembanding II yang telah

memberikan kritik dan saran terhadap skripsi penulis.

9. Seluruh staf pengajar dan pegawai Fakultas Ilmu Komputer dan Teknologi

Informasi.

10. Teristimewa orang tua yang penulis cintai, ibunda Rahmi Lubis yang tidak henti-

hentinya memberikan doa, motivasi, dan dukungan yang selalu menjadi sumber

semangat penulis.

11. Teman-teman seperjuangan mahasiswa Ekstensi S1-Ilmu Komputer stambuk

2013.

12. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat

penulis ucapkan satu per satu yang telah membantu menyelesaikan skripsi ini.

Penulis menyadari bahwa skripsi ini masih memiliki banyak kekurangan, baik

dari segi teknik, tata penyajian ataupun dari segi tata bahasa. Oleh karena itu penulis

bersedia menerima kritik dan saran dari pembaca dalam upaya perbaikan skripsi ini.

Semoga skripsi ini dapat bermanfaat bagi penulis dan pembaca, khususnya rekan-

rekan mahasiswa lainnya yang mengikuti perkuliahan di Universitas Sumatera Utara.

Medan, Oktober 2016

Penulis

M. Sigit Prasetyo

Universitas Sumatera Utara

Page 8: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

v

ABSTRAK

Dengan memanfaatkan kriptografi di masa modern ini, proteksi file audio bukanlah

mustahil untuk dilakukan dengan tujuan untuk menjaga legalitas dari pemilik hak

cipta file audio tersebut. Algoritma kriptografi Advanced Encryption Standard (AES)

Rijndael merupakan standar enkripsi dengan kunci simetris yang diadopsi oleh

pemerintah Amerika Serikat, AES Rijndael telah dianalisis secara luas dan sekarang

digunakan diseluruh dunia, seperti halnya dengan pendahulunya Data Encryption

Standart (DES). Dalam penelitian ini penulis akan menerapkan algoritma Advanced

Encryption Standard (AES) untuk melakukan enkripsi pada tiap karakter yang terdapat

pada file audio tersebut dan menyimpan Cipher-text dari hasil enkripsi ke dalam

format file Audio yang sama, dan melakukan dekripsi pada file audio yang telah

dienkripsi ke bentuk File aslinya. Aplikasi yang dirancang dalam penelitian ini telah

mampu melakukan proses penyandian file Audio dengan Algoritma Advanced

Encryption Standart Rijndael. Diharapkan aplikasi yang dihasilkan dapat berguna bagi

pihak yang ingin menjaga kerahasiaan file audio miliknya.

Kata Kunci: Kriptografi, Advanced Encryption Standard, AES Rijndael, File Audio

Universitas Sumatera Utara

Page 9: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

vi

RIJNDAEL’S ADVANCED ENCRYPTION STANDARD (AES) IMPLEMENTATION

FOR AUDIO FILES PROTECTION

ABSTRACT

Using cryptography nowadays, audio file protection is possible to do in order to protect

legality of the file who owns its copyright. Advanced Encryption Standard (AES) Rijndael’s

algorithm is the standard of encryption with symetric key adopted by US government.

Rijndael’s AES has been analysed extensively and currently used worldwide just like the

former standard, Data Encryption Standard (DES). In this study, the author will apply

Advanced Encryption Standard Algorithm to encrypt every character that lies in the audio file

and save the Cipher-text from encryption process in the same format, wich is audio file. And

decrypting the encrypted-audio file to its original form. The application that developed in this

study has been able to encrypt an audio file using Rijndael’s Advanced Encryption Standard

Algorithm. The author expecting creation of this application can be used by everyone who

wants to keep secret their legal audio file.

Keywords: Cryptography, Advanced Encryption Standard, Rijndael’s AES, Audio File

Universitas Sumatera Utara

Page 10: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

vii

DAFTAR ISI

Hal.

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel viii

Daftar Gambar ix

Bab 1 Pendahuluan

1.1 Latar Belakang Masalah 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 2

1.5 Manfaat Penelitian 2

1.6 Metode Penelitian 3

1.7 Sistematika Penelitian 3

Bab 2 Landasan Teori

2.1 Kriptografi 5

2.1.1 Kriptografi Simetrik 6

2.1.2 Kriptografi Asimetrik 6

2.2 Advanced Encryption Standard (AES) 7

2.2.1. Rijndael Block Cipher 8

2.2.2. Enkripsi 9

2.2.2.1. Transformasi SubBytes 11

2.2.2.2. Transformasi ShiftRows 11

2.2.2.3. Transformasi Mix Columns 12

2.2.2.4. Transformasi AddRoundKey 13

2.2.2.5. Ekspansi Kunci 14

2.2.3. Dekripsi 15

2.3. File Audio 16

2.3.1. Interfensi Audio 17

2.3.2. Audio Digital 17

Bab 3 Analisis dan Perancangan Sistem

3.1 Analisis Masalah 18

3.2 Analisis Kebutuhan Sistem 19

3.2.1 Kebutuhan Fungsional 19

3.2.2 Kebutuhan nonfungsional 20

3.3 Pemodelan Sistem 20

3.3.1 Use-Case Diagram 21

3.3.2 Activity Diagram 23

Universitas Sumatera Utara

Page 11: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

vii

3.3.3 Squence Diagram 25

3.4 Perancangan Sistem 27

3.5 Pseudocode Sistem 31

3.6 Perancangan Antarmuka 32

3.6.1. Rancangan Halaman Utama 32

3.6.2. Rancangan Halaman Output 34

Bab 4 Implementasi dan Pengujian

4.1 Implementasi Sistem 35

4.1.1 Halaman Utama 35

4.2 Pengujian Sistem 35

4.2.1. Pengujian proses enkripsi 36

4.2.2. Prngujian Proses dekripsi 36

4.2.3. Hasil Peengujian 37

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 48

5.2 Saran 48

Daftar Pustaka

Lampiran

Universitas Sumatera Utara

Page 12: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

viii

DAFTAR TABEL

Hal.

3.1 Narative Use Case Enkripsi 21

3.2 Narative Use Case Download Audio Terenkripsi 21

3.3 Narative use-case Enkripsi Audio 22

3.4 Narative use-case Download Audio Terdekripsi 22

3.5 Komponen-Komponen pada Halaman Utama 31

Universitas Sumatera Utara

Page 13: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

ix

DAFTAR GAMBAR

Hal.

2.1 Diagram Proses Enkripsi 9

2.2 Tabel S-Box 10

2.3 Contoh Transformasi ShiftRows() 11

2.4 Proses MixColumns 12

2.5 Contoh Transformasi AddRoundKey () 13

2.6 Proses Key Expansion 14

2.7 Diagram Alur Proses Dekripsi AES 15

3.1 Diagram Ishikawa 18

3.2 Diagram Use-Case 22

3.3 Diagram Activity Enkripsi 23

3.4 Diagram Activity Dekripsi 23

3.5 Sequence Diagram Enkripsi 24

3.6 Sequence Diagram Dekripsi 24

3.7 Flowchart Umum Enkripsi 26

3.8 Flowchart Umum Dekripsi 27

3.9 Flowchart Enkripsi AES 28

3.10 Flowchart Dekripsi AES 29

3.11 Rancangan Halaman Utama 31

3.12 Rancangan Halaman Output 32

4.1 Halaman Utama Aplikasi 33

4.2 Proses Enkripsi Selesai dan Cipher Audio Berhasil di Download 34

4.3 Proses Dekripsi Selesai dan File Audio Berhasil di Download 35

4.4 Plain-text File Audio uji 1 36

4.5 Cipher-text File Audio uji 1 36

4.6 Plain-text File Audio yang telah di dekripsi uji 1 37

4.7 Plain-text File Audio uji 2 38

4.8 Cipher-text File Audio uji 2 38

4.9 Plain-text File Audio yang telah di dekripsi uji 2 39

4.10 Plain-text File Audio uji 3 40

4.11 Cipher-text File Audio uji 3 40

4.12 Plain-text File Audio yang telah di dekripsi uji 3 41

4.13 Plain-text File Audio uji 4 42

4.14 Cipher-text File Audio uji 4 43

4.15 Plain-text File Audio yang telah di dekripsi uji 4 43

4.16 Grafik ukuran file 44

4.17 Grafik jumlah karakter

Universitas Sumatera Utara

Page 14: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

BAB I

PENDAHULUAN

Bab ini menjelaskan mengenai latar belakang pemilihan judul skripsi “Implementasi

Algoritma Advanced Encryption Standart (AES) Rijndael Untuk Proteksi File Audio”,

rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi

penelitian, dan sistematika penulisan.

1.1. Latar Belakang

File audio saat ini adalah file yang cukup populer dan sangat mudah untuk dinikmati oleh

berbagai kalangan kapanpun dan dimanapun. Seiring dengan perkembangan teknologi yang

memudahkan pengguna untuk melakukan pertukaran informasi dengan bentuk audio dengan

waktu yang singkat, kemudahan tersebut akhirnya dapat digunakan secara negatif tanpa

memperhatikan aspek legalitas dan hak cipta dari produsen audio tersebut.

File audio bisa dengan mudah disalah gunakan oleh pihak-pihak yang tidak bertanggung

jawab yang seharusnya menjadi properti legal dari produsen dan secara legal dimiliki oleh

orang yang telah membelinya, Melihat hal tersebut, diperlukan suatu cara untuk memproteksi

file audio tersebut salah satu nya adalah dengan melakukan enkripsi terhadap file audio

tersebut dengan menggunakan algoritma AES RIJNDAEL. File audio yang telah di enkripsi

tidak dapat diputar/dimainkan dengan sempurna sehingga diperlukan aplikasi untuk

mendekripsi file tersebut ke bentuk awalnya sehingga akses ke file tersebut dapat lebih

terjaga legalitasnya.

Dengan memanfaatkan kriptografi di masa modern ini, proteksi file audio bukan mustahil

untuk dilakukan dengan tujuan untuk menjaga legalitas dari pemilik hak cipta file audio

tersebut. Dengan menggunakan algoritma kriptografi Advanced Encryption Standard

Rijndael untuk mengenkripsi file audio tersebut menjadi Cipher-text. Sehingga file tersebut

tidak dapat diputar dengan sempurna oleh orang yang tidak mempunyai legalitas pada file

audio tersebut dan dapat didekripsi kembali ke bentuk semula nya pada orang yang

mempunyai legalitas file audio tersebut, sehingga proteksi file tersebut dapat terjaga

legalitasnya Dalam kriptografi, Advanced Encryption Standard (AES) merupakan standar

Universitas Sumatera Utara

Page 15: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

2

enkripsi dengan kunci-simetris yang diadopsi oleh pemerintah Amerika Serikat. Standar ini

terdiri atas 3 blok cipher, yaitu AES-128, AES-192 and AES-256, yang diadopsi dari koleksi

yang lebih besar yang awalnya diterbitkan sebagai Rijndael. Masing-masing cipher memiliki

ukuran 128-bit, dengan ukuran kunci masing-masing 128, 192, dan 256 bit.

AES telah dianalisis secara luas dan sekarang digunakan di seluruh dunia, seperti halnya

dengan pendahulunya, Data Encryption Standard (DES).

1.2. Rumusan Masalah

Berdasarkan latar belakang masalah yang telah diuraikan, hal yang mendasari rumusan

masalah yaitu bagaimana memberikan proteksi pada file audio untuk menjaga legalitas dari

kepemilikan hak cipta file tersebut sehingga tidak disebar luaskan tanpa memperhatikan

legalitasnya.

1.3. Batasan Masalah

Adapun batasan masalah adalah sebagai berikut:

1. Objek yang digunakan dalam Enkripsi/Dekripsi AES berupa file audio dengan

ekstensi MP3.

2. Output yang dihasilkan berupa Cipher-text yang disimpan dalam format file audio

dan dapat didekripsi kembali kebentuk file audio

3. Bahasa pemrograman yang digunakan untuk Enkripsi dan Dekripsi file adalah PHP.

1.4. Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah merancang suatu aplikasi pengamanan file audio

menggunakan algoritma kriptografi AES untuk menjaga legalitas dari pemilik file audio

tersebut. Sehingga penyebaran file dapat terjaga distribusinya.

1.5. Manfaat Penelitian

Manfaat dari penelitian ini adalah untuk memberikan keamanan pada file audio serta

memberikan kemudahan kepada pemilik legalitas file audio dalam pendistribusian file nya.

Universitas Sumatera Utara

Page 16: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

3

1.6. Metode Penelitian

Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini adalah sebagai

berikut:

1. Studi Literatur

Penulis mengumpulkan bahan dan data referensi dari buku, skripsi, jurnal, artikel dan

sumber lain yang berkaitan dengan penulisan tugas akhir ini yaitu Implementasi

Algoritma Advanced Encryption Standart (AES) Rijndael Untuk Proteksi File Audio.

2. Analisis dan Perancangan Sistem

Berdasarkan rumusan dan batasan masalah, kebutuhan perancangan dianalisis disertai

pembuatan Use Case Diagram, Activity Diagram, Sequence Diagram, Flowchart dan

Design Interface dengan menggunakan UMLET.

3. Pengujian Sistem

Setelah pada tahap implementasi sistem, maka dilakukan pengujian aplikasi kepada 5

pengguna secara random (acak) disertai angket untuk mengetahui kelebihan dan

kekurangan terhadap aplikasi tersebut.

4. Dokumentasi

Metode ini berisi laporan dan kesimpulan akhir dari hasil analisa dan pengujian dalam

bentuk skripsi.

1.7. Sistematika Penelitian

Adapun langkah-langkah dalam menyelesaikan penelitian ini adalah sebagai berikut :

BAB 1 : PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang pemilihan judul skripsi

“Implementasi Algoritma Advanced Encryption Standart (AES) Rijndael Untuk

Proteksi File Audio”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat

penelitian, metodologi penelitian, dan sistematika penulisan.

BAB 2 : LANDASAN TEORI

Bab ini berisi teori-teori yang berkaitan dengan perancangan sistem aplikasi

pengamanan file audio menggunakan algoritma Advanced Encryption Standart

Rijndael.

BAB 3 : ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi pembahasan analisis dan perancangan sistem aplikasi, termasuk

didalamnya UML (Unified Modelling Language), Flowchart dan Desain Interface.

Universitas Sumatera Utara

Page 17: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

4

BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi implementasi dari perancangan sistem yang telah dibuat, dan

pengujian sistem untuk menemukan kelebihan dan kekurangan pada sistem.

BAB 5 : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari seluruh bab sebelumnya serta saran yang diharapkan

dapat bermanfaat dalam proses pengembangan penelitian selanjutnya.

Universitas Sumatera Utara

Page 18: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

BAB II

LANDASAN TEORI

Bab ini berisi teori-teori yang berkaitan dengan perancangan sistem Pengamanan File Audio

menggunakan Algoritma Advanced Encryption Standart (AES) Rijndael.

2.1. Kriptografi

Menurut (Dafid, D, 2006), Kata kriptografi (Cryptography) berasal dari bahasa Yunani yaitu

dari kata Cryptos yang artinya tersembunyi dan Graphein yang artinya menulis. Kriptografi

dapat diartikan sebagai suatu ilmu ataupun seni yang mempelajari bagaimana sebuah data

dikonversi ke bentuk tertentu yang sulit untuk dimengerti.(Schneier B, 1996). Ada 4 tujuan

mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi, yaitu :

1. Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari

siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas

informasi yang telah disandi.

2. Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara

tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk

mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain

penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.

3. Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara

kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi

harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus

diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.

4. Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya

penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang

mengirimkan/membuat.

Suatu data yang tidak disandikan disebut plaintext atau cleartext. Sedangkan data yang

telah tersandikan disebut ciphertext. Proses yang dilakukan untuk mengubah plaintext

Universitas Sumatera Utara

Page 19: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

6

menjadi ciphertext disebut enkripsi (encryption) atau encipherment. Sedangkan proses untuk

mengubah ciphertext kembali ke plaintext disebut dekripsi (decryption) atau decipherment.

Dalam kriptografi diperlukan parameter yang digunakan untuk proses konversi data yaitu

suatu set kunci. Enkripsi dan dekripsi data dikontrol oleh sebuah kunci atau beberapa kunci.

Berdasarkan kunci yang dipakai, algoritma kriptografi dapat dibedakan atas dua jenis

yaitu algoritma simetrik (symmetric) dan asimetrik (asymmetric).

2.1.1. Kriptografi Simetrik

Algoritma simetris atau disebut juga algoritma Kriptografi konvensional adalah algoritma

yang menggunakan kunci yang sama untuk proses enkripsi dan proses dekripsi. Algoritma

Kriptografi simetris dibagi menjadi 2 kategori yaitu algoritma aliran (Stream Ciphers) dan

algoritma blok (Block Ciphers). Pada algoritma aliran, proses penyandiannya berorientasi

pada satu bit atau satu byte data. Sedang pada algoritma blok, proses penyandiannya

berorientasi pada sekumpulan bit atau byte data (per blok). Contoh algoritma kunci simetris

adalah DES (Data Encryption Standard), blowfish, twofish, MARS, IDEA, 3DES (DES

diaplikasikan 3 kali), AES (Advanced Encryption Standard) yang bernama asli Rijndael.

2.1.2. Kriptografi Asimetrik

Kriptografi asimetrik (asymmetric cryptography) adalah algoritma yang menggunakan kunci

yang berbeda untuk proses enkripsi dan dekripsi. Kunci enkripsi dapat disebarkan kepada

umum dan dinamakan sebagai kunci publik (public key) sedangkan kunci dekripsi disimpan

untuk digunakan sendiri dan dinamakan sebagai kunci pribadi (private key). Oleh karena

itulah, Kriptografi ini dikenal pula dengan nama Kriptografi kunci publik (public key

cryptography). Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA

(Riverst Shamir Adleman) dan ECC (Elliptic Curve Cryptography).

Pada kriptosistem asimetrik, setiap pelaku sistem informasi memiliki sepasang kunci, yaitu

kunci publik dan kunci pribadi. Kunci publik didistribusikan kepada umum, sedangkan kunci

pribadi disimpan untuk diri sendiri.

Universitas Sumatera Utara

Page 20: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

7

2.2. Advanced Encryption Standard

Menurut (Surian, D, 2006), Hingga tahun 1990-an, algoritma kriptografi yang banyak dipakai

adalah Data Encryption Standard (DES). Algoritma ini dipakai oleh National Institute of

Standards and Technology (NIST) sebagai standar enkripsi data Federal Amerika Serikat.

DES termasuk dalam algoritma enkripsi yang sifatnya cipher block, yang berarti DES

mengubah data masukan menjadi blok-blok 64-bit dan kemudian menggunakan kunci

enkripsi sebesar 56-bit. Setelah mengalami proses enkripsi maka akan menghasilkan output

blok 64-bit.

Seiring dengan perkembangan teknologi, kunci DES yang sebesar 56-bit dianggap

sudah tidak memadai lagi. Pada tahun 1998, 70 ribu komputer di Internet berhasil membobol

satu kunci DES dalam waktu 96 hari. Tahun 1999 kejadian yang sama terjadi lagi dalam

waktu lebih cepat yaitu hanya dalam waktu 22 hari. Pada tanggal 16 Juni 1998, sebuah mesin

seharga 250 ribu dolar dapat dengan mudah memecahkan 25% kunci DES dalam waktu kira-

kira 2,3 hari atau diperkirakan dapat memecahkan kunci DES dalam waktu 4,5 hari.

Adanya kenyataan bahwa algoritma kriptografi DES tidak lagi aman, maka NIST

mulai memikirkan sebuah algoritma kriptografi lain sebagai pengganti DES. Untuk itu

diadakan kontes Internasional dimana pesertanya adalah ahli kriptografi dari seluruh

dunia.Adapun diadakan secara terbuka dimaksudkan agar algoritma yang baru bukan dari

produk badan pemerintah yang dapat dengan sengaja menanamkan backdoor pada

algoritmanya. Backdoor ini dicurigai membuat plaintext dapat langsung dibaca tanpa harus

menggunakan kunci.

Pada tahun 1997 kontes pemilihan suatu standar algoritma kriptografi baru

pengganti DES dimulai dan diikuti oleh 21 peserta dari seluruh dunia. Algoritma yang akan

dipilih selain harus memenuhi beberapa kriteria, yaitu

1. Faktor keamanan, yang berarti algoritma tersebut harus tidak mudah dipecahkan oleh

cracker, bersifat acak atau tidak mudah diterka outputnya, dan tidak berdasar

algoritma matematika tertentu.

2. Faktor biaya, dimana diperhitungkan kecepatan prosesing pada baik pada hardware

dan software, dan besarnya memory yang dipakai.

3. Faktor karakteristik implementasi, yakni meliputi kesederhanaan algoritma yang

digunakan, kemudahan dan keamanan dalam implementasi di hardware dan software.

Universitas Sumatera Utara

Page 21: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

8

Algoritma ini akan dinamakan Advanced Encryption Standard (AES). Setelah

melewati tahap seleksi yang ketat, pada tahun 1999 hanya tinggal 5 calon yaitu algoritma

Serpent (Ross Anderson University of Cambridge, Eli Biham Technion, Lars Knudsen-

University of California San Diego), MARS (IBM Amerika), Twofish (Bruce Schneier, John

Kelsey, dan Niels Ferguson-Counterpane Internet Security Inc, Doug Whiting-Hi/fn Inc,

David Wagner-University of California Berkeley, Chris Hall-Princeton University), Rijndael

(Dr. Vincent Rijmen-Katholieke Universiteit Leuven dan Dr. Joan Daemen Proton World

International), dan RC6 (RSA Amerika).

Setahun kemudian pada tahun 2000, algoritma Rijndael terpilih sebagai algoritma

kriptografi yang selain aman juga efisien dalam implementasinya dan dinobatkan sebagai

AES. Nama Rijndael sendiri berasal dari gabungan nama penemunya.

2.2.1 Rijndael Block Cipher

Algoritma Rijndael dirancang untuk memiliki properti di bawah ini.

1. Ketahanan terhadap semua jenis serangan yang diketahui.

2. Kesederhanaan rancangan.

3. Kekompakan kode dan kecepatan pada berbagai platform.

(Rosyadi, A, 2011) Rijndael cipher dapat dikategorikan sebagai iterated block cipher dengan

panjang blok variabel dan panjang kunci yang dapat dipilih secara independen sebagai 128,

192, atau 256 bit. Dalam desimal ada kira-kira 3.4 x 1038 kemungkinan kunci 128 bit, 6.2 x

1057 kemungkinan kunci 192 bit, dan 1.1 x 1077 kemungkinan kunci 256 bit. AES

menspesifikasikan tiga ukuran kunci, 128, 192, dan 256 bit dengan ukuran blok tetap 128 bit.

Kunci round diturunkan dari kunci cipher melalui jadwal kunci, yang terdiri dari

ekspansi kunci dan pemilihan kunci round. Jumlah round yang digunakan cipher Rijndael

adalah sebuah fungsi dari ukuran kunci sebagai berikut.

1. Kunci 256 bit = 14 round.

2. Kunci 192 bit = 12 round.

3. Kunci 128 bit = 10 round

Universitas Sumatera Utara

Page 22: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

9

2.2.2 Enkripsi

Enkripsi adalah proses mengubah suatu pesan asli (plaintext) menjadi suatu pesan dalam

bahasa sandi (ciphertext).

C = E (M)

Keterangan :

M = Pesan asli (Plaintext)

E = Proses enkripsi dengan Key Private

C = Ciphertext (Plaintext yang terenkripsi AES)

Berikut ini merupakan gambar diagram proses enkripsi seperti yang ditunjukkan pada

Gambar 2.1.

Universitas Sumatera Utara

Page 23: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

10

Gambar 2.1 Diagram Proses Enkripsi AES

(Rosyadi, A, 2011)

Garis besar Algoritma AES Rijndael yang beroperasi pada blok 128-bit dengan kunci 128-bit

adalah sebagai berikut (di luar proses pembangkitan round key):

1. AddRoundKey: melakukan XOR antara state awal (plainteks) dengan cipher key.

Tahap ini disebut juga initial round.

2. Round : Putaran sebanyak Nr – 1 kali.

Proses yang dilakukan pada setiap putaran adalah:

A. SubBytes: substitusi byte dengan menggunakan table substitusi (S-box).

B. ShiftRows: pergeseran baris-baris array state secara wrapping.

C. MixColumns: mengacak data di masing- masing kolom array state.

D. AddRoundKey: melakukan XOR antara state dengan round key.

Universitas Sumatera Utara

Page 24: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

11

3. Final round: proses untuk putaran terakhir:

A. SubBytes

B. ShiftRows

C. AddRoundKey

Langkah kerja dari enkripsi AES Rijndael adalah sebagai berikut:

2.2.2.1 Transformasi SubBytes

Transformasi SubBytes memetakan setiap byte dari array state dengan menggunakan tabel

substitusi S-box . Tabel S-box yang digunakan adalah seperti yang ditunjukkan pada gambar

2.2.

Gambar 2.2 Tabel S-box

(Surian, D, 2006)

2.2.2.2 Transformasi ShiftRows

Melakukan pergeseran secara wrapping (siklik) pada 3 baris terakhir dari array state. Jumlah

pergeseran bergantung pada nilai baris (r). Baris r = 1 digeser sejauh 1 byte, baris r = 2

digeser sejauh 2 byte, dan baris r = 3 digeser sejauh 3 byte. Baris r = 0 tidak digeser. Contoh

ditunjukkan pada Gambar 2.3 berikut.

Universitas Sumatera Utara

Page 25: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

12

Geser baris ke-1:

Hasil pergeseran baris ke-1 dan geser baris ke-2:

Hasil pergeseran baris ke-2 dan geser baris ke-3

Hasil pergeseran baris ke-3:

Gambar 2.3 Contoh Transformasi ShiftRows()

(Rosyadi, A, 2011)

2.2.2.3 Transformasi MixColumns

Proses MixColumns akan beroperasi pada tiap kolom dari tabel state. Operasi ini

menggabungkan 4 bytes dari setiap kolom tabel state dan menggunakan transformasi linier

Universitas Sumatera Utara

Page 26: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

13

Operasi Mix Columns memperlakukan setiap kolom sebagai polinomial 4 suku dalam Galois

field dan kemudian dikalikan dengan c(x) modulo (x4+1), dimana c(x)=3x3+x2+x+2.

Kebalikkan dari polinomial ini adalah c(x)=11x3+13x2+9x+14. Operasi MixColumns juga

dapat dipandang sebagai perkalian matrix.

Langkah MixColumns dapat ditunjukkan dengan mengalikan 4 bilangan di dalam Galois field

oleh matrix berikut ini.

Atau bila dijabarkan:

r0=2a0+a3+a2+3a1 r1=2a1+a0+a3+3a2 r2=2a2+a1+a0+3a3

a3=2a3+a2+a1+3a0

Operasi penjumlahan di atas dilakukan dengan operasi XOR, sedangkan operasi perkalian

dilakukan dalam Galois field. Seperti yang ditunjukkan pada gambar 2.4 berikut.

Gambar 2.4 Proses Mix Columns

(Surian, D, 2006)

Universitas Sumatera Utara

Page 27: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

14

2.2.2.4 Transformasi AddRoundKey

Transformasi ini melakukan operasi XOR terhadap sebuah round key dengan array state, dan

hasilnya disimpan di array state. Pada Gambar 2.5 ditunjukan contoh Transformasi

AddRoundKey.

Contoh:

XOR-kan kolom pertama state dengan kolom pertama round key :

Hasil AddRoundKey() terhadap seluruh kolom:

Gambar 2.5 Contoh Transformasi AddRoundKey ()

(Rosyadi, A, 2011)

2.2.2.5 Ekspansi Kunci (Key Expansion)

Ekspansi kunci pada AES 128-bit (16-byte) menggunakan 4-words (16 byte) sebagai input

dan menghasilkan perluasan kunci menjadi 44 Words (176) Bytes. Gambar 2.6 menunjukkan

proses dari Key Expansion.

Universitas Sumatera Utara

Page 28: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

15

Gambar 2.6 Proses Key Expansion

(Rosyadi, A, 2011)

2.2.3 Dekripsi

Dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi menjadi pesan asli

kembali.

M = D (C)

Ket :

C = Ciphertext (Hasil Plaintext terenkripsi)

D = Proses dekripsi menggunakan key private

M = Pesan asli setelah di dekripsi

Universitas Sumatera Utara

Page 29: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

16

Gambar 2.7 menunjukkan proses dari sebuah dekripsi.

Cipher Text

AddRoundKey

AddRoundKey

InvShiftRows

InvSubBytes

AddRoundKey

InvMixColumns

InvShiftRows

InvSubBytes

Plain Text

Nr-1

S0,0

S1,0

S2,0

S3,0

S0,1

S1,1

S2,1

S3,1

S0,2

S1,2

S2,2

S3,2

S0,3

S1,3

S2,3

S3,3

S’0,0

S’1,0

S’2,0

S’3,0

S’0,1

S’1,1

S’2,1

S’3,1

S’0,2

S’1,2

S’2,2

S’3,2

S’0,3

S’1,3

S’2,3

S’3,3

Src

S’rc

Inv S- BOX

S0,0

S1,0

S2,0

S3,0

S0,1

S1,1

S2,1

S3,1

S0,2

S1,2

S2,2

S3,2

S0,3

S1,3

S2,3

S3,3

S’0,0

S’1,3

S’2,2

S’3,1

S’0,1

S’1,0

S’2,3

S’3,2

S’0,2

S’1,1

S’2,0

S’3,3

S’0,3

S’1,2

S’2,1

S’3,0

S0,0

S1,0

S2,0

S3,0

S0,1

S1,1

S2,1

S3,1

S0,2

S1,2

S2,2

S3,2

S0,3

S1,3

S2,3

S3,3

S0,c

S1,c

S2,c

S3,c

S’0,0

S’1,0

S’2,0

S’3,0

S’0,2

S’1,2

S’2,2

S’3,2

S’0,3

S’1,3

S’2,3

S’3,3

S’0,1

S’1,1

S’2,1

S’3,1

S’0,c

S’1,c

S’2,c

S’3,c

EDB

BED

DBE

DBE

00900

00090

00009

09000

S0,0

S1,0

S2,0

S3,0

S0,1

S1,1

S2,1

S3,1

S0,2

S1,2

S2,2

S3,2

S0,3

S1,3

S2,3

S3,3

S’0,0

S’1,0

S’2,0

S’3,0

S’0,1

S’1,1

S’2,1

S’3,1

S’0,2

S’1,2

S’2,2

S’3,2

S’0,3

S’1,3

S’2,3

S’3,3

W1,0

W0,0

W2,0

W3,0

W0,1

W1,1

W2,1

W3,1

W0,2

W1,2

W2,2

W3,2

W0,3

W1,3

W2,3

W3,3

Gambar 2.7 Diagram Alur Proses Dekripsi AES

(Sujrajat, J , 2011)

2.3 File Audio

Menurut (Rasyid F. M, 2007) Audio, atau suara, merupakan gelombang yang merambat

melalui medium tertentu. Perambatan tersebut tiba di telinga sehingga kita dapat mendengar.

Beberapa contoh format file audio adalah MP3, WMA, WAV dan AAC.

Universitas Sumatera Utara

Page 30: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

17

2.3.1 Interfensi Audio

Interferensi merupakan fenomena yang terjadi ketika dua atau lebih gelombang bertemu

ketika melintasi medium yang sama. Interferensi menyebabkan terbentuknya gelombang

yang merupakan hasil dari perpaduan dua atau lebih gelombang tersebut. Apabila dua

gelombang yang bertemu memiliki bentuk yang sama, maka interferensi yang dihasilkan

bersifat konstruktif. Sebaliknya, apabila dua gelombang yang bertemu memiliki bentuk yang

berkebalikan, maka interferensi yang dihasilkan bersifat destruktif.

2.3.2 Audio Digital

Audio digital merupakan representasi audio yang disimpan dalam komputer secara biner

(terdiri dari 0 dan 1). Apabila direpresentasikan dalam bentuk gelombang, audio digital

memiliki sejumlah hingga nilai tekanan dan titik waktu.

Universitas Sumatera Utara

Page 31: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Analisis sistem terdiri dari fase-fase berbeda yang mendeskripsikan pengembangan sistem.

Dalam tugas akhir ini, ada tiga fase analisis yaitu: analisis masalah, analisis kebutuhan dan

analisis proses. Analisis masalah bertujuan untuk memahami kelayakan masalah. Analisis

kebutuhan dilakukan untuk menjelaskan fungsi-fungsi yang ditawarkan dan mampu

dikerjakan sistem. Sedangkan analisis proses untuk memodelkan tingkah laku sistem.

3.1. Analisis Masalah

Dalam merancang suatu sistem diperlukan analisis terhadap sistem yang akan dirancang

terlebih dahulu. Tujuan dari analisis ini sendiri adalah agar sistem yang dirancang menjadi

tepat guna dan ketahanan dari sistem tersebut akan lebih terjaga. Di samping itu dengan

dilakukannya analisis kita akan dapat mempermudah kerja kita dalam membuat sistem, dan

jika suatu saat nanti ada perbaikan atau penambahan dalam sistem tersebut, maka akan

mudah untuk diselesaikan.

Untuk dapat mengurangi ancaman yang dapat terjadi dalam pertukaran informasi yang

bersifat rahasia dalam sebuah proses komunikasi data dapat dilakukan dengan cara

melakukan pengkodean terhadap informasi yang akan disimpan atau dikirim.

Gambar 3.1. merupakan diagram Ishikawa yang dapat digunakan untuk menganalisis

masalah. Bagian kepala atau segiempat yang berada di sebelah kanan merupakan masalah.

Sementara di pada bagian tulang merupakan penyebab.

Universitas Sumatera Utara

Page 32: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

19

Gambar 3.1 Diagram Ishikawa

Sistem yang akan dibangun menggunakan PHP yang memudahkan para pengguna untuk

melakukan proses pengamanan file audio.

3.2. Analisis Kebutuhan Sistem

Analisis kebutuhan sistem bertujuan untuk memahami kebutuhan dari sistem baru.

Kebutuhan sistem terbagi ke dalam dua jenis yaitu kebutuhan fungsional yang menjelaskan

seluruh aktifitas yang disediakan sistem dan kebutuhan nonfungsional yang menjelaskan

fitur-fitur, karakteristik dan batasan lainnya (optional).

3.2.1. Kebutuhan fungsional

Kebutuhan fungsional adalah fungsi-fungsi yang harus dipenuhi pada aplikasi yang

dirancang. Kebutuhan fungsional yang harus dipenuhi aplikasi yang dirancang adalah sebagai

berikut:

a. Sistem harus mampu membaca String yang berada dalam file audio dan

mengkonversinya ke dalam bentuk binary.

Universitas Sumatera Utara

Page 33: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

20

b. Sistem harus mampu melakukan enkripsi dengan menggunakan AES Rijndael setiap

karakter binary yang telah dibaca sehingga menghasilkan ciphertext yang disimpan

dalam bentuk format file audio.

c. Sistem Harus mampu melakukan dekripsi kembali Cipher Text yang tersimpan dalam

file audio dengan menggunakan Rijndael sehingga menghasilkan file audio aslinya

3.2.2. Kebutuhan nonfungsional

Kebutuhan nonfungsional mencakup karakteristik-karakteristik sebagai berikut:

1. Performa

Sistem yang akan dibangun dapat menunjukkan hasil dari fungsi kriptografi yang

dilakukan oleh sistem.

2. Efisiensi

Sistem yang akan dibangun harus sesederhana mungkin agar mudah digunakan oleh

pengguna, responsif.

3. Ekonomi

Sistem yang akan dibangun harus dapat bekerja dengan baik tanpa harus

mengeluarkan biaya tambahan dalam penggunaan perangkat keras maupun perangkat

lunak.

4. Dokumentasi

Sistem yang akan dibangun dapat menyimpan data hasil proses enkripsi dan dekripsi.

5. Manajemen kualitas

Sistem yang dibangun harus memiliki kualitas yang baik yaitu proses pembangkitan

kunci yang cepat dan proses enkripsi dan dekripsi yang akurat.

6. Kontrol

Sistem yang dibangun akan menampilkan pesan error untuk setiap input yang tidak

sesuai.

3.3. Pemodelan Sistem

Pemodelan sistem yang dirancang bertujuan menggambarkan peran user terhadap sistem

yang dibuat. Pemodelan sistem yang digunakan dalam perancangan sistem, yaitu use-case

diagram, activity diagram, dan squence diagram.

Universitas Sumatera Utara

Page 34: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

21

3.3.1. Use-Case Diagram

Use-case Diagram adalah gambaran skenario penggunaan aplikasi sistem tentang

bagaimana cara sistem bekerja dengan user. Use-case Diagram membutuhkan

identifikasi siapakah pengguna yang akan menggunakan sistem tersebut. Pengguna

tersebut dinamakan actor. Actor berperan untuk melakukan komunikasi dengan sistem.

Hubungan antar actor dengan use-case dihubungkan dengan garis lurus.

Gambar 3.2 Diagram Use-Case

Pada gambar 3.2 menjelaskan peran aktor terhadap sistem yaitu dapat mengenkripsi serta

mendekripsi file audio, dan system akan menghasilkan output berupa file audio yang

terenkripsi maupun terdekripsi ke bentuk semula file audio.

Berikut ini merupakan tabel narrative use-case yang dapat dilihat pada tabel 3.1, tabel 3.2,

tabel 3.4 dan tabel 3.5

Universitas Sumatera Utara

Page 35: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

22

Tabel 3.1 Narative use-case Enkripsi Audio

Use Case Name Enkripsi File Audio

Design Scope Sistem (Black Box)

Stakeholder and Interest Actor dapat melakukan enkripsi pada file audio

Precondition Actor menginputkan kunci 128 bit dan memilih file yang akan

dienkripsi

Minimal Guarantee Sistem memberikan pesan error jika panjang kunci tidak 128 bit

Success Guarantee Sistem Menampilkan File yang telah dienkripsi

Triger Actor Menekan tombol Submit(Enkripsi)

Main Success Scenario 1. Actor Menginput kunci 128 bit

2. Actor memilih file audio

3. Actor Menekan tombol Submit

Tabel 3.2 Narative use-case Download Audio Terenkripsi

Use Case Name Download Audio Terenkripsi

Design Scope Sistem (Black Box)

Stakeholder and Interest Actor dapat download audio yang telah di enkripsi

Precondition Actor melakukan enkripsi dengan submit file

Success Guarantee Browser mendownload file

Triger Actor Menekan tombol Download

Main Success Scenario 1. Actor Menekan tombol download

2. File terdownload

Universitas Sumatera Utara

Page 36: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

23

Tabel 3.3 Narative use-case Enkripsi Audio

Use Case Name Dekripsi File Audio

Design Scope Sistem (Black Box)

Stakeholder and Interest Actor dapat melakukan dekripsi pada file audio

Precondition Actor menginputkan kunci 128 bit dan memilih file yang akan

didekripsi

Minimal Guarantee Sistem memberikan pesan error jika panjang kunci tidak 128 bit

Success Guarantee Sistem Menampilkan File yang telah didekripsi

Triger Actor Menekan tombol Submit(Dekripsi)

Main Success Scenario 1. Actor Menginput kunci 128 bit

2. Actor memilih Cipher Audio

3. Actor Menekan tombol Submit

Tabel 3.4 Narative use-case Download Audio Terdekripsi

Use Case Name Download Audio Terdekripsi

Design Scope Sistem (Black Box)

Stakeholder and Interest Actor dapat download audio yang telah di dekripsi

Precondition Actor melakukan dekripsi dengan submit file

Success Guarantee Browser mendownload file

Triger Actor Menekan tombol Download

Main Success Scenario 1. Actor Menekan tombol download

2. File terdownload

3.3.2. Activity Diagram

Activity Diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang

dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan

bagaimana mereka berakhir. Pada gambar 3.3 dan gambar 3.4 menjelaskan rancangan

aktivitas user dan respon sistem pada proses enkripsi dan dekripsi.

Universitas Sumatera Utara

Page 37: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

24

Gambar 3.3 Activity Diagram Enkripsi

Universitas Sumatera Utara

Page 38: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

25

Gambar 3.4 Activity Diagram Dekripsi

3.3.3. Squence Diagram

Sequence Diagram (diagram urutan) adalah suatu Diagram yang memperlihatkan atau

menampilkan interaksi-interaksi antar objek di dalam sistem yang disusun pada sebuah

urutan atau rangkaian waktu. Pada Gambar 3.5 dan Gambar 3.6 menggambarkan perilaku

aktor terhadap sistem untuk mengenkripsi dan dekripsi file audio.

Universitas Sumatera Utara

Page 39: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

26

Gambar 3.5 Sequence Diagram Enkripsi

Gambar 3.6 Sequence Diagram Dekripsi

Universitas Sumatera Utara

Page 40: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

27

3.4. Perancangan Sistem

Flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus pekerjaan secara

keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan dari prosedur-prosedur dan

proses prancangan sistem. Selain itu, flowchart juga memiliki fungsi memudahkan proses

pengecekan terhadap sistem yang akan dibuat. Berikut merupakan flowchart dari sistem yang

dibangun. Gambar 3.7 dan 3.8 dibawah ini menampilkan flowchart Enkripsi dan Dekripsi

dari Sistem.

Gambar 3.7 Flowchart Umum Enkripsi

Universitas Sumatera Utara

Page 41: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

28

Gambar 3.8 Flowchart Umum Dekripsi

Pada Gambar 3.9 dan 3.10 dibawah ini menampilkan flowchart Enkripsi dan Dekripsi dari

Algoritma Advanced Encryption Standart (AES) Rijndael dengan panjang kunci 128 bit.

Gambar 3.9 Flowchart Enkripsi AES Rijndael kunci 128 bit

Universitas Sumatera Utara

Page 42: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

29

Gambar 3.10 Flowchart Dekripsi AES Rijndael kunci 128 bit

3.5. PseudoCode System

Pseudocode merupakan pendeskripsian dari algoritma pemrograman komputer yang

menggunakan struktur sederhana dari bahasa pemrograman yang digunakan dan dapat

dimengerti. Berikut merupakan pseudocode dari sistem enkripsi AES Rijndael yang akan

digunakan.

function EncryptAES(key,EncryptedContent) {

nBlock=4;

nKey=length(key)/4;

nRound=nKey+nBlock+2;

s=array(array());

if (nKey!=4 AND nKey!= 6 AND nKey!=8) {

return false;

}

KeyExpansion();

xContent=EncodeToBinary(EncryptedContent);

xSize=length(xContent);

Universitas Sumatera Utara

Page 43: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

30

For (i=0;i<xSize;i+=16) {

For (j=0;j<16;j++) {

if ((i+j) < xSize)

t[j]= xContent[i+j]

}

For (k=0;k<nRound; k++) {

AddRoundKey();

SubBytes();

MixColumns();

AddRoundKey();

}

SubBytes();

ShiftRows();

AddRoundKey();

For (l=0; l<(4*nBlock);l++) {

Cipher=s[l mod 4][l- (l mod nBlock) / nBlock]

Return Cipher;

}

}

}

3.6. Perancangan Antarmuka (Interface)

Perancangan Antarmuka (Interface) merupakan sarana interaksi antara pengguna dan sistem.

Hal ini berfungsi untuk memudahkan pengguna dalam melakukan proses sistem

3.6.1. Rancangan Halaman Utama

Rancangan antarmuka halaman Utama untuk mengenkripsi dan dekripsi file audio seperti

pada gambar 3.11 serta keterangan komponen pada halaman Utama dapat dilihat pada tabel

3.2.

Universitas Sumatera Utara

Page 44: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

31

Gambar 3.11 Rancangan Halaman Utama

Tabel 3.5 Komponen-Komponen pada Halaman Utama

No Jenis Komponen Keterangan

1 Logo (Label) Logo dan Label pada halaman

2 Tab (Button) Tab untuk memilih aksi yang akan dilakukan

(Enkripsi/Dekripsi)

3 Form Input Teks (Input) Form Input untuk memasukkan key yang akan

digunakan

4 Form Input File (Input) Form Input untuk memilih file yang akan di eksekusi

5 Tombol Submit (Button) Tombol untuk mengeksekusi form

Universitas Sumatera Utara

Page 45: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

32

3.6.2. Rancangan Halaman Output

Rancangan antarmuka halaman Output seperti pada gambar 3.12 serta keterangan komponen

pada halaman informasi objek dapat dilihat pada tabel 3.2

Gambar 3.12 Rancangan Halaman Output

Tabel 3.2 Komponen-Komponen pada Halaman Output

No Jenis Komponen Keterangan

1 Logo (Label) Logo dan Label pada halaman

2 Audio Player Audio Player untuk memutar file audio yang telah

didekripsi

3 Download Button (Button) Button untuk download file terenkrips/terdekripsi

Universitas Sumatera Utara

Page 46: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

33

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi Sistem

Tahap implementasi sistem menggunakan XAMPP sebagai localhost dengan bahasa

pemrograman PHP.

4.1.1. Halaman Utama

Halaman Utama untuk mengenkripsi dan dekripsi file audio seperti pada gambar 3.7 .

Didalamnya terdapat 2 Tab untuk Enkripsi dan Dekripsi File, dimana pada masing-masing

tab terdapat kolom input Key dan Browse File.

Gambar 4.1 Halaman Utama Aplikasi

4.2. Pengujian Sistem

Pengujian sistem berguna untuk mendapatkan hasil yang baik dan melakukan perbaikan pada

rancangan sistem yang telah dibuat apabila ada kekurangan.

Universitas Sumatera Utara

Page 47: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

34

4.2.1. Pengujian Proses Enkripsi

Melalui halaman utama aplikasi, Lakukan enkripsi dengan cara memilih tab Enkripsi,

dilanjutkan dengan memasukkan key 128 bit pada kolom Input Key dan pilih file Audio yang

akan dienkripsi melalui kolom Browse Audio File, kemudian Submit tombol Enkripsi.

Apabila Format Key telah benar sebesar 128bit maka Setelah Proses enkripsi selesai, sistem

akan mengeluarkan file Audio yang telah di enkripsi dan langsung didownload oleh browser.

Seperti yang tertera pada gambar 4.2..

Gambar 4.2 Proses Enkripsi Selesai dan Cipher Audio Berhasil di Download

4.2.2. Pengujian Proses Dekripsi

Melalui halaman utama aplikasi, Lakukan Dekripsi dengan cara memilih tab Dekripsi,

dilanjutkan dengan memasukkan kunci 128 bit yang sama dengan kunci saat melakukan

Enkripsi pada kolom Input Key dan pilih file Audio yang akan didekripsi melalui kolom

Browse Cipher Audio, kemudian Submit tombol Dekripsi.

Universitas Sumatera Utara

Page 48: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

35

Apabila Format Key telah benar sebesar 128bit dan sama dengan kunci yang dimasukkan

pada saat enkripsi maka Setelah Proses enkripsi selesai, sistem akan mengeluarkan file Audio

aslinya dan langsung didownload oleh browser. Seperti yang tertera pada gambar 4.3.

Gambar 4.3 Proses Dekripsi Selesai dan File Audio Berhasil di Download

4.2.3. Hasil Pengujian

Hasil pengujian yang didapatkan melalui penelitian ini berupa hasil dari proses enkripsi dan

proses dekripsi.:

-Uji Coba File Size 184kb

Gambar 4.4 menunjukan susunan plaint-text dari file audio asli yang belum di enkripsi. File

Tersebut berjumlah 376.210 karakter dengan size sebesar 184kb

Universitas Sumatera Utara

Page 49: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

36

Gambar 4.4 Plain-text File Audio uji 1

Gambar 4.5 merupakan Cipher-Text hasil Enkripsi dari File Audio .yang di enkripsi melalui

aplikasi. Setelah di Enkripsi jumlah karakter menjadi 501.632 dengan size sebesar 245kb

Gambar 4.5 Cipher-text File Audio uji 1

Universitas Sumatera Utara

Page 50: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

37

Gambar 4.6 merupakan Plain-Text hasil Dekripsi dari Cipher Audio .yang di dekripsi melalui

aplikasi. Setelah di Dekripsi jumlah karakter dan size file audio sama dengan ukuran dan

karakter seperti sebelum di enkripsi, yaitu berjumlah 376.210 karakter dengan size sebesar

184kb

Gambar 4.6 Plain-text File Audio yang telah di dekripsi uji 1

-Uji Coba File Size 580kb

Gambar 4.7 menunjukan susunan plaint-text dari file audio asli yang belum di enkripsi. File

Tersebut berjumlah 1.260.856 karakter dengan size sebesar 580kb

Universitas Sumatera Utara

Page 51: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

38

Gambar 4.7 Plaint-text File Audio uji 2

Gambar 4.8 merupakan Cipher-Text hasil Enkripsi dari File Audio .yang di enkripsi melalui

aplikasi. Setelah di Enkripsi jumlah karakter menjadi 1.681.130 dengan size sebesar 773kb

Gambar 4.8 Cipher-text File Audio uji 2

Gambar 4.9 merupakan Plain-Text hasil Dekripsi dari Cipher Audio .yang di dekripsi melalui

aplikasi. Setelah di Dekripsi jumlah karakter dan size file audio sama dengan ukuran dan

Universitas Sumatera Utara

Page 52: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

39

karakter seperti sebelum di enkripsi, yaitu berjumlah 1.260.856 karakter dengan size sebesar

580kb

Gambar 4.9 Plain-text File Audio yang telah di dekripsi uji 2

-Uji Coba File Size 923kb

Gambar 4.10 menunjukan susunan plaint-text dari file audio asli yang belum di enkripsi. File

Tersebut berjumlah 1.888.548 karakter dengan size sebesar 923kb

Universitas Sumatera Utara

Page 53: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

40

Gambar 4.10 Plaint-text File Audio uji 3

Gambar 4.11 merupakan Cipher-Text hasil Enkripsi dari File Audio .yang di enkripsi melalui

aplikasi. Setelah di Enkripsi jumlah karakter menjadi 2.518.080 dengan size sebesar 1.2mb

Gambar 4.11 Cipher-text File Audio uji 3

Gambar 4.12 merupakan Plain-Text hasil Dekripsi dari Cipher Audio .yang di dekripsi

melalui aplikasi. Setelah di Dekripsi jumlah karakter dan size file audio sama dengan ukuran

Universitas Sumatera Utara

Page 54: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

41

dan karakter seperti sebelum di enkripsi, yaitu berjumlah 1.888.548 karakter dengan size

sebesar 923kb

Gambar 4.12 Plain-text File Audio yang telah di dekripsi uji3

-Uji Coba File Size 1.8Mb

Gambar 4.13 menunjukan susunan plaint-text dari file audio asli yang belum di enkripsi. File

Tersebut berjumlah 3.976.980 karakter dengan size sebesar 1.8mb

Universitas Sumatera Utara

Page 55: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

42

Gambar 4.13 Plaint-text File Audio uji 4

Gambar 4.14 merupakan Cipher-Text hasil Enkripsi dari File Audio .yang di enkripsi melalui

aplikasi. Setelah di Enkripsi jumlah karakter menjadi 5.302.640 dengan size sebesar 2.4mb

Gambar 4.14 Cipher-text File Audio uji 4

Gambar 4.15 merupakan Plain-Text hasil Dekripsi dari Cipher Audio .yang di dekripsi

melalui aplikasi. Setelah di Dekripsi jumlah karakter dan size file audio sama dengan ukuran

Universitas Sumatera Utara

Page 56: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

43

dan karakter seperti sebelum di enkripsi, yaitu berjumlah 3.976.980 karakter dengan size

sebesar 1.8mb

Gambar 4.15 Plain-text File Audio yang telah di dekripsi uji 4

Dari uji coba yang telah dilakukan di atas diperoleh hasil berupa grafik perbandingan ukuran

file sebelum di enkripsi dan sesudah di enkripsi seperti pada Gambar 4.16 berikut:.

Universitas Sumatera Utara

Page 57: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

44

0

500

1000

1500

2000

2500

3000

3500

4000

4500

Uji coba 1 Uji coba 2 Uji coba 3 Uji coba 4

Grafik Ukuran File

Plain-text Cipher-text

Gambar 4.16. Grafik Ukuran File

Pada Gambar 4.17 menunjukan perbandingan jumlah karakter sebelum dilakukan enkripsi

dan sesudah dienkripsi

Universitas Sumatera Utara

Page 58: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

45

0

1000000

2000000

3000000

4000000

5000000

6000000

7000000

8000000

9000000

10000000

Uji coba 1 Uji coba 2 Uji coba 3 Uji coba 4

Grafik Jumlah Karakter

Plain-text Cipher-text

Gambar 4.17. Grafik Jumlah Karakter

Universitas Sumatera Utara

Page 59: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

BAB V

KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari seluruh bab sebelumnya serta saran yang diharapkan dapat

bermanfaat dalam proses pengembangan penelitian selanjutnya.

5.1. Kesimpulan

Berdasarkan hasil studi literatur, analisis, perancangan, implementasi, dan pengujian sistem

ini, maka kesimpulan yang didapat adalah sebagai berikut:

1. Aplikasi yang dirancang dalam penelitian telah mampu melakukan proses penyandian

file Audio dengan Algoritma Advanced Encryption Standart Rijndael

2. File Audio yang di enkripsi menjadi cipher-text memiliki karakter yang lebih banyak

dibandingkan dengan file audio sebelum dilakukan proses enkripsi

3. File Hasil dekripsi sama persis seperti seperti file awal sebelum dilakukan proses

enkripsi.

4. Waktu proses enkripsi dan dekripsi tergantung dari besarnya ukuran file yang di input

5.2. Saran

Adapun saran-saran yang dapat diberikan penulis untuk pengembangan dan perbaikan sistem

ini selanjutnya diharapkan pada penelitian selanjutnya untuk melakukan proses enkripsi dan

dekripsi pada file Video.

Universitas Sumatera Utara

Page 60: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

i

DAFTAR PUSTAKA

Dewi, N.K, 2013. Implementasi Algoritma Rc6 untuk Proteksi File MP3, S(1) Ilmu

Komputer . Skripsi. Universitas Brawijaya.

Yanti, N.P, 2016. Implementasi Algoritma Advanced Encryption Standard (AES) untuk

Mengamankan File Gambar. S(1) Ilmu Komputer. Skripsi. Universitas Sumatera

Utara

Widiartha, I.M, dkk. 2012. Enkripsi dan Dekripsi Audio Format Amr Dengan Algoritma

Kriptografi Loki97, S(1) Ilmu Komputer. Skripsi. Universitas Udayana.

Maghrib, R.M, dkk 2013. Implementasi Steganografi menggunakan metode Least Significant

Bit dalam pengamanan data pada File Audio Mp3, S(1) Teknologi Informasi.Skripsi.

Universitas Islam Negeri Malang.

Rosyadi, A, dkk 2011. Implementasi Algoritma Kriptografi AES untuk enkripsi dan Dekripsi

Email, Makalah seminar tugas akhir. Universitas Diponegoro

David, D. 2006. Kriptografi Kunci Simetris Dengan Menggunakan Algoritma Crypton .

Makalah Seminar Tugas Akhir. STMIK MDP Palembang

Sujrajat, J, dkk 2006. Implementasi Kriptografi untuk keamanan data dengan menggunakan

metode Advanced Encryption Standart (AES) 128, Makalah Seminar Tugas Akhir.

Universitas Komputer Indonesia.

Surian, D, 2006. Algoritma Kriptografi Aes Rijndael. Jurnal Teknik Elektro

Rasyid F, M. 2007. Kriptografi Audio Dengan Teknik Interferensi Data Non Biner.

Universitas Sumatera Utara

Page 61: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

ii

LISTING PROGRAM

AESclass()

<?php

class AES {

var $Nb;

var $Nk;

var $Nr;

var $sBox = array(

0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5,

0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,

0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0,

0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,

0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc,

0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,

0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a,

0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75,

0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0,

0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,

0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b,

0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,

0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85,

0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8,

0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5,

0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2,

0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17,

0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,

0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88,

0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,

0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c,

0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79,

0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9,

0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,

0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6,

0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a,

0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e,

0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e,

0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94,

0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,

0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68,

0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16

);

var $invSBox = array(

0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38,

Universitas Sumatera Utara

Page 62: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

iii

0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb,

0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87,

0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb,

0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d,

0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e,

0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2,

0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25,

0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16,

0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92,

0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda,

0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84,

0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a,

0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06,

0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02,

0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b,

0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea,

0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73,

0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85,

0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e,

0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89,

0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b,

0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20,

0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4,

0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31,

0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f,

0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d,

0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef,

0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0,

0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61,

0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26,

0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d

);

var $ltable = array(

0x00, 0xff, 0xc8, 0x08, 0x91, 0x10, 0xd0, 0x36,

0x5a, 0x3e, 0xd8, 0x43, 0x99, 0x77, 0xfe, 0x18,

0x23, 0x20, 0x07, 0x70, 0xa1, 0x6c, 0x0c, 0x7f,

0x62, 0x8b, 0x40, 0x46, 0xc7, 0x4b, 0xe0, 0x0e,

0xeb, 0x16, 0xe8, 0xad, 0xcf, 0xcd, 0x39, 0x53,

0x6a, 0x27, 0x35, 0x93, 0xd4, 0x4e, 0x48, 0xc3,

0x2b, 0x79, 0x54, 0x28, 0x09, 0x78, 0x0f, 0x21,

0x90, 0x87, 0x14, 0x2a, 0xa9, 0x9c, 0xd6, 0x74,

0xb4, 0x7c, 0xde, 0xed, 0xb1, 0x86, 0x76, 0xa4,

0x98, 0xe2, 0x96, 0x8f, 0x02, 0x32, 0x1c, 0xc1,

0x33, 0xee, 0xef, 0x81, 0xfd, 0x30, 0x5c, 0x13,

0x9d, 0x29, 0x17, 0xc4, 0x11, 0x44, 0x8c, 0x80,

0xf3, 0x73, 0x42, 0x1e, 0x1d, 0xb5, 0xf0, 0x12,

0xd1, 0x5b, 0x41, 0xa2, 0xd7, 0x2c, 0xe9, 0xd5,

0x59, 0xcb, 0x50, 0xa8, 0xdc, 0xfc, 0xf2, 0x56,

0x72, 0xa6, 0x65, 0x2f, 0x9f, 0x9b, 0x3d, 0xba,

0x7d, 0xc2, 0x45, 0x82, 0xa7, 0x57, 0xb6, 0xa3,

0x7a, 0x75, 0x4f, 0xae, 0x3f, 0x37, 0x6d, 0x47,

0x61, 0xbe, 0xab, 0xd3, 0x5f, 0xb0, 0x58, 0xaf,

Universitas Sumatera Utara

Page 63: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

iv

0xca, 0x5e, 0xfa, 0x85, 0xe4, 0x4d, 0x8a, 0x05,

0xfb, 0x60, 0xb7, 0x7b, 0xb8, 0x26, 0x4a, 0x67,

0xc6, 0x1a, 0xf8, 0x69, 0x25, 0xb3, 0xdb, 0xbd,

0x66, 0xdd, 0xf1, 0xd2, 0xdf, 0x03, 0x8d, 0x34,

0xd9, 0x92, 0x0d, 0x63, 0x55, 0xaa, 0x49, 0xec,

0xbc, 0x95, 0x3c, 0x84, 0x0b, 0xf5, 0xe6, 0xe7,

0xe5, 0xac, 0x7e, 0x6e, 0xb9, 0xf9, 0xda, 0x8e,

0x9a, 0xc9, 0x24, 0xe1, 0x0a, 0x15, 0x6b, 0x3a,

0xa0, 0x51, 0xf4, 0xea, 0xb2, 0x97, 0x9e, 0x5d,

0x22, 0x88, 0x94, 0xce, 0x19, 0x01, 0x71, 0x4c,

0xa5, 0xe3, 0xc5, 0x31, 0xbb, 0xcc, 0x1f, 0x2d,

0x3b, 0x52, 0x6f, 0xf6, 0x2e, 0x89, 0xf7, 0xc0,

0x68, 0x1b, 0x64, 0x04, 0x06, 0xbf, 0x83, 0x38

);

var $atable = array(

0x01, 0xe5, 0x4c, 0xb5, 0xfb, 0x9f, 0xfc, 0x12,

0x03, 0x34, 0xd4, 0xc4, 0x16, 0xba, 0x1f, 0x36,

0x05, 0x5c, 0x67, 0x57, 0x3a, 0xd5, 0x21, 0x5a,

0x0f, 0xe4, 0xa9, 0xf9, 0x4e, 0x64, 0x63, 0xee,

0x11, 0x37, 0xe0, 0x10, 0xd2, 0xac, 0xa5, 0x29,

0x33, 0x59, 0x3b, 0x30, 0x6d, 0xef, 0xf4, 0x7b,

0x55, 0xeb, 0x4d, 0x50, 0xb7, 0x2a, 0x07, 0x8d,

0xff, 0x26, 0xd7, 0xf0, 0xc2, 0x7e, 0x09, 0x8c,

0x1a, 0x6a, 0x62, 0x0b, 0x5d, 0x82, 0x1b, 0x8f,

0x2e, 0xbe, 0xa6, 0x1d, 0xe7, 0x9d, 0x2d, 0x8a,

0x72, 0xd9, 0xf1, 0x27, 0x32, 0xbc, 0x77, 0x85,

0x96, 0x70, 0x08, 0x69, 0x56, 0xdf, 0x99, 0x94,

0xa1, 0x90, 0x18, 0xbb, 0xfa, 0x7a, 0xb0, 0xa7,

0xf8, 0xab, 0x28, 0xd6, 0x15, 0x8e, 0xcb, 0xf2,

0x13, 0xe6, 0x78, 0x61, 0x3f, 0x89, 0x46, 0x0d,

0x35, 0x31, 0x88, 0xa3, 0x41, 0x80, 0xca, 0x17,

0x5f, 0x53, 0x83, 0xfe, 0xc3, 0x9b, 0x45, 0x39,

0xe1, 0xf5, 0x9e, 0x19, 0x5e, 0xb6, 0xcf, 0x4b,

0x38, 0x04, 0xb9, 0x2b, 0xe2, 0xc1, 0x4a, 0xdd,

0x48, 0x0c, 0xd0, 0x7d, 0x3d, 0x58, 0xde, 0x7c,

0xd8, 0x14, 0x6b, 0x87, 0x47, 0xe8, 0x79, 0x84,

0x73, 0x3c, 0xbd, 0x92, 0xc9, 0x23, 0x8b, 0x97,

0x95, 0x44, 0xdc, 0xad, 0x40, 0x65, 0x86, 0xa2,

0xa4, 0xcc, 0x7f, 0xec, 0xc0, 0xaf, 0x91, 0xfd,

0xf7, 0x4f, 0x81, 0x2f, 0x5b, 0xea, 0xa8, 0x1c,

0x02, 0xd1, 0x98, 0x71, 0xed, 0x25, 0xe3, 0x24,

0x06, 0x68, 0xb3, 0x93, 0x2c, 0x6f, 0x3e, 0x6c,

0x0a, 0xb8, 0xce, 0xae, 0x74, 0xb1, 0x42, 0xb4,

0x1e, 0xd3, 0x49, 0xe9, 0x9c, 0xc8, 0xc6, 0xc7,

0x22, 0x6e, 0xdb, 0x20, 0xbf, 0x43, 0x51, 0x52,

0x66, 0xb2, 0x76, 0x60, 0xda, 0xc5, 0xf3, 0xf6,

0xaa, 0xcd, 0x9a, 0xa0, 0x75, 0x54, 0x0e, 0x01

);

var $w;

var $s;

var $keyLength;

Universitas Sumatera Utara

Page 64: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

v

function AES($z) {

$this->Nb = 4;

$this->Nk = strlen($z)/4;

$this->Nr = $this->Nk + $this->Nb + 2;

if ($this->Nk != 4 && $this->Nk != 6 && $this->Nk != 8)

die("Key is " . ($this->Nk*32) . " bits long. *not*

128, 192, or 256.");

$this->Nr = $this->Nk+$this->Nb+2;

$this->w = array();

$this->s = array(array());

$this->KeyExpansion($z);

}

function encrypt($x) {

$t = "";

$y = "";

$xsize = strlen($x);

for ($i=0; $i<$xsize; $i+=16) {

for ($j=0; $j<16; $j++) {

if (($i+$j)<$xsize) {

$t[$j] = $x[$i+$j];

}

else

$t[$j] = chr(0);

}

$y .= $this->encryptBlock($t);

}

return $y;

}

function decrypt($y) {

$t = "";

$x = "";

// put a 16-byte block into t

$ysize = strlen($y);

for ($i=0; $i<$ysize; $i+=16) {

for ($j=0; $j<16; $j++) {

if (($i+$j)<$ysize)

$t[$j] = $y[$i+$j];

else

$t[$j] = chr(0);

}

$x .= $this->decryptBlock($t);

}

return $x;

}

Universitas Sumatera Utara

Page 65: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

vi

function encryptBlock($x) {

$y = "";

for ($i=0; $i<4*$this->Nb; $i++) {

$this->s[$i%4][($i-$i%$this->Nb)/$this->Nb] =

ord($x[$i]);

}

$this->addRoundKey(0);

for ($i=1; $i<$this->Nr; $i++) {

$this->subBytes();

$this->shiftRows();

$this->mixColumns();

$this->addRoundKey($i);

}

$this->subBytes();

$this->shiftRows();

$this->addRoundKey($i);

for ($i=0; $i<4*$this->Nb; $i++)

$y .= chr($this->s[$i%4][($i-$i%$this->Nb)/$this-

>Nb]);

return $y;

}

function decryptBlock($y) {

$x = "";

for ($i=0; $i<4*$this->Nb; $i++)

$this->s[$i%4][($i-$i%$this->Nb)/$this->Nb] =

ord($y[$i]);

$this->addRoundKey($this->Nr);

for ($i=$this->Nr-1; $i>0; $i--) {

$this->invShiftRows();

$this->invSubBytes();

$this->addRoundKey($i);

$this->invMixColumns();

}

$this->invShiftRows();

$this->invSubBytes();

$this->addRoundKey($i);

for ($i=0; $i<4*$this->Nb; $i++) {

$x .= ($this->s[$i%4][($i-$i%$this->Nb)/$this->Nb]

== chr(0) ? "" : chr($this->s[$i%4][($i-$i%$this->Nb)/$this->Nb]));

}

return $x;

Universitas Sumatera Utara

Page 66: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

vii

}

function __destruct() {

unset($this->w);

unset($this->s);

}

function KeyExpansion($z) {

static $Rcon = array(

0x00000000,

0x01000000,

0x02000000,

0x04000000,

0x08000000,

0x10000000,

0x20000000,

0x40000000,

0x80000000,

0x1b000000,

0x36000000,

0x6c000000,

0xd8000000,

0xab000000,

0x4d000000,

0x9a000000,

0x2f000000

);

$temp = 0;

for ($i=0; $i<$this->Nk; $i++) {

$this->w[$i] = 0;

$this->w[$i] = ord($z[4*$i]);

$this->w[$i] <<= 8;

$this->w[$i] += ord($z[4*$i+1]);

$this->w[$i] <<= 8;

$this->w[$i] += ord($z[4*$i+2]);

$this->w[$i] <<= 8;

$this->w[$i] += ord($z[4*$i+3]);

}

for (; $i<$this->Nb*($this->Nr+1); $i++) {

$temp = $this->w[$i-1];

if ($i%$this->Nk == 0)

$temp = $this->subWord($this-

>rotWord($temp)) ^ $Rcon[$i/$this->Nk];

else if ($this->Nk > 6 && $i%$this->Nk == 4)

$temp = $this->subWord($temp);

$this->w[$i] = $this->w[$i-$this->Nk] ^ $temp;

$this->make32BitWord($this->w[$i]);

}

}

Universitas Sumatera Utara

Page 67: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

viii

function addRoundKey($round) {

$temp = "";

for ($i=0; $i<4; $i++) {

for ($j=0; $j<$this->Nb; $j++) {

$temp = $this->w[$round*$this->Nb+$j] >>

(3-$i)*8;

$temp %= 256;

$temp = ($temp < 0 ? (256 + $temp) :

$temp);

$this->s[$i][$j] ^= $temp;

}

}

}

function invMixColumns() {

$s0 = $s1 = $s2 = $s3= '';

for ($i=0; $i<$this->Nb; $i++) {

$s0 = $this->s[0][$i]; $s1 = $this->s[1][$i]; $s2 =

$this->s[2][$i]; $s3 = $this->s[3][$i];

$this->s[0][$i] = $this->mult(0x0e, $s0) ^ $this-

>mult(0x0b, $s1) ^ $this->mult(0x0d, $s2) ^ $this->mult(0x09, $s3);

$this->s[1][$i] = $this->mult(0x09, $s0) ^ $this-

>mult(0x0e, $s1) ^ $this->mult(0x0b, $s2) ^ $this->mult(0x0d, $s3);

$this->s[2][$i] = $this->mult(0x0d, $s0) ^ $this-

>mult(0x09, $s1) ^ $this->mult(0x0e, $s2) ^ $this->mult(0x0b, $s3);

$this->s[3][$i] = $this->mult(0x0b, $s0) ^ $this-

>mult(0x0d, $s1) ^ $this->mult(0x09, $s2) ^ $this->mult(0x0e, $s3);

}

}

function invShiftRows() {

$temp = "";

for ($i=1; $i<4; $i++) {

for ($j=0; $j<$this->Nb; $j++)

$temp[($i+$j)%$this->Nb] = $this-

>s[$i][$j];

for ($j=0; $j<$this->Nb; $j++)

$this->s[$i][$j] = $temp[$j];

}

}

function invSubBytes() {

for ($i=0; $i<4; $i++)

for ($j=0; $j<$this->Nb; $j++)

$this->s[$i][$j] = $this->invSBox[$this-

>s[$i][$j]];

}

Universitas Sumatera Utara

Page 68: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

ix

function mixColumns() {

$s0 = $s1 = $s2 = $s3= '';

for ($i=0; $i<$this->Nb; $i++) {

$s0 = $this->s[0][$i]; $s1 = $this->s[1][$i]; $s2 =

$this->s[2][$i]; $s3 = $this->s[3][$i];

$this->s[0][$i] = $this->mult(0x02, $s0) ^ $this-

>mult(0x03, $s1) ^ $this->mult(0x01, $s2) ^ $this->mult(0x01, $s3);

$this->s[1][$i] = $this->mult(0x01, $s0) ^ $this-

>mult(0x02, $s1) ^ $this->mult(0x03, $s2) ^ $this->mult(0x01, $s3);

$this->s[2][$i] = $this->mult(0x01, $s0) ^ $this-

>mult(0x01, $s1) ^ $this->mult(0x02, $s2) ^ $this->mult(0x03, $s3);

$this->s[3][$i] = $this->mult(0x03, $s0) ^ $this-

>mult(0x01, $s1) ^ $this->mult(0x01, $s2) ^ $this->mult(0x02, $s3);

}

}

function shiftRows() {

$temp = "";

for ($i=1; $i<4; $i++) {

for ($j=0; $j<$this->Nb; $j++)

$temp[$j] = $this->s[$i][($j+$i)%$this-

>Nb];

for ($j=0; $j<$this->Nb; $j++)

$this->s[$i][$j] = $temp[$j];

}

}

function subBytes() {

for ($i=0; $i<4; $i++) {

for ($j=0; $j<$this->Nb; $j++)

$this->s[$i][$j] = $this->sBox[$this-

>s[$i][$j]];

}

}

function mult($a, $b) {

$sum = $this->ltable[$a] + $this->ltable[$b];

$sum %= 255;

$sum = $this->atable[$sum];

return ($a == 0 ? 0 : ($b == 0 ? 0 : $sum));

}

function rotWord($w) {

$temp = $w >> 24;

$w <<= 8;

$this->make32BitWord($w);

$temp = ($temp < 0 ? (256 + $temp) : $temp);

$w += $temp;

return $w;

}

Universitas Sumatera Utara

Page 69: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

x

function subWord($w) {

$temp = 0;

for ($i=0; $i<4; $i++) {

$temp = $w >> 24;

$temp = ($temp < 0 ? (256 + $temp) : $temp);

$w <<= 8;

$this->make32BitWord($w);

$w += $this->sBox[$temp];

}

$this->make32BitWord($w);

return $w;

}

function make32BitWord(&$w) {

$w &= 0x00000000FFFFFFFF;

}

}

?>

Universitas Sumatera Utara

Page 70: Implementasi Algoritma Advanced Encryption Standard (AES) … · 2019. 11. 8. · IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) RIJNDAEL UNTUK PROTEKSI FILE AUDIO SKRIPSI

xi

Nama : M. Sigit Prasetyo

Tempat, tanggal Lahir : Medan, 7 Oktober 1992

Jenis Kelamin : Laki-laki

Umur : 24 Tahun

Tinggi, berat badan : 170 cm/68 kg

Agama : Islam

Alamat : Jl. Tanjung Permai 3 no 51

Status : Belum Kawin

Telepon/HP : 081260498302

Email : [email protected]

2010 sampai dengan 2013 : D3 Teknik Informatika Universitas Sumatera Utara

2007 sampai dengan 2010 : SMA Negeri 4 Medan

2004 sampai dengan 2007 : SMP Negeri 16 Medan

1998 sampai dengan 2004 : SD Swasta IKAL Medan

Latarbelakang

Pendidikan :

Data Pribadi

Curriculum

Vitae

Universitas Sumatera Utara