SlideShare a Scribd company logo
1 of 10
MAKALAH SKRIPSI




PERBANDINGAN BEBERAPA ALGORITMA HASH KRIPTOGRAFIK
               DALAM BAHASA JAVA




                    Disusun oleh:
                 ARIE PURWANTO
                 96/108831/TK/20782




     JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
             UNIVERSITAS GADJAH MADA
                        2002
LEMBAR PENGESAHAN




                          MAKALAH SKRIPSI




PERBANDINGAN BEBERAPA ALGORITMA HASH KRIPTOGRAFIK
                        DALAM BAHASA JAVA




                       Telah diperiksa dan disetujui
                        Tanggal: ............................




      Pembimbing I                                               Pembimbing II




Ir. Sujoko Sumaryono, M.T.                        DR. Ir. Lukito Edi Nugroho, M.Sc.
    NIP. 131 792 961                                            NIP. 131 963 570
ABSTRACT




Cryptographic hash algorithms are cryptosystem primitives used for data integrity
and producing message digest. This thesis compares three MD4-family
cryptographic hash algorithms, as follows: MD5, SHA-1 and RIPEMD-160, with
following parameters: length of hash-value produced and time needed by each
algorithm to process an input. The application used for comparation is build in
Java programming language. The results shown that the length of hash-value
produced by MD5 is 128-bit and the length of hash-value produced by SHA-1 and
RIPEMD-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, the
less secure.




                                  ABSTRAKSI




Algoritma hash kriptografik merupakan salah satu primitif dari kriptosistem yang
berguna untuk integritas data dan membuat intisari pesan. Skripsi ini
membandingkan tiga algoritma hash kriptografik keluarga MD4 yang populer,
yaitu: MD5, SHA-1 dan RIPEMD-160, dengan parameter: panjang nilai-hash
yang dihasilkan dan waktu yang diperlukan masing-masing algoritma untuk
memroses suatu input. Aplikasi untuk membandingkan dibuat dalam bahasa Java.
Hasil yang diperoleh memperlihatkan bahwa panjang nilai-hash MD5 adalah 128
bit dan panjang nilai-hash SHA-1 dan RIPEMD-160 adalah 160 bit. RIPEMD-160
membutuhkan waktu paling banyak / kecepatan paling rendah, sedangkan MD5
membutuhkan waktu paling sedikit / kecepatan paling tinggi. Tetapi semakin
cepat suatu algoritma hash, semakin tidak aman pula algoritma tersebut.
PENDAHULUAN


     Selama beberapa tahun sejak kelahirannya, jaringan komputer utamanya
digunakan oleh para peneliti di universitas untuk mengirim email. Dalam kondisi
semacam ini, faktor keamanan tidak banyak memerlukan perhatian. Tetapi setelah
ditemukannya internet, jutaan orang mempunyai kesempatan yang sama untuk
menggunakan jaringan komputer, sehingga keamanan jaringan muncul ke
permukaan sebagai masalah yang sangat penting.
     Secara umum, masalah keamanan jaringan berkaitan dengan empat bidang
sebagai berikut: kerahasiaan, keaslian, pengesahan, dan integritas. Keempat isu ini
adalah target dari ancaman atau serangan terhadap keamanan jaringan. Serangan
terhadap 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 senantiasa
dipelajari dan dicari formulasi tepat untuk mengatasinya dalam ilmu kriptografi.
    Kriptografi adalah ilmu teknik-teknik matematis yang berhubungan dengan
aspek-aspek keamanan informasi seperti kerahasiaan, integritas data, otentikasi
entitas, dan otentikasi keaslian data. Teknik-teknik kriptografi dapat digolongkan
sebagai berikut:
-   Kriptosistem Kunci Publik
-   Kriptosistem Kunci Rahasia
-   Fungsi Hash Kriptografik
Dua teknik yang pertama diterapkan untuk melindungi informasi dari serangan
pasif terutama dalam hal penyadapan data. Sedangkan teknik ketiga, fungsi hash
kriptografik, diterapkan untuk melindungi informasi dari serangan aktif terutama
dalam hal pengubahan data asli atau modifikasi data asli.
Beberapa algoritma hash kriptografik yang paling banyak dan luas
penggunaannya di dunia adalah algoritma-algoritma keluarga MD4 (Message
Digest 4), yaitu: MD5 (Message Digest Algorithm 5), SHA-1 (Secure Hash
Algorithm), dan RIPEMD-160.
    Pada sisi lain, dalam bidang pemrograman internet, pada bulan Mei 1995,
Sun Microsystems memperkenalkan bahasa pemrograman Java. Java didasarkan
pada kode bahasa C dan diklaim oleh Sun Microsystems sebagai bahasa
pemrograman 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 telah
dipublikasikan secara luas adalah Java 2.


                            TINJAUAN PUSTAKA


    Fungsi hash kriptografik memainkan peran fundamental dalam kriptografi
modern. Walaupun dihubungkan dengan fungsi hash konvensional yang biasa
digunakan secara umum dalam aplikasi komputer non-kriptografik – dalam hal
ini, domain yang lebih besar dipetakan ke daerah yang lebih kecil – keduanya
berbeda dalam beberapa aspek penting. Oleh karena itu perlu dipahami terlebih
dahulu, bahwa istilah fungsi hash yang digunakan dalam penelitian ini merujuk
pada fungsi hash kriptografik.
    Fungsi hash mengambil suatu pesan sebagai input dan menghasilkan output
yang disebut kode-hash, hasil-hash, atau nilai-hash. Lebih tepat lagi, suatu fungsi
hash h memetakan bitstring dengan panjang terhingga dan tidak tetap ke string
dengan panjang tetap, katakanlah n bit. Untuk sebuah domain D dan jangkauan R
dengan 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. Untuk membatasi h ke
domain input t-bit ( t > n ), bila h adalah “acak” dalam hal bahwa semua output
pada dasarnya sama kemungkinannya, maka sekitar 2t −n input akan dipetakan ke
tiap output, dan dua input yang dipilih secara acak akan menghasilkan output
yang sama dengan probabilitas 2 −n (tidak bergantung pada t). Ide dasar fungsi
hash kriptografik adalah bahwa suatu nilai-hash merupakan image padat
representatif dari suatu string input, dan dapat digunakan sebagai identifikasi 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; dan
fungsi hash berkunci, yang berspesifikasi dua input berbeda yaitu pesan dan kunci
rahasia.


                                 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.
 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.
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, dengan
rincian 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 parameter
yang digunakan untuk membandingkan tiga algoritma hash kriptografik. Untuk itu
digunakan beberapa file berukuran lebih dari satu megabyte (MB) sebagai
masukan untuk dihitung nilai-hashnya. Daftar file yang digunakan dalam
pengujian ditunjukkan oleh tabel 1. Hasil pengujian diperlihatkan dalam tabel 2.
                           Tabel 1 Daftar file masukan.
     Nama file                         Letak                          Ukuran
WINWORD.EXE          C:Program FilesMicrosoft OfficeOffice10       10.324 KB
class2.doc           D:BackupVisual Basic Controlbeginvb1           2.617 KB
Plus!.bmp            C:WINDOWS                                        1.537 KB
KOF98.ZIP            D:BackupNeo-GeoRoms                           39.975 KB
Not 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/ dtk
SHA-1                                      2,81 dtk             4472,96 KB/ dtk
RIPEMD-160                                 3,60 dtk             3488,51 KB/ dtk

                                KESIMPULAN


1.   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 PUSTAKA


Bosselaers,      Antoon.       The       Hash       Function       RIPEMD-160.
       http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html, 1999.
Cohn, Mike, Bryan Morgan, et al. Java Developer's Reference. Indianapolis:
       Sams.net Publishing, 1996.
Flanagan, David. Java in a Nutshell. 2nd ed. O'Reilly & 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.
       O'Reilly & Associates, May 1997.
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.

More Related Content

What's hot

Jurnal RC4,RC5,RC6
Jurnal RC4,RC5,RC6Jurnal RC4,RC5,RC6
Jurnal RC4,RC5,RC6cuzein
 
Protokol keamanan
Protokol keamananProtokol keamanan
Protokol keamananlikut101010
 
Artikel 10105755
Artikel 10105755Artikel 10105755
Artikel 10105755Satya607
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 
Pertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan EncyptionPertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan Encyptionahmad haidaroh
 
Prakt modul 9 sym kriptografi
Prakt modul 9 sym kriptografiPrakt modul 9 sym kriptografi
Prakt modul 9 sym kriptografiKeisha Khairani
 

What's hot (9)

Jurnal RC4,RC5,RC6
Jurnal RC4,RC5,RC6Jurnal RC4,RC5,RC6
Jurnal RC4,RC5,RC6
 
2863344
28633442863344
2863344
 
Pertemuan9
Pertemuan9Pertemuan9
Pertemuan9
 
Protokol keamanan
Protokol keamananProtokol keamanan
Protokol keamanan
 
Artikel 10105755
Artikel 10105755Artikel 10105755
Artikel 10105755
 
about cryptography
about cryptographyabout cryptography
about cryptography
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Pertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan EncyptionPertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan Encyption
 
Prakt modul 9 sym kriptografi
Prakt modul 9 sym kriptografiPrakt modul 9 sym kriptografi
Prakt modul 9 sym kriptografi
 

Viewers also liked

Makalah global-warming
Makalah global-warmingMakalah global-warming
Makalah global-warmingTerminal Purba
 
Pancasila sebagai identitas nasional serta aktualisasi pengamalan pancasila d...
Pancasila sebagai identitas nasional serta aktualisasi pengamalan pancasila d...Pancasila sebagai identitas nasional serta aktualisasi pengamalan pancasila d...
Pancasila sebagai identitas nasional serta aktualisasi pengamalan pancasila d...Terminal Purba
 
Makalahpti 120222201512-phpapp01
Makalahpti 120222201512-phpapp01Makalahpti 120222201512-phpapp01
Makalahpti 120222201512-phpapp01Terminal Purba
 
Definisikaryailmiah 121001045132-phpapp01
Definisikaryailmiah 121001045132-phpapp01Definisikaryailmiah 121001045132-phpapp01
Definisikaryailmiah 121001045132-phpapp01Terminal Purba
 
Contoh makalah-perencanaan-sdm
Contoh makalah-perencanaan-sdmContoh makalah-perencanaan-sdm
Contoh makalah-perencanaan-sdmTerminal Purba
 
Multimedia pembelajaran-1262909494-phpapp01
Multimedia pembelajaran-1262909494-phpapp01Multimedia pembelajaran-1262909494-phpapp01
Multimedia pembelajaran-1262909494-phpapp01Terminal Purba
 
Makalah sumber-daya-alam
Makalah sumber-daya-alamMakalah sumber-daya-alam
Makalah sumber-daya-alamTerminal Purba
 
Contoh makalah-keperawatan
Contoh makalah-keperawatanContoh makalah-keperawatan
Contoh makalah-keperawatanTerminal Purba
 
Forensic odontologist
Forensic odontologist Forensic odontologist
Forensic odontologist Terminal Purba
 
Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...
Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...
Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...Terminal Purba
 
Contoh makalah-ekonomi-manajerial
Contoh makalah-ekonomi-manajerialContoh makalah-ekonomi-manajerial
Contoh makalah-ekonomi-manajerialTerminal Purba
 
Contoh makalah-bahaya-merokok-narkoba
Contoh makalah-bahaya-merokok-narkobaContoh makalah-bahaya-merokok-narkoba
Contoh makalah-bahaya-merokok-narkobaTerminal Purba
 
Contoh makalah-supervisi-pendidikan
Contoh makalah-supervisi-pendidikanContoh makalah-supervisi-pendidikan
Contoh makalah-supervisi-pendidikanTerminal Purba
 
Contoh makalah-evaluasi-pendidikan
Contoh makalah-evaluasi-pendidikanContoh makalah-evaluasi-pendidikan
Contoh makalah-evaluasi-pendidikanTerminal Purba
 
Contoh makalah-ketenagakerjaan
Contoh makalah-ketenagakerjaanContoh makalah-ketenagakerjaan
Contoh makalah-ketenagakerjaanTerminal Purba
 
Contoh makalah-tentang-pengangguran-dan-kemiskinan-di-indonesia
Contoh makalah-tentang-pengangguran-dan-kemiskinan-di-indonesiaContoh makalah-tentang-pengangguran-dan-kemiskinan-di-indonesia
Contoh makalah-tentang-pengangguran-dan-kemiskinan-di-indonesiaTerminal Purba
 
Formulir lamaran kerja iso
Formulir lamaran kerja  isoFormulir lamaran kerja  iso
Formulir lamaran kerja isoTerminal Purba
 

Viewers also liked (17)

Makalah global-warming
Makalah global-warmingMakalah global-warming
Makalah global-warming
 
Pancasila sebagai identitas nasional serta aktualisasi pengamalan pancasila d...
Pancasila sebagai identitas nasional serta aktualisasi pengamalan pancasila d...Pancasila sebagai identitas nasional serta aktualisasi pengamalan pancasila d...
Pancasila sebagai identitas nasional serta aktualisasi pengamalan pancasila d...
 
Makalahpti 120222201512-phpapp01
Makalahpti 120222201512-phpapp01Makalahpti 120222201512-phpapp01
Makalahpti 120222201512-phpapp01
 
Definisikaryailmiah 121001045132-phpapp01
Definisikaryailmiah 121001045132-phpapp01Definisikaryailmiah 121001045132-phpapp01
Definisikaryailmiah 121001045132-phpapp01
 
Contoh makalah-perencanaan-sdm
Contoh makalah-perencanaan-sdmContoh makalah-perencanaan-sdm
Contoh makalah-perencanaan-sdm
 
Multimedia pembelajaran-1262909494-phpapp01
Multimedia pembelajaran-1262909494-phpapp01Multimedia pembelajaran-1262909494-phpapp01
Multimedia pembelajaran-1262909494-phpapp01
 
Makalah sumber-daya-alam
Makalah sumber-daya-alamMakalah sumber-daya-alam
Makalah sumber-daya-alam
 
Contoh makalah-keperawatan
Contoh makalah-keperawatanContoh makalah-keperawatan
Contoh makalah-keperawatan
 
Forensic odontologist
Forensic odontologist Forensic odontologist
Forensic odontologist
 
Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...
Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...
Rancang bangun penjadwalan tugas (task) pada komputasi paralel dengan menggun...
 
Contoh makalah-ekonomi-manajerial
Contoh makalah-ekonomi-manajerialContoh makalah-ekonomi-manajerial
Contoh makalah-ekonomi-manajerial
 
Contoh makalah-bahaya-merokok-narkoba
Contoh makalah-bahaya-merokok-narkobaContoh makalah-bahaya-merokok-narkoba
Contoh makalah-bahaya-merokok-narkoba
 
Contoh makalah-supervisi-pendidikan
Contoh makalah-supervisi-pendidikanContoh makalah-supervisi-pendidikan
Contoh makalah-supervisi-pendidikan
 
Contoh makalah-evaluasi-pendidikan
Contoh makalah-evaluasi-pendidikanContoh makalah-evaluasi-pendidikan
Contoh makalah-evaluasi-pendidikan
 
Contoh makalah-ketenagakerjaan
Contoh makalah-ketenagakerjaanContoh makalah-ketenagakerjaan
Contoh makalah-ketenagakerjaan
 
Contoh makalah-tentang-pengangguran-dan-kemiskinan-di-indonesia
Contoh makalah-tentang-pengangguran-dan-kemiskinan-di-indonesiaContoh makalah-tentang-pengangguran-dan-kemiskinan-di-indonesia
Contoh makalah-tentang-pengangguran-dan-kemiskinan-di-indonesia
 
Formulir lamaran kerja iso
Formulir lamaran kerja  isoFormulir lamaran kerja  iso
Formulir lamaran kerja iso
 

Similar to Perbandingan Algoritma Hash

PPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIPPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIripki al
 
Kriptografi - Hash
Kriptografi - HashKriptografi - Hash
Kriptografi - HashKuliahKita
 
Idea (international data encryption algorithm)
Idea (international data encryption algorithm)Idea (international data encryption algorithm)
Idea (international data encryption algorithm)Arofiah Hidayati
 
Kelompok 15 pengiriman data dalam jaringan
Kelompok 15   pengiriman data dalam jaringanKelompok 15   pengiriman data dalam jaringan
Kelompok 15 pengiriman data dalam jaringanLina Purnawati
 
Modul 1 smk tkjx dasar routing
Modul 1 smk tkjx   dasar routingModul 1 smk tkjx   dasar routing
Modul 1 smk tkjx dasar routingGerry Pati
 
Ya Nggak Dong.pptx
Ya Nggak Dong.pptxYa Nggak Dong.pptx
Ya Nggak Dong.pptxArfijayo
 
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...idsecconf
 
Digital Signature
Digital SignatureDigital Signature
Digital SignatureIsni Wida
 
Fungsi Hash (2013).ppt
Fungsi Hash (2013).pptFungsi Hash (2013).ppt
Fungsi Hash (2013).pptGombalTrendy1
 

Similar to Perbandingan Algoritma Hash (20)

PPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIPPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFI
 
Fungsi hash
Fungsi hashFungsi hash
Fungsi hash
 
Kriptografi - Hash
Kriptografi - HashKriptografi - Hash
Kriptografi - Hash
 
Hash
HashHash
Hash
 
Idea (international data encryption algorithm)
Idea (international data encryption algorithm)Idea (international data encryption algorithm)
Idea (international data encryption algorithm)
 
CRYPTOGRAPHY.pptx
CRYPTOGRAPHY.pptxCRYPTOGRAPHY.pptx
CRYPTOGRAPHY.pptx
 
Kelompok 15 pengiriman data dalam jaringan
Kelompok 15   pengiriman data dalam jaringanKelompok 15   pengiriman data dalam jaringan
Kelompok 15 pengiriman data dalam jaringan
 
Skb pranata komputer
Skb pranata komputerSkb pranata komputer
Skb pranata komputer
 
Modul 1 smk tkjx dasar routing
Modul 1 smk tkjx   dasar routingModul 1 smk tkjx   dasar routing
Modul 1 smk tkjx dasar routing
 
Ya Nggak Dong.pptx
Ya Nggak Dong.pptxYa Nggak Dong.pptx
Ya Nggak Dong.pptx
 
CyberOps Associate Modul 21 Cryptography
CyberOps Associate Modul 21 CryptographyCyberOps Associate Modul 21 Cryptography
CyberOps Associate Modul 21 Cryptography
 
Kelompok 5
Kelompok 5Kelompok 5
Kelompok 5
 
Kelompok 5
Kelompok 5Kelompok 5
Kelompok 5
 
Power point
Power pointPower point
Power point
 
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
 
Belajar Internet Dasar
Belajar Internet DasarBelajar Internet Dasar
Belajar Internet Dasar
 
Chapter 8
Chapter 8Chapter 8
Chapter 8
 
Tugas ksi2
Tugas ksi2Tugas ksi2
Tugas ksi2
 
Digital Signature
Digital SignatureDigital Signature
Digital Signature
 
Fungsi Hash (2013).ppt
Fungsi Hash (2013).pptFungsi Hash (2013).ppt
Fungsi Hash (2013).ppt
 

More from Terminal Purba

Proposal 110605203718-phpapp02
Proposal 110605203718-phpapp02Proposal 110605203718-phpapp02
Proposal 110605203718-phpapp02Terminal Purba
 
Manajemenpendidikan 110510225231-phpapp02
Manajemenpendidikan 110510225231-phpapp02Manajemenpendidikan 110510225231-phpapp02
Manajemenpendidikan 110510225231-phpapp02Terminal Purba
 
Makalah pendidikan kewarganegaraan
Makalah pendidikan kewarganegaraanMakalah pendidikan kewarganegaraan
Makalah pendidikan kewarganegaraanTerminal Purba
 
Makalah asuhan keperawatan stroke
Makalah asuhan keperawatan strokeMakalah asuhan keperawatan stroke
Makalah asuhan keperawatan strokeTerminal Purba
 
Formulir pengajuan pasien increso jj2
Formulir pengajuan pasien increso jj2Formulir pengajuan pasien increso jj2
Formulir pengajuan pasien increso jj2Terminal Purba
 
Contoh pembukaan-makalah
Contoh pembukaan-makalahContoh pembukaan-makalah
Contoh pembukaan-makalahTerminal Purba
 
Contoh makalah-tentang-keuangan-negara
Contoh makalah-tentang-keuangan-negaraContoh makalah-tentang-keuangan-negara
Contoh makalah-tentang-keuangan-negaraTerminal Purba
 
Contoh makalah-sosiologi
Contoh makalah-sosiologiContoh makalah-sosiologi
Contoh makalah-sosiologiTerminal Purba
 
Contoh makalah-penjaskes
Contoh makalah-penjaskesContoh makalah-penjaskes
Contoh makalah-penjaskesTerminal Purba
 
Contoh makalah-kriminologi
Contoh makalah-kriminologiContoh makalah-kriminologi
Contoh makalah-kriminologiTerminal Purba
 
Contoh makalah-komunikasi-politik
Contoh makalah-komunikasi-politikContoh makalah-komunikasi-politik
Contoh makalah-komunikasi-politikTerminal Purba
 
Contoh makalah-globalisasi
Contoh makalah-globalisasiContoh makalah-globalisasi
Contoh makalah-globalisasiTerminal Purba
 

More from Terminal Purba (15)

Proposal 110605203718-phpapp02
Proposal 110605203718-phpapp02Proposal 110605203718-phpapp02
Proposal 110605203718-phpapp02
 
Prarancangan pabrik
Prarancangan pabrikPrarancangan pabrik
Prarancangan pabrik
 
Oktober
OktoberOktober
Oktober
 
Manajemenpendidikan 110510225231-phpapp02
Manajemenpendidikan 110510225231-phpapp02Manajemenpendidikan 110510225231-phpapp02
Manajemenpendidikan 110510225231-phpapp02
 
Makalah pendidikan kewarganegaraan
Makalah pendidikan kewarganegaraanMakalah pendidikan kewarganegaraan
Makalah pendidikan kewarganegaraan
 
Makalah asuhan keperawatan stroke
Makalah asuhan keperawatan strokeMakalah asuhan keperawatan stroke
Makalah asuhan keperawatan stroke
 
Formulir pengajuan pasien increso jj2
Formulir pengajuan pasien increso jj2Formulir pengajuan pasien increso jj2
Formulir pengajuan pasien increso jj2
 
Contoh pembukaan-makalah
Contoh pembukaan-makalahContoh pembukaan-makalah
Contoh pembukaan-makalah
 
Contoh makalah-tentang-keuangan-negara
Contoh makalah-tentang-keuangan-negaraContoh makalah-tentang-keuangan-negara
Contoh makalah-tentang-keuangan-negara
 
Contoh makalah-sosiologi
Contoh makalah-sosiologiContoh makalah-sosiologi
Contoh makalah-sosiologi
 
Contoh makalah-ptk
Contoh makalah-ptkContoh makalah-ptk
Contoh makalah-ptk
 
Contoh makalah-penjaskes
Contoh makalah-penjaskesContoh makalah-penjaskes
Contoh makalah-penjaskes
 
Contoh makalah-kriminologi
Contoh makalah-kriminologiContoh makalah-kriminologi
Contoh makalah-kriminologi
 
Contoh makalah-komunikasi-politik
Contoh makalah-komunikasi-politikContoh makalah-komunikasi-politik
Contoh makalah-komunikasi-politik
 
Contoh makalah-globalisasi
Contoh makalah-globalisasiContoh makalah-globalisasi
Contoh makalah-globalisasi
 

Perbandingan Algoritma Hash

  • 1. MAKALAH SKRIPSI PERBANDINGAN 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 SKRIPSI PERBANDINGAN BEBERAPA ALGORITMA HASH KRIPTOGRAFIK DALAM BAHASA JAVA Telah diperiksa dan disetujui Tanggal: ............................ Pembimbing I Pembimbing II Ir. Sujoko Sumaryono, M.T. DR. Ir. Lukito Edi Nugroho, M.Sc. NIP. 131 792 961 NIP. 131 963 570
  • 3. ABSTRACT Cryptographic hash algorithms are cryptosystem primitives used for data integrity and producing message digest. This thesis compares three MD4-family cryptographic hash algorithms, as follows: MD5, SHA-1 and RIPEMD-160, with following parameters: length of hash-value produced and time needed by each algorithm to process an input. The application used for comparation is build in Java programming language. The results shown that the length of hash-value produced by MD5 is 128-bit and the length of hash-value produced by SHA-1 and RIPEMD-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, the less secure. ABSTRAKSI Algoritma hash kriptografik merupakan salah satu primitif dari kriptosistem yang berguna untuk integritas data dan membuat intisari pesan. Skripsi ini membandingkan tiga algoritma hash kriptografik keluarga MD4 yang populer, yaitu: MD5, SHA-1 dan RIPEMD-160, dengan parameter: panjang nilai-hash yang dihasilkan dan waktu yang diperlukan masing-masing algoritma untuk memroses suatu input. Aplikasi untuk membandingkan dibuat dalam bahasa Java. Hasil yang diperoleh memperlihatkan bahwa panjang nilai-hash MD5 adalah 128 bit dan panjang nilai-hash SHA-1 dan RIPEMD-160 adalah 160 bit. RIPEMD-160 membutuhkan waktu paling banyak / kecepatan paling rendah, sedangkan MD5 membutuhkan waktu paling sedikit / kecepatan paling tinggi. Tetapi semakin cepat suatu algoritma hash, semakin tidak aman pula algoritma tersebut.
  • 4. PENDAHULUAN Selama beberapa tahun sejak kelahirannya, jaringan komputer utamanya digunakan oleh para peneliti di universitas untuk mengirim email. Dalam kondisi semacam ini, faktor keamanan tidak banyak memerlukan perhatian. Tetapi setelah ditemukannya internet, jutaan orang mempunyai kesempatan yang sama untuk menggunakan jaringan komputer, sehingga keamanan jaringan muncul ke permukaan sebagai masalah yang sangat penting. Secara umum, masalah keamanan jaringan berkaitan dengan empat bidang sebagai berikut: kerahasiaan, keaslian, pengesahan, dan integritas. Keempat isu ini adalah target dari ancaman atau serangan terhadap keamanan jaringan. Serangan terhadap 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 senantiasa dipelajari dan dicari formulasi tepat untuk mengatasinya dalam ilmu kriptografi. Kriptografi adalah ilmu teknik-teknik matematis yang berhubungan dengan aspek-aspek keamanan informasi seperti kerahasiaan, integritas data, otentikasi entitas, dan otentikasi keaslian data. Teknik-teknik kriptografi dapat digolongkan sebagai berikut: - Kriptosistem Kunci Publik - Kriptosistem Kunci Rahasia - Fungsi Hash Kriptografik Dua teknik yang pertama diterapkan untuk melindungi informasi dari serangan pasif terutama dalam hal penyadapan data. Sedangkan teknik ketiga, fungsi hash kriptografik, diterapkan untuk melindungi informasi dari serangan aktif terutama dalam hal pengubahan data asli atau modifikasi data asli.
  • 5. Beberapa algoritma hash kriptografik yang paling banyak dan luas penggunaannya di dunia adalah algoritma-algoritma keluarga MD4 (Message Digest 4), yaitu: MD5 (Message Digest Algorithm 5), SHA-1 (Secure Hash Algorithm), dan RIPEMD-160. Pada sisi lain, dalam bidang pemrograman internet, pada bulan Mei 1995, Sun Microsystems memperkenalkan bahasa pemrograman Java. Java didasarkan pada kode bahasa C dan diklaim oleh Sun Microsystems sebagai bahasa pemrograman 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 telah dipublikasikan secara luas adalah Java 2. TINJAUAN PUSTAKA Fungsi hash kriptografik memainkan peran fundamental dalam kriptografi modern. Walaupun dihubungkan dengan fungsi hash konvensional yang biasa digunakan secara umum dalam aplikasi komputer non-kriptografik – dalam hal ini, domain yang lebih besar dipetakan ke daerah yang lebih kecil – keduanya berbeda dalam beberapa aspek penting. Oleh karena itu perlu dipahami terlebih dahulu, bahwa istilah fungsi hash yang digunakan dalam penelitian ini merujuk pada fungsi hash kriptografik. Fungsi hash mengambil suatu pesan sebagai input dan menghasilkan output yang disebut kode-hash, hasil-hash, atau nilai-hash. Lebih tepat lagi, suatu fungsi hash h memetakan bitstring dengan panjang terhingga dan tidak tetap ke string dengan panjang tetap, katakanlah n bit. Untuk sebuah domain D dan jangkauan R dengan 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. Untuk membatasi h ke domain input t-bit ( t > n ), bila h adalah “acak” dalam hal bahwa semua output pada dasarnya sama kemungkinannya, maka sekitar 2t −n input akan dipetakan ke tiap output, dan dua input yang dipilih secara acak akan menghasilkan output
  • 6. yang sama dengan probabilitas 2 −n (tidak bergantung pada t). Ide dasar fungsi hash kriptografik adalah bahwa suatu nilai-hash merupakan image padat representatif dari suatu string input, dan dapat digunakan sebagai identifikasi 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; dan fungsi hash berkunci, yang berspesifikasi dua input berbeda yaitu pesan dan kunci rahasia. 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, dengan rincian 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 parameter yang digunakan untuk membandingkan tiga algoritma hash kriptografik. Untuk itu digunakan beberapa file berukuran lebih dari satu megabyte (MB) sebagai
  • 9. masukan untuk dihitung nilai-hashnya. Daftar file yang digunakan dalam pengujian ditunjukkan oleh tabel 1. Hasil pengujian diperlihatkan dalam tabel 2. Tabel 1 Daftar file masukan. Nama file Letak Ukuran WINWORD.EXE C:Program FilesMicrosoft OfficeOffice10 10.324 KB class2.doc D:BackupVisual Basic Controlbeginvb1 2.617 KB Plus!.bmp C:WINDOWS 1.537 KB KOF98.ZIP D:BackupNeo-GeoRoms 39.975 KB Not 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/ dtk SHA-1 2,81 dtk 4472,96 KB/ dtk RIPEMD-160 3,60 dtk 3488,51 KB/ dtk KESIMPULAN 1. 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 PUSTAKA Bosselaers, Antoon. The Hash Function RIPEMD-160. http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html, 1999. Cohn, Mike, Bryan Morgan, et al. Java Developer's Reference. Indianapolis: Sams.net Publishing, 1996. Flanagan, David. Java in a Nutshell. 2nd ed. O'Reilly & 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. O'Reilly & 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.