SlideShare une entreprise Scribd logo
1  sur  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.

Contenu connexe

Tendances

Protokol keamanan
Protokol keamananProtokol keamanan
Protokol keamananlikut101010
 
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
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 
Artikel 10105755
Artikel 10105755Artikel 10105755
Artikel 10105755Satya607
 

Tendances (7)

Protokol keamanan
Protokol keamananProtokol keamanan
Protokol keamanan
 
Makalah Kumpulan remaja
Makalah Kumpulan remajaMakalah Kumpulan remaja
Makalah Kumpulan remaja
 
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
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Artikel 10105755
Artikel 10105755Artikel 10105755
Artikel 10105755
 
Pertemuan9
Pertemuan9Pertemuan9
Pertemuan9
 

En vedette

Music Video Moodboard
Music Video MoodboardMusic Video Moodboard
Music Video Moodboardgeorgiairving
 
Us wireless market_q3_2012_update_nov_2012_chetan_sharma_consulting
Us wireless market_q3_2012_update_nov_2012_chetan_sharma_consultingUs wireless market_q3_2012_update_nov_2012_chetan_sharma_consulting
Us wireless market_q3_2012_update_nov_2012_chetan_sharma_consultingGustavo Kahil
 
Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industri...
Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industri...Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industri...
Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industri...Alkis Vazacopoulos
 
WHAT IS BIG DATA? AND HOW IT APPLIED IN MODERN MARKETING
WHAT IS BIG DATA? AND HOW IT APPLIED IN MODERN MARKETINGWHAT IS BIG DATA? AND HOW IT APPLIED IN MODERN MARKETING
WHAT IS BIG DATA? AND HOW IT APPLIED IN MODERN MARKETINGAndzhey Arshavskiy
 
Penrith - Oregon Carbon Policy Options for Legislators-150911-CAM
Penrith - Oregon Carbon Policy Options for Legislators-150911-CAMPenrith - Oregon Carbon Policy Options for Legislators-150911-CAM
Penrith - Oregon Carbon Policy Options for Legislators-150911-CAMSean Penrith
 
The power of observation: 5 ways to ensure teacher evaluations lead to teache...
The power of observation: 5 ways to ensure teacher evaluations lead to teache...The power of observation: 5 ways to ensure teacher evaluations lead to teache...
The power of observation: 5 ways to ensure teacher evaluations lead to teache...Learning Forward
 
3 as relacións e negociacións dentro da parella
3 as relacións e negociacións dentro da parella3 as relacións e negociacións dentro da parella
3 as relacións e negociacións dentro da parellaeducacionenigualdade
 
3 way conference
3 way conference3 way conference
3 way conferencesosaia07
 
La dimensione di genere nell'Agenda Digitale
La dimensione di genere nell'Agenda DigitaleLa dimensione di genere nell'Agenda Digitale
La dimensione di genere nell'Agenda DigitaleMargot Bezzi
 
Present rec 03_tor
Present rec 03_torPresent rec 03_tor
Present rec 03_torchibook
 
Economic Affairs Extract From Pf Manifesto
Economic Affairs   Extract From Pf ManifestoEconomic Affairs   Extract From Pf Manifesto
Economic Affairs Extract From Pf ManifestoCKandeta
 
Presentación verbatin clinico elkaliz
Presentación verbatin clinico elkalizPresentación verbatin clinico elkaliz
Presentación verbatin clinico elkalizAndrea Hernandez
 
Fisiologi respirasi
Fisiologi respirasiFisiologi respirasi
Fisiologi respirasiAguss Aja
 

En vedette (20)

統計第8回
統計第8回統計第8回
統計第8回
 
Gbox live dns
Gbox live dnsGbox live dns
Gbox live dns
 
Incredible mankind
Incredible mankindIncredible mankind
Incredible mankind
 
Music Video Moodboard
Music Video MoodboardMusic Video Moodboard
Music Video Moodboard
 
Us wireless market_q3_2012_update_nov_2012_chetan_sharma_consulting
Us wireless market_q3_2012_update_nov_2012_chetan_sharma_consultingUs wireless market_q3_2012_update_nov_2012_chetan_sharma_consulting
Us wireless market_q3_2012_update_nov_2012_chetan_sharma_consulting
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 
Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industri...
Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industri...Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industri...
Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industri...
 
Botox
BotoxBotox
Botox
 
WHAT IS BIG DATA? AND HOW IT APPLIED IN MODERN MARKETING
WHAT IS BIG DATA? AND HOW IT APPLIED IN MODERN MARKETINGWHAT IS BIG DATA? AND HOW IT APPLIED IN MODERN MARKETING
WHAT IS BIG DATA? AND HOW IT APPLIED IN MODERN MARKETING
 
Penrith - Oregon Carbon Policy Options for Legislators-150911-CAM
Penrith - Oregon Carbon Policy Options for Legislators-150911-CAMPenrith - Oregon Carbon Policy Options for Legislators-150911-CAM
Penrith - Oregon Carbon Policy Options for Legislators-150911-CAM
 
The power of observation: 5 ways to ensure teacher evaluations lead to teache...
The power of observation: 5 ways to ensure teacher evaluations lead to teache...The power of observation: 5 ways to ensure teacher evaluations lead to teache...
The power of observation: 5 ways to ensure teacher evaluations lead to teache...
 
3 as relacións e negociacións dentro da parella
3 as relacións e negociacións dentro da parella3 as relacións e negociacións dentro da parella
3 as relacións e negociacións dentro da parella
 
3 way conference
3 way conference3 way conference
3 way conference
 
La dimensione di genere nell'Agenda Digitale
La dimensione di genere nell'Agenda DigitaleLa dimensione di genere nell'Agenda Digitale
La dimensione di genere nell'Agenda Digitale
 
Present rec 03_tor
Present rec 03_torPresent rec 03_tor
Present rec 03_tor
 
Economic Affairs Extract From Pf Manifesto
Economic Affairs   Extract From Pf ManifestoEconomic Affairs   Extract From Pf Manifesto
Economic Affairs Extract From Pf Manifesto
 
Back To Basics CEO
Back To Basics CEOBack To Basics CEO
Back To Basics CEO
 
Presentación verbatin clinico elkaliz
Presentación verbatin clinico elkalizPresentación verbatin clinico elkaliz
Presentación verbatin clinico elkaliz
 
Class 4 presentation_
Class 4 presentation_Class 4 presentation_
Class 4 presentation_
 
Fisiologi respirasi
Fisiologi respirasiFisiologi respirasi
Fisiologi respirasi
 

Similaire à Skripsi Implementasi Hash Kriptografik

Perbandingan beberapa algoritma hash kriptografik dalam bahasa java
Perbandingan beberapa algoritma hash kriptografik dalam bahasa javaPerbandingan beberapa algoritma hash kriptografik dalam bahasa java
Perbandingan beberapa algoritma hash kriptografik dalam bahasa javaTerminal Purba
 
PPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIPPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIripki al
 
Idea (international data encryption algorithm)
Idea (international data encryption algorithm)Idea (international data encryption algorithm)
Idea (international data encryption algorithm)Arofiah Hidayati
 
Kriptografi - Hash
Kriptografi - HashKriptografi - Hash
Kriptografi - HashKuliahKita
 
Digital Signature
Digital SignatureDigital Signature
Digital SignatureIsni Wida
 
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
 
OSI Layer pada Wireshark
OSI Layer pada WiresharkOSI Layer pada Wireshark
OSI Layer pada WiresharkHanif Yogatama
 
Advance entryption-standard _AES
Advance entryption-standard _AESAdvance entryption-standard _AES
Advance entryption-standard _AESAdly Klan
 
Ya Nggak Dong.pptx
Ya Nggak Dong.pptxYa Nggak Dong.pptx
Ya Nggak Dong.pptxArfijayo
 

Similaire à Skripsi Implementasi Hash Kriptografik (20)

Perbandingan beberapa algoritma hash kriptografik dalam bahasa java
Perbandingan beberapa algoritma hash kriptografik dalam bahasa javaPerbandingan beberapa algoritma hash kriptografik dalam bahasa java
Perbandingan beberapa algoritma hash kriptografik dalam bahasa java
 
PPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFIPPT ALGORITMA KRIPTOGRAFI
PPT ALGORITMA KRIPTOGRAFI
 
Fungsi hash
Fungsi hashFungsi hash
Fungsi hash
 
Hash
HashHash
Hash
 
Idea (international data encryption algorithm)
Idea (international data encryption algorithm)Idea (international data encryption algorithm)
Idea (international data encryption algorithm)
 
Kriptografi - Hash
Kriptografi - HashKriptografi - Hash
Kriptografi - Hash
 
CRYPTOGRAPHY.pptx
CRYPTOGRAPHY.pptxCRYPTOGRAPHY.pptx
CRYPTOGRAPHY.pptx
 
Skb pranata komputer
Skb pranata komputerSkb pranata komputer
Skb pranata komputer
 
Digital Signature
Digital SignatureDigital Signature
Digital Signature
 
Chapter 8
Chapter 8Chapter 8
Chapter 8
 
Kelompok 15 pengiriman data dalam jaringan
Kelompok 15   pengiriman data dalam jaringanKelompok 15   pengiriman data dalam jaringan
Kelompok 15 pengiriman data dalam jaringan
 
Modul 1 smk tkjx dasar routing
Modul 1 smk tkjx   dasar routingModul 1 smk tkjx   dasar routing
Modul 1 smk tkjx dasar routing
 
OSI Layer pada Wireshark
OSI Layer pada WiresharkOSI Layer pada Wireshark
OSI Layer pada Wireshark
 
Advance entryption-standard _AES
Advance entryption-standard _AESAdvance entryption-standard _AES
Advance entryption-standard _AES
 
Ya Nggak Dong.pptx
Ya Nggak Dong.pptxYa Nggak Dong.pptx
Ya Nggak Dong.pptx
 
Blowfish epod
Blowfish epodBlowfish epod
Blowfish epod
 
CyberOps Associate Modul 21 Cryptography
CyberOps Associate Modul 21 CryptographyCyberOps Associate Modul 21 Cryptography
CyberOps Associate Modul 21 Cryptography
 
Belajar Internet Dasar
Belajar Internet DasarBelajar Internet Dasar
Belajar Internet Dasar
 
Kelompok 5
Kelompok 5Kelompok 5
Kelompok 5
 
Kelompok 5
Kelompok 5Kelompok 5
Kelompok 5
 

Skripsi Implementasi Hash Kriptografik

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