i Dampak S-Box AES Terhadap Perancangan Kriptografi Simetris Berbasis Pola Teknik Putaran Kincir Angin Artikel Ilmiah Peneliti : Frandy Valentino Ponto (672012079) Prof. Ir. Danny Manongga, M.Sc., Ph.D. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga November 2016
29
Embed
Dampak S-Box AES Terhadap Perancangan Kriptografi ......meningkatkan keamanan data, dalam perkembangannya dirancang algoritma kriptografi simetris 256 bit berbasis pada pola teknik
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
i
Dampak S-Box AES Terhadap
Perancangan Kriptografi Simetris
Berbasis Pola Teknik Putaran Kincir Angin
Artikel Ilmiah
Peneliti :
Frandy Valentino Ponto (672012079) Prof. Ir. Danny Manongga, M.Sc., Ph.D.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016
ii
Dampak S-Box AES Terhadap
Perancangan Kriptografi Simetris
Berbasis Pola Teknik Putaran Kincir Angin
Artikel Ilmiah
Diajukan Kepada
Fakultas Teknologi Informasi
Untuk Memperoleh Gelar Sarjana Komputer
Peneliti :
Frandy Valentino Ponto (672012079) Prof. Ir. Danny Manongga, M.Sc., Ph.D.
Abstrak Keamanan dari data yang saling dipertukarkan tentunya harus dijaga kerahasiaannya.
Kriptografi merupakan salah satu solusi dalam menyandikan data agar lebih aman. Untuk
meningkatkan keamanan data, dalam perkembangannya dirancang algoritma kriptografi
simetris 256 bit berbasis pada pola teknik putaran kincir angin yang digunakan sebagai pola
transposisinya untuk mendapatkan ciphertext yang acak. Dimana pada hasil dari proses
pertama dan proses ke empat dikombinasikan dengan tabel substitusi S-Box AES sehingga
menghasilkan ciphertext yang lebih acak pada pengujian avalanche effect. Avalanche effect
merupakan pengujian jumlah bit yang berubah ketika satu karakter dari plaintext diubah. Hasil
penelitian menunjukkan bahwa nilai korelasi terendah mencapai 0.050926556 dan nilai
avalanche effect tertinggi mencapai 53.1%.
Kata Kunci: Simetris, Kriptografi, Pola Teknik Putaran Kincir Angin, S-Box AES
1)Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana 2)Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.Salatiga
Tabel 3 Algoritma Proses Enkripsi & Dekripsi Putaran 1
Proses Enkripsi Proses Dekripsi Mulai
1. Input PLAINTEXT (CHAR)
2. PLAINTEX diubah ke dalam ASCII
3. ASCII diubah ke dalam BINER
4. Bit BINER = P di-input-kan ke dalam blok
matriks Proses 1 dengan menggunakan pola
pemasukan PLAINTEXT 1
5. Bit P ditransposisikan dengan pola Teknik
Putaran Kincir Angin Proses 1
6. P di-XOR dengan K
7. Bit hasil XOR diubah ke dalam HEXA
8. Bit HEXA disubstitusikan pada tabel S-Box
menghasilkan P1
9. Bit P1 diubah ke dalam BINER
10. Bit P1 di-input-kan ke dalam blok matriks Proses
2 dengan menggunakan pola pemasukan
PLAINTEXT 2
11. Bit P1 ditransposisikan dengan pola Teknik
Putaran Kincir Angin Proses 2
12. P1 di-XOR dengan K1 menghasilkan P2
13. Bit P2 di-input-kan ke dalam blok matriks Proses
3 dengan menggunakan pola pemasukan
PLAINTEXT 3
14. Bit P2 ditransposisikan dengan pola Teknik
Putaran Kincir Angin Proses 3
15. P2 di-XOR dengan K2 menghasilkan P3
16. Bit P3 di-input-kan ke dalam blok matriks Proses
4 dengan menggunakan pola pemasukan
PLAINTEXT 4
17. Bit P3 ditransposisikan dengan pola Teknik
Putaran Kincir Angin Proses 4
18. P3 di-XOR dengan K3
19. Bit hasil XOR diubah ke dalam HEXA
20. Bit HEXA disubstitusikan pada tabel S-Box
menghasilkan P4
21. P4 diubah ke dalam BINER
22. BINER diubah ke dalam ASCII
23. ASCII diubah ke dalam HEXA
Selesai
Mulai
1. Input P4
2. P4 diubah ke dalam ASCII
3. ASCII diubah ke dalam BINER
4. BINER diubah ke dalam HEXA
5. Bit HEXA disubstitusikan pada tabel S-Box
Invers
6. Bit HEXA diubah ke dalam BINER = P4
7. Bit P4 di-XOR dengan K3 menghasilkan P3
8. Bit P3 ditransposisikan terbalik dalam blok
matriks dengan pola Teknik Putaran Kincir Angin
Proses 4
9. Bit P3 di-input-kan ke dalam blok matriks Proses
4 dengan menggunakan pola pemasukan
PLAINTEXT 4
10. Bit P3 di-XOR dengan K2 menghasilkan P2
11. Bit P2 ditransposisikan terbalik dalam blok
matriks dengan pola Teknik Putaran Kincir Angin
Proses 3
12. Bit P2 di-input-kan ke dalam blok matriks Proses
3 dengan menggunakan pola pemasukan
PLAINTEXT 3
13. Bit P2 di-XOR dengan K1 menghasilkan P1
14. Bit P1 ditransposisikan terbalik dalam blok
matriks dengan pola Teknik Putaran Kincir Angin
Proses 2
15. Bit P1 di-input-kan ke dalam blok matriks Proses
2 dengan menggunakan pola pemasukan
PLAINTEXT 2
16. Bit P1 diubah ke dalam HEXA
17. Bit HEXA disubstitusikan pada tabel S-Box
Invers
18. Bit HEXA diubah ke dalam BINER = P1
19. Bit P1 di-XOR dengan K menghasilkan P
20. Bit P ditransposisikan terbalik dalam blok matriks
dengan pola Teknik Putaran Kincir Angin Proses
1
21. Bit P di-input-kan ke dalam blok matriks Proses 1
dengan menggunakan pola pemasukan
PLAINTEXT 1
22. Bit P diubah ke dalam ASCII
23. ASCII diubah ke dalam CHAR
Selesai
Tabel 3 merupakan algoritma proses enkripsi dan dekripsi Putaran satu. Proses
enkripsi ini menghasilkan P4 sedangkan pada proses dekripsi menghasilkan P.
16
Algoritma dari proses pembuatan Kunci (Key) Putaran 1, adalah sebagai
berikut :
1. Input KUNCI
2. KUNCI diubah ke dalam ASCII
3. ASCII diubah ke dalam BINER
4. Bit BINER = K di-input-kan ke dalam blok matriks KUNCI Proses 1 dengan
menggunakan pola pemasukan KUNCI 1
5. Bit K ditransposisikan dengan pola KUNCI 1 menghasilkan K1
6. Bit K1 di-input-kan ke dalam blok matriks kunci Proses 2
7. Bit K1 ditransposisikan dengan pola KUNCI 2 menghasilkan K2
8. Bit K2 di-input-kan ke dalam blok matriks kunci Proses 3
9. Bit K2 ditransposisikan dengan pola KUNCI 3 menghasilkan K3
10. Bit K3 di-input-kan ke dalam blok matriks kunci Proses 4
11. Bit K3 ditransposisikan dengan pola KUNCI 4 menghasilkan K4
Pseudocode proses Enkripsi dan Dekripsi Putaran 1 : Proses Enkripsi Putaraan 1
{Program ini digunakan untuk melakukan proses enkripsi data}
Kamus P,K,P1,P2,P3,P4,K1,K2,K3,K4, = integer
Start P <- P ⨁ K Input P Read P P to ASCII ASCII to BINER From BINER = blok matriks P, Input BINER P Transposisi menggunakan Pola Teknik Putaran Kincir Angin Proses 1 Output P Input K Read K K to ASCII ASCII to BINER From BINER = blok matriks K, Input BINER K Transposisi menggunakan Pola Kunci 1 Output K Print P
Biner S-Box <- Subtitution Hexa P P to HEXA From HEXA = Tabel S-Box, Input HEXA HEXA Substitusi menggunakan S-Box
Print BINER S-Box = P P=P1 K=K1
P1 <- P1 ⨁ K1 From BINER S-Box = blok matriks Proses 2, Input P1 P1 Transposisi menggunakan pola Teknik Putaran Kincir Angin Proses 2 Output P1 From K1 = blok matriks Kunci Proses 2, Input K1 K1 Transposisi menggunakan pola Kunci 2
17
Ouput K1 Print P1
P1=P2 K1=K2
P2 <- P2 ⨁ K2 From P2 = blok matriks Proses 3, Input P2 P2 Transposisi menggunakan pola Teknik Putaran Kincir Angin Proses 3 Output P2 From K2 = blok matriks Kunci Proses 3, Input K2 K2 Transposisi menggunakan pola Kunci 3 Ouput K2 Print P2
P2=P3 K2=K3
P3 <- P3 ⨁ K3 From P3 = blok matriks Proses 4, Input P3 P3 Transposisi menggunakan pola Teknik Putaran Kincir Angin Proses 4 Output P3 From K3 = blok matriks Kunci Proses 4, Input K3 K3 Transposisi menggunakan pola Kunci 4 Ouput K3 = K4 Print P3
Biner S-Box <- Subtitution Hexa P3 P3 to HEXA From HEXA = Tabel S-Box, Input HEXA HEXA Substitusi menggunakan S-Box
Print BINER S-Box = P4 End
Proses Dekripsi Putaran 1 : {Program ini digunakan untuk melakukan proses dekripsi data}
Kamus P,C,K,P1,P2,P3,P4,K1,K2,K3,K4, = integer
Start K <- Traposisi K1 Input K Read K K to ASCII ASCII to BINER From BINER = blok matriks K, masukan BINER K1 Transposisi menggunakan pola Kunci 1 Output K = K1 K2 <- Traposisi K1 K1 Transposisi menggunakan pola Kunci 2 Output K1 = K2 K3 <- Traposisi K2 K2 Transposisi menggunakan pola Kunci 3 Output K2 = K3 K3 Transposisi menggunakan pola Kunci 4 Output K3 = K4 P4 = P3
P4 <- Transposisi dari hasil P3 ⨁ K4 Biner S-Box Inverse <- Substitution Hexa P3
18
P3 to BINER BINER to HEXA From HEXA = Tabel S-Box Inverse, Input HEXA HEXA Substitusi menggunakan S-Box From BINER S-Box = blok matriks proses 4, Masukan BINER S-Box P3 ⨁ K4 Transposisi terbalik menggunakan Pola Teknik Putaran Kincir Angin Proses 4 Print P3 K4 = K3 P3 = P2
P2 <- Transposisi dari hasil P2 ⨁ K3 From BINER P2 = blok matriks proses 3, Masukan BINER P2 P2 ⨁ K3 Transposisi terbalik menggunakan Pola Teknik Putaran Kincir Angin Proses 3 Print P2 K3 = K2 P2 = P1
P1 <- Transposisi dari hasil P1 ⨁ K2 From BINER P1 = blok matriks proses 2, Masukan BINER P1
P1 ⨁ K2 Transposisi terbalik menggunakan Pola Teknik Putaran Kincir Angin Proses 2 Print P1 P1 = P
P <- Transposisi dari hasil P ⨁ K1 Biner S-Box Inverse <- Substitution Hexa P P to BINER BINER to HEXA From HEXA = Tabel S-Box Inverse, Input HEXA HEXA Substitusi menggunakan S-Box From BINER S-Box = blok matriks proses 1, Masukan BINER S-Box
P ⨁ K1 Transposisi terbalik menggunakan Pola Teknik Putaran Kincir Angin Proses 1 Print P P to BINER BINER to ASCII ASCII to CHAR Print P End
Pengujian nilai korelasi dapat digunakan untuk mengukur seberapa acak hasil
enkripsi antara plaintext dan ciphertext. Nilai korelasi sendiri disepakati berkisar 0
sampai dengan angka 1, dimana jika nilai korelasi mendekati angka 1 maka plaintext
dan ciphertext memiliki nilai yang sangat berhubungan, tetapi jika nilai korelasi
mendekati angka 0 maka plaintext dan ciphertext tidak memiliki nilai berhubungan,
yang berarti hasil dari proses transposisi tersebut semakin baik.
Tabel 4 Nilai Korelasi Setiap Putaran
Putaran Korelasi
Putaran 1 0.050926556
Putaran 2 0.077827262
Putaran 3 0.116029996
Putaran 4 0.073886651
19
Gambar 16 Grafik Hasil Pengujian Nilai Korelasi
Pada Tabel 4 dan Gambar 16 dapat dilihat nilai korelasi yang dihasilkan pada
setiap putaran berbeda dan signifikan. Sehingga dapat disimpulkan algoritma
kriptografi simetris yang berbasis pada pola putaran kincir angin ini menghasilkan hasil
enkripsi yang baik antara nilai korelasi pada setiap putaran serta acak.
Nilai dari pengujian Avalanche effect dapat digunakan untuk mengukur
perbedaan output, jika salah satu karakter input diubah dapat menghasilkan perubahan
lebih dari satu bit output setelah satu putaran, dan akan lebih banyak lagi bit berubah
pada putaran berikutnya.
Gambar 17 Hasil Pengujian Perbedaan Output
20
Gambar 18 Grafik Hasil Pengujian Avalanche Effect
Berdasarkan hasil pengujian pada Gambar 17, dapat dilihat bahwa perubahan
satu karakter pada plaintext dapat merubah hasil output pada setiap putaran enkripsi
dan hasil pengujian dari nilai avalanche effect terlihat peningkatan yang cukup
signifikan pada putaran dua dan putaran tiga, pengujian tersebut dapat dilihat pada
Gambar 18.
5. Simpulan
Berdasarkan penelitan yang dilakukan, dapat disimpulkan bahwa dampak S-
Box AES terhadap perancangan kriptografi simetris berbasis pola teknik putaran kincir
angin, dapat mengenkripsi dan memenuhi konsep 5-tuple sehingga dapat dikatakan
sebagai sebuah sistem kriptografi. Berdasarkan Pengujian terlihat bahwa Dampak S-
Box AES dapat membuat nilai dari pengujian avalanche effect meningkat, yang
dibuktikan dalam perubahan 1 karakter pada plaintext dapat merubah beberapa
karakter pada output setiap putaran yang ada, khususnya ciphertext. Dalam
perancangan ini didapatkan hasil nilai korelasi terendah mencapai 0.050926556 dan
nilai avalanche effect tertinggi yang mencapai 53.1%. Pola teknik putaran kincir angin
ini dapat menghasilkan output enkripsi yang random dan tidak menggunakan
banyaknya kapasistas memory dikarenakan jumlah putarannya yang sedikit (efisien).
21
6. Daftar Pustaka
[1] Pakereng, M. A. I., 2010, Kriptografi Dengan Algoritma Genetika, Salatiga:
Widya Sari Press.
[2] Gutian, S., Insanudin, E., 2016, Implementasi Kriptografi Dalam Mode
Operasi Dalam Block Cipher. Jurusan Teknik Informatika, FST UIN Gunung
Djati.
[3] Dafid, 2006, Kriptografi Kunci Simetris Dengan Menggunakan Algoritma
Crypton, Jurnal Ilmiah STIMIK GI MDP, Volume 2 Nomor 3, Oktober 2006.
[4] Khairul, H., et al. 2014, Perancangan Kriptografi Kunci Simetris
Menggunakan Fungsi Polinomial Hermite dan Akar Kuadrat Fungsi Linear.
[5] Surian, D., 2006, Algoritma Kriptografi AES Rijndael, Jurnal Teknik Elektro,
Universitas Tarumanegara.
[6] Wattimena, A., Pakereng M. A. I., Wowor, A. D., 2016, Perancangan
Algoritma Message Authentication Code (MAC) Dengan Pendekatan
Kriptografi Block Cipher Berbasis 256 Bit Pada Pola Papan Dart. Fakultas
Teknologi Informasi, Universitas Kristen Satya Wacana.
[7] Kromodimoeljo, S., 2010, Teori dan Aplikasi Kriptografi. Jakarta.: SPK IT
Consulting.
[8] Munir, R., 2006, Kriptografi. Bandung: Informatika.