• Tidak ada hasil yang ditemukan

BAB 5 KESIMPULAN DAN SARAN

5.2 Saran

Aplikasi steganografi gambar yang dibangun ini masih banyak keterbatasannya. Untuk pengembangan program yang dihasilkan dalam penulisan skripsi ini, dapat diberikan beberapa saran sebagai berikut:

1. Gambar yang digunakan dalam aplikasi ini hanya bisa menggunakan format bitmap (.bmp) sebagai wadah penampung teks yang dienkripsi, untuk pengembangannya agar dapat digunakan format citra lain, seperti .jpeg, .png, dan format yang lainnya.

2. Pesan yang dienkripsi dan didekripsi pada aplikasi yang dibangun adalah pesan teks yang disembunyikan ke dalam gambar, untuk pengembangannya agar dapat digunakan format pesan lain, dan wadah penampung dapat digunakan format lain, contohnya seperti pesan teks disembunyikan dalam file musik ataupun file video.

BAB 2

LANDASAN TEORI

2.1 Kriptografi

Kriptografi (cryptography) berasal dari Bahasa Yunani yaitu “cryptos” artinya rahasia (secret) sedangkan “graphein” artinya tulisan (writing). Jadi, kriptografi berarti tulisan rahasia. Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita (Schneier, 1996).

Kata “seni” dalam definisi tersebut berasal dari fakta sejarah bahwa pada masa–masa awal sejarah kriptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara–cara unik tersebut mungkin berbeda-beda pada setiap pelaku kriptografi sehingga setiap cara menulis pesan rahasia, pesan mempunyai nilai estetika tersendiri, sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan.

Selain pengertian tersebut, kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data (A. Menezes, P. van Oorschot and S. Vanstone, 1997). Tidak semua aspek keamanan informasi ditangani oleh kriptografi.

Dengan pesatnya perkembangan kriptografi, muncul istilah modern cryptography atau kriptografi modern, yaitu suatu teknik cipher di mana sekumpulan fungsi matematika atau yang disebut algoritma yang digunakan untuk mengkonversi sekumpulan bit ke dalam bentuk lain. File original yang disebut plaintext , mungkin dapat berisikan biasanya teks, gambar, suara atau apa saja yang dapat direpresentasikan ke dalam sebuah komputer.

2.2 Steganografi

Steganografi berbeda dengan kriptografi, di mana pihak ke tiga dapat mendeteksi adanya data (ciphertext), karena hasil dari kriptografi berupa data yang berbeda dari bentuk aslinya dan biasanya datanya seolah-olah berantakan, tetapi dapat dikembalikan ke bentuk semula. Ilustrasi mengenai perbedaan kriptografi dan steganografi dapat dilihat pada Gambar 2.1.

Kata steganografi (steganography) berasal dari bahasa Yunani steganos, yang artinya “tersembunyi atau terselubung”, dan graphein, “menulis” sehingga kurang lebih artinya "menulis (tulisan) terselubung". Teknik ini meliputi banyak sekali metoda komunikasi untuk menyembunyikan pesan rahasia. Metoda ini termasuk tinta yang tidak tampak, microdots, pengaturan kata, tanda tangan digital, jalur tersembunyi dan komunikasi spektrum lebar (Munir, 200 ).

Pengertian lain dari Steganografi, yaitu sebuah teknik penyembunyian pesan rahasia, yang biasanya sebuah pesan yang disisipi (diekstrak) ke dalam suatu media sebagai pembawa pesan (Long Truong, 200 ).

Tujuan dari steganografi adalah merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Dalam prakteknya kebanyakan diselesaikan dengan membuat perubahan tipis terhadap data digital lain yang isinya tidak akan menarik perhatian dari penyerang potensial, sebagai contoh sebuah gambar yang terlihat tidak berbahaya. Perubahan ini bergantung pada kunci (sama pada cryptography) dan pesan untuk disembunyikan. Orang yang menerima gambar kemudian dapat menyimpulkan informasi terselubung dengan cara mengganti kunci yang benar ke dalam algoritma yang digunakan.

Dengan menggunakan komputer, metode steganograpi sangat luas penggunaannya karena banyak format file digital yang dapat dijadikan media untuk menyembunyikan pesan. Format yang biasa digunakan di antaranya:

2. Format audio: wav, voc, mp3, dan lain-lain. 3. Format lain: teks file, html, pdf, dan lain-lain.

Steganografi memanfaatkan keterbatasan sistem indera manusia seperti mata dan telinga. Dengan adanya keterbatasan inilah, metoda steganografi ini dapat diterapkan pada berbagai media digital. Hasil keluaran dari steganografi ini memiliki bentuk persepsi yang sama dengan bentuk aslinya, tentunya persepsi di sini sebatas oleh kemampuan indera manusia, tetapi tidak oleh komputer atau perangkat pengolah digital lainnya.

Jaringan komunikasi data

---

Gambar 2.2 Proses steganografi Data

Media

Penyisipan

data Media yang telah

disisipi data

Data

Media

Ekstraksi data

Media yang telah disisipi data

2.3 Sejarah Kriptografi

Kriptografi atau yang sering dikenal dengan sebutan ilmu penyandian data, adalah suatu bidang ilmu dan seni (science and art) yang bertujuan untuk menjaga kerahasiaan suatu pesan yang berupa data dari akses oleh orang-orang atau pihak-pihak lain yang tidak berhak sehingga tidak menimbulkan kerugian. Bidang ilmu Kriptografi ini semula hanya popular di bidang militer dan bidang intelijen untuk menyandikan pesan-pesan panglima perang kepada pasukan yang berada di garis depan, akan seiring dengan semakin berkembangnya teknologi utamanya teknologi informasi dan semakin padatnya lalu lintas informasi yang terjadi tentu saja semakin menuntut adanya suatu komunikasi data yang aman, bidang ilmu ini menjadi semakin penting. Sekarang bidang ilmu ini menjadi salah satu isu riset yang tidak habis-habisnya diteliti dengan melibatkan banyak peneliti.

Kriptografi memiliki sejarah yang panjang dan mengagumkan. Penulisan rahasia ini dapat dilacak kembali ke 3000 tahun SM saat digunakan oleh bangsa Mesir. Mereka menggunakan hieroglyphcs untuk menyembunyikan tulisan dari mereka yang tidak diharapkan. Hieroglyphcs diturunkan dari bahasa Yunani hieroglyphica yang berarti ukiran rahasia. Hieroglyphs berevolusi menjadi hieratic, yaitu stylized script yang lebih mudah untuk digunakan. Sekitar tahun 400 SM, yaitu pada zaman Yunani kuno. Kriptografi militer digunakan oleh bangsa Spartan dalam bentuk sepotong papirus atau perkapen dibungkus dengan batang kayu, sistem ini disebut Scytale.

Sekitar 50 SM, Julius Caesar, kaisar Roma, menggunakan cipher substitusi untuk mengirim pesan ke Marcus Tullius Cicero. Pada cipher ini, huruf-huruf alfabet disubstitusi dengan huruf-huruf yang lain pada alfabet yang sama. Karena hanya satu alfabet yang digunakan, cipher ini merupakan substitusi monoalfabetik. Cipher semacam ini mencakup penggeseran alfabet dengan 3 huruf dan mensubstitusikan huruf tersebut. Substitusi ini kadang dikenal dengan C3 (untuk Caesar menggeser 3 tempat).

Bangsa Arab menemukan cryptanalysis karena kemahirannya dalam bidang matematika, statistik, dan linguistik. Karena setiap orang muslim harus menambah pengetahuannya, mereka mempelajari peradaban terdahulu dan mendekodekan tulisan-tulisannya ke huruf-huruf Arab. Pada tahun 815, Caliph al-Mamun mendirikan House of Wisdom di Baghdad yang merupakan titik pusat dari usaha-usaha translasi.

Pada 1790, Thomas Jefferson mengembangkan alat enkripsi dengan menggunakan tumpukan yang terdiri dari 26 disk yang dapat diputar secara individual. Pesan dirakit dengan memutar setiap disk ke huruf yang tepat di bawah batang berjajar yang menjalankan panjang tumpukan disk. Kemudian, batang berjajar diputar dengan sudut tertentu, A, dan huruf-huruf di bawah batang adalah pesan yang terenkripsi. Penerima akan menjajarkan karakter-karakter cipher di bawah batang berjajar, memutar batang kembali dengan sudut A dan membaca pesan plaintext.

Sistem disk digunakan secara luas selama perang sipil US. Federal Signal Officer mendapatkan hak paten pada sistem disk mirip dengan yang ditemukan oleh

Leon Battista Alberti di Italia, dan dia menggunakannya untuk mengkode dan mendekodekan sinyal-sinyal bendera di antara unit-unit.

Mesin kriptografi mekanik yang disebut Hagelin Machine dibuat pada tahun 1920 oleh Boris Hagelin di Scockholm, Swedia. Di US, mesin Hagelin dikenal sebagai M-209.

Pada tahun 20-an, Herbert O. Yardley bertugas pada organisasi rahasia US MI-8 yang dikenal sebagai “Black Chamber”. MI-8 menjebol kode-kode sejumlah negara. Selama konferensi Angkatan Laut Washington tahun 1921-1922, US membatasi negosiasi dengan Jepang karena MI-8 telah memberikan rencana negosiasi Jepang yang telah disadap kepada sekretaris negara US. Departemen negara menutup MI-8 pada tahun 1929 sehingga Yardley merasa kecewa. Sebagai wujud kekecewaannya, Yardley menerbitkan buku The American Black Chamber, yang menggambarkan kepada dunia rahasia dari MI-8. Sebagai konsekuensinya, pihak Jepang menginstal kode-kode baru. Karena kepeloporannya dalam bidang ini, Yardley dikenal sebagai “Bapak Kriptografi Amerika”.

Dewasa ini bidang ilmu kriptografi memiliki kemungkinan aplikasi yang sangat luas, mulai dari bidang militer, telekomunikasi, jaringan komputer, keuangan dan perbankan, pendidikan dan singkatnya suatu kerahasiaan data amat diperlukan, disitulah kriptografi memegang peranan penting. Produk-produk yang menggunakan kriptografi sebagai dasarnya-pun cukup beragam, mulai dari kartu ATM, E-Commerce, secure e-mail dan lain-lain.

2.4 Sejarah Steganografi

Steganografi sudah dikenal oleh bangsa Yunani. Herodotus, penguasa Yunani, mengirim pesan rahasia dengan menggunakan kepala budak atau prajurit sebagai media. Dalam hal ini, rambut budak dibotaki, lalu pesan rahasia ditulis pada kulit kepala budak. Ketika rambut budak tumbuh, budak tersebut diutus untuk membawa pesan rahasia dibalik rambutnya.

Bangsa Romawi mengenal steganografi dengan menggunakan tinta tak-tampak (invisible ink) untuk menuliskan pesan. Tinta tersebut dibuat dari campuran sari buah, susu, dan cuka. Jika tinta digunakan untuk menulis, maka tulisannya tidak tampak. Tulisan di atas kertas dapat dibaca dengan cara memanaskan kertas tersebut. Saat ini di negara-negara yang melakukan penyensoran informasi, steganografi sering digunakan untuk menyembunyikan pesan-pesan melalui gambar (gambars), video, atau suara (audio).

Steganografi sudah digunakan sejak dahulu kala sekitar 2500 tahun yang lalu untuk kepentingan politik, militer, diplomatik, serta untuk kepentingan pribadi sebagai alat. Beberapa contoh penggunaan steganografi pada masa lampau di antaranya:

1. Pada tahun 480 sebelum masehi, seseorang berkebangsaan Yunani yaitu Demaratus mengirimkan pesan kepada polis Sparta yang berisi peringatan mengenai penyerangan Xerxes yang ditunda. Teknik yang digunakan adalah dengan menggunakan meja yang telah diukir kemudian diberi lapisan lilin

untuk menutupi pesan tersebut, dengan begitu pesan dalam meja dapat disampaikan tanpa menimbulakn kecurigaan oleh para penjaga.

2. Pada abad ke 5 sebelum Masehi, Histaiacus mengirimkan pesan kepada Aristagoras Miletus untuk memberontak terhadap raja Persia. Pesan disampaikan dengan cara mencukur kepala pembawa pesan dan mentato kepalanya dengan pesan tersebut. Kemudian saat rambutnya tumbuh kembali, pembawa pesan dikirimkan dan pada tempat tujuan rambutnya kembali digunduli dan pesan akan terbaca.

3. Pada perang dunia II, Jerman menggunakan microdots untuk berkomunikasi. Penggunaan teknik ini biasa digunakan pada microfilm chip yang harus diperbesar sekitar 200 kali.

4. Pada perang dunia II, Amerika Serikat menggunakan suku Indian Navajo sebagai media untuk berkomunikasi.

Pada abad 20, steganografi mengalami perkembangan yang sangat pesat. Selama berlangsung perang Boer, Lord Boden Powell (pendiri gerakan kepanduan) yang bertugas untuk membuat tanda posisi sasaran dari basis artileri tentara Boer, untuk alasan keamanan, Boden Powell menggambar peta-peta posisi musuh pada sayap kupu-kupu agar gambar-gambar peta sasaran tersebut terkamuflase.

Dari contoh-contoh steganografi konvensional tersebut dapat dilihat bahwa semua teknik steganografi konvensional berusaha merahasiakan komunikasi dengan cara menyembunyikan pesan ataupun mengkamuflase pesan. Sesungguhnya prinsip dasar dalam steganografi lebih dikonsentrasikan pada kerahasian komunikasinya

2.5 Tujuan Kriptografi

Dalam teknologi informasi, telah dan sedang dikembangkan cara untuk menangkal berbagai bentuk serangan semacam penyadapan dan pengubahan data yang dikirimkan. Salah satu cara yang ditempuh mengatasi masalah ini ialah dengan menggunakan kriptografi yang menggunakan transformasi data sehingga data yang dihasilkan tidak dapat dimengerti oleh pihak yang tidak berhak mengakses. Transformasi ini memberikan penyelesaian pada 2 (dua) macam masalah keamanan data, yaitu masalah privasi (privacy) dan keotentikan (authenticatioan). Privasi mengandung arti bahwa data yang dikirimkan hanya dapat dimengerti informasinya oleh penerima yang sah atau berhak. Sedangkan keotentikan mencegah pihak ke tiga untuk mengirimkan data yang salah atau mengubah data yang dikirimkan.

Adapun tujuan sistem kriptografi adalah sebagai berikut:

1. Confidentiality

Memberikan kerahasiaan pesan dan menyimpan data dengan menyembunyikan informasi lewat teknik-teknik enkripsi.

2. Data Integrity

Memberikan jaminan untuk tiap bagian bahwa pesan tidak akan mengalami perubahan dari saat data dibuat/dikirim sampai dengan saat data tersebut dibuka.

3. Non-repudiation

Sebuah cara untuk membuktikan suatu dokumen datang dari seseorang yang menyangkal memiliki dokumen tersebut.

4. Authentication

Memberikan dua buah layanan. Pertama mengidentifikasikan keaslian suatu pesan dan memberikan jaminan keotentikannya. Ke-dua, menguji identitas seseorang yang akan memasuki sistem.

(Sumber: A. Menezes, P. van Oorschot and S. Vanstone, 1997).

2.6 Tujuan Steganografi

Steganografi mempunyai tujuan untuk menyembunyikan pesan rahasia ke dalam sebuah media yang dapat direpresentasikan komputer sehingga pesan rahasia itu dapat terkamuflase agar orang lain tidak menyadari keberadaan pesan rahasia tersebut.

2.7 Terminologi Dasar Kriptografi

Kriptografi merupakan kumpulan teknik untuk mengenkode data dan pesan sedemikian sehingga data dan pesan tersebut dapat disimpan dan ditransmisikan dengan aman. Berikut ini beberapa terminologi dasar dari kriptografi serta hal-hal yang berkaitan dengan terminologi tersebut:

1. Kriptografi dapat digunakan untuk meningkatkan keamanan komunikasi meskipun komunikasi tersebut dilakukan dengan media komunikasi yang sangat tidak aman (misalnya Internet). Kriptografi juga dapat digunakan untuk melakukan enkripsi file-file sensitif, sehingga orang lain tidak dapat mengartikan data-data yang ada. 2. Kriptografi dapat digunakan untuk memberikan jaminan integritas data serta

3. Dengan menggunakan kriptografi, sangat mungkin untuk meverifikasi asal data dan pesan yang ada menggunakan tanda tangan digital.

4. Pada saat menggunakan metoda kriptografi, hanya kunci sesuai yang harus tetap dijaga kerahasiaannya. Algoritma, ukuran kunci dan format file dapat dibaca oleh siapapun tanpa mempengaruhi keamanan.

2.8 Algoritma & Kunci

Algoritma kriptografi atau sering disebut dengan cipher adalah suatu fungsi matematis yang digunakan untuk melakukan enkripsi dan dekripsi (Schneier, 1996). Algoritma kriptografi ini bekerja dalam kombinasi dengan menggunakan kunci (key) seperti kata, nomor atau frase tertentu. Algoritma kriptografi selalu terdiri dari dua bagian yaitu fungsi enkripsi dan dekripsi. Bila keamanan algoritma tergantung pada kerahasiaan algoritma bekerja, maka algoritma tersebut dikatakan algoritma terbatas (terbatas kemampuannya). Algoritma terbatas mempunyai sejarah yang menarik, namun sayangnya tidak cukup baik untuk digunakan pada masa sekarang ini. Sejumlah besar pengguna (yang tidak dalam satu grup) tidak dapat menggunakannya bersama-sama, sehingga setiap kali seorang pengguna meninggalkan grupnya, pemakai lain dalam grup tersebut harus mengganti algoritma agar algoritma yang mereka gunakan tidak diketahui kelompok lain. Bila salah satu anggota tanpa sengaja menampakkan algoritma keluar grupnya, maka grup tersebut harus mengganti algoritmanya.

Kriptografi modern menyelesaikan masalah ini dengan hanya merahasiakan kunci (key) saja tanpa harus menyembunyikan algoritmanya sendiri. Kunci (K) dapat

juga disebut sebagai passInteger. Keamanan enkripsi hanya tergantung pada kunci, dan tidak tergantung apakah algoritmanya dilihat orang lain atau tidak. Rentang kemungkinan nilai kunci ini disebut keyspace.

2.9 Pengelompokkan Algoritma Kriptografi

Berdasarkan jenis kunci yang digunakannya, algoritma kriptografi dikelompokkan menjadi dua bagian (Scheiner, 1996) (Kurniawan, 2004) (Munir, 2006) (Menezes, van Oorschot dan Vanstone, 1997) , yaitu:

1. Algoritma Simetri (Algoritma Konvensional)

Gambar 2.3 Skema Algoritma Simetri

2. Algoritma Asimetri (Algoritma Kunci Publik)

ENKRIPSI DEKRIPSI

Plaintext Ciphertext Plaintext

KUNCI PUBLIK KUNCI RAHASIA

ENKRIPSI DEKRIPSI

Plaintext Ciphertext Plaintext

2.9.1 Algoritma Simetris Vs Algoritma Asimetris

Baik kriptografi simetri maupun kriptografi asimetri (kunci publik), ke duanya mempunyai kelebihan dan kelemahan sebagai berikut:

A. Algoritma Simetris

Adapun kelebihan dari kriptografi simetri:

1. Algoritma kriptografi simetri dirancang sehingga proses enkripsi/dekripsi membutuhkan waktu yang singkat.

2. Ukuran kunci simetri relatif pendek.

3. Algoritma kriptografi simetri dapat digunakan untuk membangkitkan bilangan acak.

4. Algorima kriptografi simetri dapat disusun untuk menghasilkan cipher yang lebih kuat.

5. Otentikasi pengirim pesan langsung diketahui dari cipherteks yang diterima, karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.

Adapun Kelemahan kriptografi simetri:

1. Kunci simetri harus dikirim melalui saluran yang aman. Ke dua entitas yang berkomunikasi harus menjaga kerahasisan kunci ini.

B. Algoritma Asimetris

Kelebihan dari kriptografi kunci-publik (asimetri), sebagai berikut:

1. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang berkomuniaksi (tetapi, otentikasi kunci publik tetap harus terjamin). Tidak ada kebutuhan mengirim kunci kunci privat sebagaimana pada sistem simetri.

2. Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode waktu yang panjang.

3. Dapat digunakan untuk mengamankan pengiriman kunci simetri.

4. Beberapa algoritma kunci-publik dapat digunakan untuk memberi tanda tangan digital pada pesan.

Kelemahan kriptografi kunci-publik (asimetri), sebagai berikut:

1. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri, karena enkripsi dan dekripsi menggunakan bilangan yang besar dan melibatkan operasi perpangkatan yang besar.

2. Ukuran cipherteks lebih besar daripada plainteks (bisa dua sampai empat kali ukuran plainteks).

3. Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.

4. Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang, cipherteks tidak memberikan informasi mengenai otentikasi pengirim.

5. Tidak ada algoritma kunci-publik yang terbukti aman (sama seperti block cipher). Kebanyakan algoritma mendasarkan keamanannya pada sulitnya

memecahkan persoalan-persoalan aritmetik (pemfaktoran, logaritmik, dan sebagainya) yang menjadi dasar pembangkitan kunci.

2.10 Algoritma GOST

GOST merupakan blok cipher dari bekas Uni Sovyet (yang sekarang dikenal dengan Rusia ), yang merupakan singkatan dari "Gosudarstvennyi Standard" atau Standar Pemerintah, standar ini bernomor 28147-89 oleh sebab itu metoda ini sering disebut sebagai GOST 28147-89.

GOST merupakan blok cipher 64 bit dengan panjang kunci 256 bit. Algoritma ini mengiterasi algoritma enkripsi sederhana sebanyak 32 putaran (round). Untuk mengenkripsi pertama-tama plainteks 64 bit dipecah menjadi 32 bit bagian kiri, L dan 32 bit bagian kanan, R. Subkunci (subkey) untuk putaran i adalah Ki. Pada satu putaran ke-i operasinya adalah sebagai berikut:

Li = Ri-1

Ri = Li-1 xor f(Ri-1,Ki)

Sedangkan pada fungsi f mula-mula bagian kanan data ditambah dengan subkunci ke-i modulus 232. Hasilnya dipecah menjadi delapan bagian 4 bit dan setiap bagian menjadi input s-box yang berbeda. Di dalam GOST terdapat 8 buah s-box, 4 bit pertama menjadi s-box pertama, 4 bit kedua menjadi s-box ke dua, dan seterusnya. Output dari 8 s-box kemudian dikombinasikan menjadi bilangan 32 bit kemudian

bilangan ini dirotasi 11 bit ke kiri. Akhirnya hasil operasi ini di-xor dengan data bagian kiri yang kemudian menjadi bagian kanan dan bagian kanan menjadi bagian kiri (swap). Pada implementasinya nanti rotasi pada fungsi f dilakukan pada awal saat inisialisasi sekaligus membentuk s-box 32 bit dan dilakukan satu kali saja sehingga lebih menghemat operasi dan dengan demikian mempercepat proses enkripsi/dekripsi (Schneier, 1996).

Gambar 2.5 Diagram Alir Fungsi f (metoda Gost)

Subkunci dihasilkan secara sederhana yaitu dari 256 bit kunci yang dibagi menjadi delapan 32 bit blok: k1, k2, …, k8. Setiap putaran menggunakan subkunci

Li - 1 Ri - 1 Substitusi Kotak-S Pergeseran sirkuler ke kiri 11 bit

Ri Li Ki

tidak menentukan bagaimana menghasilkan s-box sehingga ada spekulasi bahwa sebagian organisasi di (eks) Sovyet mempunyai box yang baik dan sebagian diberi s-box yang buruk sehingga mudah diawasi/dimata-matai.

Gambar 2.6 Subkey yang digunakan GOST pada setiap putaran

Berikut urutan logika proses pembentukan S-Box:

Gambar 2.7 Diagram Alir Cipher kanan

R (32 bits) K (32 bits)

MOD 232

+

4 bits 4 bits 4 bits 4 bits 4 bits 4 bits 4 bits 4 bits

S1 S2 S3 S4 S5 S6 S7 S8

SHIFT 11 BIT

2.11 Fungsi Hash

Di dalam kriptografi terdapat sebuah fungsi yang sesuai untuk aplikasi keamanan seperti otentikasi dan integritas pesan. Fungsi tersebut adalah fungsi hash atau sering disebut fungsi hash kriptografi. Fungsi Hash adalah fungsi yang menerima masukan string yang panjangnya sembarang dan mengkonversikannya ke dalam string yang panjangnya tetap (fixed), umumnya ukurannya jauh lebih kecil dari ukuran yang semula (Munir, 2006).

Keluaran fungsi hash disebut nilai hash (hash-value) atau pesan ringkas (message-digest). Fungsi Hash satu arah (one-way hash) adalah fungsi hash yang bekerja dalam satu arah: Pesan yang sudah diubah menjadi message digest tidak dapat dikembalikan lagi menjadi pesan semula. Dua pesan yang berbeda selalu menghasilkan nilai hash yang berbeda pula. Sifat fungsi hash satu arah sebagai berikut:

1. Fungsi H dapat diterapkan pada blok data berukuran beberapa saja. 2. H menghasilkan nilai ( h ) dengan panjang tetap ( fixed lenght output ).

3. Untuk setiap h yang diberikan, tidak mungkin menemukan x sedemikian sehingga H(x) = h, karena itu fungsi H dikatakan fungsi hash satu arah. 4. Untuk setiap x yang diberikan tidak mungkin mencari y ≠ x sedemikian

sehingga H(y) = H(x).

5. Tidak mungkin secara komputasi mencari pasangan x dan y sedemikian sehingga H(x) = H(y).

2.11.1 Karakteristik Fungsi Hash

Dari beberapa definisi yang telah dijelaskan sebelumnya, dapat ditarik kesimpulan mengenai beberapa karakteristik fungsi hash, antara lain:

1. Fungsi hash dapat diimplementasikan untuk input data berapapun panjangnya, 2. Fungsi hash menghasilkan output dengan ukuran/ panjang yang tetap.

3. Untuk semua nilai input x, y = f(x) mudah untuk dihitung. Dengan kata lain terdapat polynomial time algorithm untuk menghitung y = f(x) dengan mengetahui nilai x.

4. Untuk semua nilai y yang berada pada daerah hasil f, dengan mengetahui nilai y, akan sulit untuk mengetahui nilai x. Dengan kata lain dibutuhkan suatu super polynomial time algorithm untuk menyelesaikan permasalahan tersebut. 5. Untuk suatu nilai x, secara komputasi sulit untuk mencari x‟≠ x, di mana

f(x‟) = f(x), bila hal ini terjadi, maka kasus ini disebut bentrokan (collision).

2.11.2 Secure Hash Algorithm ( SHA )

SHA adalah fungsi hash satu arah merupakan kelanjutan dari algoritma MD5 (Message-Digest). SHA-1 adalah fungsi hash yang umum digunakan dalam berbagai aplikasi. SHA-1 dipublikasikan pada tahun 1995. SHA-1 menerima berupa pesan dengan ukuran maksimum 264 bit menghasilkan message digest yang panjangnya 160 bit, lebih panjang dibandingkan dengan MD5 yang hanya 128 bit ( Munir, 2006 ).

Langkah–langkah pembuatan message digest dengan SHA-1 secara garis besar adalah sebagai berikut:

1. Penambahan bit-bit pengganjal (padding bit).

Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang

Dokumen terkait