Rabu, 23 Mei 2012

KRIPTOGRAFI (cryptographic) & STEGANOGRAFI

KRIPTOGRAFI
Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik yaitu metode enkripsi yang menggunakan kertas dan pensil atau mungkin dengan bantuan alat mekanik sederhana. Secara umum algoritma kriptografi klasik dikelompokkan menjadi dua kategori, yaitu algoritma transposisi (transposition cipher) dan algoritma substitusi (substitution cipher). Cipher transposisi mengubah susunan huruf-huruf di dalam pesan, sedangkan cipher substitusi mengganti setiap huruf atau kelompok huruf dengan sebuah huruf atau kelompok huruf lain.
 
Kriptografi modern dipicu oleh perkembangan peralatan komputer digital. Tidak seperti kriptografi
klasik yang mengenkripsi karakter per karakter (dengan menggunakan alfabet tradisionil), kriptografi modern beroperasi pada string biner. Kriptografi modern tidak hanya memberikan aspek keamanan confidentially, tetapi juga aspek keamanan lain seperti otentikasi, integritas data dan nirpenyangkalan. 

Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita.
Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data [A. Menezes, P. van Oorschot and S. Vanstone - Handbook of Applied Cryptography]. Tidak semua aspek keamanan informasi ditangani oleh kriptografi.

Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :

-Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
   
-Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.

-Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
   
-Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

Secara garis besar kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan (penyandian), sedangkan tujuan dari kriptografi sendiri agar pesan dari kita tidak mudah terbaca oleh orang lain.
Sebagai contoh = surat cinta julius caesar ke cleopatra,.surat intelejen dll.

Prinsip-prinsip yang mendasari kriptografi yakni:
-Confidelity (kerahasiaan) yaitu layanan agar isi pesan yang dikirimkan tetap rahasia dan tidak diketahui oleh pihak lain (kecuali pihak pengirim, pihak penerima / pihak-pihak memiliki ijin). Umumnya hal ini dilakukan dengan cara membuat suatu algoritma matematis yang mampu mengubah data hingga menjadi sulit untuk dibaca dan dipahami.

-Data  integrity (keutuhan data) yaitu layanan yang mampu mengenali/mendeteksi adanya manipulasi (penghapusan, pengubahan atau penambahan) data yang tidak sah (oleh pihak lain).
   
-Authentication   (keotentikan)   yaitu   layanan   yang   berhubungan   dengan identifikasi. Baik otentikasi pihak-pihak yang terlibat dalam pengiriman data maupun otentikasi keaslian data/informasi.
   
-Non-repudiation (anti-penyangkalan) yaitu layanan yang dapat mencegah suatu pihak untuk menyangkal aksi yang dilakukan sebelumnya (menyangkal bahwa pesan tersebut berasal dirinya).
 
Jenis dari kriptografi ada beberapa macam seperti enkripsi/deskripsi,encode/decode,hash/one way hash.

Istilah2 dalam kriptografi :
#plaintext =
text asli (pesan yang akan di enkripsi)
#key=
kunci yang akan digunakan untuk kriptografi
#algorithma=
metode yang digunakan
#chipertext=
text atau pesan yang sudah di enkripsi
#enkripsi=
mengubah plaintext jadi ciphertext. contoh: caesar cipher: jika key= 1 maka m menjadi n HEXA = m menjadi 6D DEC = m menjadi 109 Binary: m menjadi 01101101
#dekripsi =
mengembalikan ciphertext jadi plaintext
#encoding =
mengubah code menjadi code acak (kode yang di kodekan kembali) contoh: base64: m menjadi bQ== HTML encode: m tetap menjadi m atau m URL encode: m menjadi m, space menjadi %20
#decoding =
mengembalikan kode acak ke kode awal (mengembalikan ke kode asli)
#hash=
metode enkripsi yang tidak bisa dikembalikan ke nilai awal atau one way hash,. ex=md5,sha-1 dll. 

Aplikasi kriptologi pada kehidupan sehari-hari, yaitu :

Mungkin tidak disadari bahwa saat ini benda-benda teknologi dalam kehidupan sehari-hari sudah menggunakan kriptografi. Telepon seluler, kartu ATM, kartu kredit, internet, LAN, mesin absensi atau GPS dan masih banyak lagi telah ditempeli kriptografi dengan intensitas yang berbeda. Dalam mengoperasikan kriptografi jenis ini, pengguna (end-user) tidak memerlukan pengetahuan khusus tentang kriptografi, karena aplikasi kriptografinya sudah langsung dapat dipakai (tanpa terasa).

Dalam kondisi khusus, penerapan kriptografi membutuhkan operator kripto, seperti penyampaian berita rahasia dari satu tempat ke tempat lain (kurir), penyimpanan data dan informasi rahasia ke dalam database atau pengoperasian mesin-mesin khusus kripto. Operator kripto ini diperlukan karena untuk mengelola kegiatan-kegiatan khusus tersebut membutuhkan manajemen kripto dan orang-orang terpercaya yang telah mempunyai sertifikat kripto.

Aplikasi kriptografi ini dipakai sebagai pengamanan informasi yaitu untuk :

1. menjaga kerahasiaan/privacy/confidentiality informasi terhadap akses pihak-pihak yang tidak memiliki kewenangan terhadap informasi tersebut.

2. menjaga keutuhan informasi (integrity) sehingga informasi yang ditransmisikan tidak mengalami perubahan baik oleh pihak yang tidak berhak ataupun sesuatu hal lain (misalnya transmisi yang buruk).

3. memastikan identitas (otentikasi) baik orang, mesin, program ataupun kartu bahwa memang pihak yang benar-benar berhak/asli/yang dimaksud. Otentikasi dapat juga digunakan untuk menyamarkan identitas (anonimity) terhadap yang tidak berhak.

4. mencegah penyangkalan (non-repudiation) bahwa data tersebut memang benar adalah data yang dikirimkan oleh pihak pengirim.

Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis yaitu :

-Algoritma simetris
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama

-Algoritma asimetris
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi menggunakan kunci yang berbeda.

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

-Algoritma block cipher
Informasi/data yang hendak dikirim dalam bentuk blok-blok besar (misal 64-bit) dimana blok-blok ini dioperasikan dengan fungsi enkripsi yang sama dan akan menghasilkan informasi rahasia dalam blok-blok yang berukuran sama.

-Algoritma stream cipher
Informasi/data yang hendak dikirim dioperasikan dalam bentuk blok-blok yang lebih kecil (byte atau bit), biasanya satu karakter persatuan persatuan waktu proses, menggunakan tranformasi enkripsi yang berubah setiap waktu.




STEGANOGRAFI 
Steganografi adalah seni dan ilmu menulis pesan tersembunyi atau menyembunyikan pesan dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia. Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi tidak menyembunyikan bahwa ada suatu pesan. Kata "steganografi" berasal dari bahasa Yunani steganos, yang artinya “tersembunyi atau terselubung”, dan graphein, “menulis”.

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 di antara garis-garis yang kelihatan.

Teknik steganografi meliputi banyak sekali metode komunikasi untuk menyembunyikan pesan rahasia (teks atau gambar) di dalam berkas-berkas lain yang mengandung teks, image, bahkan audio tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari berkas 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 pesan disembunyikan 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 berkas digital yang dapat dijadikan media untuk menyembunyikan pesan. Format yang biasa digunakan di antaranya:

Format image : bitmap (bmp), gif, pcx, jpeg, dll.
Format audio : wav, voc, mp3, dll.
Format lain : teks file, html, pdf, dll.

Kelebihan steganografi jika dibandingkan dengan 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.

Metode Steganografi

Kebanyakan algoritma steganografi menggunakan sebuah kombinasi dari bidang jenis teknik untuk melakukan sebuah tugas dalam penyelubungan pesan rahasia dalam sebuah selubung berkas. 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.

Ada empat jenis metode Steganografi, yaitu:

-Least Significant Bit Insertion (LSB)
Metoda yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda-beda. Contohnya, pada berkas image pesan dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan (LSB) pada data pixel yang menyusun file tersebut. Pada berkas bitmap 24 bit, 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 berkas 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 mengubah 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 di antara unsur pokok warna LSB melalui manipulasi pallete (lukisan).
Algorithms and Transformation

-Algoritma compression
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).
Redundant Pattern Encoding

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

-Spread Spectrum method
Spread Spectrum steganografi terpencar-pencar sebagai pesan yang diacak (encrypted) 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).

Sederhananya steganografi merupakan teknik untuk menyembunyikan tulisan atau file ke dalam sebuah file. Sebagai contoh cara menyisipkan file ke dalam gambar, kita cukup menggunakan sedikit perintah yang ada di command prompt (CMD) windows.

Berikut Langkah-langkahnya:

-Persiapkan satu buah file jpg dan file yang hendak anda sisipkan.
-Dengan menggunakan winrar buatlah file .rar yang berisi dua buah file tadi.
-Misalkan file .rar itu saya beri nama test.rar dan file .jpg saya beri nama gambar.jpg
-Sekarang buka command prompt, masuk ke direktori file percobaan kita.
-Misalkan file disimpan di direktori D caranya : ketik pada command prompt D: tekan enter, Kita sekarang  telah berhasil masuk ke direktori D, ditandai dengan adanya tulisan D:\> di command prompt.
-Selanjutnya ketikkan perintah "copy /b gambar.jpg+test.rar hasil.jpg" tanpa tanda petik
-Tekan enter.
-Jika anda berhasil maka akan ada file bernama hasil.jpg dalam folder tersebut.
-Coba anda buka file hasil.jpg. Sekilas tidak akan ada bedanya dengan file gambar.jpg milik anda kecuali  ukuran filenya yang bertambah besar. Anda tetap bisa membuka file tersebut dengan Picture Editor atau Image  Viewer anda. Tidak ada tanda-tanda bahwa sebenarnya ada sebuah file rahasia didalamnya.

Bagaimana cara membuka file rahasia anda?

-Cara membukanya adalah sebagai berikut:
-Klik kanan pada file hasil.jpg lalu pilihlah [Open With] –> [Choose Program..].
-Pilihlah WinRar lalu klik [OK].
-Anda akan bisa melihat file rahasia anda dan bisa meng-extract seperti biasanya.

Tidak ada komentar:

Posting Komentar