Upcoming SlideShare
×

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.

Standard text messaging rates apply

# Skripsi Implementasi Hash Kriptografik

1,284
views

Published on

Published in: Technology, Sports

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

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

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.
• 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.