Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma...

25
1 Perancangan Algoritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis 256 Bit Pada Pola Papan Dart Artikel Ilmiah Peneliti : Aldrien Wattimena (672011156) Magdalena A. Ineke Pakereng, M.Kom. Alz Danny Wowor, S.Si., M.Cs. PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS KRISTEN SATYA WACANA SALATIGA JUNI 2016

Transcript of Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma...

Page 1: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

1

Perancangan Algoritma Message Authentication Code (MAC)

Dengan Pendekatan Kriptografi Block Cipher Berbasis 256 Bit

Pada Pola Papan Dart

Artikel Ilmiah

Peneliti :

Aldrien Wattimena (672011156)

Magdalena A. Ineke Pakereng, M.Kom.

Alz Danny Wowor, S.Si., M.Cs.

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS KRISTEN SATYA WACANA

SALATIGA

JUNI 2016

Page 2: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

2

Perancangan Algoritma Message Authentication Code (MAC)

Dengan Pendekatan Kriptografi Block Cipher Berbasis 256 Bit

Pada Pola Papan Dart

Artikel Ilmiah

Diajukan Kepada

Fakultas Teknologi Informasi

Untuk Memperoleh Gelar Sarjana Komputer

Peneliti :

Aldrien Wattimena (672011156)

Magdalena A. Ineke Pakereng, M.Kom.

Alz Danny Wowor, S.Si., M.Cs.

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS KRISTEN SATYA WACANA

SALATIGA

JUNI 2016

Page 3: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

3

Page 4: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

4

Page 5: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

5

Page 6: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

6

Page 7: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

7

Page 8: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

8

Page 9: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

9

1. Pendahuluan

Integritas data dan otentikasi merupakan dua aspek penting dalam

berkomunikasi selain aspek keamanan data. Integritas digunakan sebagai sebuah

analisis untuk melihat apakah sebuah data masih utuh atau telah dimanipulasi.

Sedangkan otentikasi untuk melihat keaslian dari sebuah data. Komunikasi data

melibatkan pertukaran pesan antara dua entitas, yaitu pengirim (sender) dan penerima

(receiver). Dalam proses pertukaran data, data dapat saja diubah, disisipkan atau

dihilangkan oleh pihak yang tidak bertanggung jawab.

Algoritma yang sering digunakan menjaga integritas data dan otentikasi adalah

Message Authentication Code (MAC) yang juga merupakan fungsi hash satu-arah yang

menggunakan secret key dalam pembangkitan nilai hash dengan kata lain nilai hash

adalah fungsi dari pesan dan kunci. MAC memiliki sifat yang sama seperti fungsi hash

satu-arah, hanya saja ada tambahan komponen kunci di dalamnya yang digunakan oleh

penerima (receiver) untuk verifikasi [1].

MAC dapat dirancang dengan dua pendekatan. Pendekatan pertama fungsi hash

satu arah, sedangkan pendekatan kedua menggunakan kriptografi kunci simetri

berbasis block cipher [1]. Pendekatan kedua mempunyai keunggulan dari sisi

fleksibilitas karena kebebasan memilih kriptografi yang akan digabungkan, tetapi

menjadi masalah dari sisi efisiensi karena menggabungkan dua algoritma.

Penelitian ini merancang sebuah algoritma MAC dengan pendekatan block

cipher yang berbasis 256 bit, dimana juga terdapat proses kompresi untuk mendapatkan

sebuah kode untuk otentikasi. Pada algoritma block cipher yang dirancang

menggunakan skema transposisi dengan pola papan dart dan juga dikombinasi dengan

pola horizontal dan vertikal sebagai alur pemasukan dan pengambilan bit pada sebuah

kotak transposisi.

2. Tinjauan Pustaka

Penelitian sebelumnya yang pertama adalah ”Implementasi Algoritma MAC

Berbasis Cipher Blok Sebagai Program Add-in di Microsoft Word untuk Otentikasi

Dokumen”, membahas tentang membangun sebuah program add-in untuk aplikasi

pengelola kata Microsoft Word yang mampu melakukan otentikasi dokumen dengan

mengimplementasikan algoritma Cipher-based MAC (CMAC), yang merupakan salah

satu pendekatan dari algoritma MAC berbasis cipher blok. Dalam penelitian ini

Cipher-based MAC (CMAC) dipilih karena merupakan algoritma yang masih cukup

aman dan cenderung baru, sehingga penerapannya belum banyak dilakukan. Selain

itu, CMAC dirancang untuk mendeteksi modifikasi yang disengaja dan tidak sah dari

data, serta modifikasi yang tidak sengaja.

Penelitian kedua dengan judul “Pembangunan Algoritma MAC Berbasis

Cipher Aliran”, menjelaskan tentang merancang suatu algoritma MAC berbasis cipher

aliran dan algoritma cipher aliran yang digunakan adalah RC4 (MARC), karena unggul

Page 10: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

10

dalam mencegah serangan. Untuk mendapatkan sifat unik dari MAC yang dihasilkan,

bit yang akan diambil adalah bit yang berada di tengah saja. Dalam hal ini, MARC

mengambil bit ke-4 (skala 0-7) untuk setiap byte dokumen. Jadi, panjang MAC yang

akan didapat (dalam bit) adalah panjang plainteks (dalam bit) dibagi 8, atau dengan

kata lain banyaknya byte dari plainteks tersebut. Jika hasil pembagiannya tidak genap

(bersisa), maka kumpulan bit yang tidak mencapai 1 byte di-padding dengan 0 (false)

hingga genap 1 byte.

Penelitian ketiga berjudul “Implementasi dan Analisis Perbandingan Algoritma

MAC Berbasis Fungsi Hash Satu Arah Dengan Algoritma MAC Berbasis Cipher

Block”, dalam penelitian ini membahas tentang bagaimana mengimplementasikan dan

membandingkan penggunaan algoritma MAC berbasis fungsi hash satu arah, dengan

algoritma MAC berbasis cipher block dengan berpedoman pada kecepatan pembuatan

nilai MAC menggunakan setiap algoritma tersebut. Berdasarkan hasil penelitian ini

saat menggunakan pendekatan fungsi hash, terdapat 80 putaran dengan proses yang

berbeda-beda di setiap 20 putaran. Jumlah putaran yang cukup banyak inilah yang

menyebabkan waktu pembuatan nilai MAC dengan algoritma MAC berbasis fungsi

hash satu arah menjadi relatif lebih lama. Untuk pembuatan nilai MAC terhadap file

yang berukuran relatif besar, pendekatan fungsi hash satu arah ini akan memakan

waktu yang cukup lama dan kurang efektif. Adapun pada pembuatan nilai MAC

dengan pendekatan cipher block, jauh lebih sederhana, yaitu dengan menghitung

panjang nilai XOR antara blok pesan (plaintext) dengan blok kunci. Algoritma block

cipher yang sederhana inilah yang membuat pembuatan nilai MAC menjadi relatif

lebih cepat. Namun demikian, algoritma ini dirasa terlalu sederhana dan kemungkinan

akan lebih mudah terbongkar polanya, sehingga mungkin ditemukan nilai data yang

sama.

Berdasarkan penelitian-penelitian yang ada terkait algoritma kriptografi MAC

berbasis fungsi hash satu arah maupun algoritma kriptografi MAC berbasis cipher

block, maka dilakukan penelitian yang membahas tentang “Perancangan Algoritma

Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher

Berbasis 256 Bit Pada Pola Papan Dart”. Penelitian yang dilakukan ini membahas

tentang perancangan algoritma MAC dengan pendekatan kriptografi block cipher

berbasis 256 bit, dimana enkripsi pada plaintext dan ciphertext menggunakan pola

papan dart sebagai pengacakan. Perbedaan perancangan algoritma kriptografi ini

dengan algoritma kriptografi yang sebelum-sebelumnya terdapat pada teknik dan

proses rancangan plaintext dan kunci yang menggunakan algoritma MAC dengan

pendekatan algoritma kriptografi block cipher. Proses rancangan menggunakan

sebanyak 20 putaran pada plaintext dan dimodulasi Exclutive-OR dengan kunci yang

sudah diregenerasi sebanyak 20 putaran yang telah ditentukan sebelumnya.

Selanjutnya akan dibahas dasar teori yang digunakan sebagai landasan untuk

merancang algoritma kriptografi dalam penelitan ini. Kriptografi adalah ilmu yang

mempelajari teknik-teknik yang berhubungan dengan aspek keamanan informasi

seperti kerahasiaan, integritas data dan otentikasi.

Page 11: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

11

Dalam kriptografi, MAC merupakan informasi yang digunakan untuk menjaga

integritas pesan serta melakukan otentikasi pengiriman pesan. Dalam algoritma MAC,

masukan yang diterima adalah pesan yang akan diautentikasi serta kunci rahasia.

Keluarannya adalah nilai MAC. Seperti halnya tanda tangan digital, MAC dilekatkan

pada pesan dan digunakan untuk otentikasi tanpa perlu merahasiakan pesan. Namun

demikian, MAC berbeda dengan tanda tangan digital. Nilai pada MAC dihasilkan

dengan menggunakan kunci rahasia yang sama antara pengirim dan penerima pesan,

atau sama dengan penggunaan enkripsi simetri. Secara matematis, MAC dinyatakan

pada Persamaan 1.

MAC = CK (M) (1)

yang dalam hal ini,

MAC = nilai hash

C = fungsi hash (algoritma MAC)

K = kunci rahasia

M = pesan yang akan dikirim atau dihitung nilai MACnya

Fungsi C memampatkan pesan M yang berukuran bebas dengan menggunakan

kunci. Dalam fungsi ini bersifat many-to-one, yang berarti beberapa pesan yang

berbeda-beda dapat memiliki nilai MAC yang sama. Tetapi dalam realisasinya,

menemukan pesan-pesan seperti ini secara komputasi sangatlah sulit. Penggunaan

MAC dalam pengiriman pesan dapat dilihat pada Gambar 1.

Gambar 1 Prosedur Message Authentication Code (MAC) [4]

Prosedur MAC pada Gambar 1, dijelaskan sebagai berikut. Pengirim pesan

akan menghitung nilai MAC dari pesan yang akan dikirim dengan kunci rahasia

tertentu. Dalam hal ini diasumsikan bahwa pengirim dan penerima sudah berbagi kunci

rahasia. Kemudian nilai MAC yang didapat dilekatkan pada pesan, selanjutnya dikirim

bersama-sama dengan nilai MAC ke penerima. Pihak penerima kemudian akan

menggunakan kunci K yang sama dengan pengirim untuk menghitung dan

membandingkan nilai MAC yang diterima. Jika kedua nilai MAC yang dihitung dan

dibandingkan oleh penerima pesan sama dengan nilai MAC yang dilekatkan pada

Page 12: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

12

pesan, maka dapat disimpulkan bahwa pesan yang diterima masih terjaga keasliannya

dan tidak terjadi pengubahan isi pesan apapun selama transmisi.

Pada block cipher, rangkaian bit-bit plaintext dibagi menjadi blok-blok bit

dengan panjang sama, biasanya 64 bit (tapi adakalanya lebih). Proses enkripsi yang

menghasilkan block ciphertext pada kebanyakan algoritma kriptografi block cipher

berukuran sama dengan block plaintext. Pada algoritma kriptografi block cipher, proses

dekripsi dilakukan kebalikan dari cara yang sama seperti enkripsi. Secara umum,

skema proses enkripsi-dekripsi dapat ditunjukkan pada Gambar 2.

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

Misalkan block plaintext (P) yang berukuran n bit

npppP ,,, 21 (2)

Blok ciphertext (C) maka blok C adalah

ncccC ,,, 21 (3)

Kunci (K) maka kunci adalah

nkkkK ,,, 21 (4)

Sehingga proses enkripsi adalah

CPEk (5)

Proses dekripsi adalah

PCDk (C) = P (6)

Sebuah kriptografi dapat dikatakan sebagai suatu teknik kriptografi, harus

melalui uji kriptosistem terlebih dahulu yaitu diuji dengan metode Stinson.

Definisi 1 : terdiri dari 5-tuple (Five tuple) (P, C, K, E, D) yang memenuhi

kondisi :

1. P adalah himpunan berhingga dari plaintext,

2. C adalah himpunan berhingga dari ciphertext,

3. K merupakan ruang kunci (keyspace), adalah himpunan berhingga dari

kunci,

4. Untuk setiap 𝑘 𝜖 𝑲, terdapat aturan enkripsi 𝑒𝑘 𝜖 𝑬 dan berkorespodensi

dengan aturan dekripsi 𝑑𝑘 𝜖 𝑫. Setiap 𝑒𝑘 ∶ 𝑷 ⟶ 𝑪 dan 𝑑𝑘 ∶ 𝑪 ⟶ 𝑷 adalah

Page 13: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

13

fungsi sedemikian hingga 𝑑𝑘(𝑒𝑘(𝑥)) = 𝑥 untuk setiap plaintext 𝑥 𝜖 𝑷.

Definisi 1.1 : Untuk mengetahui besaran nilai algoritma kriptografi yang

dirancang mampu mengacak plaintext yang diinputkan maka digunakan nilai keacakan

yang diproleh dari Persamaan (7):

𝑌𝑖 =𝑝𝑖−𝑐𝑖

𝑝𝑖 (7)

Dimana nilai acak Yi untuk tiap karakter diperoleh dari perbandingan antara selisih

plaintext pi dengan ciphertext ci terhadap plaintext pi. Berdasarkan Persamaan 2 maka untuk

mencari nilai keacakan menggunakan rumus pada Persamaan 8.

𝑌�̅� = ∑𝑌𝑖

𝑛

𝑛=8

𝑖=0 (8)

Diferensiasi data adalah perbandingan selisih antar dua titik. Dalam kalkulus,

metode ini sering disebut sebagai turunan atau kemiringan dari data. Jika diberikan

kumpulan data ((x1,y1), (x2,y2), (x3,y3), …, (xn,yn)) dengan syarat bahwa xi < xi+1 dimana

i = 1…n. Data-data tersebut dapat divisualisasikan ke dalam koordinat Cartesius untuk

setiap x sebagai variabel bebas dan y atau kadang ditulis sebagai f(x) sebagai variabel

tak bebas. Untuk menentukan diferensiasi data pada dua titik maka persamaan dapat

dibentuk seperti Persamaan 9.

Dy

Dx=

(yb - ya )

(xa - xb ) (9)

Dengan (xa, ya) sebagai titik pertama, dan titik berikutnya adalah (xb, yb).

Apabila terdapat n data maka untuk menentukan rata-rata dari diferensiasi data dapat

dicari untuk melihat tren dari setiap data Rataan diferensiasi (Rd) dengan Persamaan

(10).

(10)

3. Metode dan Perancangan Algoritma

Pada perancangan algoritma kriptografi Message Authentication Code (MAC)

dengan pendekatan kriptografi Block Cipher berbasis 256 bit pada pola papan dart

dibutuhkan tahap-tahap dalam penelitian. Tahap-tahap yang dibutuhkan yaitu: (1)

Pengumpulan Bahan, (2) Analisis Masalah, (3) Perancangan Algoritma MAC, (4) Uji

Algoritma MAC, dan (5) Penulisan Laporan.

Page 14: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

14

Gambar 3 Tahapan Penelitian

Tahapan penelitian pada Gambar 3, dapat dijelaskan sebagai berikut : Tahap

pertama : Pengumpulan bahan yaitu mencari pola yang akan digunakan dalam proses

perancangan algoritma kriptografi baru MAC dengan pendekatan kriptografi block

cipher serta mengumpulkan referensi yang mendukung; Tahap kedua : Analisis

masalah tentang keamanan algoritma MAC dengan pendekatan kriptografi block

cipher kemudian dijadikan landasan perancangan algoritma baru MAC dengan

pendekatan kriptografi block cipher. Rumusan masalah yang dibahas dalam rancangan

algoritma MAC dengan pendekatan kriptografi block cipher berbasis 256 bit pada pola

papan dart, yaitu: 1) Plaintext dan kunci dibatasi maksimal 32 karakter; 2) Block-block

yang digunakan pada perancangan algoritma MAC dengan pendekatan kriptografi

block cipher berbasis 256 bit pada pola papan dart menggunakan block 16x16 (256-

bit); 3) Pola yang digunakan pada rancangan adalah papan dart; Tahap ketiga :

Perancangan algoritma : 1) Merancang algoritma MAC dengan pendekatan kriptografi

block cipher menggunakan pola papan dart; 2) Membuat rancangan enkripsi yang

diterapkan dalam block cipher dengan ukuran block 16x16 (256-bit), enkripsi pada

kunci dibuat sesuai alur yang telah ditentukan pada kunci; Tahap keempat : Pengujian

algoritma MAC dilakukan secara manual dari memasukkan plaintext, mengubah teks

ke dalam bit dan melakukan proses enkripsi; Tahap kelima : Menulis laporan dari hasil

penelitian yang sudah dilakukan dari tahap awal hingga tahap akhir. Batasan masalah

dalam penelitian ini yaitu : 1) Proses enkripsi hanya dilakukan pada teks; 2) Jumlah

plaintext dan kunci dibatasi yaitu menampung 32 karakter serta proses putaran terdiri

dari 20 putaran; 3) Panjang block adalah 256-bit.

Dalam perancangan algoritma MAC dengan pendekatan kriptografi block

cipher berbasis 256 bit pada pola papan dart ini dilakukan dua (2) proses yaitu proses

enkripsi dan proses kompresi. Proses enkripsi pada perancangan algoritma MAC

dengan pendekatan kriptografi block cipher berbasis 256 bit pada pola papan dart

Perancangan Algoritma

MAC

Pengujian Algoritma MAC

Pengumpulan Bahan

Analisis Masalah

Penulisan Laporan

Page 15: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

15

dilakukan dengan menggunakan putaran sebanyak 20 kali, yang ditunjukkan dalam

Gambar 4 dan Gambar 5.

Gambar 4 Rancangan Alur Proses Enkripsi

Gambar 4 menunjukkan rancangan alur proses enkripsi pada perancangan

algoritma MAC dengan pendekatan kriptografi block cipher berbasis 256 bit pada pola

papan dart. Tahap persiapan dan langkah-langkah proses enkripsi dijelaskan sebagai

berikut: a) Menyiapkan plaintext; b) Mengubah plaintext menjadi biner sesuai dalam

tabel ASCII; c) Dalam rancangan alur proses enkripsi mempunyai rumus untuk

menghasilkan plaintext dan kunci: 1) Plaintext 1 (P1) melakukan pengaturan dengan

melakukan pola papan dart kemudian di XOR dengan Kunci 1 (K1) menghasilkan

Plaintext 2 (P2); 2) Plaintext 2 (P2) melakukan pengaturan dengan melakukan pola

papan dart kemudian di XOR dengan Kunci 2 (K2) menghasilkan Plaintext 3 (P3); dan

tahapan tersebut berlanjut terus secara berurut sampai menghasilkan Plaintext 20

(P20); 3) Plaintext 20 (P20) melakukan pengaturan dengan melakukan pola papan dart

kemudian di XOR dengan Kunci 20 (K20) menghasilkan Ciphertext (C).

Setelah proses enkripsi dilakukan sampai dengan 20 putaran plaintext, maka

dilanjutkan dengan proses kompresi, yang ditunjukkan pada Gambar 5.

Plaintext Kunci

P1 K1

P2 K2

P.. P..

P20 K20

Ciphertext

Page 16: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

16

Gambar 5 Rancangan Alur Proses Kompresi

Gambar 5 menunjukkan rancangan alur proses kompresi dari proses enkripsi

untuk menghasilkan MAC. Tahap persiapan dan langkah-langkah proses kompresi

dijelaskan sebagai berikut: a) Menyiapkan Ciphertext; b) Mengubah Ciphertext

menjadi biner sesuai dalam tabel ASCII; c) Membagi biner dari Ciphertext menjadi

128-bit; d) Dalam rancangan alur proses kompresi mempunyai rumus untuk

menghasilkan sebuah MAC: 1) Biner dari Ciphertext (C) dipisahkan menjadi 2 block

yang nantinya akan di XOR satu sama lain

4. Hasil dan Pembahasan

Bagian ini akan membahas secara lebih rinci mengenai perancangan algoritma

MAC berbasis 256 bit pada pola papan dart. Bagian ini juga akan membahas tentang

proses enkripsi dan kompresi untuk menghasilkan sebuah MAC.

Gambar 6 Papan Dart

Gambar 6 merupakan papan dart yang dijadikan sebagai pola dalam

perancangan algoritma MAC dengan pendekatan kriptografi block cipher berbasis 256

bit yang diterapkan dalam matriks plaintext.

Ciphertext Ciphertext

CP1 CK1

CP2 CK2

CP3 CK3

MAC

Page 17: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

17

Gambar 7 Proses Pemasukan Bit

Plaintext Dalam Matriks

Gambar 7 menggambarkan proses pemasukan plaintext yang akan diubah

menjadi biner dan dimasukkan ke dalam matriks 256-bit. Langkah pertama

memasukkan bit secara horizontal dari kolom pertama adalah x1, x2, x3, …..x256.

Gambar 8 Proses Enkripsi Pemasukan Bit

Plaintext Putaran 20 Dalam Matriks

Gambar 8 merupakan proses ke-4 dari putaran ke-20 pemasukan bit secara

vertikal. Hasil pengambilan bit proses ke-4 dari putaran ke-20 setelah pemasukan bit

dapat dilihat pada Gambar 9. Pengambilan bit dimulai secara horizontal dari x1, x17,

x33, …..x241 dan dimasukan ke dalam matriks sesuai pola papan dart, seperti terlihat

pada Gambar 9.

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16

x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 x31 x32

x33 x34 x35 x36 x37 x38 x39 x40 x41 x42 x43 x44 x45 x46 x47 x48

x49 x50 x51 x52 x53 x54 x55 x56 x57 x58 x59 x60 x61 x62 x63 x64

x65 x66 x67 x68 x69 x70 x71 x72 x73 x74 x75 x76 x77 x78 x79 x80

x81 x82 x83 x84 x85 x86 x87 x88 x89 x90 x91 x92 x93 x94 x95 x96

x97 x98 x99 x100 x101 x102 x103 x104 x105 x106 x107 x108 x109 x110 x111 x112

x113 x114 x115 x116 x117 x118 x119 x120 x121 x122 x123 x124 x125 x126 x127 x128

x129 x130 x131 x132 x133 x134 x135 x136 x137 x138 x139 x140 x141 x142 x143 x144

x145 x146 x147 x148 x149 x150 x151 x152 x153 x154 x155 x156 x157 x158 x159 x160

x161 x162 x163 x164 x165 x166 x167 x168 x169 x170 x171 x172 x173 x174 x175 x176

x177 x178 x179 x180 x181 x182 x183 x184 x185 x186 x187 x188 x189 x190 x191 x192

x193 x194 x195 x196 x197 x198 x199 x200 x201 x202 x203 x204 x205 x206 x207 x208

x209 x210 x211 x212 x213 x214 x215 x216 x217 x218 x219 x220 x221 x222 x223 x224

x225 x226 x227 x228 x229 x230 x231 x232 x233 x234 x235 x236 x237 x238 x239 x240

x241 x242 x243 x244 x245 x246 x247 x248 x249 x250 x251 x252 x253 x254 x255 x256

x1 x17 x33 x49 x65 x81 x97 x113 x129 x145 x161 x177 x193 x209 x225 x241

x2 x18 x34 x50 x66 x82 x98 x114 x130 x146 x162 x178 x194 x210 x226 x242

x3 x19 x35 x51 x67 x83 x99 x115 x131 x147 x163 x179 x195 x211 x227 x243

x4 x20 x36 x52 x68 x84 x100 x116 x132 x148 x164 x180 x196 x212 x228 x244

x5 x21 x37 x53 x69 x85 x101 x117 x133 x149 x165 x181 x197 x213 x229 x245

x6 x22 x38 x54 x70 x86 x102 x118 x134 x150 x166 x182 x198 x214 x230 x246

x7 x23 x39 x55 x71 x87 x103 x119 x135 x151 x167 x183 x199 x215 x231 x247

x8 x24 x40 x56 x72 x88 x104 x120 x136 x152 x168 x184 x200 x216 x232 x248

x9 x25 x41 x57 x73 x89 x105 x121 x137 x153 x169 x185 x201 x217 x233 x249

x10 x26 x42 x58 x74 x90 x106 x122 x138 x154 x170 x186 x202 x218 x234 x250

x11 x27 x43 x59 x75 x91 x107 x123 x139 x155 x171 x187 x203 x219 x235 x251

x12 x28 x44 x60 x76 x92 x108 x124 x140 x156 x172 x188 x204 x220 x236 x252

x13 x29 x45 x61 x77 x93 x109 x125 x141 x157 x173 x189 x205 x221 x237 x253

x14 x30 x46 x62 x78 x94 x110 x126 x142 x158 x174 x190 x206 x222 x238 x254

x15 x31 x47 x63 x79 x95 x111 x127 x143 x159 x175 x191 x207 x223 x239 x255

x16 x32 x48 x64 x80 x96 x112 x128 x144 x160 x176 x192 x208 x224 x240 x256

Page 18: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

18

Gambar 9 Hasil Proses Enkripsi Pengambilan Bit

Plaintext Putaran 20 Pada Pola Papan Dart

Gambar 10 Rancangan Proses Pemasukan Bit

Kunci Dalam Matriks

Gambar 10 merupakan proses pemasukan bit kunci ke dalam matriks. Langkah

pertama memasukkan bit secara horizontal dari kolom pertama x1, x2, x3, …..x256.

Gambar 11 Proses Enkripsi Pemasukan Bit

Kunci Dalam Matriks

x1 x17 x33 x49 x65 x81 x97 x113 x129 x145 x161 x177 x193 x209 x225 x241

x180 x196 x212 x228 x244 x5 x21 x37 x53 x69 x85 x101 x117 x133 x149 x2

x164 x247 x8 x24 x40 x56 x72 x88 x104 x120 x136 x152 x168 x184 x165 x18

x148 x231 x186 x202 x218 x234 x250 x11 x27 x43 x59 x75 x91 x200 x181 x34

x132 x215 x170 x252 x13 x29 x45 x61 x77 x93 x109 x125 x107 x216 x197 x50

x116 x199 x154 x236 x190 x206 x222 x238 x254 x15 x31 x141 x123 x232 x213 x66

x100 x183 x138 x220 x174 x255 x16 x32 x48 x64 x47 x157 x139 x248 x229 x82

x84 x167 x122 x204 x158 x239 x192 x208 x224 x80 x63 x173 x155 x9 x245 x98

x68 x151 x106 x188 x142 x223 x176 x256 x240 x96 x79 x189 x171 x25 x6 x114

x52 x135 x90 x172 x126 x207 x160 x144 x128 x112 x95 x205 x187 x41 x22 x130

x36 x119 x74 x156 x110 x191 x175 x175 x143 x127 x111 x221 x203 x57 x38 x146

x20 x103 x58 x140 x94 x78 x62 x46 x30 x14 x254 x237 x219 x73 x54 x162

x4 x87 x42 x124 x108 x92 x76 x60 x44 x28 x12 x251 x235 x89 x70 x178

x243 x71 x27 x10 x249 x233 x217 x201 x185 x169 x153 x137 x121 x105 x86 x194

x227 x55 x39 x23 x7 x246 x230 x214 x198 x182 x166 x150 x134 x118 x102 x210

x211 x195 x179 x163 x147 x131 x115 x99 x83 x67 x51 x35 x19 x3 x242 x226

x241 x240 x209 x208 x177 x176 x145 x144 x113 x112 x81 x80 x49 x48 x17 x16

x242 x239 x210 x207 x178 x175 x146 x143 x114 x111 x82 x79 x50 x47 x18 x15

x243 x238 x211 x206 x179 x174 x147 x142 x115 x110 x83 x78 x51 x46 x19 x14

x244 x237 x212 x205 x180 x173 x148 x141 x116 x109 x84 x77 x52 x45 x20 x13

x245 x236 x213 x204 x181 x172 x149 x140 x117 x108 x85 x76 x53 x44 x21 x12

x246 x235 x214 x203 x182 x171 x150 x139 x118 x107 x86 x75 x54 x43 x22 x11

x247 x234 x215 x202 x183 x170 x151 x138 x119 x106 x87 x74 x55 x42 x23 x10

x248 x233 x216 x201 x184 x169 x152 x137 x120 x105 x88 x73 x56 x41 x24 x9

x249 x232 x217 x200 x185 x168 x153 x136 x121 x104 x89 x72 x57 x40 x25 x8

x250 x231 x218 x199 x186 x167 x154 x135 x122 x103 x90 x71 x58 x39 x26 x7

x251 x230 x219 x198 x187 x166 x155 x134 x123 x102 x91 x70 x59 x38 x27 x6

x252 x229 x220 x197 x188 x165 x156 x133 x124 x101 x92 x69 x60 x37 x28 x5

x253 x228 x221 x196 x189 x164 x157 x132 x125 x100 x93 x68 x61 x36 x29 x4

x254 x227 x222 x195 x190 x163 x158 x131 x126 x99 x94 x67 x62 x19 x30 x3

x255 x226 x223 x194 x191 x162 x159 x130 x127 x98 x95 x66 x63 x34 x31 x2

x256 x225 x224 x193 x192 x161 x160 x129 x128 x97 x96 x65 x64 x33 x32 x1

Page 19: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

19

Gambar 11 merupakan proses enkripsi pemasukan kunci ke dalam matriks

secara vertikal dari kolom terakhir x1, x2, x3, …..x256. Hasil pengambilan bit setelah

proses enkripsi pemasukan bit dapat dilihat pada Gambar 12.

Gambar 12 Hasil Pengambilan Bit Dari Proses Pemasukan Kunci

Gambar 12 merupakan hasil proses pengambilan bit pada kunci setelah proses

enkripsi pemasukan bit kunci. Pengambilan kunci digunakan untuk menyamarkan

pesan plaintext pada ciphertext. Pengambilan dalam bit kunci dilakukan secara

horizontal dan dimasukkan dalam matriks sesuai pola papan dart. Bit pertama mulai

diambil dari kolom pertama dari proses enkripsi pemasukan bit kunci dan dimasukkan

dalam matriks sesuai dengan pola papan dart yang dimulai dari x241, x240, x209,

…..x16, seperti yang terlihat pada Gambar 12.

Alur proses enkripsi dan kompresi telah dijelaskan di pembahasan sebelumnya

yaitu pada bagian metode dan perancangan algoritma. Proses yang lebih lengkap

mengenai alur proses enkripsi dan proses kompresi akan dijabarkan pada Gambar 12

dan Gambar 13.

x16 x242 x239 x210 x207 x178 x175 x146 x143 x114 x111 x82 x79 x50 x47 x18

x17 x108 x85 x76 x53 x44 x21 x12 x246 x235 x214 x203 x182 x171 x150 x15

x48 x117 x73 x56 x41 x24 x9 x249 x232 x217 x200 x185 x168 x153 x139 x243

x49 x140 x88 x166 x155 x134 x123 x102 x91 x70 x59 x38 x27 x136 x118 x238

x80 x149 x105 x187 x132 x125 x100 x93 x68 x61 x36 x29 x6 x121 x107 x211

x81 x172 x120 x198 x157 x226 x223 x194 x191 x162 x159 x4 x252 x104 x86 x206

x112 x181 x137 x219 x164 x255 x193 x192 x161 x160 x130 x254 x229 x89 x75 x179

x113 x204 x152 x230 x189 x3 x224 x33 x32 x129 x127 x227 x220 x72 x54 x174

x144 x213 x169 x251 x196 x30 x225 x64 x1 x128 x98 x222 x197 x57 x43 x147

x145 x236 x184 x7 x221 x19 x256 x65 x96 x97 x95 x195 x188 x40 x22 x142

x176 x245 x201 x26 x228 x62 x2 x31 x34 x63 x66 x190 x165 x25 x11 x115

x177 x13 x216 x39 x253 x67 x94 x99 x126 x131 x158 x163 x156 x8 x247 x110

x208 x20 x233 x58 x5 x28 x37 x60 x69 x92 x101 x124 x133 x250 x234 x83

x209 x45 x248 x71 x90 x103 x122 x135 x154 x167 x186 x199 x218 x231 x215 x78

x240 x52 x10 x23 x42 x55 x74 x87 x106 x119 x138 x151 x170 x183 x202 x51

x241 x77 x84 x109 x116 x141 x148 x173 x180 x205 x212 x237 x244 x14 x19 x46

Page 20: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

20

Gambar 13 Alur Proses Enkripsi

C1

C19

C1

C19

Ciphertext

P20 K20

Bit

P1 K1

P19 K19

Proses 1 (Put 1) Proses 1 (K 1)

Bit Masuk Bit Masuk

Proses Ambil Proses Ambil

Plaintext

ASCII

Bit

Kunci

ASCII

Bit MasukBit Masuk

ASCII

K19P19

Proses Ambil Proses Ambil

P1

KunciPlaintext

Bit Proses 2 (Put 1) Proses 2 (K 1) Bit

ASCII

K1

P20 K20

Ciphertext

C1

C19

C1

C19

Kunci

Bit Masuk Bit Masuk

Proses Ambil Proses Ambil

ASCII

Bit

Plaintext

ASCII

Bit Proses 3 (Put 1) Proses 3 (K 1)

Bit Proses 4 (Put 1) Proses 4 (K 1) Bit

P1 K1

P19 K19

P20 K20

Ciphertext

Plaintext Kunci

ASCII ASCII

Bit Masuk Bit Masuk

Proses Ambil Proses Ambil

P1 K1

P19 K19

P20 K20

Ciphertext

Page 21: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

21

Gambar 13 menggambarkan proses enkripsi, secara keseluruhan ada empat

proses enkripsi yang di dalam setiap prosesnya terdapat dua proses baru untuk

pembentukan plaintext dan kunci, dimana dua proses tersebut mempunyai masing-

masing 20 putaran plaintext dan kunci. Plaintext diubah ke dalam bentuk bit sesuai

dengan tabel ASCII, dan rangkaian bit dimasukkan ke dalam matriks 16x16 secara

horizontal maupun vertikal. Pengambilan bit menggunakan pola papan dart dan hasil

pengambilan bit akan ditampung menjadi P1. Hal tersebut juga terjadi pada

pembentukan kunci.

Rangkaian bit pada P1 akan di XOR dengan rangkaian bit pada K1 sehingga

menghasilkan C1. Rangkaian bit pada C1 akan digunakan sebagai plaintext ke-2 untuk

pemasukan bit pada putaran ke-2. Sedangkan rangkaian bit pada K1 akan digunakan

kembali untuk pemasukan bit kunci putaran ke-2.

Proses enkripsi ke-2, ke-3, dan ke-4 pada putaran ke-1 sampai putaran ke-20

hampir sama dengan proses enkripsi ke-1 putaran ke-1 sampai putaran ke-20.

Perbedaannya adalah pola yang digunakan masih sama yaitu papan dart tapi setiap

pengambilan pada proses enkripsi ke-2, ke-3, dan ke-4 untuk masing-masing putaran

ke-1 sampai dengan putaran ke-20 berbeda.

Proses kompresi merupakan pemampatan dari masing-masing ciphertext pada

proses enkripsi ke-1, ke-2, ke,3, dan ke-4 untuk menghasilkan sebuah MAC. Alur

proses kompresi ditunjukkan pada Gambar 14.

Gambar 14 Alur Proses Kompresi

Untuk membuktikan proses enkripsi pada pola papan dart sehingga

menghasilkan sebuah MAC, maka dilakukan perhitungan secara manual. Proses

C1

C2

C3

Ubah Nilai C3 Menjadi Hexa

Nilai C3 (Hex) = MAC

Masukan Dalam Matrix (16x8)

Masukan Dalam Matrix (8x8)

Masukan Dalam Matrix (8x4)

Masukan Dalam Matrix (16x8)

Masukan Dalam Matrix (8x8)

Masukan Dalam Matrix (8x4)

Bagi Bit C1 Jadi 2 Bagian (64-bit)

Bagian 1 Dijadikan Plaintext Bagian 2 Dijadikan Kunci

Bagian 1 Dijadikan Plaintext Bagian 2 Dijadikan Kunci

Bagi Bit C2 Jadi 2 Bagian (32-bit)

Proses 3

Bagian 1 Dijadikan Plaintext Bagian 2 Dijadikan Kunci

Bagi Bit (C) Jadi 2 Bagian (128-bit)

Proses 2

Bit Proses 1

Ciphertext (Hex)

Page 22: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

22

enkripsi pada pengujian algoritma MAC ini menggunakan kalimat “FAKULTAS

TEKNOLOGI INFORMASI FTI” sebagai input plaintext dan “UNIVERSITAS

KRISTEN SATYA WACANA” sebagai kunci. Proses yang dijelaskan dalam

pembahasan ini adalah proses ke-4 pada putaran ke-1

Plaintext “FAKULTAS TEKNOLOGI INFORMASI FTI” dan kunci

“UNIVERSITAS KRISTEN SATYA WACANA” diubah ke dalam biner menjadi :

Proses pengambilan rangkaian bit pada matriks 16x16 untuk plaintext dan

kunci telah ditunjukkan pada Gambar 8 dan Gambar 9.

Tabel 1 Hasil Perubahan dari Plaintext Ke Ciphertext dan Menghasilkan Nilai

Message Authentication Code (MAC) Dalam Hexa

No

Plaintext

Ciphertext

Nilai MAC

(Hexa)

1. Putaran 20 (P1) (0001000011001100,

1110011000011011, 1110010111111100,

1001011011001001, 0110100010011110, 0111001001100110, 0000101110110011,

1001110010100100, 1011000110101101,

1000101000101111, 1000001111100101, 1000110101010011, 1101001001011100,

0100000100101100, 0110000001100000,

0100001111001111)

16 204, 230 27,

229 252, 150 201, 104

158, 114 102, 11 179, 156

164,

177 173, 138 47, 131 229,

141 83, 210 92,

65 44, 96 96, 67 207

D82CCA3E

2. Putaran 20 (P2) (0000110110100110,

0000100100010000, 0101100000010111, 0110110001000000, 0111110110101011,

0100101100110101, 1110100111011101,

0101010111010101, 1101110000110000, 0011001111010111, 1110010010010101,

0101101101101011, 1010010010010011,

1001001101001100, 1000100000101011, 1110000010111100)

13 166, 9 16,

88 23, 108 64, 125 171, 75 53,

233 221, 85 213, 220

48, 51 215, 228 149, 91

107,

164 147, 147 76, 136 43,

224 188

3. Putaran 20 (P3) (1011010010011011, 1000111000110101, 0100110100000001,

1000111001110011, 0001110011100101,

1001111011101001, 1010001001010010, 0000100110111100, 0011101101110000,

0100010100010101, 1010111001010001,

180 155, 142 53, 77 1, 142 115, 28 229,

158 233, 162 82, 9 188,

59 112, 69 21, 174 81, 232 138, 247

141,

FA : 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 UN : 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0

KU : 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 IV : 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0

LT : 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 ER : 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 0

AS : 0 1 0 0 0 0 0 1 0 1 0 1 0 0 1 1 SI : 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1

(_)T : 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 TA : 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1

EK : 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 1 S(_) : 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 0

NO : 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 1 KR : 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0

LO : 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 IS : 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1

GI : 0 1 0 0 0 1 1 1 0 1 0 0 1 0 0 1 TE : 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1

(_)I : 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 N(_) : 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0

NF : 0 1 0 0 1 1 1 0 0 1 0 0 0 1 1 0 SA : 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 1

OR : 0 1 0 0 1 1 1 1 0 1 0 1 0 0 1 0 TY : 0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 1

MA : 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 1 A(_) : 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0

SI : 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 WA : 0 1 0 1 0 1 1 1 0 1 0 0 0 0 0 1

(_)F : 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 CA : 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1

TI : 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 1 NA : 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 1

Page 23: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

23

1110100010001010, 1111011110001101,

1000011001011000, 0110111001011011, 0101010001001001)

134 88, 110 91,

84 73

4.

Putaran 20 (P4) (1110001010111000,

0100011001011010, 0101101000101111, 1100001100111010, 0101100101000111,

1100011000101010, 0110110011001100,

1100110011000000, 1001111010110001, 0001011100100101, 1111111101001100,

0000010010001101, 0110011000110110,

0000100000010010, 0110111111010110, 0101000010110000)

226 184, 70 90, 90 47,

195 58, 89 71, 198 42,

108 204, 204 192, 158

177, 23 37, 255 76,

4 141, 102 54,

8 18, 111 214, 80 176

Tabel 1 menunjukkan hasil enkripsi putaran ke-20 dari proses ke-1 sampai

proses ke-4, bit digunakan sebagai input ke dalam matriks 16x16 algoritma MAC

berbasis block cipher yang hasil enkripsi (ciphertext) dikompres untuk mendapatkan

sebuah nilai MAC dalam bentuk hexa.

Berdasarkan pada Persamaan 7 yang merupakan persamaan untuk mengetahui

nilai korelasi antara plaintext dan ciphertext, dalam nilai korelasi berkisar antara -1

sampai 1. Jika nilai korelasi mendekati 1 maka plaintext dan ciphertext mempunyai

nilai yang sangat berhubungan, tetapi jika nilai korelasi yang didapat mendekati 0 (nol),

maka dapat dikatakan plaintext dan ciphertext mempunyai nilai yang sama sekali tidak

berhubungan.

Tabel 2 Nilai Korelasi Tiap Proses

Proses Nilai Korelasi

Proses 1 0,072281949

Proses 2 0,085361062

Proses 3 0,212435072

Proses 4 0,030449953

Tabel 2 menunjukkan hasil pengujian korelasi dari setiap proses di dalam

algoritma yang dirancang. Berdasarkan nilai-nilai hasil pengujian korelasi yang

ditampilkan dalam Tabel 2, proses 1, proses 2, dan proses 4 berada dalam kisaran

hubungan yang tidak berarti, sedangkan pada proses 3 hubungan korelasi sangat lemah.

Sehingga dapat disimpulkan bahwa algoritma MAC berbasis block cipher yang

dirancang dapat menyamarkan pesan plaintext.

Pengujian perbedaan output jika salah satu karakter input ditambahkan atau

dihapus dapat dilihat pada Tabel 3.

Page 24: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

24

Tabel 3 Hasil Pengujian Perbedaan Output

INPUT

OUTPUT

F 7F068E7C

FA 0716C478 FAK CD2D428D

FAKU E47D11B6

FAKUL BCE746F8 FAKULT 6B8367B2

FAKULTA 2D7532BB

FAKULTAS 71A7A086 FAKULTAS T FF42164D

FAKULTAS TE 59AFB26F

FAKULTAS TEK 58AC756A

FAKULTAS TEKN 352256FB

FAKULTAS TEKNO 2595265F FAKULTAS TEKNOL 62A60A35

FAKULTAS TEKNOLO 2C8B135C

FAKULTAS TEKNOLOG 2549F44C FAKULTAS TEKNOLOGI 930ADCC8

Tabel 3 menunjukkan hasil pengujian algoritma MAC dimana jika di-Input-kan

kalimat “FAKULTAS TEKNOLOGI” akan mempunyai hasil yang berbeda dengan

input kalimat lain, jika input pada kalimat yang lain tersebut dihapus satu huruf maupun

ditambahkan satu huruf.

5. Simpulan

Berdasarkan penelitian dan pengujian terhadap rancangan algoritma MAC

dengan pendekatan kriptografi block cipher berbasis 256 bit pada pola papan dart maka

dapat disimpulkan: 1) Pola papan dart dapat digunakan sebagai rancangan algoritma

MAC dengan proses kompresi dari ciphertext; 2) Perubahan pada input seperti

pengurangan huruf, kata, atau kalimat menyebabkan hasil output (nilai MAC)

mengalami perubahan dari hasil output sebelumnya; 3) Pengujian nilai korelasi pada

setiap proses memiliki hubungan korelasi yang lemah sehingga dapat dikatakan bahwa

rancangan algoritma MAC dengan pendekatan kriptografi block cipher berbasis 256

bit pada pola papan dart dapat menyamarkan plaintext dengan baik.

6. Daftar Pustaka

[1] Munir, R. (2006). Kriptografi. Bandung: Informatika.

[2] Adiprabowo, Y., 2006. Implementasi Algoritma MAC Berbasis Cipher Blok

Sebagai Program Add-in di Microsoft Word Untuk Otentikasi Dokumen.

Teknik Informatika ITB Bandung.

[3] Safrina, R., 2007. Pembangunan Algoritma MAC Berbasis Cipher Aliran.

Teknik Informatika ITB Bandung.

Page 25: Perancangan Algoritma Message Authentication Code (MAC ...€¦ · 1 Peranca. ngan Algo. ritma Message Authentication Code (MAC) Dengan Pendekatan Kriptografi Block Cipher Berbasis

25

[4] Prima, P., 2011. Implementasi dan Analisis Perbandingan Algoritma MAC

Berbasis Fungsi Hash Satu Arah Dengan Algoritma MAC Berbasis Cipher

Block. Teknik Informatika ITB Bandung

[5] Dworkin, M., 2005. Recommendation for Block CipherModes of Operation :

The CMAC Mode for Authentication. National Insitude of Standard and

Technology Special Publication 800-3B. U.S. Department of Commerce.

[6] http://en.wikipedia.org/wiki/Message_authentication_code, diakses pada 26

April 2011

[7] Menezes, A. J., van Oorschot, P. C., & Vanstone, S. A., 1997. Handbook of

Applied Cryptography, CRC Press.

[8] Stinson, D. R., (1995).Cryptography: Theory and Practice. CRC Press, Boca

Raton, London, Tokyo.

[9] Dafid, Oktober (2006), Kriptografi Kunci Simetris Dengan Menggunakan

Algoritma Crypton, STMIK MDP Palembang.