Anda di halaman 1dari 7

Pelita Informatika Budi Darma,

Darma, Volume III


III Nomor : 2 , April 2013
2013

ISSN : 2301-9425

IMPLEMENTASI ALGORITMA KEYED-HASH MESSAGE


AUTHENTICATION CODE (HMAC) PADA PESAN TEKS
BERBASIS CHATTING
Jhon Daniel Situmorang
0811149
Mahasiswa Program Studi Teknik Informatika STMIK Budi Darma Medan
Jl. Sisingamangaraja No. 338 Simpang Limun Medan
Email:hiu_putih_19@yahoo.com
Abstrak
Seiring dengan perkembangan teknologi, chatting sampai saat ini juga terus berkembang pesat dan sangat
bervariasi dalam penggunaannya. Sebelumnya, chatting hanya digunakan sebagai sarana untuk berkomunikasi
dengan orang lain saja. Namun seiring dengan perkembangan jaman, penggunaan chatting menjadi semakin
meluas dan tidak terbatas hanya sebagai sarana komunikasi dua orang saja, tetapi dapat digunakan untuk
konferensi dan bertukar informasi yang serius, misalnya tentang ekonomi, politik, dan sebagainya. Mekanisme
yang menyediakan pemeriksaan integritas pesan berdasar atas kunci rahasia atau privat biasa disebut juga
Message Authentication Code. Biasanya, Message Authentication Code digunakan ketika dua pihak berbagi
sebuah kunci rahasia atau privat untuk melakukan autentikasi terhadap pesan yang ditransmisikan antar pihak
tersebut. Ada beberapa jenis, Message Authentication Code (MAC), salah satunya adalah Keyed-hash Message
Authentication Code (HMAC).
Kata kunci : Pesan, Chatting, HMAC
1.

Pendahuluan

Pada masa sekarang, informasi adalah sesuatu


yang sangat mahal harganya. Informasi menjadi
barang yang perlu dilindungi dan dijaga dari pihakpihak yang tidak berhak memilikinya. Informasi yang
dijaga tersebut mencakup dokumen atau pesan
komunikasi antar beberapa orang. Untuk dokumen,
perlindungan yang perlu dilakukan adalah mencegah
orang lain mendapatkan akses ke dokumen yang
dimaksud. Sedangkan untuk pesan komunikasi, hal
yang harus dilakukan adalah mencegah adanya
penyusup ketika pesan dikirim, baik itu mengetahui isi
pesan atau mengubah pesan asli.
Pada saat ini juga penggunaan chatting menjadi
semakin meluas dan tidak terbatas hanya sebagai
sarana komunikasi dua orang saja, tetapi dapat
digunakan untuk konferensi dan bertukar informasi
yang serius, misalnya tentang ekonomi, politik, dan
sebagainya. (Adi Nugroho, 2010, 25)
Mekanisme yang menyediakan pemeriksaan
integritas pesan berdasar atas kunci rahasia atau privat
biasa disebut juga Message Authentication Code.
Biasanya, Message Authentication Code digunakan
ketika dua pihak berbagi sebuah kunci rahasia atau
privat untuk melakukan autentikasi terhadap pesan
yang ditransmisikan antar pihak tersebut. Ada
beberapa jenis, Message Authentication Code (MAC),
salah
satunya
adalah
Keyed-hash
Message
Authentication Code (HMAC). (Graifhan, 2012, 13)

Secara
umum,
Keyed-hash
Message
Authentication Code adalah teknik MAC

yang memanfaatkan fungsi hash terhadap


pesan dan kemudian mengenkripsi pesan tersebut
dengan sebuah kunci privat. Dimana fungsi hash
merupakan fungsi yang menerima masukan string
yang panjangnya 512 bit dan mengkonversinya
menjadi string keluaran yang panjangnya tetap (fixed)
misalnya 160 bit, umumnya berukuran jauh lebih kecil
daripada ukuran string semula. Dengan kata lain,
fungsi hash mengkompresi sembarang pesan yang
berukuran sampai 512 bit menjadi pesan yang
ukurannya selalu tetap atau lebih pendek dari panjang
pesan semula. Adapun pokok permasalahannya adalah
bagaimana mengimplementasikan algoritma Keyedhash Message Authentication Code (HMAC) untuk
mengamankan pesan teks berbasis chatting yang
nantinya dapat menjaga integritas pesan teks yang
dikirim melalui aplikasi chatting.
2.

Landasan Teori

2.2 Kriptografi
Data menggambarkan sebuah representasi fakta
yang tersusun secara terstruktur. Selain deskripsi dari
sebuah fakta, data dapat pula merepresentasikan
suatu objek sebagaimana dikemukakan oleh Wawan
dan Munir[1] bahwa data adalah nilai yang
merepresentasikan deskripsi dari suatu objek atau
kejadian (event).
Dengan demikian dapat dijelaskan kembali
bahwa data merupakan suatu objek, kejadian, atau
fakta yang terdokumentasikan dengan memiliki

Diterbitkan Oleh : STMIK Budi Darma Medan

89

Pelita Informatika Budi Darma,


Darma, Volume III
III Nomor : 2 , April 2013
2013

kodifikasi terstruktur untuk suatu atau beberapa


entitas.
Setelah kita mengerti akan pengertian tentang
data maka dari hasil data tersebut akan menghasilkan
informasi. Informasi merupakan sesuatu yang
dihasilkan dari pengolahan data. Data yang sudah ada
dikemas dan diolah sedemikian rupa sehingga menjadi
sebuah informasi yang berguna. Berikut adalah
definisi informasi berdasarkan berbagai sumber.
Informasi merupakan suatu hasil dari pemrosesan
data menjadi sesuatu yang bermakna bagi yang
menerimanya, Vercellis (2009:7). Selain merupakan
hasil dari pengolahan data, informasi juga
menggambarkan sebuah kejadian, sebagaimana
dikemukakan oleh Wawan dan Munir ( 2006:9),
bahwa Informasi merupakan hasil dari pengolahan
data dalam suatu bentuk yang menggambarkan suatu
kejadian-kejadian (event) yang nyata (fact) dengan
lebih berguna dan lebih berarti. Dengan demikian
informasi dapat dijelaskan kembali sebagai sesuatu
yang dihasilkan dari pengolahan data menjadi lebih
mudah
dimengerti
dan
bermakna
yang
menggambarkan suatu kejadian dan fakta yang ada.
Jadi berdasarkan penjelasan di atas maka
pengertian keamanan data adalah upaya atau tindakan
pencegahan dari serangan pengguna komputer atau
pengakses jaringan untuk mengambil suatu informasi
yang merupakan hasil dari pengolahan data yang
hendak di ambil oleh orang yang tidak bertanggung
jawab.
Kata kriptografi berasal dari bahasa Yunani,
crypts yang berarti tersembunyi dan grphein
yang berarti tulisan. Sehingga kata kriptografi dapat
diartikan berupa frase tulisan tersembunyi.
Kriptografi merupakan seni dan ilmu yang ditujukan
untuk menyembunyikan arti yang sesungguhnya.
Penggunaan kata seni di dalam definisi di atas
berasal dari fakta sejarah bahwa pada masa-masa awal
sejarah kriptografi, setiap mungkin mempunyai cara
yang merahasiakan pesan. Cara-cara unik tersebut
mungkin berbeda-beda pada setiap pelaku kriptografi
sehingga setiap cara menulis pesan rahasia pesan
mempunyai nilai estetika tersendiri sehingga
kriptografi berkembang menjadi sebuah seni
merahasiakan pesan (kata graphy di dalam
cryptography itu sendiri sudah menyiratkan sebuah
seni)[1].
2.3

Sejarah Kriptografi

Kriptografi mempunyai sejarah yang sangat


menarik dan panjang. Kriptografi sudah digunakan
4000 tahun yang lalu dan diperkenalkan oleh bangsa
mesir untuk mengirim pesan ke pasukan militer yang
berada
di
lapangan.
Mereka
menggunakan
hieroglyphcs untuk menyembunyikan tulisan dari
pihak yang tidak diinginkan. Hieroglyphcs diturunkan
dari bahasa Yunani hieroglyphica yang berarti ukiran
rahasia. Hieroglyphs berevolusi menjadi hieratic,

ISSN : 2301-9425

yaitu stylized script yang lebih mudah untuk


digunakan. Dengan demikian, pesan tersebut tidak
dapat terbaca oleh pihak musuh walaupun kurir
pembawa pesan tersebut tertangkap oleh musuh.
Demikianlah hingga penggunaan kriptografi pada
abad ke-20[2].
Sejarah kriptografi sebagian besar merupakan
sejarah kriptografi klasik, yaitu metode enkripsi yang
menggunakan kertas dan pensil atau mungkin dengan
bantuan alat mekanik sederhana. Secara umum
algoritma kriptografi klasik dikelompokkan menjadi
dua kategori, yaitu algoritma transposisi (transposition
cipher) dan algoritma substitusi (substitution cipher).
Transposition cipher mengubah susunan huruf-huruf
di dalam pesan, sedangkan substitution cipher
mengganti setiap huruf atau kelompok huruf dengan
sebuah huruf atau kelompok huruf lain.
Sejarah kriptografi klasik mencatat penggunaan
cipher transposisi oleh tentara Sparta di Yunani pada
permulaan tahun 400 SM. Mereka menggunakan alat
yang namanya scytale. Scytale terdiri dari sebuah
kertas panjang dari daun papyrus yang dililitkan pada
sebuah silinder dari diameter tertentu (diameter
silender menyatakan kunci penyandian). Pesan ditulis
secara horizontal, baris per baris. Bila pita dilepaskan,
maka huruf-huruf di dalamnya telah tersusun secara
acak membentuk pesan rahasia. Untuk membaca
pesan, penerima pesan harus melilitkan kembali kertas
tersebut ke silinder yang diameternya sama dengan
diameter silinder pengirim.
Sedangkan algoritma substitusi paling awal dan
paling sederhana adalah Caesar cipher, yang
digunakan oleh raja Yunani kuno, Julius Caesar.
Caranya adalah dengan mengganti setiap karakter di
dalam alfabet dengan karakter yang terletak pada tiga
posisi berikutnya di dalam susunan alphabet[1].
Pada perang dunia kedua, Jerman menggunakan
enigma atau juga disebut dengan mesin rotor yang
digunakan Hitler untuk mengirim pesan kepada
tentaranya. Jerman sangat percaya bahwa pesan yang
dikirim melalui enigma tidak terpecahkan kode-kode
enkripsinya. Akan tetapi, anggapan tersebut keliru.
Ternyata setelah bertahun-tahun, sekutu dapat
memecahkan
kode-kode
tersebut
setelah
mempelajarinya. Setelah jerman mengetahui bahwa
kode-kode tersebut dapat terpecahkan, enigma yang
digunakan pada perang dunia kedua beberapa kali
mengalami perubahan. Demikianlah, karena Enigma
berhasil dipecahkan oleh pihak Sekutu dan
keberhasilan memecahkan Enigma sering dikatakan
sebagai faktor yang memperpendek perang dunia
kedua[1].
2.4

Algoritma
Keyed-Hash
Authentication (HMAC)
2.4.1 Algoritma Hash

Message

Hash adalah fungsi yang menerima masukan


string
yang
panjangnya
sembarang
dan

Diterbitkan Oleh : STMIK Budi Darma Medan

90

Pelita Informatika Budi Darma,


Darma, Volume III
III Nomor : 2 , April 2013
2013

mengkonversinya menjadi string keluaran yang


panjangnya tetap (fixed) umumnya berukuran jauh
lebih kecil daripada ukuran string semula. Fungsi hash
dapat menerima masukan string apa saja. Jika string
menyatakan pesan (message), maka sembarang pesan
M berukuran bebas dikompresi oleh fungsi hash (H)
melalui persamaan :
h = H(M) . . . . . . . . . . . . .
Keterangan :
h
: Nilai hash atau message digest
H
: Fungsi Hash
M
: Nilai masukan

(1)

Keluaran fungsi hash disebut juga nilai hash (hashvalue) atau pesan-ringkas (message digest). Pada
persamaan di atas, h adalah nilai hash atau message
digest dari fungsi H untuk masukan M. Dengan kata
lain, fungsi hash mengkompresi sembarang pesan
yang berukuran berapa saja menjadi message digest
yang ukurannya selalu tetap (dan lebih pendek dari
panjang pesan semula). Gambar memperlihatkan
contoh 3 buah pesan dengan panjang yang berbedabeda selalu di-hash menghasilkan pesan ringkas yang
panjangnya tetap (dalam contoh ini pesan ringkas
dinyatakan dalam kode heksadesimal yang panjangnya
128 bit. Satu karakter heksa desimal = 4 bit). Nama
lain fungsi hash adalah fungsi kompresi atau kontraksi
(compression function), cetak jari (fingerprint),
pemeriksaan kriptografi atau cryptographicchecksum,
memeriksa integritas pesan atau message integrity
check (MIC), deteksi manipulasi kode atau
manipulation detection code (MDC)[1].

ISSN : 2301-9425

2.4.2 Algoritma HMAC


Secara umum, algoritma HMAC ini dapat
dijelaskan dengan persamaan di bawah ini :
HMACK(m)= h((K opad) h ((K

ipad) m)) .(2)

Keterangan :
HMACk(m) : adalah nilai HMAC dari pesan yang
akan diautentikasi
h
: fungsi hash yang digunakan
K
: Kunci privat yang diketahui oleh
pengirim dan penerima
Opad
: Outer pad(0x5c5c...5c)
Ipad
: Inner pad(0x36363..36)
m
: pesan yang akan diautentikasi
dengan K adalah kunci privat yang diketahui oleh
pengirim dan penerima, h adalah fungsi hash yang
digunakan, m adalah pesan yang akan diautentikasi,
opad adalah 0x5c5c5c...5c dan ipad adalah
0x36363...36 dengan panjang yang sama.
2.4.3 Algoritma HMAC Secara Umum
Dari definisi di atas, algoritma HMAC dapat
dijabarkan menjadi 10 langkah, yaitu akan
digambarkan pada gambar 2 berikut ini[1] :

Gambar 1 : Hashing Beberapa Buah Pesan Dengan


Panjang Berbeda-Beda
Aplikasi fungsi hash
antara lain untuk
memverikasi kesamaan salinan suatu arsip dengan
arsip aslinya yang tersimpan di dalam sebuah basis
data terpusat. Ketimbang mengirim salinan arsip
tersebut secara keseluruhan ke komputer pusat (yang
membutuhkan waktu transmisi lama dan ongkos yang
mahal), lebih baik mengirimkan message digest-nya
saja. Jika message digest salinan arsip sama dengan
message digest arsip asli, berarti salinan arsip tersebut
sama dengan arsip di dalam basis data.
Gambar 2 : Diagram Algoritma HMAC

Diterbitkan Oleh : STMIK Budi Darma Medan

91

Pelita Informatika Budi Darma,


Darma, Volume III
III Nomor : 2 , April 2013
2013

Step 1. Jika panjang K = B, Set K0 = K.


Kemudian lanjut ke Step 4.
Step 2. Jika panjang K > B, hash K untuk
mendapatkan L string byte, kemudian append
dengan (B-L) angkat 0 untuk mendapatkan
string byte K0 yang panjangnya sama dengan
B.
Kemudian lanjut ke Step 4.
Step 3. Jika panjang K < B, append angka 0 sebanyak
(B-K) untuk mendapatkan string byte K0
yang panjangnya sama dengan B. Kemudian
lanjut ke Step 4.
Step 4. Lakukan XOR antara K0 dengan ipad untuk
menghasilkan string byte sepanjang B.
Step 5. Append string text ke dalam hasil string dari
step 4 tadi.
Step 6. Lakukan H untuk string yang dihasilkan oleh
Step 5.
Step 7. Lakukan XOR antara K0 dengan opad.
Step 8. Lakukan append string dari Step 6 ke dalam
string dari step 7.
Step 9. Lakukan H untuk string yang dihasilkan dari
step 8.
Step 10. Ambil leftmost byte sebanyak t dari string
yang dihasilkan Step 9.
Adapun penjelasan dari variabel yang digunakan di
dalam diagram algoritma di atas adalah :

ISSN : 2301-9425

panjang B, maka kunci tersebut di-Hash terlebih


dahulu. Kemudian hasil hash ini akan di-append
dengan 0 supaya panjangnya sama dengan B, sama
dengan halnya jika panjang kunci lebih pendek dari B.
Langkah selanjutnya adalah melakukan XOR
antara K0 dengan ipad. Hasil operasi ini disebut juga
dengan inner key. Langkah kelima adalah melakukan
operasi konkatenasi text ke string inner key. Langkah
keenam adalah menghitung nilai hash dari hasil
konkatenasi yang baru saja dilakukan. Langkah
berikutnya adalah menghitung nilai outer key, yang
didapatkan dari operasi XOR antara K0 dengan opad.
Kemudian dilakukan operasi konkatenasi lagi antara
outer key dengan nilai hash yang dihitung pada
langkah keenam. Langkah kesembilan aalah
menghitung nilai hash dari hasil konkatenasi tersebut.
Kemudian langkah terakhir adalah mengambil byte
terkiri sebanyak t dari nilai hash dari langkah
kesembilan. Langkah terakhir ini sendiri sebenarnya
bersifat opsional. Hal ini karena hasil dari fungsi hash
pada langkah kesembilan sudah dapat diambil sebagai
nilai MAC dari pesan tersebut, dengan panjang L.
Langkah kesepuluh ini dapat dilakukan apabila
pengguna menginginkan authentication tag yang lebih
pendek, dengan hanya mengambil t byte saja. Tapi
dari spesifikasi HMAC disarankan bahwa nilai t ini
tidak boleh kurang dari setengah L atau tidak boleh
kurang dari 80 untuk kasus tertentu. Jika nilai t kecil,
maka HMAC ini kemungkinan besar menjadi tidak
aman.

Tabel 1 : Variabel Algoritma HMAC


3.

Analisa

3.1.1 Proses Pesan Chatting


Dengan menggunakan algoritma HMAC pesan
teks yang akan dikirimkan integritasnya akan dapat
diperiksa yaitu mengecek bahwa masih aslikah pesan
yang diterima atau telah dirubah oleh pihak lain.
Adapun pesan chatting dapat dikirim melalui proses
sebagai berikut :
Langkah pertama yang harus dilakukan pada
algoritma HMAC ini adalah menormalisasi panjang
kunci yang diberikan, sehingga panjangnya sama
dengan B. Ukuran kunci K harus lebih dari/sama
dengan L/2, dengan L yaitu ukuran keluaran dari
fungsi hash. Kunci yang lebih besar tidak serta merta
meningkatkan keamanan dari fungsi hash, hal ini
karena kunci tersebut akan di-hash terlebih dahulu
untuk mendapatkan ukuran yang lebih dari/sama
dengan L/2. Tapi sangat disarankan untuk
menggunakan kunci yang panjang jika tingkat
keacakan dari kunci tersebut lumayan lemah.
Jika panjang kunci telah sama dengan B, maka
nilai K0 (kunci yang akan digunakan untuk fungsi
Hash dan telah dinormalisasi) diisi denganK.
Sedangkan jika panjang kunci kurang dari B, maka
kunci K di-append dengan 0 supaya panjangnya sama
dengan B. Untuk kasus ketika panjang K melebihi

Gambar 3 : Proses Pesan Teks Yang Dikirimkan


Menggunakan Aplikasi Chatting Hmac
Berdasarkan gambar diatas, pengirim pesan
terlebih dahulu memasukan kunci ke dalam aplikasi
chatting, kemudian menginputkan pesan. Kunci dan
pesan akan proses ke dalam persamaan algoritma
HMAC. Sehingga menghasilkan nilai MAC. Pesan
dan nilai MAC akan dikirimkan, dan akan diterima
oleh penerima. Dan penerima juga akan memasukan
kunci dan pesan kedalam persamaan algoritma HMAC
sehingga menghasilkan nilai MAC. Nilai MAC

Diterbitkan Oleh : STMIK Budi Darma Medan

92

Pelita Informatika Budi Darma,


Darma, Volume III
III Nomor : 2 , April 2013
2013

kemudian dibandingkan, apabila nilai MAC berbeda,


maka pesan telah dirubah oleh pihak lain atau
pengiriman pesan mengalami kegagalan.

3.1.2 Penerapan Algoritma HMAC


Berikut proses pencarian nilai MAC tanpa
dilakukan pemotongan dengan kunci 64 byte :
Pesan
: Sample #1
Pesan kemudian dirubah kedalam bilangan
Hexadesimal :
S
=53
a=61
m=6d
p=70
l=6c
e=65
spasi=20
#=23
1=31
Pesan dalam Hexa
: 53616d70 6c652023 31
Langkah pertama menentukan kunci secara bebas
dalam bilangan Hexadesimal.
Key :
00010203 04050607 08090a0b 0c0d0e0f
10111213 14151617 18191a1b 1c1d1e1f
20212223 24252627 28292a2b 2c2d2e2f
30313233 34353637 38393a3b 3c3d3e3f
Langkah kedua dan ketiga melakukan menormalisasi
panjang kunci
K0 :
00010203 04050607 08090a0b 0c0d0e0f
10111213 14151617 18191a1b 1c1d1e1f
20212223 24252627 28292a2b 2c2d2e2f
30313233 34353637 38393a3b 3c3d3e3f
Langkah keempat lakukan XOR antara K0 dengan
ipad untuk menghasilkan string byte sepanjang B.
K0 ipad :
00010203 0x3636..36 = 36373435
04050607 0x3636..36 = 32333031
08090a0b 0x3636..36 = 3e3f3c3d
0c0d0e0f 0x3636..36 = 3a3b3839
10111213 0x3636..36 = 26272425
14151617 0x3636..36 =22232021
18191a1b 0x3636..36 = 2e2f2c2d
1c1d1e1f 0x3636..36 = 2a2b2829
20212223 0x3636..36 = 16171415
24252627 0x3636..36 = 12131011
28292a2b 0x3636..36 = 1e1f1c1d
2c2d2e2f 0x3636..36 = 1a1b1819
30313233 0x3636..36 = 06070405
34353637 0x3636..36 = 02030001
38393a3b 0x3636..36 = 0e0f0c0d
3c3d3e3f 0x3636..36 = 0a0b0809
Sehingga menggasilkan string byte berikut ini :
36373435 32333031 3e3f3c3d 3a3b3839

ISSN : 2301-9425

26272425 22232021 2e2f2c2d 2a2b2829


16171415 12131011 1e1f1c1d 1a1b1819
06070405 02030001 0e0f0c0d 0a0b0809
Langkah kelima lakukan Append string text ke
dalam hasil string dari step 4 tadi.
K0 ipad || Text :
36373435 32333031 3e3f3c3d 3a3b3839
26272425 22232021 2e2f2c2d 2a2b2829
16171415 12131011 1e1f1c1d 1a1b1819
06070405 02030001 0e0f0c0d 0a0b0809
53616d70 6c652023 31
Langkah keenam Lakukan Lakukan H untuk string
yang dihasilkan oleh Step 5.
Hash(K0 ipad || Text):
bcc2c68c abbbf1c3 f5b05d8e 7e73a4d2
7b7e1b20
Langkah ketujuh lakukan XOR antara K0 dengan
opad.
K0 opad :
00010203 0x5c5c..5c = 5c5d5e5f
04050607 0x5c5c..5c = 58595a5b
08090a0b 0x5c5c..5c = 54555657
0c0d0e0f 0x5c5c..5c = 50515253
10111213 0x5c5c..5c = 4c4d4e4f
14151617 0x5c5c..5c =48494a4b
18191a1b 0x5c5c..5c = 44454647
1c1d1e1f 0x5c5c..5c = 40414243
20212223 0x5c5c..5c = 7c7d7e7f
24252627 0x5c5c..5c = 78797a7b
28292a2b 0x5c5c..5c = 74757677
2c2d2e2f 0x5c5c..5c = 70717273
30313233 0x5c5c..5c = 6c6d6e6f
34353637 0x5c5c..5c = 68696a6b
38393a3b 0x5c5c..5c = 64656667
3c3d3e3f 0x5c5c..5c = 60616263
Sehingga menggasilkan string byte berikut ini :
5c5d5e5f 58595a5b 54555657 50515253
4c4d4e4f 48494a4b 44454647 40414243
7c7d7e7f 78797a7b 74757677 70717273
6c6d6e6f 68696a6b 64656667 60616263
Langkah kedelapan lakukan append string dari Step 6
ke dalam string dari step 7.
(K0 opad) || Hash(K0 ipad || Text ):
5c5d5e5f 58595a5b 54555657 50515253
4c4d4e4f 48494a4b 44454647 40414243
7c7d7e7f 78797a7b 74757677 70717273
6c6d6e6f 68696a6b 64656667 60616263
bcc2c68c abbbf1c3 f5b05d8e 7e73a4d2
7b7e1b20
Langkah kesembilan lakukan H untuk string yang
dihasilkan dari step 8.
Hash((K0 opad) || Hash(K0 ipad || Text )):
4f4ca3d5 d68ba7cc 0a1208c9 c61e9c5d
a0403c0a
Langkah kesepuluh ambil leftmost byte sebanyak t
dari string yang dihasilkan Step 9.

Diterbitkan Oleh : STMIK Budi Darma Medan

93

Pelita Informatika Budi Darma,


Darma, Volume III
III Nomor : 2 , April 2013
2013

Maka nilai MAC-nya adalah :


4f4ca3d5 d68ba7cc 0a1208c9 c61e9c5d
4.

ISSN : 2301-9425

Merupakan tampilan form chatting yang


berfungsi untuk melakukan proses pengiriman
dan menerima pesan. Adapun Tampilan dari
menu utama dapat dilihat dari gambar 6 berikut
ini :

Implementasi

Aplikasi chatting HMAC yang telah dirancang


merupakan aplikasi berbasis Local Area Network
(LAN), dimana aplikasi pencarian tersebut dapat
dijalankan pada komputer. Berikut ini hasil dari
implementasi program keseluruhan yang telah
dirancang :
1. Tampilan Menu Utama
Merupakan tampilan form menu utama yang
berisikan pilihan-pilihan fasilitas di dalam aplikasi
yaitu Menu Input Kunci, Menu Chatting, Menu About
dan Menu Keluar. Adapun Tampilan dari menu utama
dapat dilihat dari gambar 4 berikut ini :

Gambar 6 : Form Chatting


5.

Penutup

5.1 Kesimpulan

Gambar 4 : Tampilan Menu Utama


2.

Tampilan Form Input Kunci


Merupakan tampilan form input kunci yang
berfungsi untuk menginputkan kunci yang akan
digunakan dalam algoritma HMAC. Adapun
Tampilan dari menu utama dapat dilihan dari
gambar 5 berikut ini :

Berdasarkan uraian yang telah penulis buat


tentang Implementasi Algoritma Keyed-Hash Message
Authentication Code (HMAC) Pada Pesan Teks
Berbasis Chatting, maka penulis dapat menarik
beberapa kesimpulan yang diperoleh dari pembahasan
tersebut, antara lain:
1. Keyed-Hash Message Authentication Code
(HMAC) dapat digunakan sebagai salah satu
mekanisme untuk menjamin keamanan pada
aplikasi chatting dari segi otentikasi pesan.
Dengan menggunakan sebuah kunci yang samasama digunakan oleh pengirim dan penerima
dapat menghasilkan nilai MAC yang merupakan
nilai yang digunakan untuk menguji otentikasi
pesan tersebut.
2. Keyed-Hash Message Authentication Code
(HMAC) dapat di implementasikan pada aplikasi
chatting HMAC dengan menggunakan bahasa
pemrograman visual basic.Net 2008.
3. Dalam pengimplementasian Keyed-Hash Message
Authentication Code (HMAC) pada aplikasi
chatting, pengirim dan dan penerima pesan wajib
menggunakan kunci yang sama.
5.2 Saran

Gambar 5 : Form Kunci


3.

Adapun yang menjadi saran dalam penulisan ini


adalah sebagai berikut:
1. Diharapkan aplikasi chatting ini dapat
dikembangkan lagi menjadi suatu aplikasi
chatting yang lebih sempurna pada masa yang
akan datang dalam bentuk online.

Tampilan Form Chatting

Diterbitkan Oleh : STMIK Budi Darma Medan

94

Pelita Informatika Budi Darma,


Darma, Volume III
III Nomor : 2 , April 2013
2013

2.

3.

4.

ISSN : 2301-9425

Penulis
juga
mengharapkan
bahwa
pengembangan yang dilakukan oleh pembaca
nantinya tidak hanya pengimplementasian KeyedHash Message Authentication Code (HMAC)
pada aplikasi chatting saja, tetapi juga dapat
dikembangkan dan diterapkan pada beberapa
aplikasi lainnya.
Pada aplikasi chatting ini masih memiliki
keterbatasan dalam jumlah karakter pengiriman
pesan sebesar 512 bit, untuk itu diharapkan
bahwa
pengembang
dapat
meningkatkan
kapasitas pengiriman pesan yang dikirim.
Pada aplikasi chatting ini masih dilakukan
pengiriman atau upload pesan secara manual,
untuk itu diharapkan bahwa pengembang dapat
melakukan pengembangan sehingga pengiriman
pesan dapat dilakukan dengan mengirim pesan
melalui sebuah file atau berkas.

Daftar Pustaka
[1]. Rinaldi Munir, 2006, Kriptografi, Bandung,
Informatika.
[2]. Manezes, P. van Oorschot, S. Vanstone, 2006,
Handbook pf Applied Cryptographi, CRC Press.
[3]. Adi Nugroho, 2010, Rekayasa Perangkat Lunak
Berorientasi Objek dengan Metode USDP
(Unified Software Development Process),
Yogyakarta, C.V Andi Offset.
[4]. Kurniawan, 2006, Kriptografi Keamanan Internet
dan Jaringan Komunikasi, Bandung, Informatika.

Diterbitkan Oleh : STMIK Budi Darma Medan

95

Anda mungkin juga menyukai