Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher 64 bit Berbasis Pola Tarian Topeng Ireng

  Perancangan Kriptografi Block Cipher 64 bit Berbasis Pola Tarian Topeng Ireng Artikel Ilmiah Peneliti : Kenny Imanuel (672013101) Magdalena A. Ineke Pakereng, M.Kom. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga November 2017 i

  Perancangan Kriptografi Block Cipher 64 bit Berbasis Pola Tarian Topeng Ireng Artikel Ilmiah Diajukan Kepada Fakultas Teknologi Informasi Untuk Memperoleh Gelar Sarjana Komputer Peneliti : Kenny Imanuel (672013101) Magdalena A. Ineke Pakereng, M.Kom. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga November 2017 ii

  iii iv

  1. Pendahuluan

  Keamanan suatu informasi merupakan masalah penting yang harus di perhatikan dalam pertumbuhan teknologi jaman sekarang. Namun pertumbuhan teknologi sangat cepat sehingga tidak sejalan dengan sistem keamanan dari teknologi itu sendiri, padahal saat ini banyak terjadi berbagai macam pelanggaran karena kurangnya keamanan dari teknologi itu sendiri. Kriptografi adalah ilmu untuk menjaga kerahasiaan. Semakin baik algoritma dan kunci yang dibuat, semakin baik juga kerahasiaan informasi itu terjaga.

  Kriptografi yang baik merupakan kriptografi dengan algoritma dan kunci yang di buat sulit untuk dipecahkan. Ada dua macam kriptografi, yaitu kriptografi klasik dan kriptografi modern. Dalam penelitian ini kriptografi yang digunakan merupakan kriptografi modern yang bersifat simetris menggunakan pola berbasis tarian topeng ireng dan menggunakan satu kunci untuk proses enkripsi dan dekripsi dengan cara kerja informasi atau pesan yang jelas (plaintext) diubah menjadi informasi atau pesan yang tidak dapat dimengerti (ciphertext).

  Kriptografi sendiri harusnya memiliki pola yang acak dan beragam. Guna memperkaya ragam dari pola kriptografi itu sendiri, maka dipilih pola tarian topeng ireng karena tarian ini memiliki pola yang cukup rumit jika dibuat dalam pola perpindahan bit dalam kriptografi, dimana pola tarian tersebut menghasilkan 4 pola yang beragam dan rumit.

  Berdasarkan latar masalah yang ada, maka dilakukan penelitian tentang perancangan kriptografi block cipher 64 bit yang berbasis pada pola tarian topeng ireng.

  2. Tinjauan Pustaka

  Beberapa penelitian yang menjadi acuan dalam penelitian yang dilakukan, dijelaskan sebagai berikut. Penelitian tentang Pengaruh S-Box Advanced

  

encryption standard (AES) Terhadap Avalanche effect Pada Perancangan

  Kriptografi Block Cipher 256 Bit Berbasis Pola Teknik Tarian Dansa Tali Dari Maluku, yang membahas tentang kriptografi menggunakan prinsip s-box dan juga

  

avalanche effect yang diproses sebanyak 5 putaran dan menghasilkan nilai

korelasi 0.241734 [1].

  Penelitian tentang Perancangan Kriptografi Block Cipher Berbasis Pola Ikan Berenang, membahas tentang perancangan kriptografi baru menggunakan prinsip S-Box, iteratedcipher dan jaringan fiestel yang dilakukan sebanyak 15 putaran dan diuji menggunakan avalanche effect dan nilai korelasi. Nilai korelasi yang dihasilkan dari 15 putaran adalah 0.217077 [2].

  Penelitian tentang Perancangan Algoritma pada Kriptografi Block Cipher dengan Teknik Langkah Kuda Dalam Permainan Catur, membahas tentang proses enkripsi dan dekripsi menggunakan pola langkah kuda, yang dilakukan sebanyak 4 putaran. Hasil dari algoritma kriptografi diperoleh hasil 0,027481 ms dari AES. Untuk proses dekripsi 0,013992 ms. Sedangkan perbandingan antara langkah kuda dengan AES-128 adalah 0,140952 ms atau 14.09% [3].

  

2 Penelitian-penelitian yang sudah ada terkait perancangan algoritma kriptografi simetris Block Cipher menjadi acuan dalam membentuk ide untuk merancang penelitian baru tentang perancangan Kriptografi Block Cipher 64 bit erbasis Pola Tarian Topeng Ireng. Pada penelitian ini dilakukan proses

  b

  kombinasi pola tarian topeng ireng sebanyak 24 putaran, setelah mendapatkan pola dengan nilai korelasi terendah maka pola kombinasi tersebut menjadi pola dalam proses enkripsi dan proses dekripsi. Dalam perancangan dilakukan proses 20 putaran pada proses enkripsi dan dekripsi dimana setiap putaran terdapat 4 proses untuk proses plaintext maupun proses kunci (key). Hasil dari proses

  

plaintext akan di-XOR dengan kunci untuk menghasilkan Ciphertext yang

  kemudian byte-nya akan dikombinasikan dengan S-Box untuk menghasilkan yang besar. S-Box yang digunakan dalam penelitian ini adalah S-

Avalanche effect Box algoritma AES (Advanced encryption standard)

  Kriptografi merupakan ilmu untuk menjaga keamanan data.Bagian dari kriptografi yaitu plaintext dan ciphertext. Plaintext adalah pesan yang dapat dimengerti maknanya, sedangkan ciphertextmerupakan pesan yang sudah dirubah sehingga tidak dapat dimengerti maknanya. Bagian lain yang terdapat pada kriptografi adalah enkripsi dan dekripsi. Enkripsi adalah proses dimana plaintext dirubah menjadi ciphertext, dan dekripsi adalah kebalikan dari enkripsi yaitu mengembalikan ciphertext menjadi plaintext [4].

  Skema proses enkripsi dan dekripsi Block Cipher secara umum ditunjukkan pada Gambar 1.

  

P1 P2 …. Pn P1 P2 …. Pn

Kunci ENKRIPSI Kunci DESKRIPSI

C1 C2 …. Cn C1 C2 …. Cn

Block Ciphertext C Block Ciphertext C

  

Gambar 1 Skema Proses Enkripsi-Dekripsi Pada Block Cipher [5]

  Misalkan blok plaintext (P) yang berukuran n bit

  , p , , p P p n 

  

  1

  C c ,c   , c , n

  1

  K k , k , , k n  

  1

  E P C   k

  Proses dekripsi adalah (C) = P

  D C P k  

  Untuk menguji nilai algoritma yang dirancang memiliki hasil ciphertext yang acak dari plaintext maka digunakan Persamaan 1, dimana variable X merupakan plaintext dan Y merupakan ciphertext.

  • – –

  (1) Dimana: n

  = Banyaknya pasangan data X dan Y Σx = Total jumlah dari variabel X

  = Total jumlah dari variabel Y Σy

  2

  = Kuadrat dari total jumlah variabel X Σx

  2 = Kuadrat dari total jumlah variabel Y Σy

  Σxy = Hasil perkalian dari total jumlah variabel X dan variabel Y Untuk memudahkan menentukan kuat lemahnya hubungan antara variabel yang diuji maka dapat digunakan Tabel 1.

  

Tabel 1 Klasifikasi Koefisien Korelasi [5]

Interval Koefisien Tingkat Hubungan

0,00 Sangat Rendah

  • – 0,199

  

0,20 Rendah

  • – 0,399

  0,40 Sedang

  • – 0,599

  Kuat 0,60 – 0,799

0,80 Sangat Kuat

  • – 1,000

  Tahapan Penelitian yang digunakan dalam penelitian ini dapat dibagi ke dalam 5 (lima) tahapan yaitu: (1) tahap identifikasi masalah, (2) tahap pengumpulan data, (3) tahap perancangan kriptografi, (4) tahap pengujian kriptografi, (5) tahap penulisan artikel.

  Identifikasi Masalah Pengumpulan Data Perancangan Kriptografi Pengujian Kriptografi

  Penulisan Artikel

Gambar 2 Tahapan Penelitian

  Gambar 2 menunjukkan tahapan penelitian, dijelaskan sebagai berikut: Tahap identifikasi masalah, Pada tahapan ini dilakukan analisis terhadap permasalahan yang ada, terkait dengan proses perancangan Kriptografi Block

  64 bit berbasis Pola Tarian Topeng Ireng; Tahap pengumpulan data, dalam

Cipher

  tahapan ini dilakukan pengumpulan data serta sumber mengenai pembahasan terkait penelitian tersebut; Tahap perancangan kriptografi, pada tahap ini akan dilakukan perancangan Kriptografi Block Cipher 64 bit Berbasis Pola Tarian Topeng Ireng. Untuk pembuatan kunci, proses enkripsi dan proses dekripsi dikombinasikan dengan XOR, kemudian hasil dari XOR tersebut dikombinasikan dengan tabel S-Box; Tahap pengujian kriptografi, pada tahap ini dilakukan pengujian terhadap kriptografi yang telah dibuat. Pengujian proses 24 kombinasi yang akan menghasilkan nilai korelasi terendah, kemudian dilakukan proses enkripsi dan dekripsi, yang terakhir yaitu mencari avalanche effect terbesar, tahap pengujian kriptografi, dalam tahap terakhir ini dilakukan penulisan artikel mengenai proses Perancangan Kriptografi Block Cipher 64 bit berbasis Pola Tarian Topeng Ireng.

  Dalam perancangan kriptografi Block Cipher 64 bit menggunakan pola tarian topeng ireng ini dilakukan dua proses yaitu proses enkripsi dan proses dekripsi. Proses enkripsi dan dekripsi itu sendiri dilakukan dalam 20 putaran yang di setiap putarannya terdapat 4 proses.

  

Plaintext Kunci Plaintext Kunci

P1 K1 P1 K1

Putaran 1 Putaran 20

C1 C1

S-BOX K2 S-BOX K2

P2 K2 P2 K2

P2 P2 P4 P4

P3 K3 P3 K3

C3 C3

C2 C2

S-BOX S-BOX

P4 K4 P4 K4

C4 Ciphertext

Gambar 3 Proses Alur Enkripsi

  Gambar 3 menunjukkan alur proses enkripsi, langkah-langkah proses enkripsi itu sendiri dijelaskan sebagai berikut: a) Menyiapkan plaintext dan kunci; b)

  Mengubah plaintext dan kunci menjadi biner sesuai dalam tabel ASCII; c) dalam perancangan enkripsi, plaintext dan kunci akan melewati empat proses pada setiap putaran; d) Putaran pertama Plaintext 1 (P1) diproses dengan pola tarian topeng ireng dan di-XOR dengan Kunci 1 (K1) menghasilkan C1; e) C1 ditransformasikan dengan pola tarian topeng ireng menjadi P2 kemudian di S-

  , setelah itu P2 di-XOR dengan K2 menghasilkan C2; f) C2

BOX

  ditransformasikan dengan pola tarian topeng ireng menjadi P3 kemudian di-XOR dengan K3 menghasilkan C3; g) C3 ditransformasikan dengan pola tarian topeng ireng menjadi P4 kemudian di S-BOX, setelah itu P4 di-XOR dengan K4 menghasilkan C4; h) Masuk pada putaran dua, C4 ditransformasikan menjadi P5 kemudian dilakukan proses yang sama dengan putaran pertama, dan dilakukan sampai putaran ke-20 hingga menghasilkan Ciphertext (C).

  Plaintext P17 K17 P1 K1 C17

  C1 P18 P2

  S-BOX K18 S-BOX K2 P18 K18 P2 K2 C18

  C2 P19 K19 P3 K3 C19 C3 P20

  P4 S-BOX S-BOX

  P20 K20 P4 K4 C20 C4

  Ciphertext

  

Gambar 4 Proses Alur Dekripsi

  Gambar 4 menunjukkan alur proses dekripsi, langkah-langkah proses dekripsi tersebut dijelaskan sebagai berikut: a) Menyiapkan ciphertext dan kunci; b)

Mengubah ciphertext dan kunci menjadi biner sesuai dalam tabel ASCII; c) dalam perancangan dekripsi, ciphertext dan kunci akan melewati empat proses

  pada setiap putaran; d) Putaran pertama Ciphertext (C) diproses dengan pola dan di-XOR dengan Kunci 20 (K20) menghasilkan P20; e) P20 ditransformasikan dengan pola menjadi P20 dan diproses menggunakan S-BOX, dan mendapatkan hasil akhir P20; f) P20 ditransformasikan dengan pola menjadi C19 kemudian di-

  XOR dengan K19, menghasilkan P19 dan mendapatkan hasil akhir P19; g) P19 ditransformasikan dengan pola menjadi C18 kemudian di-XOR dengan K18, menghasilkan P18, kemudian P18 dengan S-BOX dan mendapatkan hasil akhir dari P18; h) P18 ditransformasikan dengan pola menjadi C17 kemudian di-XOR dengan K17, menghasilkan P17; i) Masuk pada putaran dua, P17 ditransformasikan menjadi C16 kemudian dilakukan proses yang sama dengan putaran pertama, dan dilakukan sampai putaran ke-20 hingga menghasilkan Plaintext (P).

  Dalam bagian ini akan membahas mengenai algoritma perancangan kriptografi Block Cipher 64 bit berbasis pola tarian topeng ireng. Dalam algoritma ini pola tarian topeng ireng digunakan untuk proses pengambilan bit di dalam matriks plaintext. Tarian topeng ireng ini memiliki pola barisan seperti yang ditunjukkan dalam Gambar 5.

  

Gambar 5 Tarian Topeng Ireng

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

  49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Pola A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

  41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Pola C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Pola B 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Pola D

  

Gambar 6 Pola Berbasis Tarian Topeng Ireng

  Gambar 6 dijelaskan setelah semua bit dimasukkan dan diberi warna selanjutnya memasukkan bit-bit tersebut menurut pola ambil. Sebagai contoh pola A, pola dengan warna merah memiliki angka 1-8 dan berdasarkan pola pemasukkan bit terdapat bit 9 = no.1, bit 16 = no.2, bit 25 = no.3, bit 32 = no.4, bit 41 = no.5, bit 48 = no.6, bit 57 = no.7, bit 64 = no.8. Kemudian untuk warna biru, hijau, hijau muda, merah muda, biru muda, abu abu, dan putih dilakukan proses yang sama dengan pola warna merah dengan ketentuan nomor dan bit pada setiap pola warna.

  Berdasarkan pola-pola yang sudah dirancang, dilakukan pengujian korelasi

atau nilai keterikatan antara plaintext dan ciphertext dengan menkombinasikan urutan

pola untuk mendapatkan nilai rata-rata korelasi terbaik. Pengujian dilakukan dengan

menggunakan plaintext “topengik” dan menggunakan kunci

  “magelngk”. Berdasarkan hasil pengujian korelasi dengan menggunakan contoh dan kunci tersebut maka hasil rata-rata terbaik yang akan digunakan

  plaintext sebagai acuan perancangan dalam proses enkripsi dan dekripsi.

  

Tabel 2 Rata-Rata Korelasi

RATA-RATA NILAI KORELASI

POLA RATA-RATA POLA RATA-RATA

  

A-B-C-D 0.552758798 C-A-B-D 0.791893348

0.345428244 0.406212719 A-B-D-C C-A-D-B

A-C-B-D 0.531852558 C-B-A-D 0.143278752

  0.029048476 0.660393818 A-C-D-B C-B-D-A

  

A-D-B-C 0.311667073 C-D-A-B 0.099083779

A-D-C-B 0.111271633 C-D-B-A 0.26833836

B-A-C-D 0.563725289 D-C-B-A 0.187442559

B-A-D-C 0.168055878 D-C-A-B 0.05448961

B-C-A-D 0.197192704 D-B-A-C 0.22484954

B-C-D-A 0.405460271 D-B-C-A 0.601023586

  0.437453318 0.2950279 B-D-A-C D-A-B-C 0.392047796 0.34503999 B-D-C-A D-A-C-B

  Tabel 2 menunjukkan hasil kombinasi pola dan mendapatkan nilai korelasi terbaik pada kombinasi pola C-B-D-A sebesar 0,029048476. Kombinasi C-B-D-A yang akan digunakan sebagai pola dalam proses enkripsi hingga putaran ke-20 untuk menghasilkan ciphertext.

  Algoritma kriptografi Block Cipher 64 bit berbasis pola tarian topeng ireng ini dilakukan dengan 20 putaran dan dalam setiap putaran terdapat 4 proses untuk mendapatkan hasil akhir yaitu ciphertext. Proses pertama plaintext dan kunci diubah ke dalam bentuk ASCII kemudian diubah lagi ke dalam biner. Kemudian bit-bit plaintext diproses dengan pola pemasukan dan pengambilan ke dalam kolom matrix 8x8 menggunakan pola tarian topeng ireng yang berbeda-beda pada setiap proses. Kemudian hasil XOR proses pertama ditransformasikan menggunakan Jaringan Fiestel pada proses kedua. Hasil XOR dari proses kedua dan keempat kemudian ditransformasikan menggunakan S-BOX dan menghasilkan P4 yang kemudian digunakan pada proses keempat dan diulang terus-menerus hingga putaran ke-20 untuk menghasilkan ciphertext.

  

Gambar 7 Proses Enkripsi

  Selanjutnya dijelaskan pemasukan bit dalam matriks. Pada penjelasan ini dimisalkan angka 1 merupakan inisialisasi setiap bit yang merupakan hasil konversi plaintext maka urutan bit adalah sebagai berikut 1,2,3,4,5, …..64.

  

Gambar 8 Proses Dekripsi

  Gambar 8 menjelaskan relasi proses dekripsi. Proses dekripsi adalah proses merubah ciphertext menjadi plaintext. Proses dekripsi tersebut dilakukan proses yang hampir sama seperti enkripsi, yang membedakannya hanya proses diawali dari putaran ke-20 menuju putaran ke-1 untuk mendapatkan plaintext awal. Pada proses pengambilan dan pemasukan berubah dimana pola pengambilan pada proses enkripsi akan menjadi pola pemasukkan pada proses dekripsi, sedangkan pola pemasukan pada enkripsi digunakan sebagai pola pengambilan pada dekripsi.

  

Gambar 9 Pola Pemasukan Bit Plaintext dan Kunci Gambar 9 menjelaskan pola pemasukan bit plaintext dan kunci pada proses 1. Setiap 8 bit dari setiap karakter plaintext dan kunci dimasukkan pada setiap blok sesuai dengan urutan angka. 9

  25

  46

  18

  19

  20

  21

  22

  23

  24

  6

  48

  47

  13

  21

  45

  49

  5

  25

  26

  27

  28

  29

  30

  31

  32

  44

  43

  42

  17

  50

  20

  23

  24 1

  2

  3 4

  5

  6 7

  8

  8

  15

  58

  57

  56

  55

  7 9

  22

  10

  11

  12

  13

  14

  15

  16

  54

  53

  14

  52

  51

  12

  41

  60

  27

  30

  29

  49

  50

  51

  52

  53

  54

  55

  56

  2

  28

  9

  18

  17

  26

  25

  1

  57

  58

  59

  60

  61

  62

  63

  64 Gambar 11 Pola Pengambilan dan Pola Transpose Plaintext dan Kunci Proses 2 Gambar 11 merupakan proses pengambilan dan transpose pada proses

  31

  10

  40

  11

  39

  33

  34

  35

  36

  37

  38

  39

  40

  4

  38

  37

  19

  32

  36

  35

  3

  41

  42

  43

  44

  45

  46

  47

  48

  34

  33

  59

  61

  26

  15

  48

  49

  50 5

  51

  52

  14

  22

  53

  54 6

  55

  56

  57

  23

  13

  58

  59

  60 7

  61

  62

  16

  24

  63

  64 8

  1

  2

  3 4 5 6

  21

  47

  8

  36

  27

  28

  29

  30

  17 1

  10

  31

  32

  33

  34

  18 2

  35

  11

  46

  37

  38

  19

  39

  40 3

  41

  42

  12

  20

  43

  44 4

  45

  7

  9

  62

  54

  42

  43

  44

  45

  46

  47

  48

  49

  50

  51

  52

  53

  55

  40

  56

  57

  58

  59

  60

  61

  62

  63

  64 Gambar 10 Pola Pengambilan dan Pola Transpose Plaintext dan Kunci Proses 1 Gambar 10 merupakan proses pengambilan dan transpose pada proses 1, untuk plaintext dan kuncidilakukan dengan alur proses yang sama. Bit diambil setiap 8 bit mengikuti urutan angka pada Gambar 10 dengan urutan angka yang sudah diatur sesuai dengan pola. Kemudian dimasukkan kembali ke dalam kolom matriks baris pertama dari kiri ke kanan, dan untuk baris selanjutnya mengikuti anak panah dan urutan angka pada Gambar 10. Dari proses tersebut menghasilkan P1 dan K1. Setelah itu P1 dan K1 akan di-XOR-kan menghasilkan C1.

  16

  64

  63

  41

  39

  10

  23

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

  21

  22

  24

  38

  25

  26

  27

  28

  29

  30

  31

  32

  33

  34

  35

  36

  37

  2,untuk plaintext dan kuncidilakukan dengan alur proses yang berbeda, karena untuk proses plaintext menggunakan tabel S-Box dan untuk kuncinya tidak menggunakan tabel S-BOX. Hasil dari XOR C1 yang ditransformasikan ke dalam P2 diambil setiap 8 bit mengikuti urutan angka pada Gambar 11. Sedangkan untuk K2 didapat dari tansformasi K1. Kemudian P2 diproses menggunakan S-BOX, setelah itu dimasukkan kembali ke dalam baris matriks kolom pertama dari kiri ke kanan, dan untuk kolom selanjutnya mengikuti anak panah dan urutan angka pada Gambar 11. Setelah itu P2 dan K2 akan di-XOR-kan menghasilkan C2.

  1

  56

  5

  45

  44

  43

  13

  55

  54

  22

  6

  47

  46

  14

  60

  51

  59

  23

  7

  58

  57

  48

  15

  64

  63

  24

  8

  62

  61

  21

  52

  2

  40

  33

  27

  26

  25

  1

  9

  18

  37

  36

  29

  28 2

  10

  39

  53

  19

  38

  32 3

  31

  30

  11

  50

  49

  20

  4

  42

  41

  12

  16 1

  3 4

  35

  51

  39

  40

  41

  42

  43

  44

  45

  46

  47

  48

  49

  50

  52

  37

  53

  54

  55

  56

  57

  58

  59

  60

  61

  62

  63

  64 Gambar 13 Pola Pengambilan dan Pola Transpose Plaintext dan Kunci Proses 4 Gambar 13 merupakan proses pengambilan dan transpose pada proses 4 atau proses terakhir, untuk plaintext dan kunci dilakukan dengan alur proses yang berbeda, karena untuk proses plaintext menggunakan tabel S-Box dan untuk kuncinya tidak menggunakan tabel S-BOX. Hasil dari XOR C3 yang ditransformasikan ke dalam P4 diambil setiap 8 bit mengikuti urutan angka pada Gambar 13. Sedangkan untuk K4 didapat dari tansformasi K3. Kemudian P4 diproses menggunakan S-BOX, setelah itu dimasukkan kembali ke dalam baris matriks kolom pertama dari kanan ke kiri, dan untuk kolom selanjutnya mengikuti anak panah dan urutan angka pada Gambar 13. Setelah itu P4 dan K4 akan di-

  XOR-kan menghasilkan C4. Proses putaran 1 telah selesai, dan dilakukan proses yang sama secara terus-menerus hingga putaran ke 20 untuk mendapatkan

  38

  36

  5

  20

  6 7

  8 9

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  21

  35

  22

  23

  24

  25

  26

  27

  28

  29

  30

  31

  32

  33

  34

  34

  17

  25

  42

  39

  40

  17

  18

  19

  20

  21

  22

  23

  24

  19

  41

  4

  38

  12

  49

  50

  20

  25

  26

  27

  28

  29

  30

  31

  32

  43

  11

  32

  45

  2

  26

  27

  33

  34

  35

  9 1

  2

  3 4

  5

  6 7

  8

  17

  28

  31 3

  29

  36

  37

  10

  18 9

  10

  11

  12

  13

  14

  15

  16

  30

  44

  5

  XOR C2 yang ditransformasikan ke dalam P3 diambil setiap 8 bit mengikuti urutan angka pada Gambar 12 dengan urutan angka yang sudah diatur. Sedangkan untuk K3 didapat dari tansformasi K2. Kemudian dimasukkan kembali ke dalam kolom matriks baris pertama dari kanan ke kiri, dan untuk baris selanjutnya mengikuti anak panah dan urutan angka pada Gambar 12. Setelah itu P3 dan K3 akan di-XOR-kan menghasilkan C3.

  61

  59

  60

  56

  49

  50

  51

  52

  53

  54

  55

  56

  23

  62

  7

  8

  16

  63

  64

  24

  57

  58

  59

  60

  61

  62

  63

  64 Gambar 12 Pola Pengambilan dan Pola Transpose Plaintext dan Kunci Proses 3 Gambar 12 merupakan proses pengambilan dan transpose pada proses 3, untuk plaintext dan kunci dilakukan dengan alur proses yang sama. Hasil dari

  15

  58

  13

  47

  51

  52

  53

  33

  34

  35

  36

  37

  38

  39

  40

  21

  46

  6

  57

  14

  54

  55

  22

  41

  42

  43

  44

  45

  46

  47

  48

  48

  ciphertext .

  • &C‟‚e•
  • &C‟‚e•

  D8D425D601D55C51

  70F54E6D1F8522F6

  põNm…"ö

  9

  põNm…"ö

  B03E355CDAD7DA69 °>5\Ú×Úi

  10

  °>5\Ú×Úi 78002786864FDA72 x'††Oúr

  11

  x'††Oúr

  4B0A707EE6203831 "Kp~æ 81" 12 "Kp~æ 81"

  ØƠ%Ữ\Q

  KwÖ©fÆYý

  13

  ØƠ%Ữ\Q

  82A463AFF9DD28F5

  ‚¤c¯ùÝ(õ

  14

  ‚¤c¯ùÝ(õ

  B785376D916BD7B4

  ·…7m„k×´

  15

  ·…7m„k×´

  BD5C9D79F9ECD78B ½\

  8 KwÖ©fÆYý

  4B77D6A966C659FD

  

Gambar 14 Tabel S-BOX AES

  3

  Gambar 14 menunjukkan tabel S-BOX yang digunakan pada proses enkripsi dan dekripsi. Cara pensubstitusian adalah sebagai berikut: untuk setiap

  

byte pada array state, misalkan S[r, c] = xy, yang dalam hal ini xy adalah digit

  heksadesimal dari nilai S[r, c], maka nilai substitusinya, dinyatakan dengan S ‟[r,

  

c ], adalah elemen di dalam S-box yang merupakan perpotongan baris x dengan

kolom y.

  Misalnya S [0, 0] = 11, maka S‟[0, 0] = 82. Untuk pengujian algoritma dilakukan dengan mengambil contoh plaintext topengik dan kunci adalah magelngk. Kemudian dilakukan proses enkripsi sebanyak 20 putaran, dan disetiap putaran enkripsi akan mendapatkan ciphertext (C) dan dikonversi ke dalam nilai hexadecimal. Hasil enkripsi dari putaran ke 20 adalah final ciphertext ditunjukkan pada Tabel 3.

  

Tabel 3 Hasil Ciphertext Setiap Putaran

Putaran Plaintext Hasil Ciphertext Hasil Ciphertext

dalam Hexadecimal dalam Char

  1 Topengik

  6DA5180AE3EC58B8

  "m¥ãìX¸"

  2 "m¥ãìX¸" E177C15E397B976E

  áwÁ^9{ —n

  áwÁ^9{ —n

  7 z×âq{*`M

  D10610F900BD023B Ñù½[1];

  4

  Ñù½[1];

  2D2643920182659D

  5

  E5C1C38E4F57D9A5

  åÁÃŽOWÙ¥

  6

  åÁÃŽOWÙ¥

  7AD7E2717B2A604D

  z×âq{*`M

  yùì׋

  ½\ 16 783EFE53C7B66D70 x>ẼSđộmp

  060E16CC1D15D2E1

17 x>ẼSđộmp Ì Òá

  18 Ì Òá

  ß=ë/w^«° ß=ë/w^«°

  73F6BFC78FC1182B

  19

  sö¿Ç•Á+

  14B1D05C09989154 "±Ð\

  20

  sö¿Ç•Á+ ˜„T"

  Tabel 3 merupakan hasil enkripsi dari setiap putaran. Hasil dari putaran 20 merupakan final ciphertext. Proses dekripsi adalah proses merubah ciphertext menjadi plaintext awal. Dekripsi dilakukan sama seperti enkripsi, tetapi dekripsi dimulai dari putaran ke 20 menuju putaran ke 1 untuk mendapatkan plaintext awal. Pola pengambilan pada proses enkripsi akan menjadi pola pemasukan pada proses dekripsi, sedangkan pola pemasukan pada enkripsi akan digunakan sebagai pola pengambilan pada dekripsi. Proses dekripsi dimulai dari memasukkan

  

ciphertext ke kolom matriks C4 kemudian di-XOR dengan K4 dan pada proses

  tersebut akan menghasilkan P4. Kemudian P4 ditransformasikan dengan S-BOX untuk mendapatkan hasil akhir P4, P4 digunakan sebagai C3, lalu C3 di-XOR dengan K3 dan menghasilkan P3, P3 digunakan sebagai C2, lalu C2 di-XOR dengan K2 menghasilkan P2, P2 ditransformasikan dengan S-BOX untuk mendapatkan hasil akhir P2, P2 digunakan sebagai C1. Kemudian C1 di-XOR dengan K1 untuk menghasilkan P1, proses itu dilakukan berulang-ulang sebanyak 20 putaran sesuai dengan banyaknya putaran enkripsi dan hasil akhir dari dekripsi putaran ke 20 adalah plaintext awal.

  

Tabel 4 Algoritma Enkripsi dan Dekripsi

Proses Enkripsi Proses Dekripsi

  1. Masukkan plaintext 1.

  Masukkan C4

  2. Plaintext dirubah ke ASCII 2.

  C4 dirubah ke ASCII

  3. ASCII diubah ke BINER 3.

  ASCII diubah ke BINER

  4. Bit BINER dimasukkan ke kolom 4.

  Bit BINER dimasukkan ke kolom matrik C4 dengan pola pemasukan matrik P1 dengan pola pemasukan proses 1

  5. Bit pada kolom matrik diambil 5.

  Masukkan bit K4 menggunakan pola menggunakan pola pengambilan. masukan

  6. Bit pengambilan dimasukkan lagi 6.

  C4 di XOR dengan K4 kedalam matrik untuk mendapatkan hasil akhir P1

  7. P1 di XOR dengan K1 menghasilkan 7.

  Bit P4 diubah ke BINER C1

  8. C1 = P2 diambil menggunakan pola 8.

  BINER diubah ke HEX pemasukan

  9. P2 diproses dengan pola pengambilan 9.

  HEX ditransformasikan dengan tabel proses 2 S-BOX

  10.

  10. P2 di XOR dengan K2 menghasilkan Hasil konversi diubah ke BINER C2

  11.

  11. C2 diubah ke DEC BINER P4 dimasukkan ke kolom matriks dengan pola pengambilan

  12.

  12. DEC diubah ke HEX P4=C3 13. HEX ditransformasikan menggunakan S-BOX

  14.

  13. Hasil HEX diubah menjadi BINER BINER dimasukkan ke kolom C3 menggunakan pola masuk

  15.

  14. Hasil BINER dimasukkan ke blok Masukkan bit K3 menggunakan pola matriks P2 masukan

  16. C2=P3 diambil dengan pola pemasukan awal

  29. P1 diproses dengan pola pengambilan 30.

  23. Masukkan bit K2 menggunakan pola masukan

  24. C2 di XOR dengan K2 menghasilkan P2

  25. P2 diproses dengan pola pengambilan 26.

  Bit pengambilan dimasukkan lagi kedalam kolom matrik P2

  27. P2=C1 28.

  C1 di XOR dengan K1 menghasilkan P1

  Bit pengambilan dimasukkan lagi kedalam kolom matrik P1

  21. P3=C2 22.

  31. Hasil akhir pemasukan bit diproses dengan pola pengambilan

  32. Hasil akhir BINER P1 dirubah ke DEC 33.

  DEC dirubah ke HEX 34. HEX dirubah ke CHAR, sebagai plaintext

  Tabel 4 merupakan algoritma proses enkripsi dan dekripsi secara menyeluruh. Proses enkripsi menghasilkan C4 (Ciphertext), dan proses dekripsi menghasilkan P1 (Plaintext) awal.

  Masukkan Kunci 2. Kunci diubah ke ASCII 3. ASCII diubah ke BINER 4. Bit BINER dimasukkan ke kolom K1 menggunakan pola masuk Kunci 5. Bit Kunci ditransposisikan dengan pola Kunci C 6. Transposisi K1 = K2 7. K2 ditransposisikan menggunakan pola Kunci B 8. Transposisi K2 = K3 9. K3 ditransposisikan menggunakan pola Kunci D 10.

  Transposisi K3 = K4 11. K4 ditransposisikan menggunakan pola Kunci A

  Proses Enkripsi {Program ini digunakan untuk melakukan proses enkripsi data} Kamus P,K,P1,K1,P2,K2,P3,K3,P4,K4 = integer C1,C2,C3,C4 = integer Start

  BINER dimasukkan ke kolom C2 menggunakan pola masuk

  BINER P3 dimasukkan ke kolom matriks dengan pola pengambilan

  17. P3 diproses dengan pola pengambilan proses 3

  DEC diubah menjadi HEX 27. HEX ditransformasikan menggunakan S-BOX

  18. BINER diubah menjadi DEC 19.

  DEC diubah menjadi HEX 20. Hasil HEX diubah menjadi BINER 21. Hasil BINER dimasukkan ke blok matriks P3

  22. P3 di-XOR dengan K3 menghasilkan C3

  23. C3=P4 diambil dengan pola pemasukan awal

  24. P4 diproses dengan pola pengambilan proses 4

  25. BINER diubah menjadi DEC 26.

  28. Hasil HEX diubah menjadi BINER 29.

  19. Hasil konversi diubah menjadi BINER 20.

  Hasil BINER dimasukkan ke blok matriks P4

  30. P4 di-XOR dengan K4 menghasilkan C4

  31. C4 diubah ke DEC 32.

  DEC diubah ke HEX, sebagai ciphertext 15.

  C3 di XOR dengan K3 menghasilkan P3

  16. P3 diubah ke BINER 17.

  BINER diubah ke HEX 18. Hasil HEX ditransformasikan dengan tabel S-BOX

Algoritma proses Kunci (key), dijelaskan sebagai berkut: 1

C1 <- P1 ⊕ K1

  Output P2 Input K Read K K to ASCII

  17

  P2 dengan pola pemasukan proses 3

  P3 menggunakan Pola pemasukan awal Dari blok matriks P3 = BINER, ambil bit P3 dengan pola Tarian Topeng Ireng D Dari BINER = blok matriks P3, masukan BINER

  K2 dengan pola pemasukan proses 2 Output K2 Print C2 C2 = P3 C3 &lt;- P3 ⊕ K3 Dari C2 = blok matriks P3, masukan C2

  Dari BINER = blok matriks K2, masukan BINER

  K2 dengan pola pengambilan B

  ASCII to BINER

Dari BINER = blok matriks K2, masukan BINER

K1 menggunakan Pola pemasukan awal Dari blok matriks K2 = BINER, ambil bit K2

  Input P Read P P to ASCII ASCII to BINER

Dari BINER = blok matriks P1, masukan BINER

P1 menggunakan Pola pemasukan awal

  Dari blok matriks P1 = BINER, ambil bit P1 dengan pola Tarian Topeng Ireng C Dari BINER = blok matriks P1, masukan BINER P1 dengan pola pemasukan proses 1

  Dari HEXA = Tabel S-box, masukan HEXA HEXA konversi menggunakan S-box Print BINER S-box

Dari BINER = blok matriks P2, masukan BINER

  P2 menggunakan Pola pemasukan awal Dari blok matriks P2 = BINER, ambil bit P2 dengan pola Tarian Topeng Ireng B BINER to HEXA

  K1 dengan pola pemasukan proses 1 Output K1 Print C1 C1 = P2 C2 &lt;- P2 ⊕ K2 Dari C1 = blok matriks P2, masukan C1

  Dari BINER = blok matriks K1, masukan BINER

  K1 dengan pola pengambilan C

Dokumen yang terkait

Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Kreativitas Belajar IPA Melalui Pendekatan Problem Based Learning Siswa Kelas 4 SD Negeri 02 Pilang Randublatung Kabupaten Blora Semester II Tahun Pelajaran 2014/2015

0 0 84

Institutional Repository | Satya Wacana Christian University: Peningkatan Hasil Belajar IPA dengan Menggunakan Metode Eksperimen Berbantuan Media Visual pada Siswa Kelas 5 SD Negeri 2 Ampel Kecamatan Ampel Semester II Tahun Pelajaran 2014/2015

0 0 23

Institutional Repository | Satya Wacana Christian University: Peningkatan Hasil Belajar IPA dengan Menggunakan Metode Eksperimen Berbantuan Media Visual pada Siswa Kelas 5 SD Negeri 2 Ampel Kecamatan Ampel Semester II Tahun Pelajaran 2014/2015

0 0 26

Institutional Repository | Satya Wacana Christian University: Peningkatan Hasil Belajar IPA dengan Menggunakan Metode Eksperimen Berbantuan Media Visual pada Siswa Kelas 5 SD Negeri 2 Ampel Kecamatan Ampel Semester II Tahun Pelajaran 2014/2015

0 0 32

Institutional Repository | Satya Wacana Christian University: Peningkatan Hasil Belajar IPA dengan Menggunakan Metode Eksperimen Berbantuan Media Visual pada Siswa Kelas 5 SD Negeri 2 Ampel Kecamatan Ampel Semester II Tahun Pelajaran 2014/2015

0 0 14

Institutional Repository | Satya Wacana Christian University: Penerapan Finite State Automata pada Perancangan Strategi Parkir Mobil Otomatis

9 21 22

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher 64 Bit Berbasis Pola Permainan Taplak

0 0 29

Institutional Repository | Satya Wacana Christian University: Perancangan Aplikasi Pengaduan Pelayanan Publik Berbasis Web di Kecamatan Sidomukti

0 0 21

Institutional Repository | Satya Wacana Christian University: Validasi Aplikasi Diagnosa Penyakit Kanker Serviks Menggunakan Finite State Automata

0 3 24

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher Menggunakan Pola Formasi Tari Reog Ponorogo

0 0 27