LAPORAN TUGAS AKHIR
TEKNIK KEAMANAN DATA MENGGUNAKAN
KRIPTOGRAFI DENGAN ALGORITMA VERNAM CHIPER
DAN STEGANOGRAFI DENGAN METODE END OF FILE
(EOF)
Laporan ini disusun guna memenuhi salah satu syarat untuk menyelesaikan program studi Teknik Informatika S-1 pada Fakultas Ilmu Komputer
Universitas Dian Nuswantoro Disusun oleh:
Nama : Eko Hari Rachmawanto NIM : A11.2006.02767
Program Studi : Teknik Informatika ( S-1 )
FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO
SEMARANG 2010
PERSETUJUAN LAPORAN TUGAS AKHIR
Nama Pelaksana : Eko Hari Rachmawanto
NIM : A11.2006.02767
Program Studi : Teknik Informatika
Fakultas : Ilmu Komputer
Judul Tugas Akhir : Teknik Keamanan Data Menggunakan Kriptografi dengan Algoritma Vernam Chiper dan Steganografi
dengan Metode End of File (EoF)
Tugas Akhir ini telah diperiksa dan disetujui,
Semarang, 14 April 2010
Menyetujui : Pembimbing
M. Arief Soelaeman, M. Kom
Mengtahui :
Dekan Fakultas Ilmu Komputer
PENGESAHAN DEWAN PENGUJI
Nama : Eko Hari Rachmawanto
NIM : A11.2006.02767
Program Studi : Teknik Informatika
Fakultas : Ilmu Komputer
Judul Tugas Akhir : Teknik Keamanan Data Menggunakan Kriptografi
dengan Algoritma Vernam Chiper dan
Steganografi dengan Metode End of File (EoF)
Tugas akhir ini telah diujikan dan dipertahankan dihadapan Dewan Penguji pada Sidang Tugas Akhir bulan 14 April 2010. Menurut pandangan kami, tugas akhir ini memadai dari segi kualitas maupun kuantitas untuk tujuan penganugrahan gelar Sarjana Komputer (S. Kom)
Semarang, 14 April 2010 Dewan Penguji
Slamet Sudaryanto, M.Kom Edi Faisal, M.Kom
Anggota Anggota
Agus Winarno, M.Kom Ketua Penguji
PERNYATAAN KEASLIAN TUGAS AKHIR
Sebagai mahasiswa Universitas Dian Nuswantoro, yang bertanda tangan dibawah ini, saya :
Nama : Eko Hari Rachmawanto
NIM : A11.2006.02767
Menyatakan bahwa karya ilmiah saya yang berjudul :
TEKNIK KEAMANAN DATA MENGGUNAKAN KRIPTOGRAFI
DENGAN ALGORITMA VERNAM CHIPER DAN STEGANOGRAFI DENGAN METODE END OF FILE (EOF)
Merupakan karya asli saya (kecuali cuplikan dan ringkasan yang masing-masing telah saya jelaskan sumbernya). Apabila di kemudian hari, karya disinyalir bukan merupakan karya asli saya, yang disertai dengan bukti-bukti yang cukup, maka saya bersedia untuk dibatalkan gelar saya beserta hak dan kewajiban yang melekat pada gelar tersebut. Demikian surat pernyataan ini saya buat dengan sebenarnya.
Dibuat di : Semarang Pada tanggal : 13 April 2010
Yang menyatakan
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS
Sebagai mahasiswa Universitas Dian Nuswantoro, yang bertanda tangan dibawah ini, saya :
Nama : Eko Hari Rachmawanto
NIM : A11.2006.02767
Demi mengembangkan Ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Dian Nuswantoro Hak Bebas Royalti Non-Ekskusif (non-exclusif Royalti-Free Right) atas karya ilmiah saya yang berjudul :
TEKNIK KEAMANAN DATA MENGGUNAKAN KRIPTOGRAFI
DENGAN ALGORITMA VERNAM CHIPER DAN STEGANOGRAFI DENGAN METODE END OF FILE (EOF)
beserta perangkat yang diperlukan (bila ada). Dengan Hak Bebas Royalti Non-Ekseklusif ini Universitas Dian Nuswantoro berhak untuk menyimpan, mengcopy ulang (memperbanyak), menggunakan, mengelolanya dalam bentuk pangkalan data (database), mendistribusikannya dan menampilkan/mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya selama tetap mencantumkan nama saya sebagai penulis/pencipta.
Saya bersedia untuk menanggung secara pribadi, tanpa melibatkan pihak Universitas Dian Nuswantoro, segala bentuk tuntutan hukum yang timbul atas pelanggaran Hak Cipta dalam karya ilmiah saya ini.
Demikian surat pernyataan ini saya buat dengan sebenarnya.
Dibuat di : Semarang
Pada tanggal : 13 April 2010 Yang menyatakan
UCAPAN TERIMA KASIH
Dengan memanjatkan puji syukur kehadirat Allah, Tuhan yang Maha Pengasih dan Maha Penyayang yang telah melimpahkan segala rahmat-Nya
ke╒⌠d⌠ ╒e═╗li╕ ╕ehi═gg⌠ l⌠╒║╔⌠═ T╗g⌠╕ Akhi╔ de═g⌠═ j╗d╗l “Teknik Keamanan
Data Menggunakan Kriptografi dengan Algoritma Vernam Chiper dan Steganografi dengan Metode End of File (EoF)” d⌠╒⌠╖ ╒e═╗li╕ ╕ele╕⌠ik⌠═ ╕e╕╗⌠i dengan rencana karena dukungan dari berbagai pihak yang tidak ternilai besarnya. Oleh karena itu penulis menyampaikan terima kasih kepada :
1. Dr. Ir. Edi Noersasongko, M.Kom, selaku Rektor Universitas Dian
Nuswantoro Semarang.
2. Dr.Eng.Yuliman Purwanto,M.Eng, selaku Dekan Fakultas Ilmu Komputer
Universitas Dian Nuswantoro Semarang.
3. Ayu Pertiwi, S. Kom.,M.T, selaku Ka.Progdi Teknik Informatika
4. M. Arief Soelaeman, M.Kom, selaku pembimbing tugas akhir yang
memberikan semangat, dukungan, membantu pemunculan ide penelitian, memberikan informasi referensi yang penulis butuhkan dan bimbingan yang berkaitan dengan penelitian penulis.
5. Dosen-dosen pengampu pada Fakultas Ilmu Komputer Teknik Informatika
Universitas Dian Nuswantoro Semarang yang telah memberikan ilmu dan pengalamannya masing-masing, sehingga penulis dapat mengimplementasikan ilmu yang telah disampaikan.
6. Teman-teman seperjuangan angkatan 2006, yang telah memberikan semangat
dan dukungan dalam penyelesaian Tugas Akhir ini.
Semoga Tuhan Yang Maha Esa memberikan balasan yang lebih besar kepada beliau-beliau, dan pada akhirnya penulis berharap bahwa penulisan laporan tugas akhir ini dapat bermanfaat dan berguna sebagaimana fungsinya.
Semarang, April 2010 Penulis
ABSTRAK
Seiring dengan perkembangan zaman, kebutuhan manusia meningkat, terutama kebutuhan akan informasi. Oleh sebab itu, pengiriman dan penyimpanan data memerlukan suatu proses yang mampu menjamin keamanan dan keutuhan dari data tersebut.
Untuk menjamin keamanan dan keutuhan dari suatu data, dibutuhkan suatu proses penyandian. Enkripsi dilakukan ketika data akan dikirim. Proses ini akan mengubah suatu data asal menjadi data rahasia yang tidak dapat dibaca. Sementara itu, proses dekripsi dilakukan oleh penerima data yang dikirim tersebut. Data rahasia yang diterima akan diubah kembali menjadi data asal.
Dengan cara penyandian tadi, data asli tidak akan terbaca oleh pihak yang tidak berkepentingan, melainkan hanya oleh penerima yang memiliki kunci dekripsi. Didorong oleh kegunaan yang penting tadi, teknik (algoritma) penyandian telah berkembang sejak zaman dahulu kala. Mulai dari era sebelum masehi, hingga sekarang algoritma penyandian ini selalu berkembang.
File merupakan salah satu media yang digunakan sebagai penympanan data pada era komputer sekarang ini. Banyak orang mengirim atau menerima file sebagai komunikasi jarak jauh.
Salah satu usaha untuk mengamankan file yaitu dengan
mengimplementasikan kriptografi untuk penyandian data, contohnya adalah algoritma Vernam Cipher. Sebagai contoh sistem kriptografi simetri, algoritma ini cukup mampu untuk mengamankan informasi termasuk file. Sehingga algoritma ini dapat digunakan untuk mengamankan file.
Dalam hal ketajaman dalam keamanan, diperlukan teknik penyembunyian file ke dalam file lain yang sering kita sebut dengan steganografi. Hal ini untuk mengurangi kecurigaan pihak yang tidak berkepentingan untuk mengolah file. Pada hal ini digunakan teknik penyembunyian file dengan metode End of File supaya tidak terlihat secara jelas.
Dengan berdasar pada algoritma Vernam Cipher dan End of File, maka dibuatlah program aplikasi kriptosistem yang digunakan untuk melakukan pengamanan file sehingga hanya orang-orang tertentu saja yang dapat mengolah file.
Kata kunci: file, penyandian, kriptosistem, steganografi, algoritma, Vernam Cipher, End of File.
DAFTAR ISI
HALAMAN SAMPUL DALAM ... i
HALAMAN PERSETUJUAN ... ii
HALAMAN PENGESAHAN ... iii
HALAMAN PERNYATAAN KEASLIAN TUGAS AKHIR ... iv
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI ... v
HALAMAN UCAPAN TERIMA KASIH ... vi
HALAMAN ABSTRAK ... vii
HALAMAN DAFTAR ISI... viii
HALAMAN DAFTAR TABEL ... xii
HALAMAN DAFTAR GAMBAR ... xiii
BAB I PENDAHULUAN 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 3 1.3 Batasan Masalah ... 3 1.4 Tujuan Penelitian ... 3 1.5 Manfaat Penelitian ... 4
BAB II TINJAUAN PUSTAKA
2.1. Data dan Informasi ... 5
2.2. Pengertian File ... 5
2.3 Kode ASCII ... 6
2.4 Operator Logika ... 10
2.4.1 Operator XOR (Exclusive OR) ... 11
2.5 Kriptografi ... 11
2.5.1 Gambaran Umum Kriptografi ... 11
2.5.2 Tujuan Kriptografi ... 14
2.6 Pola-pola Penyerangan Data ... 15
2.7 Enkripsi dan Dekripsi ... 16
2.8 Algoritma Kriptografi ... 17
2.9 Algoritma Kriptografi Modern ... 21
2.9.1 Algoritma Subtitusi ... 22
2.9.2 Algoritma Transposisi ... 23
2.9.3 Book Key Chiper ... 23
2.9.4 Vernam Chiper ... 24
2.10 Jenis Serangan terhadap Chiper Aliran ... 27
2.11 Steganografi ... 28
2.12 Metode Steganografi ... 30
2.12.2 Metode Steganografi pada Gambar ... 33
2.12.3 Metode Steganografi pada Suara ... 34
2.12.4 Metode End of File (EoF) ... 36
2.13 Microsoft Visual Basic 6.0 ... 36
2.14 Unified Modelling Language (UML) ... 40
BAB III METODOLOGI PENELITIAN 3.1 Metode Pengumpulan Data ... 45
3.2 Metode Pengembangan Sistem ... 45
3.3 Fase-fase Pengembangan Sistem ... 46
3.4 Kekurangan dan Kelebihan Pengembangan Sistem ... 48
3.4.1 Kekurangan RAD ... 48
3.4.2 Kelebihan RAD ... 49
3.5 Kondisi Pengembangan Sistem ... 49
3.5.1 Kondisi yang Sesuai dengan RAD ... 49
3.5.2 Kondisi yang Tidak Sesuai dengan RAD ... 50
BAB IV PERANCANGAN DAN HASIL IMPLEMENTASI 4.1 Analisa Kebutuhan Aplikasi ... 51
4.2 Prosedur Persiapan Pembuatan Aplikasi ... 52
4.4 Desain Input Output (I/O) ... 60
4.4.1 Desain I/O Submenu Stego... 62
4.4.2 Desain I/O Submenu Unstego ... 62
4.4.3 Desain I/O Submenu About Us ... 63
4.5 Implementasi ... 63
4.6 Analisa Percobaan ... 65
4.7 Pengujian Program (Testing) ... 68
4.7.1 Pengujian GUI / Black Box Testing ... 69
4.7.2 Pengujian White Box Testing ... 69
4.8 Kuesioner ... 72 BAB V PENUTUP 5.1 Kesimpulan ... 75 5.2 Saran ... 75 DAFTAR PUSTAKA ... 76 LAMPIRAN ... 77
DAFTAR TABEL
Tabel 2.1 Kode ASCII ... 7
Tabel 2.2 Tabel Operator Logika ... 10
Tabel 2.3 Tabel Nilai Kebenaran Operator XOR ... 11
Tabel 4.1 Skenario Use Case Proses Kripto dan Stego ... 53
Tabel 4.2 Skenario Use Case Proses Unkripto dan Unstego... 55
Tabel 4.3 Daftar Aspek Pengujian ... 67
Tabel 4.4 Ringkasan Hasil Pengujian ... 67
Tabel 4.5 Tabel Kuesioner ... 73
DAFTAR GAMBAR
Gambar 2.1 Struktur File ... 6
Gambar 2.2 Skenario Komunikasi Dasar Kriptografi ... 17
Gambar 2.3 Ilustrasi Kinerja Proses Enkripsi Konvensional ... 19
Gambar 2.4 Klasifikasi Kriptografi ... 21
Gambar 2.5 Tampilan Tool Box ... 37
Gambar 2.6 Tool Textbox ... 37
Gambar 2.7 Tool Combobox ... 38
Gambar 2.8 Tool Command ... 38
Gambar 2.9 Tampilan Properties ... 39
Gambar 2.10 Tampilan Window Code Editor ... 39
Gambar 2.11 Notasi Actor ... 40
Gambar 2.12 Notasi Class ... 41
Gambar 2.13 Notasi Use Case ... 41
Gambar 2.14 Notasi Package ... 43
Gambar 2.15 Notasi Note ... 43
Gambar 2.16 Notasi Dependency ... 43
Gambar 2.17 Notasi Association ... 44
Gambar 2.18 Notasi Generalization ... 44
Gambar 2.19 Notasi Realization ... 44
Gambar 4.1 Use Case Kripto dan Stego ... 55
Gambar 4.2 Class Diagram Kripto dan Stego ... 55
Gambar 4.3 Activity Diagram Kripto dan Stego ... 56
Gambar 4.4 Activity Diagram Unkripto dan Unstego ... 57
Gambar 4.5 Activity Diagram Enkripsi dan Dekripsi ... 57
Gambar 4.6 Activity Diagram Stego pada File ... 58
Gambar 4.7 Activity Diagram Unstego pada File ... 58
Gambar 4.8 Sequence Diagram Kripto dan Stego ... 59
Gambar 4.9 Sequence Diagram Unkripto dan Unstego ... 60
Gambar 4.10 Storyboard Menu Utama ... 61
Gambar 4.11 Storyboard Submenu Stego ... 62
Gambar 4.12 Storyboard Submenu Unstego ... 62
Gambar 4.13 Storyboard Submenu About Us ... 63
Gambar 4.14 Tampilan Awal Program ... 64
Gambar 4.15 Tampilan Menu Stego ... 64
Gambar 4.16 Tampilan Menu Unstego ... 65
Gambar 4.17 Tampilan Message Box About Us ... 65
Gambar 4.18 Menu Stego File ... 66
Gambar 4.19 Tampilan MessageBox Setelah Selesai Stego ... 67
Gambar 4.20 Menu Unstego File ... 67
Gambar 4.21 Tampilan MessageBox Setelah Selesai Unstego ... 68
BAB I
PENDAHULUAN
1.1 Latar Belakang
Teknologi komunikasi dan informasi berkembang dengan pesat dan memberikan pengaruh besar bagi kehidupan manusia. Seiring dengan perkembangan teknologi sekarang ini yang semakin pesat maka proses pengiriman data dapat dilakukan dengan mudah dan melalui berbagai macam media yang telah ada antara lain, melalui media internet dengan menggunakan fasilitas e-mail, melalui transfer data antar perangkat mobile (handphone, PDA dan flashdisk) maupun dengan teknologi radio frequency (bluethooth, IrDA, GPRS) hingga dengan menggunakan jaringan komputer. [1]
Perkembangan yang pesat dalam proses pengiriman data membawa dampak yang besar, yaitu masalah keamanan data yang di kirim. Untuk itu, tidak mungkin mengirim data melalui media-media tersebut secara polos (plain), melainkan harus dilakukan proses pengamanan untuk data yang akan di kirim, salah satunya dilakukan dengan cara melakukan enkripsi pada sebuah file.
Kriptografi dapat menjadi jawaban dari masalah tersebut. Sebagai ilmu yang telah diaplikasikan untuk pengamanan data, kriptografi dapat digunakan untuk mengamankan data-data penting pada sebuah file. Data yang terkandung dalam file disandikan atau dienkripsi untuk diubah menjadi simbol tertentu sehingga hanya orang tertentu saja yang dapat mengetahui isi dari data tersebut.
Dalam perkembangan ilmu kritografi masa sekarang ini, telah banyak tercipta algoritma-algoritma yang dapat digunakan untuk mengubah data asli (plain text) menjadi simbol tertentu (chiper text). Salah satu contohnya adalah algoritma Vernam Chiper. Algoritma ini termasuk
dalam algoritma kriptografi modern dan merupakan algoritma stream chiper.
Namun pada era sekarang ini masih di rasa kurang dalam pengamanan data menggunakan kriptografi. Setelah file tersebut di enkripsi, kita perlu melakukan penyembunyian file ke dalam file lain supaya pihak yang bukan berkepentingan tidak begitu curiga dalam melihat file tersebut. Langkah seperti ini sering disebut dengan Steganografi.
Steganografi merupakan salah satu cara yang sangat efektif untuk mengurangi rasa curiga dari pihak-pihak lain (selain pengirim dan penerima yang sah). Kebanyakan algoritma steganografi menggunakan sebuah kombinasi dari bidang jenis teknik untuk melakukan sebuah tugas dalam penyelubungan pesan rahasia dalam sebuah selubung file.
Dalam perkembangan ilmu steganografi sekarang ini, terdapat berbagai macam metode yang dapat digunakan untuk menyembunyikan file tersebut. Salah satu contohnya adalah metode End of File (EoF).
Ada sedikit perbedaan antara steganografi dengan kriptografi. Pada steganografi, penyembunyian atau penyamaran pesan ini dibuat sedemikian rupa sehingga pihak lain tidak mengetahui bahwa ada pesan lain di dalam pesan yang dikirim. Pesan inti tersebut tetap dipertahankan, hanya dalam penyampaiannya dikaburkan atau disembunyikan dengan berbagai cara. Hanya pihak penerima yang sah saja yang dapat mengetahui pesan lain tersebut.
Sedang pada kriptografi, karakter pesan diubah atau diacak menjadi bentuk lain yang tidak bermakna. Pesan yang disampaikan dalam kriptografi menjadi mencurigakan karena ketidakbermaknaannya tersebut. Sedang pesan dalam steganografi, terlihat seperti pesan biasa sehingga kecil kemungkinan untuk dicurigai. Namun demikian, bukan berarti tidak ada kekurangan pada steganografi ini. Kelemahan pada steganografi ini terjadi apabila kita mengubah format pesan yang dikirimkan, maka pesan rahasianyapun menjadi hilang.
Ada persamaan diantara steganografi dan kriptografi ini yaitu keduanya digunakan secara bersamaan untuk menjamin keamanan pesan rahasianya.
Berdasar pada analisa dari masalah tersebut, maka penulis
me═g╗╕╗lk⌠═ j╗d╗l ╒e═eli╖i⌠═ “Teknik Keamanan Data Menggunakan
Kriptografi dengan Algoritma Vernam Chiper dan Steganografi dengan Metode End of File (EoF)” ╕e⌡⌠g⌠i ⌡⌠h⌠═ ╒e╔╖im⌡⌠═g⌠═ d⌠l⌠m ╒╔║╕e╕ pengamanan data sehingga diharapkan tidak terjadi pencurian atau penyadapan data.
1.2 Rumusan Masalah
Rumusan masalah yang muncul dari latar belakang yang telah di sajikan di atas adalah sebagai berikut :
1. Bagaimana efek perubahan file antara sebelum dan sesudah proses ?
2. Bagaimana pengaruh ukuran data terhadap ukuran media file ?
1.3 Batasan Masalah
Dalam penelitian ini, agar tidak menyimpang dari maksud dan tujuan dari penyusunan tugas akhir ini, maka penulis menitikberatkan pada cara implementasi dari algoritma Vernam Chiper pada Kriptografi ditambahkan metode End of File pada Steganografi. Aplikasi yang dihasilkan hanya digunakan untuk membantu menggambarkan proses enkripsi kemudian di sisipkan pada file lain dan dekripsi untuk pengamanan file. Adapun aplikasi tersebut dibangun dengan menggunakan software Microsoft Visual Basic 6.0.
1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk mengamati perubahan file yang terbentuk dari sebelum dan sesudah diproses serta mengetahui pengaruh ukuran file terhadap ukuran media file yang terbentuk sehingga
mengimplementasikan algoritma Vernam Chiper pada Kriptografi ditambahkan metode End of File pada Steganografi untuk penyandian berupa enkripsi dan dekripsi data dalam pengamanan file.
1.5 Manfaat Penelitian
Manfaat yang diperoleh dalam penelitian ini adalah : 1. Manfaat bagi Universitas
Sebagai usaha untuk mengamankan sebuah file yang merupakan data penting dimana hanya orang tertentu saja yang berhak mengetahui.
2. Manfaat bagi Akademik
Sebagai bahan acuan bagi akademik untuk dijadikan tolak ukur pemahaman dan penguasaan tentang teori yang telah diberikan di bangku kuliah.
3. Manfaat bagi Penulis
a. Penulis dapat menerapkan ilmu yang telah diperoleh selama kuliah.
b. Memberi bekal pengetahuan yang dapat dipergunakan untuk
BAB II
TINJAUAN PUSTAKA
2.1 Data dan Informasi
Data adalah sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu pengolahan. Data bisa berwujud suatu keadaan, gambar, suara, huruf, angka, matematika, bahasa ataupun simbol-simbol lainnya yang bisa kita gunakan sebagai bahan untuk melihat lingkungan, objek, kejadian ataupun suatu konsep. [2]
Data merupakan besaran yang menyampaikan suatu arti. Data komputer disimpan sebagai barisan muatan (listrik) yang diatur dalam satu pola sehingga merepresentasikan sebuah informasi. Dengan kata lain data menunjuk pada bentuk informasi (pola elektris). Data bukan merupakan informasi itu sendiri.
Sedang informasi merupakan hasil pengolahan dari sebuah model, formasi, organisasi ataupun suatu perubahan bentuk dari data yang memiliki nilai tertentu dan bisa digunakan untuk menambah pengetahuan bagi yang menerimanya. Informasi juga bisa disebut sebagai hasil pengolahan atau pemrosesan data.
2.2 Pengertian File
File atau Berkas adalah sekumpulan data (informasi) yang berhubungan yang diberi nama dan tersimpan di dalam media penyimpanan sekunder (secondary storage). File memiliki ekstensi. Ekstensi berkas merupakan penandaan jenis berkas lewat nama berkas. Ekstensi biasanya ditulis setelah nama berkas dipisahkan dengan sebuah tanda titik. Pada sistem yang lama (MS-DOS) ekstensi hanya diperbolehkan maksimal 3 huruf, contohnya : exe, bat, com, txt. Batasan itu dihilangkan pada sistem yang lebih baru (Windows), contohnya : mpeg,
java. Pada UNIX bahkan dikenal ada file yang memiliki lebih dari satu ekstensi, contohnya : tar.Z, tar.gz. [1]
Struktur pada file terdiri dari 2 bagian yaitu header file dan isi file. Pada header file terdapat kode biner maupun kode ASCII yang berisikan tentang fungsi utama pada file. Pada isi file terdapat isi dari file yang telah terbentuk baik berupa text, lagu, video, dll. Di bawah ini merupakan gambar struktur file yang ada pada semua file.[3]
Gambar 2.1 : Struktur File
2.3 Kode ASCII
Beberapa aplikasi menggunakan data yang bukan hanya bilangan tetapi juga huruf dari alfabet dan karakter khusus lainnya. Data semacam ini disebut dengan data alfanumerik dan mungkin dapat ditunjukkan dengan kode numerik. Jika bilangan-bilangan dimasukkan dalam data, maka bilangan-bilangan tersebut juga dapat ditunjukkan dengan kode khusus.
Set karakter alfanumerik secara khusus mencakup 26 huruf alfabet (termasuk huruf besar dan huruf kecil), angka dalam digit sepuluh desimal, dan sejumlah simbol seperti +, =, *, $, …, d⌠═ !. D╗⌠ k║de ⌠lf⌠⌡e╖ ╛⌠═g paling umum dipakai adalah ASCII (American Standard Code for Information Interchange) dan EBCDIC (Extended Binary Coded Decimal Interchange Code). ASCII merupakan kode 7-bit dan EBCDIC berupa kode 8- bit. Jika suatu komputer menangani 8-bit (1-byte) kode lebih efisien, versi 8-bit, disebut dengan ASCII-8 juga telah dikembangkan.
Sistem American Standard Code for Information Interchange (ASCII): ASCII dan EBCDIC merupakan cikal bakal dari set karakter lainnya. ASCII merupakan set karakter yang paling umum digunakan hingga sekarang. Set karakter ASCII terdiri dari 128 – (27) buah karakter yang masing-masing memiliki lebar 7-bit atau gabungan tujuh angka 0 dan 1, dari 0000000 sampai dengan 1111111. Mengapa 7-bit? Karena komputer pada awalnya memiliki ukuran memori yang sangat terbatas, dan 128 karakter dianggap memadai untuk menampung semua huruf Latin dengan tanda bacanya, dan beberapa karakter kontrol. ASCII telah dibakukan oleh ANSI (American National Standards Institute) menjadi standar ANSI X3.4-1986. Adapun kode-kode pada sistem-sistem tersebut di atas dapat dilihat pada tabel di bawah ini:
Tabel 2.1 : Kode ASCII [2]
Des Hex Biner ASCII Des Hex Biner ASCII
0 0 00000000 null 128 80 10000000 Ç 1 1 00000001  129 81 10000001 ű 2 2 00000010 130 82 10000010 é 3 3 00000011 131 83 10000011 â 4 4 00000100 132 84 10000100 ä 5 5 00000101 133 85 10000101 à 6 6 00000110 134 86 10000110 å 7 7 00000111 ● 135 87 10000111 ç 8 8 00001000 136 88 10001000 ê 9 9 00001001 137 89 10001001 ë 10 A 00001010 138 8A 10001010 è 11 B 00001011 139 8B 10001011 ï 12 C 00001100 140 8C 10001100 î 13 D 00001101 141 8D 10001101 ì 14 E 00001110 142 8E 10001110 Ä 15 F 00001111 143 8F 10001111 Å 16 10 00010000 144 90 10010000 É 17 11 00010001 145 91 10010001 æ 18 12 00010010 146 92 10010010 Æ 19 13 00010011 !! 147 93 10010011 ô
20 14 00010100 ¶ 148 94 10010100 ö 21 15 00010101 § 149 95 10010101 ò 22 16 00010110 150 96 10010110 û 23 17 00010111 151 97 10010111 Ù 24 18 00011000 152 98 10011000 ij 25 19 00011001 153 99 10011001 Ö 26 1A 00011010 154 9A 10011010 Ü 27 1B 00011011 155 9B 10011011 ¢ 28 1C 00011100 156 9C 10011100 £ 29 1D 00011101 157 9D 10011101 ¥ 30 1E 00011110 158 9E 10011110 Pt 31 1F 00011111 159 9F 10011111 ƒ 32 20 00100000 Spasi 160 A0 10100000 á 33 21 00100001 ! 161 A1 10100001 í 34 22 00100010 “ 162 A2 10100010 ó 35 23 00100011 # 163 A3 10100011 ú 36 24 00100100 $ 164 A4 10100100 ñ 37 25 00100101 % 165 A5 10100101 Ñ 38 26 00100110 & 166 A6 10100110 а 39 27 00100111 „ 167 A7 10100111 о 40 28 00101000 ( 168 A8 10101000 41 29 00101001 ) 169 A9 10101001 ⌐ 42 2A 00101010 * 170 AA 10101010 ¬ 43 2B 00101011 + 171 AB 10101011 ½ 44 2C 00101100 , 172 AC 10101100 ¼ 45 2D 00101101 - 173 AD 10101101 46 2E 00101110 . 174 AE 10101110 « 47 2F 00101111 / 175 AF 10101111 » 48 30 00110000 0 176 B0 10110000 49 31 00110001 1 177 B1 10110001 50 32 00110010 2 178 B2 10110010 51 33 00110011 3 179 B3 10110011 | 52 34 00110100 4 180 B4 10110100 ┤ 53 35 00110101 5 181 B5 10110101 54 36 00110110 6 182 B6 10110110 55 37 00110111 7 183 B7 10110111 56 38 00111000 8 184 B8 10111000 57 39 00111001 9 185 B9 10111001
58 3A 00111010 : 186 BA 10111010 59 3B 00111011 ; 187 BB 10111011 60 3C 00111100 < 188 BC 10111100 61 3D 00111101 = 189 BD 10111101 62 3E 00111110 > 190 BE 10111110 63 3F 00111111 ? 191 BF 10111111 ┐ 64 40 01000000 @ 192 C0 11000000 └ 65 41 01000001 A 193 C1 11000001 ┴ 66 42 01000010 B 194 C2 11000010 ┬ 67 43 01000011 C 195 C3 11000011 ├ 68 44 01000100 D 196 C4 11000100 69 45 01000101 E 197 C5 11000101 ┼ 70 46 01000110 F 198 C6 11000110 71 47 01000111 G 199 C7 11000111 72 48 01001000 H 200 C8 11001000 73 49 01001001 I 201 C9 11001001 74 4A 01001010 J 202 CA 11001010 75 4B 01001011 K 203 CB 11001011 76 4C 01001100 L 204 CC 11001100 77 4D 01001101 M 205 CD 11001101 78 4E 01001110 N 206 CE 11001110 79 4F 01001111 O 207 CF 11001111 80 50 01010000 P 208 D0 11010000 81 51 01010001 Q 209 D1 11010001 82 52 01010010 R 210 D2 11010010 83 53 01010011 S 211 D3 11010011 84 54 01010100 T 212 D4 11010100 85 55 01010101 U 213 D5 11010101 86 56 01010110 V 214 D6 11010110 87 57 01010111 W 215 D7 11010111 88 58 01011000 X 216 D8 11011000 89 59 01011001 Y 217 D9 11011001 ┘ 90 5A 01011010 Z 218 DA 11011010 ┌ 91 5B 01011011 [ 219 DB 11011011 92 5C 01011100 \ 220 DC 11011100 93 5D 01011101 ] 221 DD 11011101 94 5E 01011110 ^ 222 DE 11011110 95 5F 01011111 _ 223 DF 11011111 96 60 01100000 ` 224 E0 11100000
97 61 01100001 a 225 E1 11100001 98 62 01100010 b 226 E2 11100010 Г 99 63 01100011 c 227 E3 11100011 Π 100 64 01100100 d 228 E4 11100100 101 65 01100101 e 229 E5 11100101 Ơ 102 66 01100110 f 230 E6 11100110 Μ 103 67 01100111 g 231 E7 11100111 104 68 01101000 h 232 E8 11101000 Ф 105 69 01101001 i 233 E9 11101001 Θ 106 6A 01101010 j 234 EA 11101010 Ω 107 6B 01101011 k 235 EB 11101011 Ό 108 6C 01101100 l 236 EC 11101100 ∞ 109 6D 01101101 m 237 ED 11101101 Ф 110 6E 01101110 n 238 EE 11101110 Є 111 6F 01101111 o 239 EF 11101111  112 70 01110000 p 240 F0 11110000  113 71 01110001 q 241 F1 11110001 ± 114 72 01110010 r 242 F2 11110010 > 115 73 01110011 s 243 F3 11110011 < 116 74 01110100 t 244 F4 11110100 117 75 01110101 u 245 F5 11110101 118 76 01110110 v 246 F6 11110110 ÷ 119 77 01110111 w 247 F7 11110111  120 78 01111000 x 248 F8 11111000 121 79 01111001 y 249 F9 11111001 . `122 7A 01111010 z 250 FA 11111010 . 123 7B 01111011 { 251 FB 11111011 √ 124 7C 01111100 | 252 FC 11111100 N 125 7D 01111101 } 253 FD 11111101 2 126 7E 01111110 ~ 254 FE 11111110 127 7F 01111111 ⌂ 255 FF 11111111 blank 2.4 Operator Logika
Operator logika adalah simbol-simbol yang digunakan untuk melakukan ekspresi terhadap data-data logika. Proses operasi tersebut akan menghasilkan salah satu dari dua jenis nilai kebenaran yaitu TRUE
dan FALSE atau 1 dan 0. Simbol-simbol operator logika tersebut dapat dilihat pada tabel yang ada di bawah ini :
Tabel 2.2 : Tabel Operator Logika
Operator Keterangan
Not Tidak
And Dan
Or Atau
Xor Exclusive Or
2.4.1 Operator XOR (Exclusive Or)
Operator biner XOR banyak digunakan dalam perhitungan biner untuk algoritma kriptografi tertentu. Notasi matematis untuk operator XOR adalah . Operator XOR merupakan operator yang digunakan untuk dua buah ekspresi. Operator XOR akan menghasilkan nilai true atau 1 jika kedua ekpresi memiliki nilai yang berbeda. Operator xor akan menghasilkan nilai 0 atau 0 jika kedua espresi bernilai sama.
Tabel 2.3 : Tabel Nilai Kebenaran Operator XOR
Ekspresi1 Ekspresi2 Ekspresi 1 XOr Ekspresi2
0 0 0
0 1 1
1 0 1
1 1 0
2.5 Kriptografi
2.5.1 Gambaran Umum Kriptografi
Kriptografi merupakan sebuah ilmu yang digunakan untuk penyandian data. Kriptografi telah dikenal dan dipakai cukup lama sejak kurang lebih tahun 1900 sebelum masehi pada prasasti-prasasti kuburan.
Ilmu Kriptografi sebenarnya sudah mulai dipelajari manusia sejak tahun 400 SM, yaitu pada zaman Yunani kuno. Dari catatan bahwa
“Pe═╛⌠═di⌠═ T╔⌠═╕╒║╕i╕i” me╔╗╒⌠k⌠═ ╕i╕╖em k╔i╒╖║g╔⌠fi pertama yang
digunakan atau dimanfaatkan. Bidang ilmu ini terus berkembang seiring dengan kemajuan peradaban manusia, dan memegang peranan penting dalam strategi peperangan yang terjadi dalam sejarah manusia, mulai dari
╕i╕╖em k╔i╒╖║g╔⌠fi “C⌠e╕⌠╔ Chi╒e╔” ⌠═g ╖e╔ke═⌠l ╒⌠d⌠ ╜⌠m⌠═ R║m⌠╙i k╗═║, “Pl⌠╛f⌠i╔ Ci╒he╔” ╛⌠═g dig╗═⌠k⌠═ I═gg╔i╕ d⌠═ “ADF↑G↓ Ci╒he╔”
yang digunakan Jerman pada Perang Dunia I hingga algoritma-algoritma kriptografi rotor yang populer pada Perang Dunia II , seperti Sigaba / M-134 (Amerika Serikat), Typex ( Inggris ), Purple (Jepang), dan mesin kriptografi legendaris Enigma (Jerman). Sejarah telah dipenuhi oleh contoh-contoh orang yang berusaha merahasiakan informasi rahasia mereka dari orang lain.
Seiring dengan perkembangan zaman, kebutuhan akan metode yang lebih canggih tidak dapat dihindari. Sekarang, dengan adanya era informasi, kebutuhan itu menjadi lebih penting lagi. Dengan adanya fasilitas internet, maka permintaan akan pelayanan informasi semakin meningkat dengan seiringnya perkembangan teknologi. Pertukaran data yang sensitif seperti nomor account kartu kredit, sudah sering dilakukan dan menjadi hal yang biasa di dalam dunia internet. Karena itu, melindungi data sudah menjadi hal penting yang sangat kruisal di dalam hidup.
Ada tiga istilah yang berkaitan dengan proteksi data yaitu kriptografi, kriptologi, dan kriptanalisis. Arti ketiganya kurang lebih sama. Secara teknis, kriptologi adalah ilmu yang mempelajari tentang komunikasi pada jalur yang tidak aman beserta masalah-masalah yang berhubungan dengan itu.
K╔i╒╖║g╔⌠fi ⌡e╔⌠╕⌠l d⌠╔i k⌠╖⌠ “C╔╛╒╖║” ╛⌠═g ⌡e╔⌠╔╖i ╔⌠h⌠╕i⌠ d⌠═ “g╔⌠╒h╛” ╛⌠═g ⌡e╔arti tulisan. Jadi, dapat dikatakan bahwa kriptografi
ini, orang-orang tidak mengetahui bagaimana tulisan tersebut disembunyikan dan tidak mengetahui bagaimana cara membaca maupun menerjemahkan tulisan tersebut. William Stallings mendefinisikan
k╔i╒╖║g╔⌠fi ╕e⌡⌠g⌠i “╖he ⌠╔╖ ⌠═d ╕⌢ie═⌢e ║f kee╒i═g me╕╕⌠ge╕ ╕e⌢╗╔e” ↖4].
Kriptografi berbasis pada algoritma pengkodean data informasi yang mendukung kebutuhan dari dua aspek keamanan informasi, yaitu secrecy (perlindungan terhadap kerahasiaan data informasi) dan authenticity (perlindungan terhadap pemalsuan dan pengubahan informasi yang tidak diinginkan.
Kriptografi menjadi dasar bagi keamanan komputer dan jaringan karena merupakan sarana bagi distribusi data dan informasi. Sehingga data dan informasi tersebut harus diamankan agar hanya orang-orang yang berhak mengaksesnya yang dapat mengetahui maupun menggunakan data tersebut. Salah satu cara yang paling banyak digunakan dalam mengamankan data adalah dengan kriptografi. Data-data tersebut diamankan dengan sedemikian rupa oleh pengirim sehingga orang lain tidak dapat mengenali data tersebut.
Pembakuan penulisan pada kriptografi dapat ditulis dalam bahasa matematika. Fungsi-fungsi yang mendasar dalam kriptografi adalah enkripsi dan dekripsi. Enkripsi adalah proses mengubah suatu pesan asli (plaintext) menjadi suatu pesan dalam bahasa sandi (ciphertext).
C = E (M), dimana : M = pesan asli E = proses enkripsi
C = pesan dalam bahasa sandi (untuk ringkasnya disebut sandi)
Sedangkan dekripsi adalah proses mengubah pesan dalam suatu bahasa sandi menjadi pesan asli kembali.
M = D (C)
Umumnya, selain menggunakan fungsi tertentu dalam melakukan enkripsi dan dekripsi, seringkali fungsi itu diberi parameter tambahan yang disebut dengan istilah kunci.
2.5.2 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 solusi pada dua macam masalah keamanan data, yaitu masalah privasi (privacy) dan keotentikan (authenticatioan). Privaci mengandung arti bahwa data yang dikirimkan hanya dapat dimengerti informasinya oleh penerima yang sah atau berhak. Sedangkan keotentikan mencegah pihak ketiga untuk mengirimkan data yang salah atau mengubah data yang dikirimkan.
Kriptografi yang baik tidak ditentukan oleh kerumitan dalam mengolah data atau pesan yang akan disampaikan. Ada 4 syarat yang perlu dipenuhi, yaitu:
a. Kerahasiaan. Pesan (plaintext) hanya dapat dibaca oleh pihak yang
memliki kewenangan.
b. Autentikasi. Pengirim pesan harus dapat diidentifikasi dengan pasti,
penyusup harus dipastikan tidak bisa berpura-pura menjadi orang lain. c. Integritas. Penerima pesan harus dapat memastikan bahwa pesan yang
dia terima tidak dimodifikasi saat dalam proses transmisi data.
d. Non-Repudiation. Pengirim pesan harus tidak bisa menyangkal pesan
2.6 Pola-pola Penyerangan Data
Proteksi data dan informasi dalam komunikasi komputer menjadi penting karena nilai informasi itu sendiri dan meningkatnya penggunaan komputer di berbagai sektor. Melihat kenyataan semakin banyak data yang diproses dengan komputer dan dikirim melalui perangkat komunikasi elektronik maka ancaman terhadap pengamanan data akan semakin meningkat. Beberapa pola ancaman terhadap komunikasi data dalam komputer dapat diterangkan sebagai berikut [5]:
a. Interruption
Interception terjadi bila data yang dikirimkan dari A tidak sampai pada orang yang berhak B. Interruption merupakan pola penyerangan terhadap sifat availability (ketersediaan data).
b. Interception
Serangan ini terjadi bila pihak ketiga C berhasil membaca data yang dikirimkan. Interception merupakan pola penyerangan terhadap sifat confidentiality (kerahasiaan data).
c. Modification
Pada serangan ini pihak ketiga C berhasil merubah pesan yang dikirimkan. Modification merupakan pola penyerangan terhadap sifat integrity (keaslian) data.
d. Fabrication
Pada serangan ini, penyerang berhasil mengirimkan data ke tujuan dengan memanfaatkan identitas orang lain. Fabrication merupakan pola penyerangan terhadap sifat authenticity.
Ancaman-ancaman tersebut di atas menjadi masalah terutama dengan semakin meningkatnya komunikasi data yang bersifat rahasia seperti: pemindahan dana secara elektronik kepada dunia perbankan atau pengiriman dokumen rahasia pada instansi pemerintah. Untuk mengantisipasi ancaman-ancaman tersebut perlu dilakukan usaha untuk
melindungi data yang dikirim melalui saluran komunikasi salah satunya adalah dengan teknik enkripsi. Untuk masalah kekuatan pengamanannya tergantung pada algoritma metode enkripsi tersebut dan juga kunci yang digunakan di dalamnya.
2.7 Enkripsi dan Dekripsi
Proses menyandikan plainteks menjadi chiperteks disebut enkripsi (encryption) atau enciphering (standard nama menurut ISO 7498-2) sedangkan proses mengembalikan chiperteks mejadi plainteks disebut dekripsi (decryption) atau dechiphering (standard ISO 7498-2).[6]
Enkripsi adalah transformasi data dalam bentuk yang tidak dapat terbaca dengan sebuah kunci tertentu. Tujuannya adalah untuk meyakinkan privasi dengan menyembunyikan informasi dari orang-orang yang tidak ditujukan, bahkan mereka yang memiliki akses ke data terenkripsi. Sedangkan dekripsi merupakan kebalikan dari enkripsi, yaitu transformasi data terenkripsi kembali ke bentuknya semula.
Enkripsi dilakukan pada saat pengiriman dengan cara mengubah data asli menjadi data rahasia, sedangkan dekripsi dilakukan pada saat penerimaan dengan cara mengubah data rahasia menjadi data asli. Jadi data yang dikirimkan selama proses pengiriman adalah data rahasia, sehingga data asli tidak dapat diketahui oleh pihak yang tidak berkepentingan. Data asli hanya dapat diketahui oleh penerima dengan menggunakan kunci rahasia.
Enkripsi dan dekripsi pada umumnya membutuhkan penggunaan sejumlah informasi rahasia, disebut sebagai kunci. Untuk beberapa mekanisme enkripsi, kunci yang sama digunakan baik untuk enkripsi dan dekripsi berbeda.
A Encrypt Decrypt B
C
Plaintext Ciphertext Plaintext Encryption
Key
Decryption Key
Gambar 2.2 : Skenario Komunikasi Dasar Kriptografi
Di dalam skenario komunikasi dasar, seperti yang diperlihatkan pada Gambar 2.1, terdapat dua belah pihak, sebut saja A dan B, yang ingin berkomunikasi satu sama lain.
Kemudian pihak ketiga, C, adalah seorang eavesdropper (orang yang mengakses informasi rahasia tanpa izin). Ketika A ingin mengirimkan informasi, yang disebut plaintext, kepada B, dia mengenkripsi plaintext tersebut dengan menggunakan metode yang telah dirancang oleh B. Biasanya, metode enkripsi diketahui oleh si eavesdropper, dalam hal ini adalah C. Yang membuat pesan tersebut tetap bersifat rahasia adalah key-nya. Ketika B menerima pesan yang telah dienkripsi, yang disebut dengan ciphertext, dia mengubahnya kembali menjadi plaintext dengan menggunakan key dekripsi.
2.8 Algoritma Kriptografi
Cryptographic system atau cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi
diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci-kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan [7]. Kriptosistem terdiri dari sebuah algoritma, plaintext, chipertext dan kunci-kunci. Secara umum, kriptosistem digolongkan menjadi 2 buah, yaitu: 1. Kriptosistem simetri
2. Kriptosistem asimetri
Dalam kriptosystem simetri, algoritma yang digunakan hanya membutuhkan satu kunci untuk proses enkripsi dan dekripsi. Sedang dalam kriptografi asimetri, algoritma yang digunakan membutuhkan dua kunci yang berbeda dalam proses enkripsi dan dekripsi pesan. Kriptosistem dengan menggunakan symmetric cryptography kadang disebut sebagai Secret-key cryptography merupakan bentuk kryptografi yang lebih tradisional, dimana sebuah kunci tunggal dapat digunakan untuk mengenkrip dan mendekrip pesan. Secret-key cryptography tidak hanya berkaitan dengan enkripsi tetapi juga berkaitan dengan otentikasi, disebut juga message authentication codes.
Masalah utama yang dihadapi secret-key cryptography adalah membuat pengirim dan penerima menyetujui kunci rahasia tanpa ada orang lain yang mengetahuinya. Ini membutuhkan metode dimana dua pihak dapat berkomunikasi tanpa takut akan disadap. Kelebihan secret-key cryptography dari public-key cryptography adalah lebih cepat. Teknik yang paling umum dalam secret-key cryptography adalah block ciphers,
stream ciphers, dan message authentication codes. Berdasarkan jenis
kunci yang digunakannya, algoritma kriptografi dikelompokan menjadi dua bagian, yaitu :
a. Symmetric Algorithm
Symmetric algorithm atau disebut juga secret key algorithm adalah algoritma yang kunci enkripsinya dapat dihitung dari kunci dekripsi dan begitu pula sebaliknya, kunci dekripsi dapat dihitung dari kunci enkripsi.
Pada sebagian besar symmetric algorithm kunci enkripsi dan kunci dekripsi adalah sama. Symmetric algorithm memerlukan kesepakatan antara pengirim dan penerima pesan pada suatu kunci sebelum dapat berkomunikasi secara aman. Keamanan symmetric algorithm tergantung pada rahasia kunci. Pemecahan kunci berarti memungkinkan setiap orang dapat mengenkripsi dan mendekripsi pesan dengan mudah. Symmetric algorithm dapat dikelompokkan menjadi dua jenis, yaitu stream cipher dan block cipher. Stream cipher beroperasi bit per bit (atau byte per byte)
pada satu waktu. Sedangkan block cipher beroperasi per
kelompokkelompok bit yang disebut blok (block) pada satu waktu.
b. Asymmetric Algorithm
Asymmetric algorithm atau disebut juga public key algorithm didesain agar memudahkan dalam distribusi kunci yang digunakan untuk enkripsi dan dekripsi. Kunci dekripsi pada public key algorithm secara praktis tidak dapat dihitung dari kunci enkripsi. Algoritma ini disebut
“public key” k⌠╔e═⌠ k╗═⌢i d⌠╒⌠╖ di⌡╗⌠╖ me═j⌠di ╒╗⌡lik. Se╖i⌠╒ ║╔ang dapat
menggunakan kunci enkripsi untuk mengenkripsi pesan, tetapi hanya orang yang memiliki kunci dekripsi yang dapat mendekripsi pesan tersebut. Pada sistem ini kunci enkripsi sering disebut kunci publik (public key), dan kunci dekripsi disebut kunci rahasia (private key).
Metode kriptosystem simetri disebut juga dengan enkripsi simetri atau enkripsi konvensional. Gambar di bawah ini mengilustrasikan kinerja dari proses enkripsi konvensional.
Proses enkripsi terdiri dari sebuah algoritma dan sebuah kunci. Kunci adalah sebuah nilai yang terlepas dari pesan asli (plaintext) dan mengontrol algoritma yang dipakai. Penerapan algoritma akan menghasilkan output yang berbeda sesuai dengan kunci yang digunakan. Mengubah kunci berarti mengubah output dari algoritma yang dipakai.
Setelah chipertext dihasilkan, chipertext tersebut dapat diubah kembali menjad pesan asli dengan algoritma dekripsi dan dengan kunci yang sama seperti yang digunakan pada saat enkripsi.
Keamanan dari enkripsi konvensional ini terdiri dari beberapa faktor. Pertama, algoritma enkripsi harus benar-benar teruji, sehingga tidak dimungkinkan untuk mendekripsi sebuah pesan hanya dalam bentuk ciphertext. Kedua, keamanan enkripsi konvensional juga ditentukan oleh kerahasiaan kunci yang digunakan, bukan kerahasiaan algoritma yang digunakan. Jadi, kita juga harus yakin bahwa dekripsi tidak dimungkinkan hanya dengan mengetaui ciphertext dan algoritma yang digunakan tanpa mengetahui kunci yang digunakan.
Bentuk umum enkripsi konvensional dapat dilihat dari contoh
⌡e╔ik╗╖. ←╕e╔ A ⌠k⌠═ me═ge═k╔i╒╕i ╒l⌠i═╖e╚╖ ↓=↖╚1,↓2,…,↓m] (m eleme═
dari X merupakan huruf dari alphabet pesan) dengan kunci
K=↖K1,K2,…,Kj]. De═g⌠═ ╒e╕⌠═ ↓ d⌠═ k╗═⌢i K ╖e╔sebut, akan dihasilkan ⌢hi╒e╔╖e╚╖ ↔=↖↔1,↔2,…,↔═]. M⌠k⌠ ki╖⌠ d⌠╒⌠╖ me═╗li╕k⌠═ ╔╗m╗╕ :
Y=Ek(X)
Selanjutnya, chipertext tersebut dikirimkan ke user B. User B akan mendekripsi chipertext tersebut agar menjadi pesan asli dengan algoritma dekripsi dan kunci yang sama seperti yang digunakan pada saat enkripsi. Hal ini dapat dirumuskan sebagai berikut:
X=Dk(Y)
Gambar 2.4 : Klasifikasi Kriptografi
Kriptografi dibagi dalam dua bagian, yaitu cipher modern dan klasikal. Mode klasikal biasanya menggunakan mode karakter, sehingga kemampuan dari mode ini terbatas karena keterbatasan jumlah karakter.
Sedang pada kriptografi modern, pada proses enkripsi dan dekripsi menggunakan rangkaian bit dalam bentuk biner, 0 dan 1. Rangkaian bit yang menyatakan plainteks dienkripsi menjadi ciphertext dalam bentuk rangkaian bit, begitu pula sebaliknya.
Perkembangan algoritma kriptografi modern berbasis bit didorong oleh penggunaan komputer digital yang merepresentasikan data dalam bentuk biner. Algoritma kriptografi yang beroperasi dalam mode bit dapat dikelompokkan menjadi dua kategori :
a. Cipher Aliran (Stream Cipher)
Merupakan algoritma kriptografi yang beroperasi pada plaintext atau cipher text dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan atau didekripsikan bit per bit.Yang termasuk dalam kelompoh cipher aliran adalah algoritma vernam cipher.
b. Cipher Block(Block Cipher)
Adalah algoritma kriptografi yang beroperasi pada plaintext atau ciphertext dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit, yang panjangnya sudah ditentukan
sebelumnya. misalnya panjang blok adalah 64 bit, maka algoritma enkripsi memperlakukan 8 karakter setiap kali penyandian.
(1 karakter= 8 bit dalam pengkodean ASCII)
2.9.1 Algoritma Subtitusi
Caesar cipher adalah cipher substitusi sederhana yang mencakup pergeseran alfabet 3 posisi ke kanan. Caesar cipher merupakan subset dari cipher polialfabetik Vigenere. Pada Caesar cipher karakter-karakter pesan dan pengulangan kunci dijumlahkan bersama, modulo 26. Dalam penjumlahan modulo 26, huruf-huruf A-Z dari alfabet masing-masing memberikan nilai 0 sampai 25.
Caesar Cipher diperkenalkan oleh Julius Caesar yang mengubah huruf-huruf dalam plaintext dengan huruf-huruf lain yang dilakukan secara konsisten.
Contoh:
Plain : a b c d e f g h i j k l m n o p q r s t u v w x y z Chipper : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Sehingga, ketika pesan yang akan dikirim (plaintext) berbunyi
“╗═i╘e╔╕i╖⌠╕” m⌠k⌠ di╖╗li╕ (⌢i╒he╔╖e╚╖) de═g⌠═ ”↓QL↔H←↑L→D↑ J↓QDGD←PD”. Si Pe═e╔im⌠ ╒e╕⌠═ ╖e═╖╗ h⌠╔╗╕ me═ge╖⌠h╗i k║de
pembacaannya (yang diberikan oleh si Pengirim) atau ia mengotak-atik sendiri kode-kode itu.
Algoritma di atas adalah setiap huruf plaintext p, akan disubstitusi menjadi huruf ciphertext c dengan formula: C=E(3, p) = (p + 3) mod 26, atau secara umum algoritma Caesar adalah :
C = E(k, p) = (p + k) mod 26 di mana k, diambil dari rentang 0 (huruf A) sampai 25 (huruf Z). Algoritma dekripsi menjadi:
Tipe cipher ini dapat diserang menggunakan analisis frekuensi. Dalam frekuensi analisis, digunakan karakteristik frekuensi yang tampak dalam penggunaan huruf-huruf alfabet pada bahasa tertentu. Tipe
cryptanalysis ini dimungkinkan karena Caesar cipher adalah
monoalfabetik cipher atau cipher substitusi sederhana, dimana karakter ciphertext disubstitusi untuk setiap karakter plaintext. Serangan ini dapat
diatasi dengan menggunakan substitusi polialfabetik. Substitusi
polialfabetik dicapai melalui penggunaan beberapa cipher substitusi. Namun substitusi ini dapat diserang dengan penemuan periode, saat substitusi berulang kembali.
2.9.2 Algoritma Transposisi
Pada cipher ini, huruf-huruf plaintext dipermutasi. Sebagai contoh, huruf-huruf plaintext A T T A C K A T D A W N dapat dipermutasi menjadi D C K A A W N A T A T T. Cipher transposisi kolumnar adalah cipher dimana plaintext ditulis secara horisontal pada kertas dan dibaca secara vertikal. Cipher transposisi dapat diserang melalui analisis frekuensi, namun cipher menyembunyikan properti statistik dari pasangan huruf-huruf, seperti IS dan TOO.
2.9.3 Book Key Cipher
Cipher ini menggunakan teks dari sebuah sumber (misalnya buku) untuk mengenkripsi plaintext. Kunci, diketahui oleh pengirim dan penerima yang dimaksud, dapat berupa halaman dan jumlah baris dari teks pada buku. Teks ini adalah karakter yang sesuai untuk karakter dengan plaintext, dan penjumlahan modulo 26 dijalankan untuk memperngaruhi enkripsi. Running key cipher mengeliminasi periodisitas, namun masih dapat diserang dengan memanfaatkan redundansi pada kunci.
a. Gambaran Umum
Vernam cipher merupakan algoritma kriptografi yang ditemukan oleh Mayor J. Maugborne dan G. Vernam. Algoritma ini merupakan algoritma berjenis symmetric key yang artinya bahwa kunci yang digunakan untuk melakukan enkripsi dan dekripsi merupakan kunci yang sama. Dalam proses enkripsi, algoritma ini menggunakan cara stream cipher dimana cipher berasal dari hasil XOR antara bit plaintext dan bit key. Algoritma Vernam cipher diadopsi dari one-time pad cipher, dimana dalam hal ini karakter diganti dengan bit (0 atau 1). Dengan kata lain, Vernam Cipher merupakan versi lain dari one-time pad cipher.
Dalam proses enkripsi,cipherteks diperoleh dengan melakukan penjumlahan modulo 2 satu bit plainteks dengan satu bit kunci, seperti terlihat pada rumus di bawah ini :
c1 = (p1 + k1) mod 2 …… 2.1
Dimana : c1 = cipher teks
p1 = plainteks k1 = kunci
Sedangkan dalam proses dekripsi, untuk mendapatkan kembali plainteks, diperoleh dengan melakukan penjumlahan modulo 2 satu bit cipherteks dengan satu bit kunci :
p1 =( c1 - k1 ) mod 2 …… 2.2
Pada cipher aliran, bit hanya mempunya dua buah nilai, sehingga proses enkripsi hanya menyebabkan dua keadaan pada bit tersebut, yaitu berubah atau tidak berubah. Dua keadaan tersebut ditentukan oleh kunci enkripsi yang disebut dengan aliran-bit-kunci (keystream). Oleh karena
operasi penjumlahan modulp 2 identik dengan operasi bit dengan operator XOR, maka persamaan 2.1 dapat ditulis secara sederhana sebagai berikut:
c1 = p1 XOR k1 …… 2.3
Sedangkan pada proses pendekripsian dituliskan:
p1 = c1 XOR k1 …… 2.4
Dalam operator logika XOR, hasil akan T (benar) apabila salah satu dari kedua operand (tetapi tidak keduanya) bernilai T atau 1. Atau dengan kata lain, apabila diaplikasikan dalam bit maka operator XOR akan menghasilkan 1 jika dan hanya jika salah satu operand bernilai 1.
Contoh :
X: 00111010 10101011 Y: 10100100 01010101 Hasil : 10011110 11111110
Sedangkan suatu bilangan dalam biner apabila di- XOR-kan dengan dirinya sendiri akan menghasilkan 0. Contoh :
X : 01010101 10101010 Y : 01010101 10101010 Hasil :00000000 00000000
b. Proses Enkripsi dan Dekripsi
Perhitungan di atas merupakan salah satu dasar dalam penerapan algoritma Vernam dalam kriptografi, yaitu suatu string yang diterjemahkan ke dalam biner dapat dienkripsikan dengan suatu kunci tertentu dan dapat pula diperoleh kembali dari pesan sandi dengan menggunakan operator XOR pada kunci yang sama.
Dalam algoritma ini, terdapat beberapa langkah untuk proses enkripsi dan dekripsi. Misalnya kita akan mengenkripsi plainteks
1. Karakter-karakter yang terdapat pada plainteks dan kunci merupakan
karakter ASCII. Maka, ubah plainteks dan kunci menjadi bilangan biner :
ASCII Biner
Vernam 01010110 01100101 01110010 01101110 01100001 01101101
Cipher 01000011 01101000 01101001 01110000 01100101 01110010
2. Lalu, kedua bilangan biner itu kita XOR-kan menurut persamaan 2.3 :
H⌠╕il d⌠╔i ↓OR ╖e╔╕e⌡╗╖ ⌠d⌠l⌠h : “00010101 00001100 00000010 00000110 00000100 00011111”. R⌠═gk⌠i⌠═ bilangan bit ini
merupakan bit cipherteks dalam bentuk biner. Untuk mengetahui nilai SCII dari cipherteks tersebut, maka kita perlu konversikan rangkaian biner tersebut ke bilangan ASCII sesuai dengan tabel 2.1. Dengan berdasar pada tabel tersebut, maka dapat kita lihat bahwa rangkaian bit dari cipherteks tersebut mempunyai nilai ASCII :
Proses dekripsi dalam algoritma Vernam Cipher merupakan kebalikan dari proses enkripsi. Cipherteks dari hasil enkripsi di-XOR-kan dengan kunci yang sama. Misalnya dengan mengambil contoh
╕e⌡el╗m═╛⌠, dim⌠═⌠ ⌢i╒he╔╖ek╕ : “♁ ” d⌠═ k╗═⌢i : “Ci╒he╔”.
Maka langkah pendekripsiannya adalah sebagai berikut :
1. Ubah karakter ASCII dari cipherteks dan kunci ke dalam rangkaian
biner :
♁
Plainteks : 01010110 01100101 01110010 01101110 01100001 01101101 Kunci : 01000011 01101001 01110000 01101000 01100101 01110010 Cipherteks : 00010101 00001100 00000010 00000110 00000100 00011111
2. Lalu, kedua rangkaian biner itu kita XOR-kan dengan berdasar pada
persamaan 2.4 :
M⌠k⌠ did⌠╒⌠╖ ╔⌠═gk⌠i⌠═ ⌡i╖ ╒l⌠i═╖ek╕ “01010110 01100101 01110010
01101110 01100001 01101101”. De═g⌠═ ⌡e╔d⌠╕⌠╔ ╒⌠d⌠ ╖⌠⌡el 2.1,
maka kita dapat mengubah rangkaian bit menjadi bilangan ASCII,
╛⌠i╖╗ me═j⌠di : “↑e╔═⌠m”. Te╔⌡╗k╖i ╒l⌠i═ ╖ek╕ ╒⌠d⌠ h⌠╕il dek╔i╒╕i
adalah sama dengan plainteks pada proses enkripsi.
2.10 Jenis Serangan terhadap Cipher Aliran
Serangan yang dapat dilakukan oleh kriptanalis terhadap cipher aliran adalah:
1. Known-plaintext attack
Misalkan kriptanalis memiliki potongan plainteks (P) dan cipherteks (C) yang berkoresponden, maka ia dapat menemukan bagian bit-aliran-kunci (K) yang berkoresponden dengan meng-XOR-kan bit-bit plainteks dan cipherteks:
P C = P  (P  K) = (P  P)  K = 0  K = K
2. Ciphertext-only attack
Misalkan kriptanalis memiliki dua potongan cipherteks berbeda (C1
dan C2) yang dienkripsi dengan bit-aliran-kunci yang sama. Ia
meng-XOR-kan kedua cipherteks tersebut dan memperoleh dua buah plainteks yang ter-XOR satu sama lain:
ASCII Biner ♁ 00010101 00001100 00000010 00000110 00000100 00011111 Cipher 01000011 01101000 01101001 01110000 01100101 01110010 Cipherteks : 00010101 00001100 00000010 00000110 00000100 00011111 Kunci : 01000011 01101001 01110000 01101000 01100101 01110010 Plainteks : 01010110 01100101 01110010 01101110 01100001 01101101
C1 C2= (P1 K )  (P2 K)
= (P1 P2 )  (K  K)
= (P1 P2 )  0
= (P1 P2 )
P1 dan P2 dapat diperoleh dengan mudah. Selanjutnya, XOR-kan salah
satu plainteks dengan cipherteksnya untuk memperoleh bit-aliran-kunci K yang berkoresponden:
P1 C1= P1 (P1 K) = K
Pesan dari dua serangan di atas adalah: pengguna cipher aliran harus mempunyai bit-aliran-kunci yang tidak dapat diprediksi sehingga mengetahui sebagian dari bit-aliran-kunci tidak memungkinkan kriptanalis dapat mendeduksi bagian sisanya.
2.11 Steganografi
Steganografi berasal dari bahasa Yunani yaitu Steganós yang berarti menyembunyikan dan Graptos yang artinya tulisan sehingga secara keseluruhan artinya adalah tulisan yang disebunyikan. Secara umum steganografi merupakan seni atau ilmu yang digunakan untuk menyembunyikan pesan rahasia dengan segala cara sehingga selain orang yang dituju, orang lain tidak akan menyadari keberadaan dari pesan rahasia tersebut.
Kini, istilah steganografi termasuk penyembunyian data digital dalam file-file komputer. Contohnya, si pengirim mulai dengan file gambar biasa, lalu mengatur warna setiap pixel ke-100 untuk menyesuaikan suatu huruf dalam alphabet (perubahannya begitu halus sehingga tidak ada seorangpun yang menyadarinya jika ia tidak benar-benar memperhatikannya).
Pada umumnya, pesan steganografi muncul dengan rupa lain seperti gambar, artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan
yang tertulis ini merupakan tulisan yang menyelubungi atau menutupi. Contohnya, suatu pesan bisa disembunyikan dengan menggunakan tinta yang tidak terlihat diantara garis-garis yang kelihatan.
Teknik steganografi meliputi banyak sekali metode komunikasi untuk menyembunyikan pesan rahasia (teks atau gambar) di dalam file-file lain yang mengandung teks, image, bahkan audio tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari file semula. Metode ini termasuk tinta yang tidak tampak, microdots, pengaturan kata, tanda tangan digital, jalur tersembunyi dan komunikasi spektrum lebar.
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 kriptografi) dan pesan untuk disembunyikan. Orang yang menerima gambar kemudian dapat menyimpulkan informasi terselubung dengan cara mengganti kunci yang benar ke dalam algoritma yang digunakan.
Pada metode steganografi cara ini sangat berguna jika digunakan pada cara steganografi komputer karena banyak format file digital yang dapat dijadikan media untuk menyembunyikan pesan. Format yang biasa digunakan diantaranya:
Format image : bitmap (bmp), gif, pcx, jpeg, dll. Format audio : wav, voc, mp3, dll.
Format lain : teks file, html, pdf, dll.
Kelebihan steganografi daripada kriptografi adalah pesan-pesannya tidak menarik perhatian orang lain. Pesan-pesan berkode dalam kriptografi yang tidak disembunyikan, walaupun tidak dapat dipecahkan, akan menimbulkan kecurigaan. Seringkali, steganografi dan kriptografi digunakan secara bersamaan untuk menjamin keamanan pesan rahasianya.
Sebuah pesan steganografi (plaintext), biasanya pertama-tama dienkripsikan dengan beberapa arti tradisional, yang menghasilkan ciphertext. Kemudian, covertext dimodifikasi dalam beberapa cara sehingga berisi ciphertext, yang menghasilkan stegotext. Contohnya, ukuran huruf, ukuran spasi, jenis huruf, atau karakteristik covertext lainnya dapat dimanipulasi untuk membawa pesan tersembunyi; hanya penerima (yang harus mengetahui teknik yang digunakan) dapat membuka pesan dan mendekripsikannya.
2.12 Metode Steganografi
Kebanyakan algoritma steganografi menggunakan sebuah kombinasi dari bidang jenis teknik untuk melakukan sebuah tugas dalam penyelubungan pesan rahasia dalam sebuah selubung file. Sebuah program steganografi dibutuhkan untuk melakukan hal-hal berikut (baik implisit melalui suatu perkiraan maupun eksplisit melalui sebuah perhitungan), menemukan kelebihan bits dalam selubung file yang dapat digunakan untuk menyelubungi pesan rahasia didalamnya, memilih beberapa
diantaranya untuk digunakan dalam menyelubungi data dan
penyelubungan data dalam bits dipilih sebelumnya.
Terdapat banyak metode yang digunakan dalam melakukan penyembunyian data kedalam data lainnya. Berikut adalah penjelasan mengenai beberapa metode yang banyak digunakan dalam steganografi.
2.12.1 Metode Steganografi pada teks a. Metode Spasi Terbuka
Terdapat beberapa cara untuk memanfaatkan spasi terbuka dalam data text guna menyembunyikan informasi. Metode ini dapat berhasil karena buku bacaan pada umumnya menambahkan satu spasi tambahan pada akhir baris atau diantara dua kata sehingga tidak terbaca aneh. Bagaimanapun, metode spasi terbuka hanya dapat
digunakan dengan memakai ASCII (AmericanStandard Character Interchange) format. Bender et al memberikan tiga metode untuk mengungkap white space dalam proses penyembunyian. Spasi terbuka antar kalimat akan menghasilkan nilai "0" apabila hanya terdapat sebuah spasi yang ditambahkan diantara kalimat tersebut. Dengan menambahkan dua spasi akan menghasilkan nilai "1". Metode ini dapat berhasil, tetapi membutuhkan data dalam jumlah besar untuk menyembunyikan sebuah informasi kecil. Dan juga terdapat banyak software word-processing yang akan secara otomatis membetulkan spasi antara kalimat, sehingga metode ini seringkali gagal. Metode spasi end-of-line (EOL) mengutarakan white space pada akhir dari masing-masing baris. Data disembunyikan menggunakan jumlah spasi yang telah ditentukan sebelumnya dari akhir untuk masing- masing kalimat. Sebagai contoh dua spasi akan menyembunyikan satu bit, empat spasi akan menyembunyikan dua bit dan delapan spasi akan menghasilkan tiga bit dan seterusnya. Tehnik ini lebih baik dibandingkan metode spasi terbuka antar kalimat, karena dengan meningkatkan jumlah spasi akan dapat menyembunyikan lebih banyak data. Salah satu kekurangan dari tehnik ini adalah dapat hilangnya informasi tersembunyi jika hard copy data yang diberikan
Pada akhirnya, pemerataan kanan dari text dapat digunakan pula untuk menyembunyikan informasi rahasia pada data text.
Penghitungan dan pengontrolan spasi diantara kata dapat
menyembunyikan informasi dalam data text yang terlihat tidak penting. Sebuah spasi antara kata akan menghasilkan nilai "0" dan dua buah spasi akan menghasilkan nilai "1". Bagaimanapun, pendekatan ini akan mempersulit untuk mengeluarkan informasi penitng dari media data text tersebut karena akan semakin tidak mungkin untuk membedakan sebuah spasi biasa dengan spasi yang berfungsi untuk penyembunyian data. Untuk mewujudkan hal ini, Bender et al menggunakan Manchester coding untuk mengelompokkan bit-bit.
Sehingga "01" diinterpretasikan sebagai "1" dan "10" diinterpretasikan sebagai "0". Dimana "00" dan "11" akan dianggap sebagai null bit string.[6]
b. Metode Syntactic
Metode Syntactic sebagaimana yang telah di sarankan oleh Bender et al, mengutarakan penggunaan punktuasi dan struktur text untuk menyembunyikan informasi tanpa secara signifikan mengubah arti dari pesan pembawa. Sebagai contoh terdapat dua frase "bread, butter, and milk" dan "bread, butter and milk" secara gramatikal benar tetapi berbeda dalam penggunaan koma.
Salah satu dapat digunakan secara alternatif dalam pesan text guna mengintepretasikan nilai "1" apabila salah satu metode dipakai dan nilai "0" untuk metode lain yang dipakai.
c. Metode Semantic
Metode Semantic menggunakan dua sinonim sebagai nilai primer atau sekunder. Nilai tersebut akan diterjemahkan kedalam biner "1" atau "0". Bender et al menggunakan sebuah contoh dimana kata "big" berfungsi sebagai primer dan "large" berfungsi sebagai sekunder. Oleh karena itu, dalam menguraikan isi sebuah pesan akan menterjemahkan atas penggunaan primer sebagai "1" dan sekunder sebagai "0". Bender et al menyebutkan masalah yang dapat muncul dengan penggunaan metode ini adalah ketika sinonim tidak dapat digantikan karena dapat mengubah arti dari struktur kalimat. Sebagai contoh dalam memanggil seseorang dalam bahasa Inggris dengan "cool" mempunyai arti berbeda dibandingkan dengan memanggilnya "chilly".
2.12.2 Metode Steganografi pada Gambar
Sudah banyak metode yang digunakan untuk menyembunyikan pesan di dalam sebuah image tanpa mengubah tampilan image, sehingga pesan yang disembunyikan tidak akan terlihat. Berikut akan dibahas beberapa metode umum yang digunakan pada image steganography.
a. Least Significant Bit Insertion (LSB)
Metoda yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda-beda. Contohnya pada file image pesan dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan (LSB) pada data pixel yang menyusun file tersebut. Seperti kita ketahui untuk file bitmap 24 bit maka setiap pixel (titik) pada gambar tersebut terdiri dari susunan tiga warna merah, hijau dan biru (RGB) yang masing-masing disusun oleh bilangan 8 bit (byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai 11111111. Dengan demikian pada setiap pixel file bitmap 24 bit kita dapat menyisipkan 3 bit data. Kekurangan dari LSB Invertion : Dapat diambil kesimpulan dari contoh 8 bit pixel, menggunakan LSB Insertion dapat secara drastis merubah unsur pokok warna dari pixel. Ini dapat menunjukkan perbedaan yang nyata dari cover image menjadi stego image, sehingga tanda tersebut menunjukkan keadaan dari steganografi. Variasi warna kurang jelas dengan 24 bit image, bagaimanapun file tersebut sangatlah besar. Antara 8 bit dan 24 bit image mudah diserang dalam pemrosesan image, seperti cropping (kegagalan) dan compression (pemampatan). Keuntungan dari LSB Insertion : Keuntungan yang paling besar dari algoritma LSB ini adalah cepat dan mudah. Dan juga algoritma tersebut memiliki software steganografi yang mendukung dengan bekerja diantara unsur pokok warna LSB melalui manipulasi pallete (lukisan).
b. Algorithms and Transformation
Algoritma compression adalah metode steganografi dengan menyembunyikan data dalam fungsi matematika. Dua fungsi tersebut adalah Discrete Cosine Transformation (DCT) dan Wavelet Transformation. Fungsi DCT dan Wavelet yaitu mentransformasi data dari satu tempat (domain) ke tempat (domain) yang lain. Fungsi DCT yaitu mentransformasi data dari tempat spatial (spatial domain) ke tempat frekuensi (frequency domain).
c. Redundant Pattern Encoding
Redundant Pattern Encoding adalah menggambar pesan kecil pada kebanyakan gambar. Keuntungan dari metode ini adalah dapat bertahan dari cropping (kegagalan), kerugiannya yaitu tidak dapat menggambar pesan yang lebih besar.
d. Spread Spectrum method
Spread Spectrum steganografi terpencar-pencar sebagai pesan yang diacak (encrypt) melalui gambar (tidak seperti dalam LSB). Untuk membaca suatu pesan, penerima memerlukan algoritma yaitu crypto-key dan stego-key. Metode ini juga masih mudah diserang yaitu penghancuran atau pengrusakan dari kompresi dan proses image (gambar).
2.12.3 Metode Steganografi pada suara
Cara untuk mengaplikasikan steganografi pada file audio terdiri dari beberapa cara yang lazim digunakan dan prinsip kerja atau algoritma yang digunakan sama seperti pada metode steganografi pada gambar. Berikut adalah beberapa teknik yang digunakan: