Protokol Keamanan Dokumen Digital pada Sistem E-Procurement menggunakan AES, RSA, dan SHA1

PROTOKOL KEAMANAN DOKUMEN DIGITAL PADA
SISTEM E-PROCUREMENT MENGGUNAKAN AES, RSA,
DAN SHA1

PERMADHI SANTOSA

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2014

PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA*
Dengan ini saya menyatakan bahwa skripsi berjudul Protokol Keamanan
Dokumen Digital pada Sistem E-Procurement menggunakan AES, RSA, dan
SHA1 adalah benar karya saya dengan arahan dari komisi pembimbing dan belum
diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber
informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak
diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam
Daftar Pustaka di bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
Bogor, Juni 2014
Permadhi Santosa
NIM G64114026

ABSTRAK
PERMADHI SANTOSA. Protokol Keamanan Dokumen Digital pada Sistem EProcurement menggunakan AES, RSA, dan SHA1. Dibimbing oleh ENDANG
PURNAMA GIRI.
Penandaan digital merupakan bukti otentik dan fungsinya sama seperti tanda
tangan pada dokumen tercetak, akan tetapi implementasinya pada dokumen
digital. Dokumen yang dikirim melalui jaringan internet, perlu dipastikan tujuan
dan asal dari dokumen tersebut. Penelitian ini dibuat untuk menerapkan protokol
keamanan pada proses pengiriman dokumen digital di sistem e-procurement
menggunakan algoritme AES, RSA, dan SHA1. Data yang digunakan pada
penelitian ini berupa dokumen – dokumen digital yang terkompresi menggunakan
format ZIP. Hasil dari penelitian ini menunjukkan bahwa sistem yang dibuat
sudah mampu membangkitkan dan melakukan verifikasi tanda tangan digital.
Layanan keamanan yang dimiliki oleh sistem ini ialah kerahasiaan, otentikasi
entitas, otentikasi asal data, integritas, dan anti penyangkalan. Pengujian yang

dilakukan terhadap layanan - layanan keamanan tersebut meliputi uji otentikasi,
uji kerahasiaan, uji integritas serta pengujian terhadap anti penyangkalan.
Kerahasiaan dijamin dengan adanya proses enkripsi menggunakan algoritme AES.
Layanan Otentikasi, integritas, dan anti penyangkalan dijamin dengan adanya
mekanisme pembangkit tanda tangan digital.
Kata kunci: E-Procurement, penandaan digital, lelang

ABSTRACT
PERMADHI SANTOSA. Digital Document Security Protocols on E-Procurement
System using AES, RSA, and SHA1. Supervised by ENDANG PURNAMA
GIRI.
Digital signature is an authentic evidence and also has a function like a
signature on the printed document, but its use in digital documents. Documents
that was sent through the internet, should be ensured their source and destination.
This research is decided to implement a security protokol on file transfer process
on e-procurement system using AES, RSA, and SHA1 algorithm. Data used in
this research is a compressed digital document with ZIP format. The result of this
research indicate that the system has been created already capable of generating
and verify digital signature. The security services that owned by this system such
as confidentiality, entity authentication, data origin authentication, integrity, and

non repudiation. The testing process is performed on these security services
including confidentiality test, authentication test, integrity test, and non
repudiation test. Confidentiality is guaranteed by the encryption process using
AES algorithm. In addition, authentication, integrity, and non repudiation service
is guaranteed by the digital signature mechanism.
Keywords: E-Procurement, digital signature, tender

PROTOKOL KEAMANAN DOKUMEN DIGITAL PADA
SISTEM E-PROCUREMENT MENGGUNAKAN AES, RSA,
DAN SHA1

PERMADHI SANTOSA

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer
pada
Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2014

Judul Skripsi : Protokol Keamanan Dokumen Digital pada Sistem E-Procurement
menggunakan AES, RSA, dan SHA1
Nama
: Permadhi Santosa
NIM
: G64114026

Disetujui oleh

Endang Purnama Giri, SKom, MKom
Pembimbing

Diketahui oleh

Dr Ir Agus Buono, MSi, MKom

Ketua Departemen

Tanggal Lulus:

PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas
segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang
dipilih dalam penelitian yang dilaksanakan sejak bulan September 2013 ini ialah
Protokol Keamanan Dokumen Digital pada Sistem E-Procurement menggunakan
AES, RSA, dan SHA1.
Terima kasih penulis ucapkan kepada Bapak Endang Purnama Giri dan
selaku pembimbing, serta Ibu Shelvie Nidya Neyman dan Ibu Karlisa Priandana
yang telah banyak memberi saran. Ungkapan terima kasih juga disampaikan
kepada ayah, ibu, serta seluruh keluarga, atas segala doa dan kasih sayangnya.
Semoga karya ilmiah ini bermanfaat.

Bogor, Juni 2014
Permadhi Santosa

DAFTAR ISI

DAFTAR GAMBAR

vi

PENDAHULUAN

1

Latar Belakang

1

Perumusan Masalah

2

Tujuan Penelitian

2


Manfaat Penelitian

2

Ruang Lingkup Penelitian

2

TINJAUAN PUSTAKA

2

Kriptografi

2

Protokol Kriptografi

3


Algoritme AES

3

Algoritme RSA

6

Algoritme SHA1

7

Digital Signature

9

METODE

11


Studi Literatur

11

Perancangan Sistem

11

Implementasi

14

Pengujian

15

HASIL DAN PEMBAHASAN
Pengujian
SIMPULAN DAN SARAN


15
21
23

Simpulan

23

Saran

24

DAFTAR PUSTAKA

24

LAMPIRAN

28


RIWAYAT HIDUP

29

DAFTAR GAMBAR
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

Aplikasi LPSE pemerintah
Proses enkripsi dan dekripsi algoritme AES
Matriks state
Matriks round key
Tabel S-Box
Ilustrasi proses SubBytes
Ilustrasi proses ShiftRows
Ilustrasi proses MixColoum
Ilustrasi proses AddRoundKey
Ilustrasi proses algoritme SHA1
Skema penandaan digital
Skema verifikasi digital signature
Metode penelitian
Proses pembuatan kunci pengguna
Proses pembangkitan digital signature
Proses verifikasi digital signature
Alur proses sistem e-procurement
Tampilan awal E-Procurement
Form registrasi peserta
Halaman profil peserta
Form bilangan prima
Daftar bilangan prima
Pasangan kunci peserta tender
Tampilan awal aplikasi pengaman dokumen
Pembangkitan digital signature
Keluaran dari aplikasi pengaman dokumen
Data tender
Form upload berkas
Pesan validasi berkas
Uji kerahasiaan
Layanan otentikasi entitas
Uji otentikasi entitas
Uji otentikasi asal data
Hasil uji otentikasi asal data
Uji manipulasi signature

1
4
4
4
5
5
5
6
6
7
10
10
11
12
13
14
16
17
17
18
18
18
19
19
20
20
20
21
21
21
22
22
22
23
23

PENDAHULUAN
Latar Belakang
Tanda tangan merupakan suatu karakter unik yang menunjukkan bukti
otentik dari sebuah dokumen cetak yang dikirimkan kepada pihak penerima pesan.
Seperti tanda tangan, penandaan digital atau digital signature memiliki fungsi
yang sama, akan tetapi ruang lingkup penggunaanya pada dokumen digital.
Proses pengadaan barang atau jasa di suatu perusahaan terkadang
melibatkan dokumen – dokumen yang menyimpan informasi yang sifatnya privat
seperti sumber dokumen atau nominal harga barang yang dicantumkan. Selain itu,
terdapat signature yang digunakan sebagai alat yang menunjukan keaslian dan
keabsahan dokumen. Pada saat dokumen – dokumen tersebut dikirim melalui
jaringan internet, perlu dipastikan pihak yang mengirimkan dokumen dan kepada
siapa dokumen ini akan dikirimkan. Menezes et al. (1996) menjelaskan bahwa
digital signature adalah sarana yang digunakan sebagai tempat menyimpan suatu
identitas ke dalam sebuah informasi untuk proses verifikasi dan otentikasi. Oleh
karena itu, penelitian ini bertujuan untuk menerapkan suatu skema pengamanan
dokumen dengan menggunakan digital signature.
Solusi untuk masalah ini sudah diterapkan di dunia pemerintahan. Salah
satu contohnya adalah Layanan Pengadaan Secara Elektronik (LPSE) (Gambar 1).

Gambar 1 Aplikasi LPSE pemerintah
Layanan Pengadaan Secara Elektronik (LPSE) adalah salah satu contoh
aplikasi E-Procurement yang disediakan oleh pemerintah bagi perusahaan yang
bergerak di bidang pengadaan barang atau jasa yang ingin mengirimkan dokumen
penawaran terkait dengan proses lelang pengadaan barang. E-Procurement
memungkinkan adanya pertukaran informasi terkait dengan proses lelang barang
atau jasa melalui jaringan internet (Presutti 2003). Akan tetapi, kasus yang lain
timbul ketika organisasi atau lembaga swasta hendak membuat sebuah sistem
yang sama seperti E-Procurement milik pemerintah.

2
Perumusan Masalah
1.
2.

Perumusan masalah pada penelitian ini adalah :
Bagaimana menerapkan protokol pengaman dokumen digital menggunakan
algoritme AES, RSA dan SHA1.
Dengan protokol yang sudah dibuat, apakah dapat mengurangi resiko
manipulasi dokumen digital oleh pihak yang tidak berwenang.

Tujuan Penelitian
Tujuan dari penelitian ialah menerapkan skema keamanan yang digunakan
untuk proses pengiriman dokumen digital dan mengetahui kemungkinan
terjadinya manipulasi dokumen digital.

Manfaat Penelitian
Hasil dari penelitian ini diharapkan dapat memberikan gambaran tentang
proses otentikasi dan verifikasi dokumen digital menggunakan digital signature,
sehingga dapat menjamin keabsahan dan kerahasiaan dari dokumen tersebut.

Ruang Lingkup Penelitian
1.
2.
3.
4.

Ruang lingkup dari penelitian ini meliputi :
Proses pembuatan digital signature menggunakan algoritme RSA.
Algoritme AES dengan ukuran kunci 128 bit digunakan pada proses
enkripsi ketika data dikirimkan kepada pihak penerima.
Pada penelitian ini, data yang digunakan adalah data terkompresi dengan
format zip.
Bilangan prima yang digunakan pada proses pembangkitan kunci peserta
diperoleh dari proses pemilihan dan disimpan di dalam basis data.

TINJAUAN PUSTAKA
Kriptografi
Kriptografi merupakan studi yang mempelajari teknik – teknik pengamanan
suatu informasi. Keamanan dalam kriptografi dapat dijamin melalui empat
layanan keamanan, yaitu kerahasiaan, otentikasi, integritas, dan anti penyangkalan
(Menezes et al. 1996).
a. Kerahasiaan
Layanan kerahasiaan merupakan layanan keamanan yang menjaga suatu
informasi dari pihak – pihak yang tidak berhak memilikinya. Layanan ini dapat
dijamin dengan adanya proses enkripsi.

3
b. Otentikasi
Otentikasi merupakan layanan keamanan yang menjamin pihak – pihak
yang terlibat dalam proses komunikasi merupakan pihak – pihak yang telah
teridentifikasi. Layanan otentikasi ini dibagi menjadi dua mekanisme, yaitu
otentikasi entitas dan otentikasi asal data. Otentikasi entitas memberikan jaminan
terhadap pihak – pihak yang terlibat dalam proses komunikasi, sedangkan
otentikasi asal data memberikan jaminan terhadap keabsahan sumber data
(Stallings 2010).
c. Integritas
Integritas merupakan layanan keamanan yang menjamin keaslian suatu
informasi. Dengan adanya layanan ini, pihak penerima dapat meyakini bahwa
informasi yang diterima tidak berubah atau dimanipulasi pada saat proses
pengiriman.
d. Anti Penyangkalan
Layanan anti penyangkalan merupakan layanan keamanan yang menjamin
pihak pengirim tidak dapat menyangkal pesan yang telah dikirimnya.

Protokol Kriptografi
Scheiner (1996) mengemukakan bahwa protokol merupakan serangkaian
mekanisme yang melibatkan dua pihak atau lebih dan dirancang untuk
menyelasaikan suatu permasalahan. Protokol yang dibuat memiliki karakteristik
seperti berikut :
1.
Semua pihak yang terlibat harus mengetahui semua langkah yang ada di
dalam protokol tersebut.
2.
Semua pihak yang terlibat harus menyetujui dan mengikutinya.
3.
Protokol yang dibuat tidak membingungkan, setiap langkah harus
didefinisikan dengan jelas.
4.
Protokol harus lengkap, selalu ada tindakan untuk setiap permasalahan.
Protokol kriptografi merupakan protokol yang digunakan dalam kriptografi
dan melibatkan dua entitas atau lebih. Protokol kriptografi terdiri atas algoritme
kriptografi yang digunakan dan memiliki karakteristik protokol pada umumnya.
Tujuan dibuatnya protokol kriptografi ialah menghindari tindakan penyadapan
dan manipulasi terhadap informasi oleh pihak – pihak yang tidak berwenang.
Algoritme AES
AES merupakan algoritme enkripsi dengan kunci simetris dan berbasis
cipher blok. Setiap pesan atau plaintext yang diterima akan dibagi ke dalam
beberapa blok, dengan ukuran masing - masing bloknya adalah 128 bit. Blok
pesan ini dikenal dengan istilah state yang merupakan array yang
direpresentasikan dalam bentuk matriks berukuran 4x4 dan setiap elemennya
dinotasikan dalam bilangan heksadesimal (Stallings 2010). Ilustrasi dari matriks
state ditunjukkan pada Gambar 2.

4

Gambar 2 Matriks state (Stallings 2010)
Kunci yang digunakan untuk proses enkripsi terdiri atas beberapa ukuran
blok yaitu 128 bit, 192 bit, dan 256 bit yang direpresentasikan ke dalam matriks
array berukuran 4x4 yang disebut round key. Khusus untuk penelitian ini
implementasi akan dibatasi pada blok pesan 128 bit dan blok kunci 128 bit.
Ilustrasi dari matriks round key ditunjukkan pada Gambar 3.

Gambar 3 Matriks round key (Stallings 2010)
Setiap kolom dari matriks round key merepresentasikan word yang
berukuran 32 bit. Proses enkripsi pada algoritme AES diawali dengan proses
ADDRoundKey, yaitu melakukan operasi XOR antara matriks state dengan round
key. Kemudian diikuti dengan sembilan round yang terdiri atas empat proses,
yaitu SubBytes, ShiftRows, MixColoum, dan ADDRoundKey. Akhir dari proses
enkripsi merupakan round kesepuluh yang terdiri atas proses SubBytes,
ShiftRows, dan AddRoundKey. Adapun proses enkripsi dan dekripsi algoritme
AES secara umum ditunjukkan pada Gambar 4.

Gambar 4 Proses enkripsi dan dekripsi algoritme AES (http://
http://www.iis.ee.ethz.ch/~kgf/acacia/c3.html)

5
1. SubBytes
Proses SubBytes merupakan proses yang melakukan operasi subtitusi setiap
elemen dari matriks state kedalam nilai baru dengan mengganti setiap byte pada
matriks state dengan byte pada tabel S-Box (Stallings 2010). Tabel S-Box yang
digunakan pada proses ini ditunjukkan pada Gambar 5, dan ilustrasi dari proses
SubBytes ditunjukkan pada Gambar 6.

Gambar 5 Tabel S-Box (Stallings 2010)

S(x,y)

Gambar 6 Ilustrasi proses SubBytes (Stallings 2010)
Pada Gambar 6 terlihat bahwa setiap elemen matriks state terdiri atas dua
karakter hexadesimal. Karakter yang pertama menunjukkan nomor baris (x),
sedangkan elemen kedua menunjukkan nomor kolom (y) pada tabel S-Box.
2. ShiftRows
Proses ShiftRows merupakan proses yang beroperasi pada setiap baris
matriks state. Proses ini dilakukan dengan cara memutar tiga baris terakhir pada
matriks state dan jumlah putaran tiap barisnya berbeda (Stallings 2010). Ilustrasi
dari proses ini ditunjukkan pada Gambar 7.

Gambar 7 Ilustrasi proses ShiftRows (Stallings 2010)

6
3. MixColoum
Proses MixColoum beroperasi pada setiap baris matriks state. Proses ini
beroperasi dengan melakukan transformasi yang merupakan operasi perkalian
antara matriks state dengan matriks pengali yang dikenal dengan matriks forward
mix coloum transformation yang berukuran 4x4 (Giri 2004). Ilustrasi dari proses
ini terlihat pada Gambar 8.

Gambar 8 Ilustrasi proses MixColoum (Stallings 2010)
4. AddRoundKey
Proses Forward add round key atau AddRoundKey merupakan operasi
perhitungan XOR sederhana antara matriks state 4x4 dengan matriks 4x4 yang
merupakan round key yang bersesuaian pada proses ekspansi kunci pada setiap
round (Giri 2004). Ilustrasi proses ini terlihat pada Gambar 9.

Gambar 9 Ilustrasi proses AddRoundKey (Stallings 2010)

Algoritme RSA
RSA adalah algoritme enkripsi pesan dengan arsitektur kunci asimetris.
Algoritme ini pertama kali diperkenalkan pada tahun 1976. Algoritme ini terdiri
dari tiga proses, yaitu proses membangkitkan sepasang kunci, enkripsi, dan
dekripsi (Stallings 2010). Proses untuk membangkitkan sepasang kunci terdiri dari
beberapa tahap, antara lain :
1.
Memilih secara acak dua bilangan prima p dan q.
2.
Menghitung nilai n = pq.
3.
Menghitung nilai Ø(n) = (p-1)(q-1).
4.
Menentukan bilangan bulat e yang relatif prima terhadap Ø(n).
5.
Menghitung kunci dekripsi = −1 mod Ø( ).
Hasil dari proses pembangkitan kunci adalah pasangan kunci publik dan
kunci privat yang bersesuaian. Kunci publik yang merupakan pasangan e dan n
digunakan pada proses enkripsi, sedangkan kunci privat yang merupakan
pasangan d dan n digunakan pada proses dekripsi.
Proses enkripsi pada algoritme ini dilakukan dengan perhitungan berbasis
desimal. Masukan dari proses enkripsi adalah plaintext dengan panjang i bit.
Perhitungan beroperasi pada setiap bit dari pesan asli (plaintext). Ciphertext yang
merupakan keluaran dari proses enkripsi diperoleh dari hasil dari operasi modulus

7
antara n dan bit plaintext ke-i ( � ) pangkat e. Perhitungan ini dapat dinotasikan
sebagai � = �
, dengan � sebagai ciphertex (Stallings 2010).
Pada proses dekripsi, plaintext diperoleh dari perhitungan modulus antara n
dan bit ciphertext ke-i pangkat d. Perhitungan untuk proses dekripsi algoritme
RSA dapat dinotasikan sebagai � = �
, dengan � sebagai plaintext
(Stallings 2010).
Algoritme SHA1
Menezes et al. (1996) mengemukakan bahwa fungsi hash merupakan fungsi
yang memetakan input dengan ukuran yang bervariasi dan menghasilkan suatu
nilai yang memiliki ukuran tetap yang disebut message digest. Fungsi hash
digunakan untuk menunjukan integritas atau keaslian data, terutama pada skema
penandaan digital.
Sedangkan algoritme SHA1 (Secure Hash Algorithm 1) merupakan salah
satu algoritme fungsi hash yang menerima input dengan ukuran sembarang dan
menghasilkan message digest dengan ukuran 160 bit. Algoritme ini dirancang
khusus oleh National Institute of Standard and Technology (NIST) dan National
Security Agency (NSA). Algoritme SHA1 juga merupakan hasil perkembangan
dari algoritme MD4 (Prasetiya 2001). Proses umum algoritme SHA1 ditunjukkan
pada Gambar 10.
A

B

C

D

E