Sistematika Penulisan End Of File

Tahapan yang dilakukan dalam penelitian ini adalah: 1. Studi Literatur Penulisan tugas akhir ini di awali dengan melakukan pembelajaran literatur pada sejumlah buku, artikel, paper, jurnal, makalah, maupun situs internet mengenai enkripsi Tiny Encryption Algorithm , EOF, steganografi, pengolahan citra, citra bmp, kriptografi. 2. Analisis dan Perancangan Sistem Pada tahap ini akan dilaksanakan perancangan sistem menggunakan diagram UML, flowchart, interface dengan menggunakan algortima kriptografi Tiny Encryption Algorithm dengan EOF. 3. Implementasi Sistem Pada tahap ini akan dilaksanakan pengkodean coding . 4. Pengujian Sistem Dalam tahap ini dilakukan pengujian terhadap sistem yang telah dibangun, menguji hasil pendekripsian yang berupa plainteks, dimana plainteks keluaran harus sama dengan plainteks inputan. 5. Dokumentasi Dalam tahapan ini dilakukan penyusunan laporan dari hasil analisis dan perancangan sistem dalam format penulisan penelitian

1.7 Sistematika Penulisan

Universitas Sumatera Utara LANDASAN TEORI

2.1 Kriptografi

2.1.1 Definisi Kriptografi

Kriptografi adalah ilmu yang mempelajari bagaimana supaya pesan atau dokumen aman, tidak bisa dibaca oleh pihak yang tidak berhak. Dalam perkembangannya, kriptografi juga digunakan untuk identifikasi pengirim pesan dengan sidik jari digital fingerprint. Kriptografi mempunyai sejarah yang sangat panjang. Sejak jaman Romawi, Yulius Caesar telah menggunakan teknik kriptografi yang sekarang dianggap kuno dan dan sangat mudah dibobol untuk keperluan militernya. Pada perang dunia kedua, Jepang dan Jerman menggunakan kriptografi untuk keperluan komunikasi[1]. Kriptografi cryptography berasa dari Bahasa Yunani yaitu “cryptos” yang artinya “secret” rahasia dan “graphein” yang artinya “writing”. Jadi kriptografi berarti “secret writing” tulisan rahasia. Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikan ke dalam bentuk yang tidak dapat dimengerti maknanya Kriptografi memiliki proses utama dalam menjaga dan menyandikan sebuah pesan. proses enkripsi merupakan pengoperasian fungsi enkripsi menggunakan kunci enkripsi pada plaintext sehingga dihasilkan ciphertext .Sedangkan untuk proses dekripsi merupakan pengoperasian fungsi dekripsi menggunakan kunci dekripsi pada ciphertext sehingga dihasilkan plaintext. Proses enkripsi dan dekripsi dalam kriptografi merupakan proses yang utama. Proses ini dapat dilihat lebih jelas pada gambar 2.1 berikut ini[2]: Universitas Sumatera Utara Plaintext .txt Ciphertext.txt Plaintext.txt Kunci enkripsi Kunci dekripsi Gambar 2.1 Diagram Proses Enkripsi Dan Dekripsi[2] Salah satu hal yang penting dalam komunikasi untuk menjamin kerahasiaan data adalah enkripsi. Enkripsi adalah sebuah proses yang melakukan perubahan kode dari bisa dimengerti menjadi sebuah kode yang tidak bisa dimengertitidak terbaca. Dalam hal ini terdapat 3 kategori enkripsi, yaitu: 1. Kunci enkripsi pribadi. Dalam hal ini, terdapat sebuah kunci yang digunakan untuk mengenkripsi dan juga sekaligus mendekripsikan informasi. 2. Kunci enkripsi publik. Dalam hal ini, dua kunci digunakan, satu untuk proses enkripsi dan yang lain untuk proses dekripsi. 3. Fungsi one-way, atau fungsi satu arah adalah suatu fungsi dimana informasi dienkripsi untuk menciptakan signature dari informasi asli yang bisa digunakan untuk keperluan autentikasi. Enkripsi mempunyai 2 hal yang penting mengenai model-model enkripsi beserta algoritma yang di pakai yaitu enkripsi dengan kunci pribadi dan enkripsi dengan kunci publik. Enkripsi dengan kunci pribadi, dimana si pengirim dan si penerima telah sepakat untuk menggunakan metode enkripsi atau kunci enkripsi tertentu. Sehingga pembuat pesan dan penerima harus memiliki kunci yang sama. Beberapa model enkripsi dengan kunci pribadi, diantaranya adalah : Simple Substitution Cipher, DES, Triple DES, Rivest Code 2 RC2, dan Rivest Code 4 RC4, IDEA, Skipjack, Caesar Cipher, Gost Block Cipher, Letter Map, Transposition Cipher, Blowfish, Vigenere Cipher dan Tiny Encryption Algorithm[3]. Sedangkan enkripsi dengan kunci publik , setiap orang yang menggunakan enkripsi ini harus mempunyai dua buah kunci, satu disebut kunci Enkripsi Dekripsi Universitas Sumatera Utara rahasia yang hanya boleh diketahui oleh dirinya sendiri dan yang lain disebut kunci publik yang disebarkan ke orang lain. Metode enkripsi ini harus dijaga ketat supaya tidak ada pihak luar mengetahuinya. Beberapa model enkripsi dengan kunci publik, diantaranya adalah : Knapsack, Rivert Shamir Adelman, Diffie- Helman, Tree Past Protocol, Elgamal[3].

2.1.2 Tiny Encryption Algorithm

Tiny Encription Algorithm TEA merupakan suatu algoritma sandi yang diciptakan oleh David Wheeler dan Roger Needham dari Computer Laboratory, Cambridge University, England pada bulan November 1994. Algoritma ini merupakan algoritma mengenkripsi suatu blok plaintext dengan jumlah bit tertentu dan menghasilkan blok ciphertext yang dirancang untuk penggunaan memory yang seminimal mungkin dengan kecepatan proses yang maksimal. Sistem penyandian TEA menggunakan proses feistel network dengan menambahkan fungsi matematik berupa penambahan dan pengurangan sebagai operator pembalik selain XOR. Proses feistel network adalah membagi plaintext ke dalam beberapa blok dan melakukan penukaran letak blok dalam setiap round, yang akan memberikan efek konsep konfusi dan difusi. Konfusi adalah mengaburkan hubungan plaintext dan ciphertext yang menimbulkan kesulitan dalam usaha untuk mencari keteraturan plaintext dan ciphertext, sedangkan difusi adalah menyebarkan redudansi plaintext dengan menyebarkan masukan ke seluruh ciphertext. Hal ini dimaksudkan untuk menciptakan Pergeseran dua arah ke kiri dan ke kanan menyebabkan semua bit kunci dan data bercampur secara berulang ulang[5]. Universitas Sumatera Utara Gambar 2.2 Satu Putaran Enkripsi Dalam Jaringan Feistel[9] Bilangan delta berasal dari golden number, digunakan delta= √5-12 31 Suatu bilangan delta ganda yang berbeda digunakan dalam setiap roundnya sehingga tidak ada bit dari perkalian yang tidak berubah secara teratur. Berbeda dengan sruktur feistel yang semula hanya mengoperasikan satu sisi yaitu sisi sebelah kanan dengan sebuah fungsi F, pada algoritma TEA kedua sisi dioperasikan dengan sebuah fungsi yang sama. Proses diawali dengan input-bit plaintext sebanyak 64-bit[5]. Kemudian 64-bit plaintext tersebut dibagi menjadi dua bagian, yaitu sisi kiri L0 sebanyak 32-bit dan sisi kanan R0 sebanyak 32- bit. Setiap bagian plaintext akan dioperasikan sendiri-sendiri. R0 z akan digeser kekiri sebanyak empat kali dan ditambahkan dengan kunci k0. Sementara itu z ditambah dengan sum delta yang merupakan konstanta. Hasil penambahan ini di-XOR-kan dengan penambahan sebelumnya. Kemudian di-XOR-kan dengan hasil penambahan antara z yang digeser kekanan sebanyak lima kali dengan kunci k1. Hasil tersebut kemudian ditambahkan dengan L0 y yang akan menjadi R1. Sisi sebelah kiri akan mengalami proses yang sama dengan sisi sebelah kanan. L0 y akan digeser kekiri sebanyak empat kali lalu ditambahkan dengan kunci k2. Sementara itu, Y ditambah dengan sum delta[7]. Hasil penambahan ini di-XOR- Universitas Sumatera Utara kan dengan penambahan sebelumnya. Kemudian di-XOR-kan dengan hasil penambahan antara Y yang digeser ke kanan sebanyak lima kali dengan kunci k3. Hasil tersebut kemudian ditambahkan dengan R0 Z yang akan menjadi L1. Struktur dari penyandian dengan algoritma untuk satu cycle dua round. Berikut adalah langkah langkah penyandian dengan algoritma TEA dalam satu cycle dua round: 1. Pergeseran shift Blok plaintext pada kedua sisi yang masing masing sebanyak 32-bit akan digeser kekiri sebanyak empat 4 kali dan digeser ke kanan sebanyak lima 5 kali. 2. Penambahan Setelah digeser kekiri dan kekanan, maka Y dan Z yang telah digeser akan ditambahkan dengan kunci k0-k3. Sedangkan Y dan Z awal akan ditambahkan dengan sum delta. 3. Peng-XOR-an Setelah dioperasikan dengan penambahan pada masing-masing register maka akan dilakukan peng-XOR-an dengan rumus untuk satu round. rumus untuk satu round : y = y + z4+k0z + sumz5+k1 ............................................. 1 z = z + y4+k2y + sumy5+k3 ....................................... 2, dalam hal ini sum = sum + delta. Rumus 1 dan 2 merupakan hasil penyandian dalam satu cycle satu blok plaintext 64-bit menjadi 64-bit teks sandi adalah dengan menggabungkan y dan z. Untuk penyandian pada cycle berikutnya y dan z ditukar posisinya, sehingga y1 Universitas Sumatera Utara menjadi z1 dan z1 menjadi y1 lalu dilanjutkan proses seperti langkah-langkah diatas sampai dengan 16 cycle 32 round[7]. 4. Key Schedule Pada algoritma TEA, key schedule-nya sangat sederhana. Yaitu kunci k0 dan k1 konstan digunakan untuk round ganjil sedangkan kunci k2 dan k3 konstan digunakan untuk round genap. 5. Dekripsi Dalam proses dekripsi sama halnya seperti pada proses penyandian yang berbasis feiste cipher lainnya. Yaitu pada prinsipnya adalah sama pada saat proses enkripsi. Namun hal yang berbeda adalah penggunaan teks sandi sebagai input dan kunci yang digunakan urutannya dibalik. Pada proses dekripsi semua round ganjil menggunakan k1 terlebih dahulu kemudian k0, demikian juga dengan semua round genap digunakan k3 terlebih dahulu kemudian k2 [7]. Hasil Enkripsi sampel dalam heksadesimal Tabel 2.1 Tabel enkripsi TEA [7] Plaintext Key Ciphertext 000000 000000 00000000 00000000 00000000 00000000 41sa3a0a 94baa940 000000 000000 00000000 00000000 00000000 00000000 414091a7 a27f9c32 000000 000000 00000000 00000000 00000000 00000001 0c6d2a1d 930c3 fab ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 319bbefb 016abdb2 efffffff ffffffff ffffffff ffffffff ffffffff ffffffff dd2617de feS24008 Berdasarkan tabel 2.1 terlihat bahwa TEA mengimplementasikan prinsip diffusion milik Shanon dengan baik karena perbedaan 1 bit pada plaintext mengakibatkan perubahan besar pada ciphertext. Universitas Sumatera Utara Rumus proses dekripsi : L0 = L0 + f R0 , k1, k0, sum dan R0 = R0 + f L0, k3, k2, sum ..... 3 Rumus 3 merupakan proses dekripsi semua round ganjil menggunakan k1 terlebih dahulu kemudian k0, demikian juga dengan semua round genap digunakan k3 terlebih dahulu kemudian k2 [7] . 2.1.3 Citra Digital Citra adalah suatu representasi gambaran, kemiripan, atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video, sedangkan digital adalah Digital merupakan penggambaran dari suatu keadaan bilangan yang terdiri dari angka 0 dan 1 atau off dan on bilangan biner. Sehingga Definisi citra digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer sebagai himpunan berhingga diskrit nilai digital yang disebut pixel picture elements. Didalam komputer, citra digital disimpan sebagai suatu file dengan format tertentu. Format citra tersebut menunjukkan sebuah citra digital disimpan. Contoh format citra digital adalah .bmp, .gif, .img, .tif dan sebagainya. Berikut merupakan tabel 2.2 format file citra untuk melihat fungsi dari format citra secara detail[4]. Tabel 2.2 Format File Citra Nama Format Ekstensi Kegunaan Microsfot Windows Bitmap Format BMP Format umum untuk menyimpan citra bitmap yang dikembangkan microsoft Compuserve Graphics interchange Format GIF Format umum citra yang dirancang untuk keperluan transmisi melalui modern Aldus Tagged Image File Format TIF Format kompleks dan multiguna yang dikembangkan oleh Aldus bersama microsoft Universitas Sumatera Utara GEM Image Format IMG Format bitmap yang dikembangkan untuk riset digital lingkungan GEM

2.1.4 Bitmap

Bitmap adalah representasi dari citra grafis yang terdiri dari susunan titik yang tersimpan di memori komputer. Dikembangkan oleh Microsoft dan nilai setiap titik diawali oleh satu bit data untuk gambar hitam putih, atau lebih bagi gambar berwarna. Citra digital memiliki kelebihan dan manipulasi warna, tetapi untuk mengubah obyek yang lebih sulit, Citra bitmap diperoleh dengan cara scanner, Camera Digital,video capture [4].

2.1.5 Steganography

Steganography merupakan seni untuk menyembunyikan pesan didalam media digital sedemikian rupa sehingga orang lain tidak menyadari ada sesuatu pesan didalam media tersebut. Kata steganografisteganography berasal dari bahasa Yunani steganos yang artinya tersembunyiterselubung dan graphein menulis sehingga kurang lebih artinya menulistulisan terselubung. Dalam bidang keamanan komputer, Steganography digunakan untuk menyembunyikan data rahasia, saat enkripsi tidak dapat dilakukan atau bersamaan dengan enkripsi. Walaupun enkripsi berhasil dipecahkandecipher, pesan atau data rahasia tetap tidak terlihat. Pada cryptography, pesan disembunyikan dengan diacak sehingga pada kasus-kasus tertentu dapat dengan mudah mengundang Gambar 2.3 Citra Format .bmp Universitas Sumatera Utara kecurigaan, sedangkan pada steganografi pesan disamarkan dalam bentuk yang relatif lebih aman sehingga tidak terjadi kecurigaan itu[4]. + = Gambar 2.4 Proses Penyimpanan Data Rahasia Kedalam Media Digital Steganography berbeda dengan cryptography, letak perbedaannya adalah pada hasil keluarannya. Hasil dari cryptography biasanya berupa data yang berbeda dari bentuk aslinya dan biasanya data seolah-olah berantakan sehingga tidak dapat diketahui informasi apa yang terkandung didalamnya namun sesungguhnya dapat dikembalikan ke bentuk semula lewat proses dekripsi, sedangkan hasil keluaran dari steganography memiliki bentuk persepsi yang sama dengan bentuk aslinya. Menurut Suhono, kesamaan persepsi tersebut adalah oleh indera manusia khususnya visual, namun bila digunakan komputer atau perangkat pengolah digital lainnya dapat dengan jelas dibedakan antara sebelum proses dan setelah proses. Gambar 2.5 menunjukkan ilustrasi perbedaan antara Steganography dan kriptografi[10]. Gambar 2.5 Perbedaan Steganography dan Cryptography Wadah Penampung Citra BMP Data Rahasia File .txt STEGO Universitas Sumatera Utara Penyembunyian data rahasia ke dalam citra digital akan mengubah kualitas citra tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data 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. Robustness. Data yang disembunyikan harus tahan terhadap manipulasi yang dilakukan pada citra penampung seperti pengubahan kontras, penajaman, pemampatan, rotasi, perbesaran gambar, pemotongan cropping, enkripsi, dan sebagainya. Bila pada citra dilakukan operasi pengolahan citra, maka data yang disembunyikan tidak rusak. 10. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali recovery. Karena tujuan Steganography adalah data hiding, maka sewaktu- waktu data rahasia di dalam citra penampung harus dapat diambil kembali untuk digunakan lebih lanjut. Gambar 2.6 Steganographic System[8] Keterangan : fE = fungsi steganografi “embedding” fE-1 = fungsi steganografi “extracting” cover = cover data pada emb akan di sembunyikan emb = pesan yang akan disisipakan cover .bmp emb .txt key f E f E -1 stego key recipient sender cover .bmp emb .txt Universitas Sumatera Utara key = parameter fE stego = cover data dengan pesan yang telah disisipkan Gambar 2.6 menunjukkan sebuah sistem steganografi umum dimana di bagian pengirim pesansender dilakukan proses embeddingfE pesan yang hendak dikirim secara rahasiaemb ke dalam data cover sebagai tempat menyimpannyacover, dengan menggunakan kunci tertentukey, sehingga dihasilkan data dengan pesan tersembunyi di dalamnyastego. Dibagian penerima pesanrecipient, dilakukan proses extractingfE- 1 pada stego untuk memisahkan pesan rahasiaemb dan data penyimpancover tadi menggunakan kuncikey yang sama seperti pada proses embedding[8]. Steganografi lebih banyak dilakukan dari pada kriptografi. Hal ini dikarenakan pada kriptografi pengacakanpenyandian pesan akan mengakibatkan pesan berubah bentuk menjadi karakter-karakter samar, yang justru menimbulkan kecurigaan terhadap orang yang membacanya. Namun jika pada steganografi, tidak akan terlihat sama sekali bahwa ada pesan yang terkandung dalam gambar tersebut. Salah satu media yang sering dipakai untuk menyisipkan pesandata adalah file image. Pada citra grayscale, akan didapat sebuah matrik yang menunjukkan tingkat derajat keabuan dari masing-masing piksel. Sedangkan untuk citra RGB, akan didapat tiga buah matrik yakni matrik R, matrik G dan matrik B, tingkat R, G dan B dari citra. Ada beberapa metode penyisipan pesan ke dalam citra, diantaranya adalah : Metode EOF End Of File.

2.2 End Of File

Metode EOF merupakan salah satu teknik yang digunakan dalam Steganografi . Metode ini menggunakan cara dengan menyisipkan data pada akhir file. Sehingga, tidak akan mengganggu kualitas data awal yang akan disisipkan pesan. Namun, ukuran file setelah disisipkan pesan rahasia akan bertambah. Sebab, ukuran file yang telah disisipkan pesan rahasia sama dengan ukuran file sebelum disisipkan pesan rahasia yang disisipkan. Untuk mengenai data yang disisipkan pada akhir Universitas Sumatera Utara file, diperlukan suatu tanda pengenal atau simbol pada awal dan akhir data yang akan disisipkan[6]. Proses penyisipan pesan dengan metode EOF dapat dituliskan dalam algoritma sebagai berikut: 1. Inputkan ciphertext yang akan disisipkan. 2. Inputkan citra yang akan menjadi media penyisipan ciphertext cover image. 3. Baca nilai setiap pixel citra. 4. Tambahkan ciphertext sebagai nilai akhir pixel citra dengan diberi karakter penanda sebagai penanda akhir ciphertext. 5. Petakan menjadi citra baru. Sedangkan ekstraksi pesan yang sudah disisipkan dengan metode EOF dapat dilakukan dengan algoritma berikut: 1. Inputkan citra yang telah disisipkan ciphertext stego image. 2. Baca nilai pixel stego image yang terdapat pada baris terakhir matriks pixel citra. 3. Ambil ciphertext yang terdapat pada stego image, yaitu nilai pixel awal yang terdapat pada baris terakhir matriks pixel citra sampai nilai desimal karakter penanda. Contoh penyisipan pesan dan ekstraksi pesan dengan metode End Of File EOF Pada sebuah citra 8 x 8 piksel disisipkan pesan yang berbunyi fian dengan key yang berada didalam sistem : saya. Kode ASCII dari pesan diberikan sebagai berikut: 102 105 97 110 Dan kode ASCII dari key sebagai berikut : 115 97 121 97 Universitas Sumatera Utara Misalkan matrik tingkat derajat keabuan citra sebagai berikut : 250 255 255 248 247 246 249 253 248 250 249 255 229 244 252 255 194 221 249 249 157 192 243 251 152 190 244 254 171 207 235 255 201 227 243 250 217 245 244 246 244 252 255 194 221 249 249 152 255 229 244 252 255 250 255 255 201 227 243 250 152 190 244 254 Jika diterapkan dengan piksel 100 x 128 Gambar 2.7 Citra Sebelum Disisipkan Pesan Kode biner pesan disisipkan diakhir citra sehingga citra menjadi : 250 255 255 248 247 246 249 253 102 248 250 249 255 229 244 252 255 105 194 221 249 249 157 192 243 251 97 152 190 244 254 171 207 235 255 110 201 227 243 250 217 245 244 246 115 244 252 255 194 221 249 249 152 97 255 229 244 252 255 250 255 255 121 201 227 243 250 152 190 244 254 97 Jika diterapkan dengan piksel 100 x 128 Universitas Sumatera Utara Gambar 2.8 Citra Setelah Disisipkan Pesan Pesan yang disisipkan dianggap sebagai nilai derajat keabuan citra dan akan ditempatkan pada citra mulai baris terakhir, oleh karena itu metode EOF tidak mensyaratkan maksimal panjang pesan yang dapat disisipkan. Hal ini akan menyebabkan ukuran citra menjadi semakin besar. Agar tidak menimbulkan kecurigaan, tetap harus dipertimbangkan agar pesan yang disisipkan tidak terlalu mengubah ukuran dan bentuk fisik citra pada saat ditampilkan. Metode EOF akan meletakkan pesan di akhir citra sehingga ukuran file akan bertambah besar, oleh karena itu pesan teks yang disisipkan tidak terbatas jumlahnya[11]. Universitas Sumatera Utara BAB III ANALISIS DAN PERANCANGAN SISTEM

1.7 Implementasi Tiny Encryption Algorithm