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.
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
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.
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.
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”.
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:
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.
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
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.
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)
Gambar 2.4 Skema Algoritma Asimetri
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.
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)
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
yang berbeda. Dekripsi sama dengan enkripsi dengan urutan ki dibalik. Standar GOST
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).
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 )
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 pesan (dalam satuan bit) kongruen dengan 448 modulo 512, sehingga panjang pesan setelah ditambahkan bit-bit pengganjal adalah 64 bit kurang dari kelipatan 512. Angka 512 ini muncul karena SHA-1 memproses pesan dalam blok–blok berukuran 512. Pesan yang panjang 448 bit juga ditambah dengan bit–bit pengganjal. Jika panjang pesan 448 bit, maka pesan tersebut ditambah dengan 512 bit menjadi 960 bit. Jadi panjang bit–bit pengganjal antara 1 sampai 512. Bit-bit pengganjal terdiri sebuah bit 1 diikuti sisanya dengan bit 0. 2. Penambahan nilai panjang pesan semula.
Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula. Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi kelipatan 512 bit.
3. Inisialisasi penyangga (buffer) MD.
SHA membutuhkan 5 buah penyangga yang masing–masing panjangnya 32 bit. Total panjang penyangga adalah 5 x 32 = 160 bit. Ke lima penyangga ini menampung hasil antara dan hasil akhir. Ke lima penyangga ini diberi nama A, B, C, D, dan E. setiap penyangga diinisialisasi dengan nilai–nilai dalam notasi HEX sebagai berikut:
C = 98BADCFE D = 10325476 E = C3D2E1F0
4. Pengelohan pesan dalam blok berukuran 512 bit Prosesnya dapat dilihat pada Gambar 1.2. Diagram Alir Fungsi Hash SHA-1 satu putaran.
Operasi dasar SHA-1 yang diperlihatkan pada Gambar 1.3. dapat dituliskan sebagai persamaan sebagai berikut:
a,b,c,d,e ← (CLS5(a) + ft(b,c,d) +e +Wt + Kt), a, CLS30(b),c,d
Keterangan:
a, b, c, d, e = lima buah penyangga 32 bit (berisi nilai penyangga A, B , C, D, E)
t = putaran, 0 ≤ t ≤ 79 F = fungsi logika ft
CLSs = circular left shift sebanyak s bit
Wt = Integer 32-bit yang diturunkan dari blok 512-bit yang
sedang diproses Kt = konstanta penambah
Tabel 2.1 Fungsi logika ftpada setiap putaran
Putaran ft (b,c,d)
0 .. 19 ( b  c )  ( b  d )
20 .. 39 b  c  d
40 .. 59 ( b  c )  ( b  d )  ( c  d )
Nilai W0 sampai W15 berasal dari 16 Integer pada blok yang diproses, sedangkan nilai
Wt berikutnya didapat dari persamaan berikut:
Wt = Wt – 16  Wt – 14  Wt – 8  Wt – 3
Setelah putaran ke – 79, a, b, c, d, dan e dijumlahkan ke A, B, C, D, dan E dan selanjutnya algoritma memproses blok data selanjutnya. Keluaran akhir dari algoritma SHA-1 adalah hasil penyambungan bit-bit di dalam A, B, C, D, E.
2.12 Cryptanalisys
Tugas utama kriptografi adalah untuk menjaga agar baik plaintext maupun kunci atau ke duanya tetap terjaga kerahasiaannya dari penyadap (disebut juga sebagai lawan, penyerang, pencegat, penyelundup pesan, musuh, attacker dan sebagainya). Pencegat pesan rahasia diasumsikan mempunyai akses yang lengkap ke dalam saluran komunikasi antara pengirim dan penerima. Hal ini sangat mudah terjadi pada jalur internet dan saluran telepon.
Keseluruhan point dari kriptografi adalah menjaga kerahasiaan plainteks (atau kunci, atau keduanya) dari penyadap (eavesdropper) atau kriptanalis (cryptanalyst). (penyadap bisa juga merupakan seorang kriptanalis atau sebaliknya) Nama lain penyadap yaitu penyusup (intruder), penyerang (attacker), musuh (enemy, adversaries), pencegat (interceptor), lawan (opponent).
Exhaustive attack atau brute force attack. Percobaan yang dibuat untuk mengungkap plainteks atau kunci dengan mencoba semua kemungkinan kunci (trial and error).
Asumsi yang digunakan:
1. Kriptanalis mengetahui algoritma kriptografi
2. Kriptanalis memiliki sebagian plainteks dan cipherteks yang bersesuaian.
Caranya: plainteks yang diketahui dienkripsikan dengan setiap kemungkinan kunci, dan hasilnya dibandingkan dengan cipherteks yang bersesuaian. Apabila hanya cipherteks yang tersedia, maka cipherteks tersebut didekripsi dengan dengan setiap kemungkinan kunci dan plainteks hasilnya diperiksa apakah mengandung makna. Misalkan sebuah sistem kriptografi membutuhkan kunci yang panjangnya 8 karakter, karakter dapat berupa angka (10 buah). Jika huruf (26 huruf besar dan 26 huruf kecil), maka jumlah kunci yang harus dicoba adalah:
62  62  62  62  62  62  62  62 = 628 buah
Tabel 2.2. Waktu yang Diperlukan untuk Exhaustive Key Search
16 bit 216 = 65536 32.7 milidetik 0.0327 mikrodetik 32 bit 232 = 4.3  109 35.8 menit 2.15 milidetik 56 bit 256 = 7.2  1016 1142 tahun 10.01 jam 128 bit 2128 = 4.3  1038 5.4  1024 tahun 5.4  1018 tahun (Sumber: William Stallings, Data and Komputer Communication Fourth Edition)
Untuk menghadapi serangan ini, perancang kriptosistem (kriptografer) harus membuat kunci yang panjang dan tidak mudah ditebak.
2.13 Steganografi Gambar
Penyembunyian informasi rahasia dalam gambar adalah merupakan implementasi dari steganografi, dimana informasi rahasia tersebut dibuat sedemikian rupa menempel pada suatu gambar tapi tidak tertampilkan secara kasat mata, sehingga tidak terdeteksi pihak lain ataupun pihak yang menginginkan pesan atau informasi tersebut tanpa ijin yang sah.
Salah satu syarat steganografi adalah pesan yang tersembunyi harus tidak dapat dideteksi. Dengan kata lain, stego-gambar harus tidak dapat dibedakan dengan cover-gambar secara visual. Metoda steganografi termudah dan paling banyak digunakan adalah penyembunyian pada Least Significant Bit (LSB). Metoda ini memberikan pengaruh terkecil pada cover-gambar karena hanya mempengaruhi satu atau dua bit pada LSB. Kelemahan terbesarnya adalah karena menyebabkan data yang disembunyikan menjadi transparan.
Pada dasarnya, proses penyembunyian pesan rahasia dalam sistem steganografi dimulai dengan identifikasi bit-bit redundant dari cover mediumnya (yang dapat dimodifikasi tanpa merusak integritas medium yang bersangkutan). Proses penyembunyian menghasilkan suatu medium stego melalui penggantian bit redundant dengan data pesan rahasia yang disembunyikan tersebut.
Dalam prakteknya sejumlah informasi rahasia dapat disembunyikan dalam file gambar bitmap dengan sedikit atau tidak adanya degradasi yang tampak pada gambar tersebut. Hal itu dapat dilakukan dengan penggantian bit-bit LSB (Least Significant Bit) dalam bytes pixel dengan data yang akan disembunyikan. Karena bit pixel LSB mempunyai kontribusi sangat kecil terhadap penampakan pixel tersebut, penggantian bit-bit ini sering tidak memiliki efek yang tampak jelas pada gambar.
Beberapa istilah yang sering digunakan dalam steganografi di antaranya: 1. Carrier file : file yang berisi pesan rahasia tersebut.
3. Medium stego : media yang digunakan untuk membawa pesan rahasia.
Penyembunyian informasi rahasia ke dalam media digital mengubah kualitas media tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data di antaranya adalah:
1. Fidelity. Mutu citra penampung tidak jauh berubah. Setelah penambahan data rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat tidak mengetahui kalau di dalam citra tersebut terdapat data rahasia.
2. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali (recovery). Karena tujuan steganografi adalah data hiding, sewaktu-waktu data rahasia di dalam citra penampung harus dapat diambil kembali untuk digunakan lebih lanjut.
3. Imperceptibility. Keberadaan pesan tidak dapat dipersepsi oleh indrawi. Apabila pesan disisipkan ke dalam sebuah citra, maka citra yang telah disisipi pesan harus tidak dapat dibedakan dengan citra asli oleh mata. Begitu pula dengan suara, telinga haruslah mendapati perbedaan antara suara asli dan suara yang telah disisipi pesan.
2.13.1 Carrier File (File Pembawa)
sebagai media carrier untuk menyisipkan data. Dari kriteria ini yang paling penting adalah ke dalaman warna (berapa banyak bit per pixel yang didefinisikan dari sebuah warna). Bitmap dengan mengikuti kriteria tadi dapat dilihat:
1. 4 bit = 16 warna (16 gray scales). 2. 8 bit = 256 warna (256 gray scales). 3. 24 bit = 16.777.216 warna.
Manipulasi pada bitmap tidak dapat dikonvert atau diubah ke dalam bentuk format grafik yang lain karena data tersembunyi dalam file tersebut akan hilang.
2.13.2 Metoda Steganografi
Di dalam steganografi terdapat beberapa metode sebagai berikut:
1. Least Significant Bit Insertion (LSB)
bit atau MSB) dan bit yang paling kurang berarti (least significant bit atau LSB).
Bit yang cocok untuk diganti adalah bit LSB, sebab perubahan tersebut hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Misalkan byte tersebut menyatakan warna merah, perubahan satu bit LSB tidak mengubah warna merah tersebut secara berarti. Lagi pula, mata manusia tidak dapat membedakan perubahan yang kecil.
Perhatikan contoh berikut:
Misalkan segmen data citra sebelum perubahan: 0 0 1 1 0 0 1 1 1 0 1 0 0 0 1 0
1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1
Segmen data citra setelah „0 1 1 1„ disembunyikan:
0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 1
BMP. Pada penelitian ini dipakai jenis file BMP karena pada umumnya mempunyai ukuran file yang besar sehingga informasi rahasia yang disembunyikan akan lebih banyak. Jika semakin besar ukuran file yang ada, maka informasi rahasia yang akan disembunyikan juga akan semakin banyak.
Besar kecilnya suatu file gambar ditentukan dari resolusi gambar tersebut. Seperti telah dijelaskan pada bab sebelumnya. Jika suatu gambar mempunyai resolusi 30x60 pixel, maka jumlah pixel yang terdapat pada gambar tesebut adalah 1800 pixel.
Pada penelitian ini format file yang digunakan adalah BMP 24 bit. Format file BMP merupakan format file standar sistem operasi MS Windows 3.11/9x/NT dan IBM OS/2. Format file ini mendukung resolusi warna dari Monochrom hingga True Color (16,7 juta warna).
Format file BMP 24 bit menggunakan model warna RGB. Pada model warna RGB, warna yang ditampilkan di layar monitor disusun oleh 3 (tiga) buah warna primer, yaitu Red (merah), Green (hijau), Blue (Biru). 1 warna sama dengan 1 byte sehingga 1 pixel pada RGB akan terdiri dari 3 jenis warna, 1 pixel akan sama dengan 24 bit atau 3 byte.
pokok warna dari pixel. Ini dapat menunjukkan perbedaan yang nyata dari cover gambar menjadi stego gambar, sehingga tanda tersebut menunjukkan keadaan dari steganography. Variasi warna kurang jelas dengan 24 bit gambar, bagaimanapun file tersebut sangatlah besar. Antara 8 bit dan 24 bit gambar mudah diserang dalam pemrosesan gambar, seperti cropping (kegagalan) dan compression (pemampatan).
Keuntungan dari LSB Insertion yang paling besar dari algoritma LSB ini adalah cepat dan mudah. Algoritma tersebut memiliki software steganography yang mendukung dengan bekerja di antara unsur pokok warna LSB melalui manipulasi pallete (lukisan).
Format file menentukan bagaimana informasi data dipresentasikan dalam suatu file. Informasi tersebut meliputi ada tidaknya kompresi, program aplikasi (feature) yang di support, penggunaan enkripsi dan lain-lain. Tiap format file memiliki kelebihan dan kelemahan pada masing-masing format tersebut.
Dalam sistem operasi Windows biasanya format file dapat dibedakan dari namanya yaitu diakhiri titik dan diikuti dengan tiga atau empat huruf terakhir (misal .txt, .doc, .html dan lain-lain).
adalah format grafis bitmap yang digunakan adalah Microsoft Windows sebagai Graphical Device Interface (GDI) untuk keperluan penayangan di monitor atau pencetakan (printing). Bitmap/bmp adalah standar file bitmap pada sistem operasi berbasis Windows. Biasanya mempunyai ukuran file yang relatif besar.
Warna merupakan persepsi terhadap pantulan cahaya dari benda-benda di depan mata. Tidak ada ketentuan jumlah warna dasar, tetapi dalam implementasi dengan komputer hanya dibutuhkan 3 (tiga) warna dasar. Ada berbagai model yang digunakan untuk menyatakan warna dasar serta rentang warna yang dihasilkan yaitu: model RGB, CMYK, dan HSV. Pada format gambar bitmap, representasi warna yang digunakan adalah warna RGB.
1. Model Warna RGB
RGB merupakan singkatan dari Red-Green-Blue (Merah-Hijau-Biru). Mata manusia peka terhadap panjang gelombang 630 nm (merah), 530 nm (hijau), dan 450 nm (biru). Tiga warna dasar yang dijadikan patokan warna secara universal (primary colors). Dengan basis RGB, bisa mengubah warna ke dalam kode-kode angka sehingga warna tersebut akan tampil universal di manapun di seluruh dunia ini.
warna dasar disebut sebagai additive colour. Warna aditif terjadi karena sumber cahaya memancarkan sejumlah energi pada panjang gelombang tertentu dan penjumlahan energi pada berbagai panjang gelombang yang dipancarkan oleh sumber cahaya menentukan warna akhir yang dihasilkan.
Dengan standar RGB, jika tertulis 115-221-240, warna biru yang diinginkan mempunyai unsur warna merah sebesar 115, hijau 221, dan birunya 240 derajat. Range angka untuk masing-masing dimensi warna di RGB adalah 0 - 255. Jadi kode RGB 0 – 0 – 0 sama dengan warna hitam, dan 255 – 255 - 255 adalah warna putih. Khusus warna di internet baru mampu mengenali standar warna RGB.
Berikut ini daftar tabel dari beberapa warna standar yang diambil dari warna primer, antara lain:
Tabel 2.3 Nilai Warna Dasar RGB
WARNA NILAI DARI WARNA
MERAH HIJAU BIRU
Hitam 0 0 0
Biru 0 0 255
Hijau 0 255 0
Merah 255 0 0
Kuning 255 255 0
Cyan 0 255 255
Putih 255 255 255
2.13.3 Resolusi Gambar
Resolusi adalah jumlah pixel per satuan luas yang ada suatu gambar. Satuan pixel yang sering dipakai adalah dpi (dot per inch) atau ppi (pixel per inch). Satuan DPI menentukan jumlah pixel yang ada setiap satu satuan luas. Dalam hal ini adalah satu inch kuadrat. Resolusi sangat berpengaruh pada detil dan perhitungan gambarnya.
Pixel (Picture Element), gambar yang bertipe bitmap tersusun dari pixel-pixel. Pixel disebut juga dengan dot. Pixel berbentuk bujur sangkar dengan ukuran relatif kecil yang merupakan penyusun/pembentuk gambar bitmap.
Banyaknya pixel tiap satuan luas tergantung pada resolusi yang digunakan. Keanekaragaman warna pixel tergantung pada bit depth yang dipakai. Semakin banyak jumlah pixel tiap satu satuan luas, semakin baik kualitas gambar yang dihasilkan dan ukuran file akan semakin besar.