(MD5)
Disusun Oleh :
Penulis sangat bersyukur karena dapat menyelesaikan makalah yang menjadi tugas
keamanan komputer dengan judul “program md5”. Disamping itu, kami mengucapkan banyak
terimakasih kepada semua pihak yang telah membantu kamu selama pembuatan makalan ini
berlangsung sehingga dapat terealisasikanlah makalah ini.
Demikian yang dapat kami sampaikan, semoga makalah ini dapat bermanfaat bagi para
pembaca. Kami mengharapkan kritik dan saran terhadap makalah ini agar kedepannya dapat
kami perbaiki. Karena kami sadar, makalah yang kami buat ini masih banyak terdapat
kekurangannya.
HALAMAN SAMPUL...............................................................................................................................i
KATA PENGANTAR...............................................................................................................................ii
DAFTAR ISI.............................................................................................................................................iii
BAB I..........................................................................................................................................................1
PENDAHULUAN.......................................................................................................................................1
A.Latar Belakang....................................................................................................................................1
B.Maksud dan Tujuan............................................................................................................................2
C. Pokok masalah...................................................................................................................................2
BAB II........................................................................................................................................................3
PERMASALAHAN....................................................................................................................................3
A.KRIPTOGRAFI..................................................................................................................................3
Terminologi Kriptografi......................................................................................................................3
Sejarah Kriptografi..............................................................................................................................3
Tujuan Kriptografi...............................................................................................................................4
Cryptanalysis..........................................................................................................................................5
Klasifikasi Kriptografi.........................................................................................................................6
Kriptografi klasik.................................................................................................................................6
Kriptografi modern..............................................................................................................................6
B. ALGORITMA KRIPTOGRAFI MD5...............................................................................................9
Pengertian............................................................................................................................................9
Sejarah.................................................................................................................................................9
Algoritma dan Cara Kerja..................................................................................................................10
Penerapan..........................................................................................................................................15
Aplikasi Algoritma MD5 Untuk Integritas Data................................................................................16
BAB III.....................................................................................................................................................18
PENYELESAIAN MASALAH.................................................................................................................18
A.PEMBUATAN APLIKASI..............................................................................................................18
B.TAMPILAN APLIKSI......................................................................................................................21
BAB IV.....................................................................................................................................................22
KESIMPULAN........................................................................................................................................22
DAFTAR PUSTAKA..............................................................................................................................23
BAB I
PENDAHULUAN
A. Latar Belakang
Perkembangan teknologi informasi dewasa ini telah berpengaruh pada hampir semua
aspek kehidupan manusia. Saat ini internet seolah-olah menghiraukan batas-batas geografis suatu
negara, bukan hal yang sulit bagi seseorang untuk berkomunikasi jarak jauh, mengirimkan data,
mencari informasi dan sebagainya. Semua hal tersebut dapat dilakukan dengan internet secara
cepat, efisien dan relatif murah. Namun di sisi lain, ternyata internet merupakan jalur yang tidak
terlalu aman karena merupakan media komunikasi umum yang dapat digunakan secara bebas
oleh siapapun sehingga sangat rawan penyadapan informasi oleh pihak-pihak yang tidak absah.
Oleh karena itu masalah keamanan, kenyamanan dan otorisasi dalam berinternet menjadi
masalah krusial yang sampai hari ini masih menjadi perbincangan hangat. Banyak pertanyaan
yang muncul, Apakah transaksi via internet bisa terjamin keamanannya? Apakah data yang
dikirimkan via internet sampai pada tujuan yang tepat tanpa diketahui pihak yang tidak
diinginkan? Bagaimana mencegah penyadapan informasi? Bagaimana mengantisipasi seseorang
mencuri data?
Banyak metode yang dapat dilakukan untuk menjawab pertanyaan-pertanyaan diatas.
Salah satunya dengan metode penyandian atau yang lebih dikenal dengan metode kriptografi.
Banyak sekali metode penyandian atau metode kriptografi yang dikembangkan oleh pakar-pakar
kriptografi hingga saat ini. Hal ini dilakukan dikarenakan penyadap dan pencuri informasi atau
yang lebih dikenal dengan sebutan cracker semakin handal dalam mempenetrasi suatu sistem
untuk menggali berbagai macam informasi. Oleh karena itu dalam rangka melawan tindakan keji
tersebut, pakar-pakar kriptografi terus mengembangkan metode ini secara berkesinambungan.
Banyak sekali metode penyandian yang telah diciptakan oleh pakar-pakar kriptografi dunia,
sebut saja Algoritma DES, Algoritma 3DES, Algoritma IDEA, Algoritma Blowfish, Algotitma
RSA, Algoritma MD4, Algotitma MD5, Algoritma SHA-1, Algoritma McEliecce dan
sebagainya. Algoritma-algoritma diatas telah diuji kemampuannya oleh pakar-pakar kriptografi,
namun tidak semua metode kriptografi diatas bertahan dari serangan para penyadap informasi
atau dalam istilah kriptografi sering disebut dengan cryptanalist. Sebut saja algoritma DES,
sempat bertahan cukup lama yakni selama 20 tahun akhirnya harus rela di-crack hanya dalam
tempo 3,5jam dengan biaya 1 juta US Dollar pada tahun 1993. Namun para pakar kriptografi
tidak berdiam diri, karena setelah kejadian itu para pakar kriptograhi mengembangkan varian
baru dari algoritma DES seperti Algoritma 3DES, Algoritma RDES dan sebagainya.
Makalah ini akan membahas salah satu diantara banyak kriptografi handal yang hingga
saat ini masih cukup kuat membendung serangan-serangan dari para cryptanalist, yaitu metode
kriptografi dengan algoritma Message Digest 5 (MD5). Selain karena metode kriptografi ini
belum mampu di patahkan oleh para cryptanalist, makalah ini membahas kriptografi MD5
karena algoritma ini merupakan varian baru setelah algoritma MD2 dan algoritma MD4 sehingga
dirasa cukup up to date untuk dibahas saat ini.
B. Maksud dan Tujuan
Pembuatan makalah bermaksud untuk menganalisa proses penyandian pesan dan proses
membuka kembali penyandian dalam kriptografi, khususnya kriptografi algoritma MD5.
Diharapkan dengan adanya makalah ini para pengguna jalur internet lebih ekstra hati-hati dalam
penggunaan jalur publik ini. Untuk metode pengamanan dapat menggunakan metode kriptografi
algoritma MD5 yang dibahas secara detail pada makalah ini.
C. Pokok masalah
Pada pembuatan makalah ini, metode penelitian yang kami gunakan adalah metode
literature. Metode ini kami gunakan karena menurut kami metode literature adalah metode yang
paling tepat untuk digunakan. Untuk melengkapi bahan-bahan tulisan menggunakan internet
untuk mencari beberapa literature yang mendukung makalah kami. Selain itu, untuk menambah
bobot informasi yang dapat diserap dari makalah ini, kami mengambil beberapa referensi dari
buku-buku yang membahahas mengenai kriptografi algoritma MD5.
BAB II
PERMASALAHAN
A.KRIPTOGRAFI
Terminologi Kriptografi
Kata kriptografi berasal dari bahasa yunani yaitu krupto (hidden atau secret) dan grafh
(writing) sehingga berarti secret writing. Secara istilah kriptografi didefinisikan sebagai ilmu
sekaligus seni untuk menjaga kerahasiaan pesan (data atau informasi) yang mempunyai
pengertian, dengan cara menyamarkannya (mengacak) menjadi bentuk yang tidak dapat
dimengerti menggunakan suatu algoritma tertentu.
Dalam ilmu kriptografi suatu pesan yang akan dirahasiakan atau disandikan disebut
dengan plaintext, sedangkan pesan yang telah disandikan sehingga tidak bermakna lagi yang
bertujuan agar pesan tidak dapat dibaca oleh pihak yang tidak berhak disebut chipertext. Lalu
dalam ilmu kriptografi terdapat istilah enkripsi dan deskripsi. Enkripsi adalah proses
menyandikan plaintext menjadi chipertext. Sedangkan proses mengembalikan chipertext menjadi
plaintext semula disebut sebagai Deskripsi. Berikut ini skema umum sebuah penyandian dalam
kriptografi :
Sejarah Kriptografi
Ilmu kriptografi disinyalir berawal dari 4000 tahun yang lalu, tercatat bangsa mesir
menggunakan hieroglyph yang tidak standar dalam menuliskan pesan. Kemudian sekitar tahun
400SM pada zaman yunani kuno, kriptografi digunakan oleh tentara sparta untuk mengirimkan
pesan militer dengan menggunakan alat yang bernama scytale. Alat ini berupa pita panjang dari
daun papyrus ditambah sebatang silinder, pesan ditulis secara horizontal atau baris perbaris.
Apabila pita dilepaskan, maka huruf-huruf didalamnya telah tersusun membentuk pesan rahasia.
Untuk membaca pesan, penerima harus melilitkan kembali pita ke silinder yang diameternya
sama dengan diameter silinder pengirim.
Gambar 2. Contoh Scytale
Ilmu kriptografi sejak dahulu digunakan di berbagai aspek kehidupan. Sebagai contoh di
India, dahulu kriptografi digunakan oleh lovers (pencinta) untuk berkomunikasi tanpa diketahui
orang lain. Bukti ini ditemukan di dalam buku kama sutra yang merekomendasikan wanita
seharusnya mempelajari seni memahami tulisan chiper.
Kemudian pada Abad ke-17, sejarah kriptografi pernah mencatat korban di Inggris.
Queen Mary of Scotland, dipancung setelah pesan rahasianya dari balik penjara (pesan
terenkripsi yang isinya rencana membunuh Ratu Elizabeth I) berhasil dipecahkan oleh Thomas
Phelippes, seorang pemecah kode.
Ilmu kriptografi juga digunakan pada perang dunia II, pemerintah Nazi Jerman membuat
mesin enkripsi yang dinamakan Engima. Kemudian tak lama berselang Engima chiper berhasil
dipecahkan oleh sekutu, keberhasilan memecahkan Engima disinyalir sebagai faktor yang
memperpendek perang dunia II.
Dari beberapa kutipan sejarah diatas, dapat dilihat bahwa ilmu kriptografi sangat
bermanfaat khususnya dibidang kemiliteran. Saat ini seiring berkembangnya zaman dan
masuknya peradaban manusia ke era informasi, ilmu kriptografi juga dimanfaatkan untuk
mengamankan lalu lintas informasi khususnya di jaringan publik atau internet.
Induk dari keilmuan kriptografi adalah matematika, khususnya teori aljabar yang menjadi
dasar dari ilmu bilangan . Oleh karena itu kriptografi semakin berkembang pesat ketika komputer
ditemukan. Sebab dengan penemuan komputer memungkinkan dilakukannya perhitungan yang
rumit dan kompleks dalam waktu yang relatif singkat, suatu hal yang sebelumnya tidak dapat
dilakukan. Oleh karena itu lahirlah banyak teori dan algotitma penyandian data yang semakin
kompleks dan sulit dipecahkan.
Tujuan Kriptografi
Secara umum tujuan ilmu kriptografi diciptakan adalah untuk merahasiakan suatu pesan
agar tidak bisa dibaca oleh pihak yang tidak absah. berpedoman dari tujuan umum tersebut,
terdapat empat tujuan mendasar ilmu kriptografi digunakan dalam bidang keamanan informasi
yaitu :
a. Kerahasiaan
adalah layanan yang digunakan untuk menjaga isi informasi dari siapapun kecuali yang
memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah
disandi.
b. Integritas data
adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk
menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi
data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan
pensubsitusian data lain kedalam data yang sebenarnya.
c. Autentikasi
adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun
informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan
diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya,
waktu pengiriman, dan lain-lain.
d. Non-repudiasi
adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya
suatu informasi oleh yang mengirimkan/membuat.
Cryptanalysis
Cryptanalysis adalah usaha-usaha yang dilakukan seseorang untuk memperoleh informasi
ataupun data yang telah dienkripsi. Orang yang melakukan kegiatan cryptanalysis disebut dengan
cryptanalyst. Terdapat lima jenis cryptanalysis berikut ini uraian kelima jenis cryptanalysis
tersebut :
Jenis Serangan Yang perlu diketahui cryptanalyst
Klasifikasi Kriptografi
Dipandang dari segi era pengembangannya ilmu kriptografi dibagi menjadi dua, yaitu
kriptografi klasik dan kriptografi modern.
Kriptografi klasik
Dilihat dari namanya tentu saja kriptografi klasik merupakan awal dari pengembangan
ilmu kriptografi. Pada era pengembangan ini kekuatan kriptografi terletak pada kerahasiaan
algoritma yang digunakan, jenis algoritma ini dinamakan algoritma restricted. Namun ditengah
pengembangannya algritma restricted ditemukan banyak kelemahan sehingga tidak relevan lagi
untuk keperluan keamanan informasi saat ini. Adapun kelemahan-kelemahan algoritma
restricted adalah sebagai berikut :
Algoritma restricted merupakan algoritma yang bersifat rahasia, sehingga kemampuan
algoritma tidak pernah diuji oleh para pakar kriptografi dan berimbas pada ketidak
percayaan pengguna atau user akan ketangguhannya.
Apabila terjadi kebocoran rahasia algoritma, maka harus dibuat atau dikembangkan
algoritma baru. Konsekuensinya adalah pemborosan biaya karena biaya pembuatan
algoritma kriptografi baru sangat mahal.
Kriptografi modern
Kriptografi modern dikembangkan untuk membenahi kelemahan-kelamahan yang
dimiliki oleh kriptografi sebelumnya yaitu kroptografi klasik. Berlawanan dengan kriptografi
klasik, algoritma yang digunakan pada kriptografi modern di buka atau dengan kata lain
diketahui oleh umum sehingga tidak bersifat rahasia. Hal ini dilakukan untuk menutupi
kelemahan kriptografi klasik, sehingga algoritma dari kriptografi modern bisa di uji
ketangguhannya oleh pakar-pakar kriptografi. Lalu dimana letak kekuatan dari kriptografi
modern? Kekuatan kriptografi ini bertumpu pada kerahasiaan kunci penyandian. Berdasarkan
kunci penyandiannya, kriptografi modern dibagi menjadi dua jenis yaitu kriptografi kunci simetri
dan kriptografi kunci asimetri.
1. Kriptografi Kunci Simetri
Pada kriptografi ini, metode enkripsi dan deskripsi menggunakan kunci yang sama.
Misalnya kunci enkripsi adalah K, maka kunci deskripsi sama dengan kunci enkripsi, yaitu
K.
Gambar 3. Skema kriptografi kunci simetri
Pada kriptografi kunci simetri, untuk menjaga kerahasiaan pesan antar komunikan
maka dibutuhkan sebuah kunci untuk tiap pasangan komunikan. Sehingga untuk n komunikan
jumlah kunci yang dibutuhkan adalah :
Untuk saling menutupi kekurangan dari kriptografi kunci simetri dan kriptografi kunci asimetri,
para pakar kriptografi mengembangkan penggabungan dua metode kriptografi ini. Metode
penggabungan ini disebut Hybrid Cryptosystem. Pada metode ini algoritma kunci simetri
digunakan untuk mengamankan pesan atau data yang akan dikirimkan. Sedangkan algoritma
kunci asimetri digunakan untuk mengamankan kunci dari proses kriptografi simetri.
Sejarah
Sejarah singkat MD5 di mulai pada tahun 1991 yang didesain oleh Prof. Ronald Rivest
dari universitas di Amerika Serikat yaitu MIT, Prof. Ronald Rivest mendesain MD5 karena telah
ditemukan kelemahan pada MD4 yang ditemukan Hans Dobbertin. Pada Tahun 1996 Hans
Dobbertin menemukan sebuah kerusakan/celah pada fungsi kompresi MD5, namun hal ini
bukanlah serangan terhadap hash MD5 sepenuhnya, sehingga dia mengumumkan untuk para
pengguna kriptografi menganjurkan supaya mengganti dengan WHIRLPOOL, SHA-1,
atauRIPEMD-160.
Namun lambat laun MD5 sudah tidak bisa diandalkan lagi karena hash hasil encrypt
MD5 mulai menampakkan kerusakannya dan sudah diketahui rahasia algoritma pada MD5, hal
tersebut ditemukan kerusakannya pada tanggal 17 Agustus 2004 oleh Xiaoyun Wang, Dengguo
Feng, Xuejia Lay dan Hongbo Yu.
Setiap pesan yang akan dienkripsi, terlebih dahulu dicari berapa banyak bit yang terdapat
pada pesan (anggap sebanyak b bit). Di sini b adalah bit non negatif integer, b bisa saja nol dan
tidak harus selalu kelipatan delapan.
Cara kerja kriptografi algoritma MD5 adalah menerima input berupa pesan dengan
ukuran sembarang dan menghasilkan message diggest yang memiliki panjang 128 bit.
Berikut ilustrasi gambar dari pembuatan message diggest pada kriptografi algoritma MD5:
3. Inisialisai penyangga MD
MD5 membutuhkan 4 buah penyangga (buffer) yang masing-masing
panjangnya 32 bit. Total panjang penyangga adalah 4 ´ 32 = 128 bit.
Keempat penyangga ini menampung hasil antara dan hasil akhir.Keempat
penyangga ini diberi namaA, B, C, dan D. Setiap penyangga diinisialisasi
dengan nilai-nilai (dalam notasi HEX) sebagai berikut :
A = 01234567
B = 89ABCDEF
C = FEDCBA98
D = 76543210
Dari gambar diatas dapat kita lihat bahwa proses HMD5 terdiri dari 4 buah putaran, dan
masing-masing putaran melakukan opersi dasar MD5 sebanyak 16 kali. Dimana disetiap
operasi dasar memakai sebuah elemen T. Sehingga setiap putaran memakai 16 elemen
tabel T.
Pada gambar 6, Yq menyatakan blok 512 bit ke-q dari pesan yang telah ditambahkan
dengan bit-bit pengganjal pada proses pertama dan tambahan 64 bit nilai panjang pesan
semula pada proses kedua. MDq adalah nilai message digest 128 bit dari proses HMD5 ke-
q. Pada awal proses , MDq berisi nilai inisialisasi penyangga MD. Kemudian fungsi f F, fG,
fH, dan fI pada gambar, masing-masing berisi 16 kali operasi dasar terhadap input, setiap
operasi dasar menggunakn elemen tabel T. Berikut ini ilustrasi gambar operasi dasar
MD5 :
Gambar 7. Operasi Dasar MD5 1
Operasi dasar MD5 yang diperlihatkan gambar diatas dapat dituliskan dengan persamaan
berikut ini :
Fungsi fF, fG, fH, dan fI adalah fungsi untuk memanipulasi masukan a, b, c, dan d dengan
ukuran 32-bit. Masing-masing fungsi dapat dilihat pada Tabel 1 dibawah ini :
Kemudian nilai T[i] dapat dilihat pada tabel dibawah ini. Tabel ini disusun oleh fungsi 232
x abs(sin(i)), i dalam radian.
Nilai T[i] 0
Sebagaimana telah dijelaskan sebelumnya bahwa fungsi fF, fG, fH, dan fI melakukan 16
kali operasi dasar. Misalkan notasi berikut ini :
Menyatakan operasi
secara umum fungsi hash MD5 dapat ditulis dalam persamaan matematis sebagai
berikut :
Penerapan
Contoh penerapan kriptografi MD5 pada suatu pesan yang ingin dirahasiakan. Misalkan
terdapat sebuah arsip dengan nama bandung.txt sebagai berikut :
Message digest yang dihasilkan dari arsip diatas adalah untuk 128 bit :
Untuk kasus pertama, apabila 33 derajat celcius diganti dengan 32, maka MD dari isi
arsip adalah (tidak termasuk baris MD) :
Untuk kasus kedua, apabila ditambahkan spasi diantara ”33” dan ”derajat”, maka MD
dari isi arsip adalah (tidak termasuk baris MD) :
Dari kedua kasus diatas sangat terlihat bahwa algoritma MD5 dengan fungsi hashnya
sangatlah peka dengan perubahan walau kecil sekalipun.
BAB III
PENYELESAIAN MASALAH
A. PEMBUATAN APLIKASI
Listing Cek login
<?php
// mengaktifkan session php
session_start();
// menghubungkan dengan koneksi
include 'koneksi.php';
// menangkap data yang dikirim dari form
$username = $_POST['username'];
$password = md5($_POST['password']);
// menyeleksi data admin dengan username dan password yang sesuai
$data = mysqli_query($koneksi,"select * from admin where username='$username' and
password='$password'");
// menghitung jumlah data yang ditemukan
$cek = mysqli_num_rows($data);
if($cek > 0){
$_SESSION['username'] = $username;
$_SESSION['status'] = "login";
header("location:admin/index.php");
}else{
header("location:index.php?pesan=gagal");
}
?>
Listing indeks
<html>
<head>
<title>Membuat Login Dengan PHP dan MySQLi Menggunakan MD5</title>
</head>
<body>
<h2>Login MD5</h2>
<br/>
<!-- cek pesan notifikasi -->
<?php
if(isset($_GET['pesan'])){
if($_GET['pesan'] == "gagal"){
echo "Login gagal! username dan password salah!";
}else if($_GET['pesan'] == "logout"){
echo "Anda telah berhasil logout";
}else if($_GET['pesan'] == "belum_login"){
echo "Anda harus login untuk mengakses halaman admin";
}
}
?>
<br/>
<br/>
<form method="post" action="cek_login.php">
<table>
<tr>
<td>Username</td>
<td>:</td>
<td><input type="text" name="username" placeholder="Masukkan
username"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input type="password" name="password" placeholder="Masukkan
password"></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" value="LOGIN"></td>
</tr>
</table>
</form>
</body>
</html>
Listing koneksi
<?php
$koneksi = mysqli_connect("localhost","root","","sistemlogin");
// Check connection
if (mysqli_connect_errno()){
echo "Koneksi database gagal : " . mysqli_connect_error();
}
?>
A. TAMPILAN APLIKSI
Form login
Dari apa yang kami pelajari dan kami bahas dalam makalah ini, kami mempunyai
kesimplan sebagai berikut :
1. Message Digest 5 (MD5) adalah sebuah fungsi hash satu arah yang mengubah masukan
dengan panjang variabel menjadi keluaran dengan panjang tetap yaitu 128 bit.
4. Kecepatan enkripsi pada sistem kriptografi MD5 sangat bergantung kepada spesifikasi
Komputer yang digunakan
5. MD5 akan menghasilkan output berupa 4 buah blok yang masing-masing terdiri dari 32
bit sehingga menjadi 128 bit yang disebut nilai hash
DAFTAR PUSTAKA
Munir, Rinaldi., Pengantar Kriptografi, Institut Teknologi Bandung, 2004.
Munir, Rinaldi., Fungsi Hash Satu Arah dan Algoritma MD5, Institut Teknologi Bandung, 2004.
Mulya, Megah., Bahan Ajar Kriptografi S1, Universitas Sriwijaya, 2008.
Thomas, Tom., Network Security First Step, Penerbit Andi, 2004.
Arius, Dony., Computer Security, Penerbit Andi, Yogyakarta, 2005.
http://id.wikipedia.org/wiki/Kriptografi
http://gatewaytugas.blogspot.co.id/2016/06/metode-penyandian-pesan-dan-menjaga.html?m=1