Professional Documents
Culture Documents
Oleh :
Puji syukur penulis panjatkan atas kehadirat Allah SWT dan junjungan besar Nabi
Muhammad SAW, karena atas Rahmat dan Hidayah-Nya sehingga penulis dapat
menyelesaikan makalah ini tepat waktu.
Melalui makalah ini, penulis ingin mengucapkan terima kasih yang sebesar-
besarnya kepada pembimbing mata kuliah (Dosen) dan
semua pihak yang terlibat dalam penyelesaian makalah ini.
Penulis menyadari dalam makalah ini masih terdapat banyak kekurangan, oleh
karena itu penulis sangat mengharapkan saran dan kritik yang tentunya bersifat
membangun demi kesempurnaan makalah ini.
Penulis
DAFTAR ISI
KATA PENGANTAR............................................................................................ i
DAFTAR ISI.......................................................................................................... ii
BAB I PENDAHULUAN.................................................................................. 1
A. Latar Belakang.................................................................................. 1
B. Rumusan Masalah............................................................................ 2
C. Tujuan Penulisan.............................................................................. 3
BAB II PEMBAHASAN..................................................................................... 4
A. Pengertian Kriptografi...................................................................... 4
B. Konsep Penggunaan Kriptografi...................................................... 4
1. Kerahasiaan (Confidentiality).................................................... 4
2. Integritas (Integrity).................................................................... 4
3. Penghindaran Penolakan (Non-repuditation)............................. 4
4. Autentikasi (Authentication)...................................................... 4
5. Tanda Tangan Data (Data Signature).......................................... 4
6. Kontrol Akses (Access Control)................................................. 4
C. Pengertian Fungsi Hash.................................................................... 4
D. Metode yang Digunakan Dalam Fungsi Hash.................................. 6
1. Metode Pembagian..................................................................... 6
2. Metode Perkalian........................................................................ 6
E. Macam-Macam Fungsi Hash............................................................ 6
1. Metode Pembagian Bersisa (division-remainder method)......... 6
2. Melipat (folding)........................................................................ 6
3. Transformasi Radiks (radix transformation).............................. 7
4. Pengaturan Ulang Digit Radiks (radix transformation).............. 7
F. Bentrokan Pada Fungsi Hash............................................................ 7
1. Kebijakan Resolusi Bentrokan di Luar Table............................. 7
2. Kebijakan Resolusi Bentrokan di Dalam Table.......................... 8
a. Linear Probing...................................................................... 9
b. Quadratic probing / squared probing.................................... 9
c. Double hashing..................................................................... 9
3. Perbandingan antara metode chaining dan open addressing...... 9
4. Metode-Metode Lain.................................................................. 10
a. Coalesced hashing................................................................ 10
b. Perfect hashing..................................................................... 10
c. Probabilistic hashing............................................................ 10
d. Robin Hood hashing............................................................. 11
G. Pengertian MD5................................................................................ 11
H. Langkah-Langkah Pembuatan MD................................................... 11
1. Penambahan Bit-bit Pengganjal................................................. 11
2. Penambahan Nilai Panjang Pesan.............................................. 11
3. Inisialisai Penyangga MD........................................................... 11
4. Pengolahan Pesan dalam Blok Berukuran 512 bit..................... 12
I. Cara Kerja MD5............................................................................... 13
J. Proses MD5 dengan Berbagai Macam Masukan.............................. 14
1. Proses MD5 Dengan Masukan Berupa String............................ 14
2. Proses MD5 Dengan Masukan Berupa File............................... 15
3. Proses MD5 Sebagai Test Suite.................................................. 15
K. Analisis Kecepatan MD5.................................................................. 15
BAB III PENUTUP.............................................................................................. 16
A. Kesimpulan....................................................................................... 16
B. Saran................................................................................................. 16
DAFTAR PUSTAKA............................................................................................ 17
BAB I
PENDAHULUAN
A. Latar Belakang
Keamanan dan kerahasian data pada jaringan komputer saat ini menjadi
isu yang sangat penting dan terus berkembang. Beberapa kasus menyangkut
keamanan jaringan komputer saat ini menjadi suatu pekerjaan yang membutuhkan
biaya penanganan dan pengamanan yang sedemikian besar. Sistem-sistem vital,
seperti sistem pertahanan, sistem perbankan, sistem bandara udara dan sistem-sistem
yang lain setingkat itu, membutuhkan tingkat keamanan yang sedemikian tinggi. Hal
ini lebih disebabkan karena kemajuan bidang jaringan komputer dengan konsep open
system-nya sehingga siapapun, di mananapun dan kapanpun, mempunyai kesempatan
untuk mengakses kawasan-kawasan vital tersebut. Untuk menjaga keamanan dan
kerahasiaan pesan, data, atau informasi dalam suatu jaringan komputer maka
diperlukan beberapa enkripsi guna membuat pesan, data, atau informasi agar tidak
dapat dibaca atau dimengerti oleh sembarang orang, kecuali oleh penerima yang
berhak. Pengamanan pesan, data, atau informasi tersebut selain bertujuan untuk
meningkatkan keamanan, juga berfungsi untuk:
1. Melindungi pesan, data, atau informasi agar tidak dapat dibaca oleh orang-orang
yang tidak berhak.
2. Mencegah agar orang-orang yang tidak berhak, menyisipkan atau menghapus
pesan, data dan atau informasi. Salah satu hal yang penting dalam komunikasi
menggunakan komputer dan dalam jaringan komputer untuk menjamin
kerahasiaan pesan, data, ataupun informasi adalah enkripsi.
Salah satu dari bagian kriptografi adalah fungsi hash satu arah. Fungsi
hash satu arah adalah dimana kita dengan mudah melakukan enkripsi untuk
mendapatkan cipher-nya tetapi sangat sulit untuk mendapatkan plaintext-nya. Salah
satu fungsi hash yang paling banyak digunakan adalah Message Digest 5 (MD-5).
MD-5 merupakan fungsi hash satu arah yang diciptakan oleh Ron Rivest pada tahun
1991 untuk menggantikan hashfunction sebelumnya. MD-5 adalah salah satu aplikasi
yang digunakan untuk mengetahui bahwa pesan yang dikirim tidak ada perubahan
sewaktu berada di jaringan. Algoritma MD-5 secara garis besar adalah mengambil
pesan yang mempunyai panjang variabel diubah menjadi ‘sidik jari’ atau ‘intisari
pesan’ yang mempunyai panjang tetap yaitu 128 bit. ‘Sidik jari’ ini tidak dapat dibalik
untuk mendapatkan pesan, dengan kata lain tidak ada orang yang dapat melihat pesan
dari ‘sidik jari’ MD-5. Message digest atau intisari pesan harus mempunyai tiga sifat
penting, yaitu :
1. Bila P diketahui, maka MD(P) akan dengan mudah dapat dihitung.
2. Bila MD(P) diketahui, maka tidak mungkin menghitung P.
3. Tidak seorang pun dapat memberi dua pesan yang mempunyai intisari pesan yang
sama. H(M) H(M’) .
Keamanan komputer adalah menjamin data atau informasi tidak dibaca,
tidak dimodifikasi oleh orang lain yang tidak diberi otorisasi. Keamanan sistem
dibagi menjadi tiga bagian :
1. Keamanan Eksternal
Keamanan eksternal berkaitan dengan fasilitas komputer dari penyusup dan
bencana seperti kebakaran atau bencana alam.
B. Rumusan Masalah
C. Tujuan Penulisan
A. Pengertian Kriptografi
Kriptografi berasal dari bahasa yunani yang terdiri dari kata kryptos yang
berarti tersembunyi dan grafo yang berarti tulis. Kriptografi secara umum adalah ilmu
dan seni untuk menjaga kerahasiaan berita. Selain pengertian tersebut kriptografi juga
merupakan ilmu yang mempelajari teknik-teknik matematika yang berhubungan
dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integri
tas data, serta autentikasi data.
Kriptografi memungkinkan beberapa operasi atau proses terhadap data.
Dua buah operasi dasar adalah enkripsi (dengan dekripsi sebagai proses balikannya)
dan signing (dengan verifikasi dari signature sebagai proses balikannya). Enkripsi
analog dengan memasukkan surat kedalam sebuah amplop sedangkan dekripsi analog
dengan membuang amplop dan mengambil data. Signature analog dengan pemberian
tanda-tangan terhadap sebuah dokumen dan penanda bahwa dokumen tersebut tidak
berubah dari aslinya.
Mi
hi
One-way hash function
hi-1
Fungsi hash satu arah
Fungsi hash sangat berguna untuk menjaga integritas sebuah data. Sudah
banyak algoritma hash function yang diciptakan, namun hash function yang umum
digunakan saat ini adalah MD5 dan SHA (Secure Hash Algorithm). Algoritma hash
function yang baik adalah yang menghasilkan sedikit hash collision.
1. Metode Pembagian
Pada metode pembagian ini, kita memetakan suatu kunci k ke dalam salah
satu slot dari m buah slot dengan mengambil sisa dari k dibagi oleh m. Maka,
fungsi Hash ini adalah:
h(k) = k mod m
dimana : h(k) = fungsi Hash
k = kunci yang akan dihitung/di-hash,
m = jumlah keseluruhan slot.
2. Metode Perkalian
Metoda perkalian untuk memperoleh fungsi Hash dilakukan melalui dua
langkah. Langkah pertama, kita mengalikan kunci dengan suatu konstanta
didalam range 0 < A < 1 dan mengambil nilai fraksional dari kA. Kemudian, kita
mengalikan nilai ini dengan m dan dapat diperoleh hasilnya. Singkatnya, fungsi
Hash ini adalah
h(k) = └m (k A mod 1) ┘,
dimana: A » (Ö5 - 1)/2 = 0,6180339887... (Golden Number),
“k A mod 1” artinya adalah nilai fraksional dari kA, atau kA – └kA┘.
a. Linear Probing
Dengan menambahkan suatu interval pada hasil yang diperoleh dari
fungsi hash sampai ditemukan lokasi yang belum terisi. Interval yang biasa
digunakan adalah 1.
G. Pengertian MD5
H. Langkah-Langkah Pembuatan MD
M D q
512
A B C D
ABCD ← f G ( ABCD, Yq , T [17..32])
A B C D
ABCD ← f H ( ABCD, Yq , T [33..48])
A B C D
ABCD ← f I ( ABCD, Yq , T [49..64])
+ + + +
128
M D q + 1
c. Pada Gambar 13.3, Yq menyatakan blok 512-bit ke-q dari pesan yang telah
ditambah bit-bit pengganjal dan tambahan 64 bit nilai panjang pesan semula.
d. MDq adalah nilai message digest 128-bit dari proses HMD5 ke-q. Pada awal
proses, MDq berisi nilai inisialisasi penyangga MD.
e. Proses HMD5 terdiri dari 4 buah putaran, dan masing-masing putaran
melakukan operasi dasar MD5 sebanyak 16 kali dan setiap operasi dasar
memakai sebuah elemen T. Jadi setiap putaran memakai 16 elemen Tabel T.
f. Fungsi-fungsi fF, fG, fH, dan fI masing-masing berisi 16 kali operasi dasar
terhadap masukan, setiap operasi dasar menggunakan elemen Tabel T.
g. Operasi dasar MD5 diperlihatkan pada Gambar 13.4.
a b c d
+ X [k ]
+ T [i]
CLS s
h. Karena ada 16 kali operasi dasar, maka setiap kali selesai satu operasi dasar,
penyangga-penyangga itu digeser ke kanan secara sirkuler dengan cara
pertukaran sebagai berikut:
temp ← d
d←c
c←b
b←a
a ← temp
a b c d
+ g
X[k] +
T[i] +
CLSs
a b c d
I. Cara Kerja MD5
MD5 mengolah blok 512 bit, dibagi kedalam 16 subblok berukuran 32 bit.
Keluaran algoritma diset menjadi 4 blok yang masing-masing berukuran 32 bit yang
setelah digabungkan akan membentuk nilai hash 128 bit.
Algoritma MD5
A. Kesimpulan
Kriptografi adalah ilmu yang berguna untuk mengacak (kata yang lebih
tepat adalah masking) data sedemikian rupa sehingga tidak bisa dibaca oleh pihak
ketiga. Tentu saja data yang diacak harus bisa dikembalikan ke bentuk semula oleh
pihak yang berwenang.
Data yang ingin diacak biasanya disebut Plain Teks (Plain Text). Data
diacak dengan menggunakan Kunci Enkripsi (Encryption Key). Proses pengacakan
itu sendiri disebut Enkripsi (Encryption). Plain Teks yang telah diacak disebut Cipher
Teks (Chiper Text). Kemudian proses untuk mengembalikan Cipher Teks ke Plain
Teks disebut Dekripsi (Decryption). Kunci yang digunakan pada tahap Dekripsi
disebut Kunci Dekripsi (Decryption Key).
Pada prakteknya, selain pihak yang berwenang ada pihak ketiga yang
selalu berusaha untuk mengembalikan Cipher Teks ke Plain Teks atau memecahkan
Kunci Dekripsi. Usaha oleh pihak ketiga ini disebut Kriptanalisis (Cryptanalysis).
Fungsi Hash adalah suatu cara menciptakan “fingerprint” dari berbagai
data masukan. Fungsi Hash akan mengganti atau mentranspose-kan data tersebut
untuk menciptakan fingerprint, yang biasa disebut hash value. Hash value biasanya
digambarkan sebagai suatu string pendek yang terdiri atas huruf dan angka yang
terlihat random (data biner yang ditulis dalam notasi heksadesimal). Algoritma fungsi
hash yang baik adalah yang menghasilkan sedikit hash collision. Sudah banyak
algoritma fungsi hash yang diciptakan, namun fungsi hash yang umum digunakan
saat ini adalah MD5 dan SHA (Secure Hash Algorithm). Kedua algoritma tersebut
didesain untuk prosesor 32 bit, dan tidak dapat diimplementasikan untuk prosesor 64
bit.
Fungsi hash yang paling banyak digunakan dalam keamanan jaringan
komputer dan internet adalah MD5 yang dirancang oleh Ron Rivest yang juga
merupakan salah satu pengembang algoritma RSA pada tahun 1991. MD5 merupakan
kelanjutan daru MD4 yang dirancang dengan tujuan keamanan. Secara perhitungan
matetamatis tidak dimungkinkan untuk mendapatkan dua pesan yang memiliki hash
yang sama. Tidak ada serangan yang lebih efisien untuk membongkar/mengetahui
hash suatu pesan selain brute-force.
B. Saran
Makalah ini sangat jauh dari kesempurnan, maka dari itu penulis
sangat mengharapkan kritik dan saran untuk makalah ini yang tentunya sangat
bermanfaat bagi penulis dalam menyempurnakan makalah ini.
Semoga makalah ini bisa menjadi salah satu acuan dalam pembuatan makalah
selanjutnya.
Daftar Pustaka
http://www.budi.insan.co.id
http://www.elektro.undip.ac.idtransmisijun065_aghus_abp.pdf
www.handoko.web.id
www.ilmukomputer.com
http://www.informatika.org~rinaldiMatdis2007-2008MakalahMakalahIF2153-0708-
061.pdf
http://www.om4gus.blogspot.com/2008/02/java-enkripsi-md5.html
http://www.stream.plasa.com
http://www.telkom.net/kamus_internet_detail.php?cid=2&id=431
LAMPIRAN
PROGRAM
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.security.NoSuchAlgorithmException;
System.out.print("Enter string:");
String rawString = userInput.readLine();
try {
System.out.println("MD5 hash of string: " + AeSimpleMD5.MD5(rawString));
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}