Your SlideShare is downloading. ×
Skripsi Implementasi Hash Kriptografik
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Skripsi Implementasi Hash Kriptografik

1,284
views

Published on

Published in: Technology, Sports

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,284
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. MAKALAH SKRIPSIPERBANDINGAN BEBERAPA ALGORITMA HASH KRIPTOGRAFIK DALAM BAHASA JAVA Disusun oleh: ARIE PURWANTO 96/108831/TK/20782 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS GADJAH MADA 2002
  • 2. LEMBAR PENGESAHAN MAKALAH SKRIPSIPERBANDINGAN BEBERAPA ALGORITMA HASH KRIPTOGRAFIK DALAM BAHASA JAVA Telah diperiksa dan disetujui Tanggal: ............................ Pembimbing I Pembimbing IIIr. Sujoko Sumaryono, M.T. DR. Ir. Lukito Edi Nugroho, M.Sc. NIP. 131 792 961 NIP. 131 963 570
  • 3. ABSTRACTCryptographic hash algorithms are cryptosystem primitives used for data integrityand producing message digest. This thesis compares three MD4-familycryptographic hash algorithms, as follows: MD5, SHA-1 and RIPEMD-160, withfollowing parameters: length of hash-value produced and time needed by eachalgorithm to process an input. The application used for comparation is build inJava programming language. The results shown that the length of hash-valueproduced by MD5 is 128-bit and the length of hash-value produced by SHA-1 andRIPEMD-160 is 160-bit. RIPEMD-160 requires most time / slowest in speed,while MD5 requires least time / fastest in speed. But the faster hash algorithm, theless secure. ABSTRAKSIAlgoritma hash kriptografik merupakan salah satu primitif dari kriptosistem yangberguna untuk integritas data dan membuat intisari pesan. Skripsi inimembandingkan tiga algoritma hash kriptografik keluarga MD4 yang populer,yaitu: MD5, SHA-1 dan RIPEMD-160, dengan parameter: panjang nilai-hashyang dihasilkan dan waktu yang diperlukan masing-masing algoritma untukmemroses suatu input. Aplikasi untuk membandingkan dibuat dalam bahasa Java.Hasil yang diperoleh memperlihatkan bahwa panjang nilai-hash MD5 adalah 128bit dan panjang nilai-hash SHA-1 dan RIPEMD-160 adalah 160 bit. RIPEMD-160membutuhkan waktu paling banyak / kecepatan paling rendah, sedangkan MD5membutuhkan waktu paling sedikit / kecepatan paling tinggi. Tetapi semakincepat suatu algoritma hash, semakin tidak aman pula algoritma tersebut.
  • 4. PENDAHULUAN Selama beberapa tahun sejak kelahirannya, jaringan komputer utamanyadigunakan oleh para peneliti di universitas untuk mengirim email. Dalam kondisisemacam ini, faktor keamanan tidak banyak memerlukan perhatian. Tetapi setelahditemukannya internet, jutaan orang mempunyai kesempatan yang sama untukmenggunakan jaringan komputer, sehingga keamanan jaringan muncul kepermukaan sebagai masalah yang sangat penting. Secara umum, masalah keamanan jaringan berkaitan dengan empat bidangsebagai berikut: kerahasiaan, keaslian, pengesahan, dan integritas. Keempat isu iniadalah target dari ancaman atau serangan terhadap keamanan jaringan. Seranganterhadap keamanan jaringan dapat digolongkan sebagai berikut:- Serangan pasif Adalah penyadapan atau pengawasan terhadap transmisi. Tujuan yang ingin dicapai adalah mendapatkan informasi yang sedang ditransmisikan.- Serangan aktif Melibatkan modifikasi aliran data, atau penciptaan aliran palsu.Masalah ancaman atau serangan terhadap keamanan jaringan ini senantiasadipelajari dan dicari formulasi tepat untuk mengatasinya dalam ilmu kriptografi. Kriptografi adalah ilmu teknik-teknik matematis yang berhubungan denganaspek-aspek keamanan informasi seperti kerahasiaan, integritas data, otentikasientitas, dan otentikasi keaslian data. Teknik-teknik kriptografi dapat digolongkansebagai berikut:- Kriptosistem Kunci Publik- Kriptosistem Kunci Rahasia- Fungsi Hash KriptografikDua teknik yang pertama diterapkan untuk melindungi informasi dari seranganpasif terutama dalam hal penyadapan data. Sedangkan teknik ketiga, fungsi hashkriptografik, diterapkan untuk melindungi informasi dari serangan aktif terutamadalam hal pengubahan data asli atau modifikasi data asli.
  • 5. Beberapa algoritma hash kriptografik yang paling banyak dan luaspenggunaannya di dunia adalah algoritma-algoritma keluarga MD4 (MessageDigest 4), yaitu: MD5 (Message Digest Algorithm 5), SHA-1 (Secure HashAlgorithm), dan RIPEMD-160. Pada sisi lain, dalam bidang pemrograman internet, pada bulan Mei 1995,Sun Microsystems memperkenalkan bahasa pemrograman Java. Java didasarkanpada kode bahasa C dan diklaim oleh Sun Microsystems sebagai bahasapemrograman yang sederhana, berorientasi-obyek, diterjemahkan (interpreted),kuat, aman, netral secara arsitektur, mudah dipindahkan ke sistem lain (portable),performa-tinggi, multithread, dan dinamis. Versi terbaru Java yang telahdipublikasikan secara luas adalah Java 2. TINJAUAN PUSTAKA Fungsi hash kriptografik memainkan peran fundamental dalam kriptografimodern. Walaupun dihubungkan dengan fungsi hash konvensional yang biasadigunakan secara umum dalam aplikasi komputer non-kriptografik – dalam halini, domain yang lebih besar dipetakan ke daerah yang lebih kecil – keduanyaberbeda dalam beberapa aspek penting. Oleh karena itu perlu dipahami terlebihdahulu, bahwa istilah fungsi hash yang digunakan dalam penelitian ini merujukpada fungsi hash kriptografik. Fungsi hash mengambil suatu pesan sebagai input dan menghasilkan outputyang disebut kode-hash, hasil-hash, atau nilai-hash. Lebih tepat lagi, suatu fungsihash h memetakan bitstring dengan panjang terhingga dan tidak tetap ke stringdengan panjang tetap, katakanlah n bit. Untuk sebuah domain D dan jangkauan Rdengan h : D →R dan D <R , fungsi pemetaan tersebut adalah banyak-ke-satu, mengungkapkan secara tidak langsung bahwa kemunculan tumbukan(pasangan input yang memiliki output identik) tidak dapat dihindari. Untukmembatasi h ke domain input t-bit ( t >n ), bila h adalah “acak” dalam hal bahwasemua output pada dasarnya sama kemungkinannya, maka sekitar 2t −n inputakan dipetakan ke tiap output, dan dua input yang dipilih secara acak akan
  • 6. menghasilkan output yang sama dengan probabilitas 2− n (tidak bergantung padat). Ide dasar fungsi hash kriptografik adalah bahwa suatu nilai-hash merupakanimage padat representatif dari suatu string input, dan dapat digunakan sebagaiidentifikasi unik dari string tersebut. Pada tingkat paling tinggi, fungsi hash dapat dipisahkan menjadi dua kelas:fungsi hash tanpa kunci, yang berspesifikasi satu parameter input yaitu pesan; danfungsi hash berkunci, yang berspesifikasi dua input berbeda yaitu pesan dan kuncirahasia. DASAR TEORI MD4 MD4 adalah fungsi hash 128-bit. Tujuan asli desain MD4 adalah bahwa memecahkan MD4 akan membutuhkan usaha brute-force yang keras: menemukan pesan berbeda dengan nilai-hash yang sama memerlukan 264 operasi, dan menemukan pesan yang menghasilkan nilai-hash yang telah ditentukan memerlukan sekitar 2128 operasi. MD4 menggunakan konvensi little-endian untuk konversi byte ke word 32-bit. MD5 MD5 didesain sebagai versi MD4 yang diperkuat, setelah tumbukan MD4 ditemukan. MD5 telah digunakan secara luas. Perubahan yang dibuat untuk mencapai MD5 dari MD4 adalah sebagai berikut: 1. penambahan putaran keempat dari 16 langkah, dan fungsi Putaran 4 2. penggantian fungsi Putaran 2 dengan fungsi baru 3. modifikasi urutan akses untuk word pesan dalam Putaran 2 dan 3 4. modifikasi jumlah pergeseran 5. penggunaan konstanta tambahan unik dalam tiap 4 × 16 langkah, berdasarkan bagian bilangan bulat 232 ⋅ sin ( j) untuk langkah j 6. penambahan output dari langkah sebelumnya ke tiap 64 langkah.
  • 7.  SHA-1 Secure Hash Algorithm (SHA-1) berbasis MD4. Perbedaan utama SHA-1 dari MD4 adalah sebagai berikut: 1. Nilai-hash 160 bit, dan digunakan lima variabel rantai 32-bit. 2. Fungsi kompresi mempunyai empat putaran, menggunakan fungsi tangga MD4 f, g, dan h sebagai berikut: f dalam putaran pertama, g ketiga, dan h dalam putaran kedua dan keempat. Tiap langkah memiliki 20 putaran. 3. Dalam fungsi kompresi, tiap blok pesan 16-word diperluas menjadi blok 80-word. 4. Langkah inti dimodifikasi sebagai berikut: satu-satunya rotasi yang digunakan adalah rotasi konstan 5-bit; variabel kerja kelima ditambahkan ke tiap hasil langkah; word pesan dari blok pesan yang diperluas diakses secara sekuensial; dan C di-update sebagai B yang dirotasi ke kiri 30 bit. 5. SHA-1 menggunakan empat konstanta tambahan bukan-nol, sedangkan MD4 menggunakan tiga konstanta yang dua diantaranya bukan-nol. RIPEMD-160 RIPEMD-160 adalah fungsi hash berbasis MD4. Keseluruhan fungsi kompresi RIPEMD-160 memetakan input 21-word (variabel rantai 5-word ditambah blok pesan 16-word, dengan word 32-bit) ke output 5-word. Tiap blok input diproses secara paralel oleh versi berbeda (jalur kiri dan jalur kanan) dari fungsi kompresi. Output 160-bit dari jalur yang terpisah dikombinasikan untuk memberikan output tunggal 16-bit. Fungsi kompresi RIPEMD-160 berbeda dari MD4 dalam hal jumlah word variabel rantai, jumlah putaran, fungsi putaran (tabel 2.6), urutan word input yang diakses, dan jumlah rotasi hasil. Jalur komputasi kiri dan kanan berbeda satu sama lain dalam hal dua item terakhir, konstanta tambahan, dan dalam urutan penerapan fungsi putaran. Maksud dari desain ini adalah untuk memperbaiki resistensi terhadap strategi serangan yang ada. Tiap jalur paralel menggunakan IV yang sama seperti SHA-1.
  • 8. METODOLOGI PENELITIAN Metode yang dilakukan dalam penulisan skripsi ini adalah sebagai berikut:- Mempelajari literatur yang berhubungan dengan algoritma hash kriptografik baik berupa buku, paper dalam bentuk fisik maupun elektronik.- Membuat perangkat lunak aplikasi untuk memproses hashing dan menghitung berbagai besaran tiap algoritma hash kriptografik.- Menguji perangkat lunak dengan memberikan berbagai masukan yang telah ditentukan.- Membuat kesimpulan dari hasil yang diperoleh. HASIL IMPLEMENTASI DAN PEMBAHASAN Ada empat modul atau kelas yang dibuat dalam aplikasi skripsi ini, denganrincian sebagai berikut:1. Modul utama; adalah satu-satunya modul yang memiliki tampilan visual dan berupa suatu applet Java.2. Modul MD5; berisi proses inti dari algoritma hash MD5.3. Modul SHA-1; berisi proses inti dari algoritma hash SHA-1.4. Modul RIPEMD-160; berisi proses inti dari algoritma hash RIPEMD-160.Tampilan modul utama diperlihatkan dalam gambar 1. Gambar 1 Tampilan visual dari modul utama. Pada skripsi ini dilakukan pengujian untuk memperoleh nilai dari parameteryang digunakan untuk membandingkan tiga algoritma hash kriptografik. Untuk itudigunakan beberapa file berukuran lebih dari satu megabyte (MB) sebagai
  • 9. masukan untuk dihitung nilai-hashnya. Daftar file yang digunakan dalampengujian ditunjukkan oleh tabel 1. Hasil pengujian diperlihatkan dalam tabel 2. Tabel 1 Daftar file masukan. Nama file Letak UkuranWINWORD.EXE C:Program FilesMicrosoft OfficeOffice10 10.324 KBclass2.doc D:BackupVisual Basic Controlbeginvb1 2.617 KBPlus!.bmp C:WINDOWS 1.537 KBKOF98.ZIP D:BackupNeo-GeoRoms 39.975 KBNot enuf.mp3 D:BackupMP3Rock 8.483 KB Tabel 2 Hasil pengujian keseluruhan. Algoritma Waktu (rata-rata) Kecepatan (rata-rata)MD5 1,92 dtk 6579,20 KB/ dtkSHA-1 2,81 dtk 4472,96 KB/ dtkRIPEMD-160 3,60 dtk 3488,51 KB/ dtk KESIMPULAN1. Algoritma MD5 menghasilkan nilai-hash sepanjang 128 bit, sedangkan SHA- 1 dan RIPEMD-160 menghasilkan nilai-hash sepanjang 160 bit.2. Kecepatan proses MD5 > SHA-1 > RIPEMD-160. DAFTAR PUSTAKABosselaers, Antoon. The Hash Function RIPEMD-160. http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html, 1999.Cohn, Mike, Bryan Morgan, et al. Java Developers Reference. Indianapolis: Sams.net Publishing, 1996.Flanagan, David. Java in a Nutshell. 2nd ed. OReilly & Associates, May 1997.Girdley, Michael, Kathryn A. Jones, et al. Web Programming with Java. 1st ed. Indianapolis: Sams.net Publishing, 1996.Grand, Mark, Jonathan Knudsen. Java Fundamental Classes Reference. 1st ed. OReilly & Associates, May 1997.
  • 10. Hopson, K.C., Stephen E. Ingram. Developing Professional Java Applet. Indianapolis: Sams.net Publishing, 1996.Jaworski, Jamie. Java 1.2 Unleashed. Indianapolis: Macmillan Computer Publishing, 1998.Lemay, Laura, Charles L. Perkins, Michael Morrison. Teach Yourself Java in 21 Days Professional Reference Edition. Indianapolis: Sams.net Publishing, 1996.Menezes, Alfred J., Paul C. van Oorschot, Scott A. Vanstone. Handbook of Applied Cryptography. CRC Press, Inc., 1996.Nagin, Paul, John Impagliazzo. Computer Science : a breadth-first approach with Pascal. John Wiley & Sons, Inc., 1995.National Institute of Standards and Technology, U.S. Department of Commerce. Secure Hash Standard. NIST FIPS PUB 180-1, May 31, 1994.Norton, Peter, Wiliam Stanek. Peter Norton’s Guide to Java Programming. Indianapolis: Sams.net Publishing, 1996.Rivest, R. The MD5 Message Digest Algorithm. RFC 1321, April 1992.Sanchez, Julio, Maria P. Canton. Java ™ 2 Weekend Crash Course. Terj. Imam Mustaqim, Jakarta: PT. Elex Media Komputindo, 2002.Schneier, Bruce. Applied Cryptography. 2nd ed. New York: John Wiley, 1996.SSH Communications Security. Cryptography A-Z. http://www.ssh.fi, 2002.Stallings, William. Cryptography and Network Security: Principles and Practice, Second Edition. Prentice Hall, PTR, 1997.Stallings, William. Data and Computer Communications. New Jersey: Prentice- Hall, Inc., 1997.Tanenbaum, Andrew S. Jaringan Komputer. Edisi ke-3. Jil. 2, terj. Gurnita Priatna, Jakarta: Prenhallindo, 1997.Vanderburg, Glenn L., et al. Tricks of the Java Programming Gurus. Indianapolis: Sams.net Publishing, 1996.Walnum, Clayton. Java By Example. Indianapolis: Que Corporation, 1996.