Anda di halaman 1dari 91

IMPLEMENTASI PENGENKRIPSIAN DAN PENYEMBUNYIAN DATA MENGGUNAKAN TINY ENCRYPTION ALGORITHM DAN END OF FILE

SKRIPSI

MUHAMMAD ALFIAN 091401001

PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013

Universitas Sumatera Utara

IMPLEMENTASI PENGENKRIPSIAN DAN PENYEMBUNYIAN DATA MENGGUNAKAN TINY ENCRYPTION ALGORITHM DAN END OF FILE

SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer MUHAMMAD ALFIAN 091401001

PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013

Universitas Sumatera Utara

PERSETUJUAN

Judul

: IMPLEMENTASI PENYEMBUNYIAN FILE

PENGENKRIPSIAN DATA

DAN

MENGGUNAKAN

TINY ENCRYPTION ALGORITHM DAN END OF Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas : SKRIPSI : MUHAMMAD ALFIAN : 091401001 : SARJANA (S1) ILMU KOMPUTER : ILMU KOMPUTER : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOM-TI) Diluluskan di Medan, 13 Juni 2013 Komisi Pembimbing Pembimbing 2 : Pembimbing 1

Dian Rachmawati,S.Si,M.Kom NIP. 198307232009122004 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,

Prof. Dr. Iryanto, M.Si NIP. 194604041971071001

Dr. Poltak Sihombing, M.Kom NIP.196203171991021001

Universitas Sumatera Utara

PERNYATAAN IMPLEMENTASI PENGENKRIPSIAN DAN PENYEMBUNYIAN DATA MENGGUNAKAN TINY ENCRYPTION ALGORITHM DAN END OF FILE

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juni 2013

Muhammad Alfian 091401001

Universitas Sumatera Utara

PENGHARGAAN

Puji dan syukur penulis ucapkan kepada Allah SWT atas limpahan rahmat, rezeki dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Shalawat dan salam kepada Rasulullah Muhammad SAW. Pada pengerjaan skripsi dengan judul "IMPLEMENTASI

PENGENKRIPSIAN DAN PENYEMBUNYIAN DATA MENGGUNAKAN TINY ENCRYPTION ALGORITHM DAN END OF FILE", penulis menyadari bahwa banyak memperoleh bantuan dari berbagai pihak yang turut membantu dan memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis mengucapkan terima kasih kepada: 1. Bapak Prof. Dr. Iryanto, M.Si dan Ibu Dian Rachmawati,S.Si,M.Kom selaku dosen pembimbing yang telah memberikan arahan dan motivasi kepada penulis dalam pengerjaan skripsi ini. 2. Ibu Maya Silvi Lydia, Bsc, M.Sc dan Ibu Dian Wirdasari S.Si, M.Kom sebagai dosen penguji yang telah memberikan saran dan kritik kepada penulis dalam penyempurnaan skripsi ini. 3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi Ilmu Komputer. 4. Sekretaris Program Studi Ilmu Komputer Ibu Maya Silvi Lydia, B.Sc, M.Sc, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen pada Program Studi S1 Ilmu Komputer FASILKOM-TI USU dan semua pegawai di Program Studi S1 Ilmu Komputer USU.

Universitas Sumatera Utara

5. Ayahanda Chairus Saleh dan Ibunda Rosdewi yang telah memberikan doa, dukungan, perhatian serta kasih sayang yang tulus serta pengorbanan yang tidak ternilai harganya. 6. Kakak penulis Khairunnisa serta keluarga besar penulis. 7. Teman-teman seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2009 yang telah memberikan bantuan, motivasi dan perhatiannya. 8. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini. Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, oleh karena itu penulis menerima kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita semuanya. Medan, April 2013

(Muhammad Alfian)

Universitas Sumatera Utara

ABSTRAK

Keamanan dan kerahasiaan data merupakan salah satu aspek penting dari suatu sistem informasi. Informasi yang disalahgunakan dapat berakibat kerugian yang sangat besar pada kasus-kasus besar seperti informasi penting rahasia perusahaan, data nasabah bank dan lain sebagainya. Solusi dalam pengamanan informasi salah satunya dapat digunakan dengan kriptografi. Algoritma kriptografi yang digunakan pada penelitian ini adalah tiny encryption algorithm. Serangan pengamanan data memakai kriptogafi selalu bisa dapat terjadi, dengan pemikiran ini penulis menambahkan teknik pengamanan dengan melakukan penyembunyian data dengan media gambar sebagai penampung, istilah ini disebut dengan steganografi. Steganografi yang digunakan pada penelitian ini adalah end of file. Teknik ini melakukan proses penyembunyian data yang terletak pada akhir citra, sehingga tidak mempengaruhi kualitas citra penampung. Pada penelitian ini, sistem yang dibangun menggunakan microsoft visual studio 2010 C# . Sistem ini dapat berfungsi dengan baik, namun memiliki warna blur yang ditimbulkan pada citra penampung yang diakibatkan oleh pesan yang disisipkan, dimana semakin besar ukuran pesan yang dsisipkan maka warna blur yang timbul pada citra akan semakin banyak.

Kata Kunci : kriptografi, tiny encryption algorithm, steganografi, end of file.

Universitas Sumatera Utara

Implementation Of Encryption And Data Hiding using Tiny Encryption Algorithm And End Of File
ABSTRACT
Security and confidentiality of data is one important aspect of an information system. The information can be misused very large losses in high-profile cases such vital information confidential corporate, customer data banks and etc. Information security solutions in one of them can be used with cryptography. Cryptographic algorithms used in this study is a tiny encryption algorithm. Cryptographic data security attacks can always wear can occur, with this in mind the authors added security techniques to perform data hiding with the media as a placeholder, this term is called steganography. Steganography is used in this study is the end of the file. These techniques make the process of data hiding which is located at the end of the image, so it does not affect the image quality of the reservoir. In this study, a system built using microsoft visual studio 2010 C #. This system can work well, but has a color image blur caused to the container caused by the inserted message, where the greater the size of the message dsisipkan then color the image blur that arises will be many more.

Keyword : cryptography, tiny encryption algorithm, steganography, end of file.

Universitas Sumatera Utara

DAFTAR ISI

Halaman Persetujuan. Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar i ii iii v vi vii x xi

Bab 1 Pendahuluan 3. Latar Belakang 4. Rumusan Masalah 5. Batasan Masalah 6. Tujuan Penelitian 7. Manfaat Penelitian 8. Metode Penelitian 9. Sistematika Penulisan Bab 2 Landasan Teori 2.1 Kriptografi 2.1.1 Definisi Kriptografi 2.1.2 Tiny Encryption Algorithm 2.1.3 Citra Digital 2.1.4 Bitmap 2.1.5 Steganography 6 6 8 12 13 13 3 4 5 1 2 2 3

Universitas Sumatera Utara

2.1.6 End Of File Bab 3 Analisis dan Perancangan Sistem 3.1 Implementasi Tiny Encryption Algorithm 3.2 Implementasi End Of File 3.3 Desain Sistem 3.3.1 Analisis Fungsional Dan Non Fungsional 3.3.1.1 Analisis Fungsional 3.3.1.2 Analisis Non Fungsional 3.3.2 Unified Modeling Language(UML) 3.3.2.1 Use Case Diagram 3.3.2.1.1 Use Case Pengirim 3.3.2.1.2 Use Case Penerima 3.3.2.2 Activity Diagram 3.3.3 Pseudocode 3.3.3.1 Pseudocode Proses Enkripsi 3.3.3.2 Pseudocode Proses Dekripsi 3.3.3.3 Pseudocode Proses Penyisipan 3.3.3.4 Pseudocode Proses Ekstrak 3.3.4 Flowchart Sistem 3.3.4.1 Flowchart Proses Algoritma Enkripsi Data Tiny Encryption Algorithm dan Penyembunyian Data End Of File . 3.3.4.2 Flowchart Proses Enkripsi 3.3.4.3 Flowchart Proses Dekripsi 3.3.4.4 Flowchart Embedding End Of File 3.3.4.5 Flowchart Ekstrak End Of File 3.3.5 Perancangan Antarmuka 3.3.5.1 Tampilan Menu Utama 3.3.5.2 Tampilan Form Pengirim

16

20 25 27 28 28 28 29 30 31 32 32 34 34 35 36 37 38

38 41 42 43 44

45 46

Universitas Sumatera Utara

3.3.5.3 Tampilan Form Penerima Bab 4 Implementasi dan Pengujian 4.1 Implementasi Sistem 4.1.1 Spesifikasi Perangkat Keras 4.1.2 Spesifikasi Perangkat Lunak 4.2 Tampilan Interface 4.2.1 Tampilan Menu 4.2.2 Tampilan Form Pengirim 4.2.3 Tampilan Form Penerima 4.2.4 Tampilan Form Info 4.2.5 Tampilan Form Petunjuk 4.3 Pengujian Sistem 4.3.1 Pengenkripsian Data 4.3.2 Embedding Image 4.3.3 Extraction Image 4.3.4 Pendekripsian Data 4.4 Hasil Pengujian 4.5 Pengujian Waktu Proses Data 4.5.1 Pengujian Waktu Proses Enkripsi dan Dekripsi 4.5.2 Pengujian Waktu Proses Penyisipan dan Ekstrak 4.6 Pengujian Antara Ukuran Pesan Yang Disisipkan Dengan Warna Blur Pada Citra Bab 5 Kesimpulan Dan Saran 5.1 Kesimpulan 5.2. Saran Daftar Pustaka Lampiran A

47

49 49 49 50 50 51 51 52 53 53 53 55 56 56 57 59 59 60 61

62 63 64

Universitas Sumatera Utara

DAFTAR TABEL

Halaman Tabel 2.1 Enkripsi TEA Tabel 2.2 Format File Citra Tabel 3.1 Use Case Diagram Form Pengirim Tabel 3.2 Use Case Diagram Form Penerima Tabel 4.1 Pengujian Proses Enkripsi Dan Dekripsi Tabel 4.2 Pengujian Proses Penyisipan dan Ekstrak Data Tabel 4.3 Pengujian Antara Ukuran Pesan Dengan Warna Blur Citra 11 12 31 32 59 60 61

Universitas Sumatera Utara

DAFTAR GAMBAR

Halaman Gambar 2.1 Diagram Proses Enkripsi Dan Dekripsi Gambar 2.2 Satu Putaran Enkripsi Dalam Jaringan Fiestel Gambar 2.3 Citra Format (*.bmp) Gambar 2.4 Proses Penyimpanan Data Rahasia Kedalam Media Digital Gambar 2.5 Perbedaan Stganography dan Cryptography Gambar 2.6 Steganographic System Gambar 2.7 Citra Sebelum Disisipkan Pesan Gambar 2.8 Citra Setelah Disisipkan Pesan Gambar 3.1 Proses Use Case Diagram Gambar 3.2 Activity Diagram Gambar 3.3 Proses enkripsi teks dan embedding pesan Gambar 3.4 Proses Ekstraksi Pesan Gambar 3.5 Enkripsi TEA Gambar 3.6 Dekripsi TEA Gambar 3.7 Embedding EOF Gambar 3.8 Ekstraksi EOF Gambar 3.9 Rancangan Form Menu Utama Gambar 3.10 Rancangan Form Sub Menu "Pengirim " Gambar 3.11 Rancangan Form Sub Menu "Penerima " Gambar 4.1 Tampilan Form Menu Gambar 4.2 Tampilan Form Pengirim Gambar 4.3 Tampilan Form Penerima Gambar 4.4 Tampilan Form Info Gambar 4.5 Tampilan Form Petunjuk Gambar 4.6 Proses cari plaintext Gambar 4.7 Proses Enkripsi Data 7 9 13 14 14 15 18 19 30 33 39 40 41 42 43 44 45 46 47 50 51 52 52 53 54 54

Universitas Sumatera Utara

Gambar 4.8 Proses Inputan Cover Object Gambar 4.9 Proses Embedding Image Gambar 4.10 Proses Extraction Image Gambar 4.11 Proses Pendekripsian Image Gambar 4.12 Citra Asli Gambar 4.13 Citra Stego-Object Gambar 4.14 Citra Asli Sebelum Disisipkan Pesan Gambar 4.15 Citra Asli Setelah Disisipkan Pesan Gambar 4.16 Inputan Plaintext Gambar 4.17 Hasil plaintext

55 55 56 56 57 57 58 58 58 58

BAB I

Universitas Sumatera Utara

ABSTRAK

Keamanan dan kerahasiaan data merupakan salah satu aspek penting dari suatu sistem informasi. Informasi yang disalahgunakan dapat berakibat kerugian yang sangat besar pada kasus-kasus besar seperti informasi penting rahasia perusahaan, data nasabah bank dan lain sebagainya. Solusi dalam pengamanan informasi salah satunya dapat digunakan dengan kriptografi. Algoritma kriptografi yang digunakan pada penelitian ini adalah tiny encryption algorithm. Serangan pengamanan data memakai kriptogafi selalu bisa dapat terjadi, dengan pemikiran ini penulis menambahkan teknik pengamanan dengan melakukan penyembunyian data dengan media gambar sebagai penampung, istilah ini disebut dengan steganografi. Steganografi yang digunakan pada penelitian ini adalah end of file. Teknik ini melakukan proses penyembunyian data yang terletak pada akhir citra, sehingga tidak mempengaruhi kualitas citra penampung. Pada penelitian ini, sistem yang dibangun menggunakan microsoft visual studio 2010 C# . Sistem ini dapat berfungsi dengan baik, namun memiliki warna blur yang ditimbulkan pada citra penampung yang diakibatkan oleh pesan yang disisipkan, dimana semakin besar ukuran pesan yang dsisipkan maka warna blur yang timbul pada citra akan semakin banyak.

Kata Kunci : kriptografi, tiny encryption algorithm, steganografi, end of file.

Universitas Sumatera Utara

Implementation Of Encryption And Data Hiding using Tiny Encryption Algorithm And End Of File
ABSTRACT
Security and confidentiality of data is one important aspect of an information system. The information can be misused very large losses in high-profile cases such vital information confidential corporate, customer data banks and etc. Information security solutions in one of them can be used with cryptography. Cryptographic algorithms used in this study is a tiny encryption algorithm. Cryptographic data security attacks can always wear can occur, with this in mind the authors added security techniques to perform data hiding with the media as a placeholder, this term is called steganography. Steganography is used in this study is the end of the file. These techniques make the process of data hiding which is located at the end of the image, so it does not affect the image quality of the reservoir. In this study, a system built using microsoft visual studio 2010 C #. This system can work well, but has a color image blur caused to the container caused by the inserted message, where the greater the size of the message dsisipkan then color the image blur that arises will be many more.

Keyword : cryptography, tiny encryption algorithm, steganography, end of file.

Universitas Sumatera Utara

PENDAHULUAN

1.1 Latar Belakang Masalah Masalah keamanan dan kerahasiaan data merupakan salah satu aspek penting dari suatu sistem informasi. Dalam hal ini sangat terkait pentingnya informasi yang dikirim dan diterima oleh orang yang memiliki wewenang untuk menerimanya. Informasi yang bersifat rahasia yang akan dikirim harus aman dari sadapan orang-orang yang tidak berhak sampai kepada penerima. Pengamanan yang dibuat pada penelitian ini menggunakan teknik kriptografi (penyandian). Kriptografi merupakan ilmu atau seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain. Secara umum ada dua jenis kriptografi, yaitu kriptografi klasik dan kriptogtafi modern. Kriptografi klasik adalah suatu algoritma yang menggunakan satu kunci untuk mengamankan data. Teknik yang biasa digunakan adalah substitusi dan permutasi. Sedangkan kriptografi modern adalah algoritma yang menggunakan banyak kunci dalam pengamanan data. Algoritma yang akan penulis gunakan adalah algoritma klasik, salah satunya kriptografi Tiny Encryption Algorithm(TEA). Yunita Sari sebelumnya pernah melakukan penelitian tentang TEA yaitu dengan judul perancangan dan implementasi sistem keamanan data menggunakan algoritma simetri TEA dengan bahasa pemrograman delphi 7.0[5]. Kelebihan kriptografi Tiny Encription Algorithm dapat memproses waktu secara maksimal dan pemakaian tempat penyimpanan data yang seminimal mungkin. Algoritma kriptografi tersebut akan dikombinasikan dengan teknik penyembunyian data yang disebut dengan steganografi. Teknik steganografi yang

Universitas Sumatera Utara

akan menjadi pilihan dari penelitian adalah End Of File (EOF). Henny Wandany sebelumnya pernah melakukan penelitian tentang EOF yaitu dengan judul implementasi sistem keamanan data Dengan menggunakan teknik steganografi end of file (EOF) Dan rabin public key cryptosystem[6]. Kelebihan EOF yaitu dapat melakukan penyembunyian data ke dalam media, tanpa mengubah kualitas pada media tersebut. Berdasarkan pemahaman singkat yang telah diberikan, maka penulis ingin melakukan suatu penelitian yang berjudul IMPLEMENTASI PENGENKRIPSIAN DAN PENYEMBUNYIAN DATA MENGGUNAKAN END OF FILE DAN TINY ENCRYPTION ALGORITHM.

1.2 Rumusan Masalah Berdasarkan latar belakang yang telah dikemukakan sebelumnya, maka yang menjadi rumusan masalah pada penelitian ini adalah Bagaimana mengimplementasikan pengenkripsian dan penyembunyian data menggunakan dengan Tiny Encryption Algorithm dan End Of File". 1.3 Batasan Masalah Batasan masalah yang menjadi acuan dalam pengerjaan skripsi ini adalah sebagai berikut: 1. Penggunaan citra sebagai cover yang dipakai pada pengenkripsian data adalah file bitmap. 2. Bahasa pemrograman menggunakan visual studio C # (sharp).
3. Plaintext dapat diinput langsung oleh user atau berupa file (*.txt). 4. Panjang kunci enkripsi dan dekripsi 8 bit sampai 128 bit diinput oleh user. 5. Tanda pengenal untuk membaca pesan yang disisipkan pada cover citra

terletak diakhir piksel didefault dengan kata "fian" . 1.4 Tujuan Penelitian

Universitas Sumatera Utara

Tujuan dari penelitian ini adalah sebagai berikut : 1. Mengimplementasikan penggabungan enkripsi dan penyembunyian data menggunakan EOF dan Tiny Encryption Algorithm. 2. Menganalisis hasil ukuran file(*.txt) dan citra gambar asli (*.bmp), setelah melakukan kombinasi Tiny Encryption Algorithm dan End Of File. 3. Menganalisis hasil pendekripsian yang berupa plaintext, dimana plaintext keluaran harus sama dengan plaintext inputan. 1.5 Manfaat Penelitian Manfaat dari penelitian ini adalah sebagai berikut : 1. Manfaat bagi penulis Dapat memahami sistem kerja dari proses pengeknripsian dan penyembunyian data menggunakan Tiny Encryption Algorithm dan EOF. 2. Manfaat bagi bidang ilmu : a. Memberikan pengetahuan dalam kelebihan dan kekurangan dari aplikasi Tiny Encryption Algorithm dan EOF. b. Sebagai bahan refrensi untuk penelitian lain menggunakan Tiny Encryption Algorithm maupun EOF. 3. Manfaat bagi masyarakat dapat Menggunakan aplikasi pengamanan data. dalam membantu

1.6 Metode Penelitian

Universitas Sumatera Utara

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 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 Algorithm , EOF, steganografi,

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)

Enkripsi

Ciphertext(*.txt)

Dekripsi

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 dimengerti(tidak 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

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, DiffieHelman, 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-1)231 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 32bit. Setiap bagian plaintext akan dioperasikan sendiri-sendiri. R0 (z) akan digeser kekiri sebanyak empat kali dan ditambahkan dengan kunci k(0). 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 k(1). 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 k(2). 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 k(3). 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 k(0)-k(3). 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 + (((z<<4)+k(0))^z + sum^((z>>5)+k(1))) ............................................. (1) z = z + (((y<<4)+k(2)^y + sum^((y>>5)+k(3))) ....................................... (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 k(0) dan k(1) konstan digunakan untuk round ganjil sedangkan kunci k(2) dan k(3) 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 genap digunakan k(3) terlebih dahulu kemudian k(2) [7]. Hasil Enkripsi sampel dalam heksadesimal Tabel 2.1 Tabel enkripsi TEA [7] Plaintext 000000 000000 000000 000000 000000 000000 ffffffff ffffffff efffffff ffffffff Key 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff Ciphertext 41sa3a0a 94baa940 414091a7 a27f9c32 0c6d2a1d 930c3 fab 319bbefb 016abdb2 dd2617de feS24008 round ganjil menggunakan k(1) terlebih dahulu kemudian k(0), demikian juga dengan semua

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 , k(1), k(0), sum ) dan R0 = R0 + f ( L0, k(3), k(2), sum )..... (3) Rumus (3) merupakan proses dekripsi semua round ganjil menggunakan k(1) terlebih dahulu kemudian k(0), demikian juga dengan semua round genap digunakan k(3) terlebih dahulu kemudian k(2) [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 Microsfot Windows Bitmap Format Compuserve Graphics interchange Format Aldus Tagged Image File Format TIF GIF Ekstensi BMP Kegunaan Format umum untuk menyimpan citra bitmap yang dikembangkan microsoft Format umum citra yang dirancang untuk keperluan transmisi melalui modern Format kompleks dan multiguna yang dikembangkan oleh Aldus bersama microsoft

Universitas Sumatera Utara

GEM Image Format 2.1.4 Bitmap

IMG

Format bitmap yang dikembangkan untuk riset digital lingkungan GEM

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

Gambar 2.3 Citra Format (*.bmp) 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 steganografi(steganography) berasal dari bahasa Yunani steganos yang artinya "tersembunyi/terselubung" dan graphein "menulis" sehingga kurang lebih artinya "menulis(tulisan) terselubung". Dalam bidang keamanan komputer, Steganography digunakan untuk menyembunyikan data rahasia, saat enkripsi tidak dapat dilakukan atau bersamaan dengan enkripsi. Walaupun enkripsi berhasil dipecahkan(decipher), pesan atau data rahasia tetap tidak terlihat. Pada cryptography, pesan disembunyikan dengan "diacak" sehingga pada kasus-kasus tertentu dapat dengan mudah mengundang

Universitas Sumatera Utara

kecurigaan, sedangkan pada steganografi pesan "disamarkan" dalam bentuk yang relatif lebih "aman" sehingga tidak terjadi kecurigaan itu[4].

Wadah Penampung (Citra BMP)

Data Rahasia

File (.txt)

STEGO

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

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 sewaktuwaktu data rahasia di dalam citra penampung harus dapat diambil kembali untuk digunakan lebih lanjut.

cover (*.bmp)

key stego

key cover (*.bmp)

fE
emb (*.txt) sender

fE-1
recipient emb (*.txt)

Gambar 2.6 Steganographic System[8] Keterangan : fE fE-1 emb = fungsi steganografi embedding = fungsi steganografi extracting = pesan yang akan disisipakan

cover = cover data pada emb akan di sembunyikan

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 pesan(sender) dilakukan proses embedding(fE) pesan yang hendak dikirim secara rahasia(emb) ke dalam data cover sebagai tempat menyimpannya(cover), dengan menggunakan kunci tertentu(key), sehingga dihasilkan data dengan pesan tersembunyi di dalamnya(stego). Dibagian penerima pesan(recipient), dilakukan proses extracting(fE-1) pada stego untuk memisahkan pesan rahasia(emb*) dan data penyimpan(cover*) tadi menggunakan kunci(key) yang sama seperti pada proses embedding[8]. Steganografi lebih banyak dilakukan dari pada kriptografi. Hal ini dikarenakan pada kriptografi pengacakan/penyandian 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 pesan/data 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 Tiny Encryption Algorithm (TEA) merupakan Algoritma yang menggunakan kunci simetris, dimana plaintext yang berjumlah 64 bit dibagi menjadi 2 blok, yaitu blok kiri dan blok kanan, setiap blok berjumlah 32 bit. Kemudian memiliki proses pembentukan kunci algoritma TEA yaitu kunci yang berjumlah 128 bit dibagi menjadi 4 blok, dimana setiap blok berjumlah 32 bit. TEA berbasiskan dengan jaringan fiestel dan memiliki 32 kali putaran (1 kali putaran memiliki 2 round). Sebagai contoh implementasi dari algoritma Tiny Encryption Algorithm pada kasus berikut ini. Plaintext Key : USUMEDAN : muhammad__alfian

Plaintext dibagi menjadi 2 blok kedalam blok A dan blok B : A = USUM B = EDAN Kemudian, Key = 128 bit, dibagi menjadi 4 blok masing-masing 32 bit : Kunci[0] = muha Kunci[1] = mmad Kunci[2] = __al Kunci[3] = fian

Universitas Sumatera Utara

Plaintext diubah menjadi kode ASCII, kemudian diubah ke biner " USUMEDAN " U S U M E D A N = 85 = 01010101 = 83 = 85 = 77 = 69 = 68 = 65 = 01010011 = 01010101 = 01001101 = 01000101 = 01000100 = 01000001

= 78 = 01001110

Key diubah menjadi kode ASCII, kemudian diubah ke biner m u h a m m a d _ _ a l f i a n = 109 = 01101101 = 117 = 01110101 = 104 = 01101000 = 97 = 01100001 = 109 = 01101101 = 109 = 01101101 = 97 = 01100001 = 100 = 01100100 = 95 = 95 = 01011111 = 01011111

= 97 = 01100001 = 108 = 01101100 = 102 = 01100110 = 151 = 01101100 = 97 = 01100001 = 110 = 01101101

Universitas Sumatera Utara

Biner plaintext digabungkan dan akan terbentuk seperti berikut : A(r) = 01010101010100110101010101001101 B(l) = 01000101010001000100000101001110 Biner Key digabungkan dan akan terbentuk seperti berikut : Kunci[0] = 01101101011101010110100001100001 Kunci[1] = 01101101011011010110000101100100 Kunci[2] = 01011111010111110110000101101100 Kunci[3] = 01100110011011000110000101101101 Plaintext mengalami pergeseran bit ke kiri sebanyak 4 bit kemudian 5 bit pergeseran ke kanan. A(r) A(kiri) A(kanan) = 01010101010100110101010101001101 = 01010101001101010101010011010101 = 10101010101010011010101010100110

A(kiri) ditambah dengan Kunci[0] : A(kiri) Kunci[0] = 01010101010100110101010101001101 = 01101101011101010110100001100001

AL(Kunci[0]) = 01111101011101110111110101101101 A(kanan) ditambah dengan Kunci[1]: A(kanan) Kunci[1] = 10101010101010011010101010100110 = 01101101011011010110000101100100

AR(Kunci[1]) = 11101111111011011110101111100110 Plaintext awal A(r) ditambah dengan bilangan delta. Secara konstan nilai delta, diubah ke nilai Hexadesimal = 9E3779B9 dan di ubah ke biner dengan membagi kedalam 4 bagian: 9E = 10011110 37 = 00110111 79 = 01111001 B9 = 10111001

Universitas Sumatera Utara

A(r)

= 01010101010100110101010101001101

Delta Ar(Delta)

= 10011110001101110111100110111001 = 10111111011101110111110111111101

Kemudian di XOR kan dengan plaintext AL(Kunci[0]) : Ar(Delta) = 10111111011101110111110111111101 11000010000000000000000010010000 Kemudian di XOR kan dengan plaintext AR(Kunci[1]) : = 11000010000000000000000010010000 AR(Kunci[1]) = 11101111111011011110101111100110 00101101111011011110101101110110 Untuk Plaintext B(l) mengalami pergeseran bit ke kiri sebanyak 4 bit kemudian 5 bit pergeseran ke kanan. B(l) B(kiri) B(kanan) = 01000101010001000100000101001110 = 01010100010001000001010011100100 = 00100010101000100010000010100111 AL(Kunci[0]) = 01111101011101110111110101101101

B(kiri) ditambah dengan Kunci[2] : B(kiri) Kunci[2] = 01010100010001000001010011100100 = 01011111010111110110000101101100

BL(Kunci[2]) = 01011111010111110111010111101100 B(kanan) ditambah dengan Kunci[3] : B(kanan) Kunci[3] = 00100010101000100010000010100111 = 01100110011011000110000101101101

BR(Kunci[3]) = 01100110111011100110000111101111

Universitas Sumatera Utara

Plaintext awal B(l) ditambah dengan bilangan delta. B(l) Delta = 01000101010001000100000101001110 = 10011110001101110111100110111001 11011111011101110111100111111111 Kemudian di XOR kan dengan BL(Kunci[2]) 11011111011101110111100111111111 BL(Kunci[2]) = 01011111010111110111010111101100 10000000001010000000110000010011 Kemudian di XOR kan dengan BR(Kunci[3]) 10000000001010000000110000010011 BR(Kunci[3]) = 01100110111011100110000111101111 11100110110001100110110111111100 Hasil akhir = 00101101111011011110101101110110 01000101010001000100000101001110 01101101111011011110101101111110 Hasil akhir = 11100110110001100110110111111100 01010101010100110101010101001101 11110111110101110111110111111101 A1(R1) B1(l1)

Telah didapat proses hasil enkripsi dari Tiny Encryption Algorithm dengan 2 round(1 cycle) dengan hasil A1(11) digabung denga B1(R1), namun proses enkripsi akan berakhir sampai 32 round (16 cycle), dimana setiap penyelesainnya setiap 2 round digunakan hasil cipher sebelumnya untuk melanjukan 2 round berikutnya. Hasil ciphertext dari studi kasus tersebut adalah
" o/>I XA5c0 ".

Konsep pendekripsian dari Tiny Encryption Algorithm memiliki proses yang sama dengan enkripsi, perbedaannya pada penjumlahan Kunci yang terjadi setelah pergeseran bit. Pada saat dekripsi A(r) dilakukan pergeseran bit ke kiri

Universitas Sumatera Utara

sebanyak 4 bit maka ditambah Kunci[1]. Kemudian setelah pergeseran bit ke kanan sebanyak 5 bit ditambah Kunci [0]. Untuk dekripsi A(l) dilakukan pergeseran bit ke kiri sebanyak 4 bit maka ditambah Kunci[3]. Kemudian setelah pergeseran bit ke kanan sebanyak 5 bit ditambah Kunci [2]. 1.8 Implementasi End Of File End Of File merupakan salah satu metode steganografi, dimana proses penyembunyian data berada pada akhir file gambar, sehingga tidak menggangu kualitas dari gambar. Dan diperlukan suatu tanda pengenal atau simbol pada awal dan akhir data yang akan disisipkan. Penyisipan data dilakukan secara vertikal dari tiap piksel. Contoh implementasi dari End Of File pada kasus berikut ini dengan "Embedding" : 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. Pada sebuah citra 8 x 8 piksel disisipkan pesan, dengan key yang berada didalam sistem, kemudian ditempatkan diakhir citra dengan bunyi "fian" dan nilai desimalnya "102 105 97 110", ciphertext yang diberikan pada kasus sebelumnya sebagai berikut : o/>I XA5c0 Kemudian diubah
ke ASCII

247 111 217 38 212 47 62 39 73 182 32 220 251 214 169 88 254 32 84 65 232 53 190 45 55 216 32 99 32 79 175 219

Universitas Sumatera Utara

Misalkan matrik 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 Di embedding secara vertikal menjadi stego-object, seperti sebagai berikut : 250 255 255 248 247 246 249 253 247 248 250 249 255 229 244 252 255 111 194 221 249 249 157 192 243 251 217 152 190 244 254 171 207 235 255 38 201 227 243 250 217 245 244 246 212 244 252 255 194 221 249 249 152 47 255 229 244 252 255 250 255 255 201 227 243 250 152 190 244 254 62 39 73 254 182 32 220 214 88 55 102 97

32 216 105 84 32 65 99 110

251 232 32 53 79 45 219 169 190 175

Telah didapat citra stego-object dengan penambahan matriks piksel yang berisi ciphertext dan key dakhir file sebagai penanda adanya pesan. Kemudian proses ekstrak stego-object menggunakan End Of File seperti 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.

Universitas Sumatera Utara

Proses dapat dilihat dari contoh berikut : 250 255 255 248 247 246 249 253 247 248 250 249 255 229 244 252 255 111 194 221 249 249 157 192 243 251 217 152 190 244 254 171 207 235 255 38 201 227 243 250 217 245 244 246 212 244 252 255 194 221 249 249 152 47 255 229 244 252 255 250 255 255 62 201 227 243 250 152 190 244 254 39 73 254 182 32 220 214 88 55 102 97

32 216 105 84 32 65 99 110

251 232 32 53 79 45 219 169 190 175

Kemudian membaca nilai desimal pada akhir piksel setelah penanda "fian" dengan nilai 102 105 97 110 ,maka nilai setelah akhir piksel citra yang telah diseleksi adalah 247 111 217 38 212 47 62 39 73 182 32 220 251 214 169 88 254 32 84 65 232 53 190 45 55 216 32 99 32 79 175 219 1.9 Desain Sistem Proses perancangan sistem ini diawali dengan menganalisis fungsional dan non fungsional sistem, pembuatan UML, flowchart, dan interface maupun perancangan sistem dengan menggunakan algortima kriptografi Tiny Encryption Algorithm diinginkan. dengan EOF, tujuan dalam mendesain sebuah sistem untuk memudahkan dalam penerapan / mengimplementasikan suatu sistem yang

Universitas Sumatera Utara

3.3.1 Analisis Fungsional Dan Non Fungsional 3.3.1.1 Analisis Fungsional Dalam sistem penggabungan enkripsi dan penyembunyian data menggunakan tiny encryption algorithm dan end of file ini terdapat beberapa hal yang menjadi persyaratan fungsional yang harus dipenuhi, antara lain : 1.8 Format pesan yang dikirim berformat (*.txt) dengan cover penampung menggunakan citra berformat (*.bmp). 1.9 Jumlah kunci tiny encryption algorithm yang digunakan dari 8 bit sampai 128 bit dan Tanda pengenal steganografi untuk membaca pesan yang disisipkan pada cover citra terletak diakhir piksel, didefault dengan kata "fian". 1.10 Hasil dari penggabungan proses enkripsi dan penyembunyian data disimpan kedalam format (*.bmp) 1.11 Kunci dalam pendekripsian pesan menggunakan kunci yang sama pada saat enkripsi. 1.12 Hasil pendekripsian pesan disimpan kedalam format (*.txt).. 3.3.1.2 Analisis Non Fungsional Persyaratan fungsional meliputi performa, mudah untuk dipelajari dan digunakan, hemat biaya, dokumentasi, manajemen kualitas, dan kontrol. 1. Performa Sistem atau perangkat lunak yang dibangun harus dapat menunjukkan hasil antara penggabungan proses dari tiny encryption algorithm dan end of file. Dan dapat mengekstraksi kembali hasil penggabungannya yang berupa pesan dan citra asli.

Universitas Sumatera Utara

2.

Mudah digunakan (User friendly) Sistem atau perangkat lunak yang dibangun harus sederhana agar mudah digunakan oleh pengguna (user). Sistem yang dimaksud adalah sistem yang memiliki interface yang menarik dan memiliki cara penggunaan yang mudah dalam pengoperasian sistem.

3.

Hemat biaya Sistem atau perangkat lunak yang dibangun tidak memerlukan perangkat tambahan ataupun perangkat pendukung lainnya yang dapat mengeluarkan biaya.

4.

Dokumentasi Sistem atau perangkat lunak yang dibangun dapat menunjukkan waktu pemrosesan data dan dapat melakukan penyimpanan dari hasil proses penggabungan tersebut.

5.

Manajemen kualitas Sistem atau perangkat lunak yang dibangun harus memiliki kualitas yang baik yaitu cover citra harus mampu menampung besarnya ukuran data yang disisipkan.

6.

Kontrol Perangkat lunak yang dibangun memiliki kontrol berupa enable and disable, yaitu pada saat memulai sistem harus terlebih dahulu menginput key enkripsi, sedangkan proses penyisipan dalam keadaan tidak aktif. Untuk proses pengekstrakan, terlebih dahulu menginput gambar stego, sedangkan proses dekripsi didisablekan .

3.3.2 Unified Modeling Language (UML) UML adalah pemodelan suatu sistem yang menentukan visualisasi, konstruksi, dan mendokumentasikan bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak(software). UML mendefenisikan diagram-diagram untuk menjelaskan pembuatan perangkat lunak(software) pada skripsi ini, sebagai berikut :

Universitas Sumatera Utara

4. Use case diagram 5. Activity Diagram 3.3.2.1 Use Case Diagram Fungsi Use Case Diagram adalah Menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah apa yang diperbuat sistem, dan bukan bagaimana. Menggambarkan kebutuhan system dari sudut pandang user. Sehingga dapat dilihat pada gambar 3.5 sebagai berikut :

Sistem
<<uses>> Input Key

<<uses>>

Input Plaintext

<<extends>> Proses Embedding EOF

Enkripsi

<<uses>>

Input Cover citra

<<extends>> Penyisipan

<<uses>>

Input Stego object

Proses Ekstraksi EOF

<<extends>>

Ekstrak

<<uses>>

Input Key

<<extends>> Dekripsi

Gambar 3.1 Proses Uses Case Diagram Pada gambar 3.5 user menginputkan plaintext, plaintext dienkripsi dengan menggunakan algoritma TEA sehingga menghasilkan ciphertext, kemudian user

Universitas Sumatera Utara

menginput citra gambar dan diembedding menggunakan EOF, sehingga citra gambar telah mengandung ciphertext yang dinamakan citra-stego. Dalam pengungkapan citra-stego, dilakukan pengekstrakan menggunakan EOF sehingga dihasilkan kembali ciphertext dan citra gambar yang asli. Untuk mendekripsikan kembali ciphertext digunakan algoritma TEA. 3.3.2.1.1 Use Case Pengirim Proses uses case pengirim dapat dilhat secara detail pada Tabel Tabel 3.1 Use Case Diagram Form "Pengirim" Name Actors Trigger Preconditions Post Conditions Pengirim User User memilih menu strip "Pengujian". User melakukan aplikasi pengamanan data. User dapat melihat hasil penyisipan data yang berupa gambar stego-object Success Scenario 1. User membuka aplikasi keamanan data. 2. User memilih menu strip "Pengirim". 3. Sistem menampilkan Form Pengirim. 4. User terlebih dahulu menginputkan Key plaintext. 5. User menekan button "enkripsi" untuk mengenkripsikan dan menampilkan ciphertext. 6. User menekan button "cari" untuk menginputkan citra asli sebagai cover dalam penyisipan pesan. 7. User mengeksekusi dengan menekan button "Sisip" untuk melakukan penyisipan pesan. 8. Sistem menampilkan file stego-object. 9. User menekan button "simpan" untuk menyimpah file stego-object. Alternative Flows kemudian

Universitas Sumatera Utara

3.3.2.1.2 Use Case Penerima Proses uses case penerima dapat dilhat secara detail pada Tabel 3.2 : Tabel 3.2 Use Case Diagram Form "Penerima" Name Actors Trigger Preconditions Post Conditions Penerima User User memilih menu strip "Penerima". User melakukan aplikasi pengamanan data. User dapat melihat hasil stego-object yang berupa citra asli dan ciphertext plaintext. Success Scenario 1. User membuka aplikasi keamanan data. 2. User memilih menu strip "Penerima". 3. Sistem menampilkan Form Penerima. 4. User menekan button "cari" untuk mengambil file stegoobject. 5. User mengeksekusi dengan menekan button "ekstrak" untuk mengeluarkan data yang telah disisipkan. 6. Sistem menampilkan citra asli dan ciphertext dari stegoobject. 7. User terlebih dahulu menginputkan Key sebelum mendekripsikan . 8. User mengeksekusi dengan menekan button "dekripsi" untuk mendekripsikan ciphertext menjadi plaintext. Alternative Flows 3.3.2.2 Activity Diagram Activity diagram mendeskripsikan proses mengenai alur kerja/aktivitas dalam sistem yang sedang dirancang, dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger, oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem yang secara eksak, tetapi lebih menggambarkan jalur aktivitas dari proses yang berjalan. dan mendekripsikan ciphertext menjadi

Universitas Sumatera Utara

USER

SYSTEM

Input Plaintext (*txt)

Enkripsi TEA

CipherTeks

Input Gambar (*.bmp)

Embedding EOF

Stego-Object

Input Stego Object

Ekstraksi EOF

Gambar (*.bmp)

Cipher Text

Dekripsi TEA

PlainText

Gambar 3.2 Activity Diagram TEA dan EOF Penjelasan alur langkah-langkah aktifitasnya seperti berikut : 6. User menginputkan plaintext berformat (*.txt). mengenkripsikan plaintext menggunakan algoritma TEA dan menghasilkan ciphertext. 8. User mendapatkan ciphertext, kemudian menginputkan kembali beserta gambar yang berformat (*.bmp). 7. System

Universitas Sumatera Utara

9. System mengembedding ciphertext dan gambar, sehingga menghasilkan StegoObject . 10. 11. 12. 13. 3.3.3 User menginputkan kembali Stego-Object. System mengekstraksi Stego-Object dan dihasilkan ciphertext dan gambar. User menginputkan kembali ciphertext System mendekripsikan ciphertext menjadi plaintext. Pseudocode langkah-langkah yang mendeskripsikan dari

Pseudocode merupakan urutan

algoritma-algoritma yang mempunyai struktur sederhana dengan tujuan untuk memudahkan manusia dalam memahami prinsip-prinsip algoritma. 3.3.3.1 Pseudocode Proses Enkripsi Berikut merupakan proses urutan langkah proses enkripsi data :
6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. uint Ar -- > v[0] uint Bl -- > v[1] uint sum -- > 0 uint delta -- > 0x9e3779b9; uint n -- > 32 while (n-- > 0) { sum -- > delta Ar -- > (Bl << 4) + k[0] ^ Bl + sum ^ (Bl >> 5) + k[1] Bl -- > (Ar << 4) + k[2] ^ Ar + sum ^ (Ar >> 5) + k[3] } v[0]-- > Ar v[1]-- > Bl Print Ar, Bl

Pada pseudocode nomor 1 sampai 16 merupakan proses utama dalam pengenkripsian menggunakan TEA, dimulai dengan membagi inputan menjadi 2 blok kemudian melakukan perumusan dengan penambahan delta dan kunci pada masing-masing blok yang merupakan 1 round. Proses akan berhenti sampai 32 round, dan menampilkan ciphertext.

Universitas Sumatera Utara

3.3.3.2 Pseudocode Proses Dekripsi Berikut merupakan proses urutan langkah proses dekripsi data :
1.uint n -- > 32 2.uint sum 3.uint Ar -- > v[0] 4.uint Bl -- > v[1] 5.uint delta -- > 0x9e3779b9 6.sum -- > delta << 5 7.while (n-- > 0) 8.{ 9.Bl -- > (Ar << 4) + k[2] ^ Ar + sum ^ (Ar >> 5) + k[3] 10.Ar -- > (Bl << 4) + k[0] ^ Bl + sum ^ (Bl >> 5) + k[1] 11.sum -- > delta 12.} 13. v[0] -- > Ar 14. v[1] -- > Bl 15. Print Ar, Bl

Proses pendekripsian dalam pseudocode mempunyai proses yang sama dalam enkripsi. Hanya proses pertukaran kunci yang memiliki perbedaan dalam mendekripsikan ciphertext sehingga menghasilkan plaintext.

Universitas Sumatera Utara

3.3.3.3 Pseudocode Proses Penyisipan Berikut merupakan proses urutan langkah proses penysipan data :
2. x, y -- > integer 3. x-- > awal.Width 4. y-- > awal.Height 5. r, g, b,panjang, x2 -- > integer 6. int panjang -- > tandai.TextLength 7. x2 -- > panjang/y 8. if (panjang % y != 0) 9. { 10. Then -- > x2 = x2 + 1 11. } 12. Bitmap akhir -- > new Bitmap(x+x2, y) 13. for (int i = 0; i < y; i++) 14. { 15. for (int j = 0; j < x; j++) 16. { 17. r -- > awal.GetPixel(j, i).R 18. g -- > awal.GetPixel(j, i).G 19. b -- > awal.GetPixel(j, i).B 20. akhir.SetPixel (j, i, Color.FromArgb(255, r, g, b)) 21. xh,yh,piksl -- > integer 22. xh-- > x 23. yh-- > 0 24. for (int jj = 0; jj < tandai.TextLength; jj++) 25. { 26. piksl -- > tandai.Text[jj] 27. akhir.SetPixel(xh, yh, Color.FromArgb(0, piksl, piksl, piksl)) 28. yh -- > yh + 1 29. if (yh % y == 0) 30. { 31. yh -- > 0 32. xh -- > xh + 1

Pada pseudocode diinisialisasikan terlebih dahulu kolom dan baris pada piksel citra, proses penambahan pesan dalam citra akan dilakukan secara vertikal, proses secara vertikal yang dimaksud adalah terjadinya penambahan kolom pada matriks citra dan memberi nilai 0 agar tidak terjadi penambahan baris. Kemudian dicetak pesan yang disisipkan dalam bentuk nilai piksel citra rgb.

Universitas Sumatera Utara

3.3.3.4 Pseudocode Proses Ekstrak Berikut merupakan proses urutan langkah proses penyisipan data :
1. x, y -- > integer 2. x-- >awal.Width 3. y-- >awal.Height 4. td-- > char 5. Tanda -- >string 6. for (int i = 0; i < x; i++) 7. tanda -- > " " 8. td -- > Convert.ToChar(awal.GetPixel(i, 0).R) 9. tanda -- > td 10. td -- > Convert.ToChar(awal.GetPixel(i, 1).R) 11. tanda -- > td 12. td -- > Convert.ToChar(awal.GetPixel(i, 2).R) 13. tanda -- > td 14. td -- > Convert.ToChar(awal.GetPixel(i, 3).R) 15. tanda -- > td 16. if-- > (tanda == "fian") 17. Bitmap asli -- > new Bitmap(i, y); 18. r, g, b,yy -- > integer; 19. for (int ii = 0; ii < asli.Height; ii++) 20. for (int j = 0; j < asli.Width; j++) 21. r -- > awal.GetPixel(j, ii).R 22. g -- > awal.GetPixel(j, ii).G 23. b -- > awal.GetPixel(j, ii).B 24. asli.SetPixel(j, ii, Color.FromArgb(255, r, g, b)) 25. pictureBox2.Image.asli 26. yy-- > 4 27. bool kondisi-- > true 28. for -- > (int j = i; j < x; j++) 29. while (kondisi) 30. td -- > Convert.ToChar(awal.GetPixel(j, yy).R) 31. hsl.Text -- > td; 32. yy -- > 1; 33. if (yy % y == 0) 34. kondisi -- > false 35. yy -- > 0 36. kondisi -- > true

Universitas Sumatera Utara

Proses ekstraksi pada pseudocode merupakan hasil dari proses penyisipan pesan ke dalam gambar, proses dimulai dengan memeriksa nilai piksel pesan secara vertikal, kemudian pembacaan selesai setelah diberi tanda nilai piksel "fian". Dan pesan akan dikeluarkan untuk diterima oleh user. 3.3.4 Flowchart Sistem Flowchart adalah representasi grafik dari langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing simbol merepresantasikan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan input, pemrosesan input, dan diakhiri dengan penampilan output. Flowchart melukiskan suatu aliran kegiatan dari awal hingga akhir mengenai suatu langkah-langkah dalam penyelesaian suatu masalah. Masalah tersebut bisa bermacam-macam, mulai dari masalah yang sederhana sampai masalah yang kompleks. Masalah yang dihadapai tentunya masalah pemrograman. Sistem ini terdiri dari beberapa proses, yaitu proses enkripsi dan dekripsi dengan menggunakan algoritma tiny encryption algorithm, dan proses penyembunyian data enkripsi menggunakan end of file.

3.3.4.1 Flowchart Proses Algoritma Enkripsi Data Tiny Encryption Algorithm Dan Penyembunyian Data End Of File Pengirim ingin melakukan pengiriman data sehingga dilakukan proses pengenkripsian data yang menggunakan tiny encryption algorithm , dan dihasilkan sebuah ciphertext kemudian secara bersamaan diinputkan citra gambar yang berformat(*.bmp) dan diembedding menggunakan end of file, kemudian dilakukan pengekstrakan untuk mengeluarkan kembali ciphertext dan gambar asli kepada penerima pesan, dan penerima pesan mendekripsikan pesan menggunakan tiny encryption algorithm. Dimana flowchart sistem sebagai berikut :

Universitas Sumatera Utara

Keterangan Gambar 3.3 : 2. Input Plaintext secara langsung oleh user atau input data berupa file(*.txt). 3. Enkripsi Algorithm. 4. Menghasilkan Ciphertext. 5. Masukan(input) citra yang berformat bmp. 6. Proses Embedding dengan menggunakan steganografi EOF. 7. Menghasilkan output stego object plaintext menggunakan Tiny Encryption

Gambar 3.3 Proses enkripsi teks dan embedding pesan Proses pada gambar 3.3 dilakukan pengenkripsian teks dengan menggunakan TEA dan akan dilakukan proses penyisipan EOF setelah enkripsi teks menjadi ciphertext. Ciphertext yang telah disisipkan akan menjadi citra stego-object.

Universitas Sumatera Utara

Keterangan Gambar 3.4: 1. Hasil Citra gambar Stego-object (*.bmp) 2. Ekstraksi dengan menggunakan EOF. 3. Menghasilkan output berupa ciphertext dari gambar(*.bmp). 4. Dekripsi ciphertext dengan kriptografi TEA. 5. Menghasilkan output berupa Plaintext.

Gambar 3.4 Proses ekstraksi pesan Pada gambar 3.4 proses ekstraksi pesan akan dilakukan setelah menginputkan citra stego-object, dimana akan dikeluarkan citra asli dan ciphertext yang dikirim oleh user. Pendekripsian akan dilakukan dengan menggunakan TEA dan menghasilkan plaintext.

Universitas Sumatera Utara

3.3.4.2 Flowchart Proses Enkripsi


Keterangan Gambar 3.5 : 1.1 1.2 Input Plaintext(*.txt). Blok Plaintext = 64 bit, kemudian dipartisi

Start

Input Plaintext (*.txt)

Blok = 64 bit, dipartisi ke 32 bit Menjadi 2 sub blok

2 Subblok A(r)= 32 bit dan B(r)=32 bit 1.3 Input Key = 8 sampai128 bit. Key dipartisi menjadi 4 subblok yang 1.4

Input Key (8 sampai 128 bit)

Terdiri dari Kunci[0]=32 bit, Kunci[1]=32 bit,


Partisi key menjadi 4 sublok Menjadi masing-masing 32 bit, Kunci [0],[1],[2],[3]

Kunci[2]=32 bit, Kunci[3]=32 bit. 1.5 1 Diinisialisasikan proses menjadi variabel i = Digunakan subblok plaintext A(r) dan key Digunakan subblok plaintext B(l) dan key Penambahan proses i=i+1 Jika i belum mencapai 32 proses, maka

i=1

1.6 1.7 1.8 1.9

dengan rumus A0(r) =A0(r) + f(B0(l),Kunci[0],Kunci[1], sum)


Ao(r)=Ao(r) + f(Bo(1),Kunci [0],Kunci [1], sum)

dengan rumus B0(r) =B0(r) + f(A0(l),Kunci[2],Kunci[3], sum)


Bo(l)=Bo(l) + f(Ao(r),Kunci [2],Kunci [3], sum)

dilakukan perulangan ke langkah (6).


i=i+1 Tidak i=32

10. Jika i=32, maka dihasilkan ciphertext.


ya

Ciphertext

end

Gambar 3.5 Enkripsi TEA Pada gambar 3.5 dijelaskan flowchart enkripsi pesan yang dilakukan proses secara detail dalam mengenkripsikan menggunakan algoritma TEA. Langkah -langkah yang dipaparkan pada penjelasan gambar merupakan fungsi utama enkripsi TEA.

Universitas Sumatera Utara

3.3.4.3 Flowchart Proses Dekripsi


Start

Keterangan Gambar 3.6: 1. Input Ciphertext(*.txt). 2. Blok Ciphertext = 64 bit, kemudian dipartisi 2 Subblok A(r)= 32 bit dan B(r)=32 bit 3. Input Key = 8 sampai 128 bit. 4. Key dipartisi menjadi 4 subblok yang Terdiri dari Kunci[0]=32 bit, Kunci[1]=32 bit, Kunci[2]=32 bit, Kunci[3]=32 bit. 5. Diinisialisasikan proses menjadi variabel i = 1 6. Digunakan subblok plaintext A(r) dan key dengan rumus A0(r) = A0(r)- +f(B0(l),Kunci[1],Kunci[0], sum) 7. Digunakan subblok plaintext B(l) dan key dengan rumus B0(r) = B0(r) --f(A0(l),Kunci[3],Kunci[2], sum) 8. Penambahan proses i=i+1 9. Jika i belum mencapai 32 proses, maka

Input Ciphertext (*.txt)

Blok = 64 bit, dipartisi ke 32 bit Menjadi 2 sub blok

Input Key (8 sampai 128 bit)

Partisi key menjadi 4 sublok Menjadi masing-masing 32 bit, Kunci [0],[1],[2],[3]

i=1

Ao(r)=Ao(r) - f(Bo(1),Kunci [0],Kunci [1], sum)

Bo(l)=Bo(l) - f(Ao(r),Kunci [3],Kunci [2], sum)

dilakukan perulangan ke langkah (6). 10. Jika i=32, maka dihasilkan ciphertext.

i=i+1

Tidak

i=32

ya

Plaintext

end

Gambar 3.6 Dekripsi TEA Gambar 3.6 menunjukkan flowchart Proses pendekripsian pesan, Proses dekripsi merupakan proses mengembalikan ciphertext menjadi plaintext dengan menjelaskan secara detail proses utama dekripsi TEA.

Universitas Sumatera Utara

3.3.4.4 Flowchart Embedding End Of File


Keterangan Gambar 3.7: 1. Input Ciphertext dan gambar (*.bmp).
Input Ciphertext + Gambar (*.bmp)

Start

2. Dibaca nilai dari setiap pixel file citra 3. Dilakukan penyeleksian terhadap file citra untuk menambahkan piksel ciphertext yang telah diubah ke dalam Ascii kemudian ditambah dengan penanda akhir file yang telah ditentukan.

Baca nilai setiap pixel file citra

4. Dipetakan menjadi citra. 5. Cita menjadi stego-object.

Menambahkan piksel file citra dari piksel ciphertxt yang telah di ubah ke ASCII dengan penanda akhir yang telah ditentukan

Petakan menjadi file citra baru

Stegoobject(*.bmp)

End

Gambar 3.7 Embedding EOF Gambar 3.7 menjelaskan mengenai alur proses penyisipan pesan dimulai dari penginputan pesan dan penggabungan pesan kedalam cover citra sehingga menghasilkan citra stego-object.

Universitas Sumatera Utara

3.3.4.5 Flowchart Ekstrak End Of File

Start

Keterangan Gambar 3.8: 1. Input stego-object(*.bmp).

Input Stego-Object (*.bmp)

2. Dibaca nilai dari setiap pixel file stego-object. 3. Dilakukan penyeleksian terhadap file stego-object . Penyeleksian dimulai dari awal file citra asli sampai akhir file citra asli,

Baca nilai piksel citra stego-object

4. Diambil piksel ciphertext setelah akhir file citra asli sampai dibatasi penanda akhir. 5. Dipetakan menjadi file. 6. Dihasilkan ciphertext dan citra asli.

Seleksi piksel file citra asli sampai akhir citra asli,

ambil piksel setelah akhir citra asli sampai penanda akhir

Petakan menjadi file

Citra asli + cipher text

End

Gambar 3.8 Ekstraksi EOF Gambar 3.8 menjelaskan dalam hal pemrosesan ekstraksi pada citra dengan penginputan stego-object, kemudian mengeluarkan pesan teks dan citra asli yang telah disisipkan.

Universitas Sumatera Utara

3.3.5 Perancangan Antarmuka Untuk perancangan antarmuka pemakai akan dirancang kedalam form, form yang dimiliki pada sistem adalah form menu, form pengirim, form penerima, form bantuan, form info. Pada penjelasan masing-masing form akan dibahas secara detail sebagai berikut 3.3.5.1 Tampilan Menu Utama Pada saat sistem dijalankan maka akan muncul tampilan pertama kali, yaitu tampilan halaman menu, yang dapat kita lihat pada gambar 3.9: 4

1 6

Gambar 3.9 Rancangan Form Menu Utama Beberapa komponen yang digunakan dalam perancangan antar muka form menu yaitu 1. Menu strip "Pengirim" digunakan untuk menampilkan form proses enkripsi dan embedding objek. 2. Menu strip "Penerima" digunakan untuk menampilkan form proses ekstrak dan dekripsi objek. 3. Menu strip "Info" digunakan untuk menampilkan data informasi pembuat software. 4. Menu strip "Petunjuk" digunakan untuk petunjuk penggunaan tombol(button) seperti enkripsi, dekripsi, embed, ekstrak.

Universitas Sumatera Utara

5. Menu strip "Keluar" digunakan untuk keluar dari aplikasi. 6. Label (implementasi pengenkripsian dan penyembunyian data menggunakan tiny encryption algorithm dan EOF) Disini label digunakan untuk menampilkan judul dari pembuatan tugas akhir. 7. Label (Muhammad Alfian 091401001) Disini label digunakan untuk menampilkan nama mahasiswa. 8. Picturebox "Logo USU" 3.3.5.2 Tampilan Form Pengirim Pada saat mengklik form pengirim, maka akan muncul halaman form pengirim sebagai berikut :

1 2

3 5 6 8

7 11 14

10 15

12

13

Gambar 3.10 Rancangan Form Sub Menu "Pengirim" Beberapa komponen yang digunakan dalam perancangan antar muka form "Pengirim" yaitu 4. Menu strip "menu", digunakan menampilkan form menu 5. Textbox berfungsi sebagai kunci. 6. Textbox berfungsi menginput plaintext. 7. Textbox berfungsi menampilkan ciphertext. 8. Button "cari" berfungsi mengambil file yang akan dimasukkan ke plaintext.

Universitas Sumatera Utara

9. Button " enkripsi" berfungsi mengenkripsi plaintext. 10. Textbox berfungsi menampilkan citra gambar. 11. Button "cari" berfungsi mengambil citra gambar yang akan diembed. 12. Textbox berfungsi menampilkan stego-object. 13. Button "simpan" berfungsi menyimpan file stego-object. 14. Button "Penyisipan" berfungsi menyisipkan pesan kedalam citra. 15. Textbox "jumlah karakter ciphertext" berfungsi menampilkan banyaknya jumlah pesan yang dikirim 16. Textbox "waktu enkripsi" berfungi menampilkan waktu enkripsi pesan. 17. Textbox "waktu penyisipan" berfungsi menampilkan waktu penyisipan pesan kedalam citra. 18. Label yang menerangkan nama pemilik program. 3.3.5.3 Tampilan Form Penerima Pada saat mengklik menu strip "Penerima", muncul tampilan form penerima maka akan muncul tampilan sebagai berikut : 1

5 2 9 12 10 13 3 11 14 6 7 8

Gambar 3.11 Rancangan Form Sub Menu "Penerima"

Universitas Sumatera Utara

Beberapa komponen yang digunakan dalam perancangan antar muka form "Penerima" yang terlihat pada gambar 3.11 yaitu 1. Menu strip "Kembali ke menu" berfungsi menampilkan form menu 2. Textbox berfungsi menampilkan citra gambar stego-object. 3. Textbox berfungsi menampilkan gambar asli. 4. Textbox berfungsi menginputkan kunci. 5. Textbox berfungsi menampilkan ciphertext hasil dari ekstraksi. 6. Button "Dekripsi" berfungsi mendekripsikan ciphertext menjadi plaintext. 7. Textbox berfungsi menampilkan plaintext hasil dari dekripsi. 8. Button " simpan " berfungsi menyimpan plaintext. 9. Button "cari" berfungsi mengambil citra gambar stego-object. 10. Button "Ekstraksi" berfungsi mengekstrakan citra gambar stego-object. 11. Button "simpan" berfungsi menyimpan gambar asli. 12. Textbox berfungi menampilkan waktu ekstraksi citra. 13. Textbox berfungsi menampilkan jumlah ciphertext. 14. Textbox berfungsi menampilkan waktu dekripsi.

Universitas Sumatera Utara

BAB 4 IMPLEMENTASI DAN PENGUJIAN

1.2 Implementasi Sistem Tahap implementasi dari sistem dilakukan Setelah perancangan sistem tiny encryption algorithm dan end of file telah dibuat. Implementasi dilakukan dengan menggunakan bahasa pemrograman visual studio C#. Implementasi dilakukan sesuai dengan perancangan yang dilakukan sebelumnya. Perancangan sistem yang baik akan memudahkan pengembangan sistem dalam tahap implementasi. 3. Spesifikasi Perangkat Keras Implementasi dalam spesifikasi perangkat keras yang digunakan untuk pengujian sistem ini adalah sebagai berikut : 6. Processor Intel Core 2 Duo. 7. Memory (RAM) 512. 8. Hardisk 160 GB. 9. Mouse dan Keyboard. 10. Monitor resolusi 1200 x 800 pixel. 4. Spesifikasi Perangkat Lunak Implementasi pada perangkat lunak yang digunakan pada sistem ini adalah sebagai berikut : 19. Sistem Operasi Windows 7. 20. Software Microsoft Visual Studio C#

Universitas Sumatera Utara

4.2 Tampilan Interface Tampilan interface merupakan hasil dari analisis dan peracncangan sistem yang merupakan awal konsep sehingga dapat mempermudah mengimplementasikan sistem yang akan dibuat. Tampilan interface terdiri dari 33. Form Menu 34. Form Pengirim 35. Form Penerima 36. Form Info 37. Form Bantuan Penjelasan mengenai masing-masing form akan dijelaskan secara detail seperti berikut ini : 4.2.1 Tampilan Menu Tampilan form menu merupakan awal dari mulainya program, terlihat pada gambar 4.1 :

Gambar 4.1 Tampilan Form Menu

Universitas Sumatera Utara

Pada form menu terdapat judul skripsi dan gambar dari logo universitas sumatera utara, dan terdapat menu strip yang berisikan "Pengirim", "Penerima", "Info", "Petunjuk". 4.2.2 Tampilan Form Pengirim Pada tampilan ini terdapat tempat yang disediakan untuk menginputkan Key sebelum memulai melakukan pengenkripsian pesan dan kemudian menginputkan plaintext ditempat yang tersedia, sehingga menghasilkan ciphertext. Setelah itu menginputkan cover sebagai tempat penyisipan pesan, sehingga menghasilkan stego-object. Terdapat juga tombol penyimpanan untuk stego-object. Tampilan yang dijelaskan dapat dilihat pada Gambar 4.2.

Gambar 4.2 Tampilan Form Pengirim 4.2.3 Tampilan Form Penerima Pada form pengungkapan terlebih dahulu menginput stego-object ditempat yang tertera pada form. Kemudian ditekan button "ekstrak" untuk menampilkan file data yang telah disisipi pada stego-object. File data berupa citra asli dan ciphertext yang ditampilkan pada bagian-bagian yang telah disediakan. Pada pengenkripsian ciphertext dibutuhkan penginputan Key terlebih dahulu, kemudian dengan

Universitas Sumatera Utara

menekan button dekripsi maka ciphertext akan menjadi plaintext. Secara detailnya dapat dilihat pada gambar 4.3:

Gambar 4.3 Tampilan Form Penerima 4.2.4 Tampilan Form Info Tampilan form info merupakan informasi biodata pembuat skripsi, berikut adalah tampilannya :

Gambar 4.4 Tampilan Form Info

Universitas Sumatera Utara

4.2.5 Tampilan Form Petunjuk Form petunjuk merupakan tampilan interface yang memberikan bantuan informasi mengenai penggunaan beberapa fungsi button. Berikut penjelasannya dapat dilihat pada gambar 4.5 :

Gambar 4.5 Tampilan Form Petunjuk 4.3 Pengujian Sistem Pada pengujian sistem dilakukan tahap simulasi untuk melihat baik dan tidak baiknya suatu sistem dalam memproses data security. Dapat dilihat penjelasan secara detail mengenai pemahaman proses sebagai berikut : 4.3.1 Pengenkripsian Data Tahap pengenkripsian data, memasukkan plaintext Key terlebih dahulu, kemudian

menginput secara langsung plaintext yang telah tersedia, maupun mencari dengan mengambil data yang tersimpan dikomputer, sehingga menghasilkan sebuah ciphertext.berikut gambar secara detail :

Universitas Sumatera Utara

Gambar 4.6 Proses cari plaintext Dan berikut tampilan proses pengenkripsian data:

Gambar 4.7 Proses Enkripsi Data Setelah menekan tombol enkripsi maka menghasilkan sebuah ciphertext beserta menampilkan waktu proses enkripsi pesannya.

Universitas Sumatera Utara

4.3.2 Embedding Image Tahap embedding image adalah proses penyisipan pesan kedalam gambar. Untuk melakukan proses embedding image , dilakukan terlebih dahulu proses inputan gambar sebagai cover object, sehingga proses embedding image dapat dilakukan,.

Gambar 4.8 Proses Inputan Cover Object Selanjutnya dilakukan embedding image pada button "embed", sehingga menghasilkan sebuah stego-object beserta waktu proses penyisipan. Berikut detail gambar 4.9:

Gambar 4.9 Proses Embedding Image

Universitas Sumatera Utara

4.3.3 Extraction Image Tahap Extraction Image merupakan proses mengekstrak/mengeluarkan data yang berupa citra image dan pesan yang disisipkan beserta waktu proses. Penerima menginputkan terlebih dahulu stego-object, kemudian memilih button "ekstrak".

Gambar 4.10 Proses Extraction Image 4.3.4 Pendekripsian Data Selanjutnya dilakukan pendekripsian ciphertext, melakukan penginputan key terlebih dahulu kemudian melakukan pendekripsian dengan menekan button "dekripsi" sehingga menghasilkan plaintext, Seperti terlihat gambar 4.11:

Gambar 4.11 Proses pendekripsian Image

Universitas Sumatera Utara

4.4 Hasil Pengujian Tahap hasil pengujian yaitu menampilkan hasil pengujian sesuai dengan tujuan penelitian sebelumnya, ada 3 tujuan yang diinginkan dalam pengujian sistem ini: 1.10 Analisis penggabungan enkripsi dan penyembunyian data.

Pada tujuan ini telah ditampilkan pada sub bab 4.3 . Pengujian sistem, sehingga dapat dilihat proses penggabungan pengenkripsian dan penyembunyian data , yang dilakukan sistem dengan proses yang baik. Namun terdapat kendala pada saat memproses ukuran data yang cukup besar, sehingga membutuhkan waktu lama. Pada tujuan ini juga membahas bahwa dapat dilihat perbedaan antara citra asli dengan citra penggabungan enkripsi dan penyembunyian data yang disebut juga citra stego-object. Dimana pada citra asli tidak memiliki warna blur, sedangkan pada citra stego-object memiliki warna blur diakhir secara vertikal, besar atau kecilnya warna blur tergantung dari ukuran data yang disisipkan. Berikut detail gambar dari penjelasannya :

Gambar 4.12 Citra Asli 1.11

Gambar 4.13 Citra Stego-Object

Analisis hasil ukuran file citra (*.bmp), sebelum dan setelah dilakukan

proses penyisipan pesan Pada tujuan ini dilakukan perbandingan antara citra gambar asli(*.bmp) sebelum dan setelah melakukan proses penyisipan pesan, pada citra gambar asli(*.bmp)

Universitas Sumatera Utara

sebelum melakukan penyisipan pesan memiliki ukuran yang lebih kecil dibandingkan dengan citra gambar asli(*.bmp) setelah melakukan penyisipan pesan, dapat dilihat pada gambar 4.14 dan 4.15 :

Gambar 4.14 Citra Asli Sebelum Disisipkan Pesan

Gambar 4.15 Citra Asli Setelah Disisipkan Pesan

1.12

Analisis hasil pendekripsian plaintext, setelah dilakukan penyisipan pada

citra gambar. Pada tujuan ini sebelumnya telah terdapat pada pembahasan sub bab 4.3 Pengujian sistem, proses hasil pendekripsian hasil plaintext dengan plaintext asli berhasil dengan hasil yang sama, dapat dilihat sebagai berikut :

Gambar 4.16 Inputan Plaintext

Gambar 4.17 Hasil Plaintext

Universitas Sumatera Utara

4.5 Pengujian Waktu Proses Data Pengujian waktu proses data yaitu membandingkan waktu antara satu ukuran data dengan ukuran data yang berbeda, dengan 4 perbandingan proses data yaitu pada saat enkripsi data, penyisipan data, pengekstrakan data, dan pendekripsian data dapat dilihat penjelasan berikutnya. 4.5.1 Pengujian Waktu Proses Enkripsi Dan Dekripsi Pengujian waktu proses enkripsi pesan dilakukan pada saat sebelum melakukan steganografi dan pengujian waktu proses dekripsi data dilakukan setelah melakukan ekstrak pada citra stego-object, sehingga didapat waktu dalam memproses data tersebut. Hasil pengujian sistem yang dapat dilihat sebagai berikut : Tabel 4.1 pengujian proses enkripsi dan dekripsi data No 1 2 3 4 5 Ukuran Plaintext (byte/kb) 8 byte 257 byte 1.03 kb 8.29 kb 24.8 kb Waktu Enkripsi (Milliseconds) 1446 1684 4496 16105 58656 Waktu Dekripsi (Milliseconds) 1550 1740 2888 3008 3243

Pada pengujian waktu proses enkripsi dan dekripsi data, telah dibuktikan pada tabel 4.1, bahwa semakin besar ukuran suatu file yang dienkripsi maupun yang didekripsi, semakin lama waktu yang diperlukan untuk memprosesnya, jika dibandingkan dengan file yang lebih kecil, memiliki waktu proses yang lebih cepat daripada ukuran yang besar.

Universitas Sumatera Utara

4.5.2 Pengujian Waktu Proses Penyisipan Dan Ekstrak Pengujian waktu proses penyisipan pesan dilakukan pada saat setelah pengenkripsian pesan sehingga menghasilkan ciphertext kemudian melakukan penyisipan ke citra gambar dengan pengujian waktu pada saat memproses data. Proses pengujian waktu Ekstrak dihasilkan setelah menghasilkan ciphertext dan mengembalikan citra gambar asli. Hasil pengujian sistem yang dapat dilihat pada tabel 4.2 sebagai berikut : Tabel 4.2 pengujian proses penyisipan dan ekstrak data No Ukuran Plaintext (byte/kb) 1 2 3 4 5 8 byte 257 byte 1.03 kb 8.29 kb 24.8 kb Jumlah Ciphertext (karakter) 32 1024 4112 33960 101936 Ukuran Citra (kb) 37.5 37.5 37.5 37.5 37.5 Waktu penyisipan (Milli seconds) 235 423 1640 101252 475953 Ukuran Citra Stego (kb) 50.5 54.5 66.5 183 448 Waktu Ekstrak (Milli seconds) 1199 1204 1821 24902 112795

Dari tabel 4.2 dapat diberikan kesimpulan bahwa penyisipan dengan menggunakan data ukuran lebih besar membutuhkan waktu yang lama dibandingkan dengan penyisipan data yang kecil. Mengenai ukuran citra asli, akan bertambah ukurannya apabila dilakukan penyisipan, sehingga ukuran citra asli lebih kecil dibandingkan dengan citra stego.

Universitas Sumatera Utara

4.6 Pengujian Antara Ukuran Pesan Yang Disisipkan Dengan Warna Blur Pada Citra Pengujian antara ukuran pesan dengan warna blur pada citra dilakukan pada ukuran besar atau kecilnya suatu pesan akan dibandingkan dengan banyak atau sedikitnya warna blur yang dihasilkan pada suatu citra. Untuk memberikan penjelasan secara detail akan dilihat pada tabel 4.3 sebagai berikut : Tabel 4.3 Pengujian Antara Ukuran Pesan Dengan Warna Blur Citra No 1 Ukuran Pesan 8 byte Warna Blur Pada Citra

257 byte

1.03 kb

8.29 kb

24.8 kb

Pada tabel 4.3 bahwa dapat diberikan kesimpulan mengenai pengujian antara ukuran data dengan warna blur pada citra dimana besarnya ukuran data yang disisipkan pada citra akan bertambah banyak warna blur pada citra.

Universitas Sumatera Utara

BAB 5 KESIMPULAN DAN SARAN 1.13 Kesimpulan Setelah melakukan pembahasan pada setiap bab dan teori yang ada dalam skripsi ini, dan setelah dilakukannya penelitian dan pengujian, maka penulis dapat menarik kesimpulan sebagai berikut : 11. Kriptografi tiny encryption algorithm dan steganografi end of file dapat diimplementasikan menjadi sebuah sistem yang berfungsi untuk pengamanan data antara user pengirim dan penerima. 12. Pada sistem ini memberikan pengamanan yang dibuat dengan kunci kriptografi, dimana kunci kriptografi dilakukan penginputan langsung oleh user yang berjumlah 8 bit sampai 128 bit. Dalam penelitian ini memiliki tanda pengenal pada steganografi yang didefault dengan kata "fian" untuk pembacaan pesan yang disisipkan dicitra gambar yang terletak pada akhir piksel. 13. Kecepatan rata-rata dalam waktu pengujian enkripsi dengan ukuran data rata-rata 6.65 kb adalah 16,4 detik, sedangkan kecepatan rata-rata dalam waktu pengujian dekripsi dengan ukuran data yang sama adalah 3 detik. 14. Kecepatan rata-rata dalam waktu pengujian penyisipan dengan ukuran citra rata-rata 37.5 kb dan ukuran data ciphertext 6.65 kb adalah 115 detik. Sedangkan kecepatan rata-rata waktu pengujian ekstrak dengan ukuran rata-rata citra stego 801 kb adalah 141 detik. 15. Citra stego memiliki warna blur, semakin besar ukuran pesan yang disisipkan, semakin banyak warna blur yang terdapat pada citra.

Universitas Sumatera Utara

1.14 Saran Untuk pengembangan lebih lanjut dari perangkat lunak ini maka penulis memberikan saran-saran sebagai berikut : 1.3 Sistem ini kedepannya dapat memproses data dengan ukuran yang besar seperti pada format doc. Dan memproses data dengan waktu yang efisien. 1.4 Sistem ini dapat dikembangkan melalui media seperti email.

Universitas Sumatera Utara

DAFTAR PUSTAKA [1] [2] [3] [4] [5] Kurniawan, Yusuf. 2004. Kriptografi : Keamanan Internet Dan Jaringan Telekomunikasi, Bandung: Informatika Bandung. Munir, Rinaldi. 2006. Kriptografi. Bandung: Penerbit Informatika. Wahana, Komputer. 2003. Memahami Model Enkripsi & Security Data. Yogyakarta: Andi Yogyakarta. Sutoyo, T., dkk. 2009. Teori Pengolahan Citra Digital. Yogyakarta: Andi Yogyakarta. Sari, Yunita. 2009. Perancangan Dan Implementasi Keamanan Data Menggunakan Sumatera Utara. [6] Wandani, Henny. 2012. Implementasi Sistem Keamanan Data dengan Menggunakan Teknik Steganografi End of File (EOF) dan Rabin Public Key Cryptosystem . Skripsi. Medan, Indonesia : Universitas Sumatera Utara. [7] Hendra, Andi. 2009. Analisa Perbandingan Kinerja Algoritma Twofish Dan TEA(Tiny Encriptiom Algorithm) pada data suara. Skripsi. Jurusan Matematika MIPA Universitas Tadulako [8] Andrianus Nani, Paskalis. 2009 . Penerapam Enkripsi Algoritma Blowfish Pada Proses Steganografi Metode Eof. Program Studi Teknik Informatika : Universitas Katolik Widya Mandira. [9] Wiliam, Khandar. 2009. Studi Mengenai Tiny Encryption Algorithm(TEA) dan Turunan-Turunannya(XTEA dan XXTEA). Program Studi Teknik Informatika : Institut Teknologi Bandung. [10] Prayudi, Yudi., dkk. 2004. Konsep Hidden Message Menggunakan Teknik Steganografi Dynamic Cell Spreading. Jurusan Teknik Informatika: Universitas Islam Indonesia. [11] Krisnawati. 2008. Metode Least Significant Bit(LSB) dan End Of File(EOF) Untuk Menyisipkan Teks Ke dalam Citra Grayscale. Jurusan Manajemen Informatika : STMIK AMIKOM Yogyakarta. Algoritma Simetri TEA Dengan Bahasa Pemrograman Delphi 7,0. Skripsi. Medan, Indonesia : Universitas

Universitas Sumatera Utara

LISTING PROGRAM

1. Form Penerima
namespace EOF { { public partial class Form1 : Form private void button1_Click(object sender, EventArgs e) { OpenFileDialog buka = new OpenFileDialog(); buka.Filter = "Ekstensi Bitmap|*.bmp"; { if (DialogResult.OK == buka.ShowDialog()) Bitmap gbr_asli = new Bitmap(buka.FileName); } { pictureBox1.Image = gbr_asli; }

private void button2_Click(object sender, EventArgs e) Bitmap awal = new Bitmap(pictureBox1.Image);

tandai.Text = "fian"+txtCipher.Text+"fian"; int x,y; x=awal.Width; y=awal.Height; int r, g, b; int x2; int panjang = tandai.TextLength; x2 = panjang/y; if (panjang % y != 0) { } x2 = x2 + 1;

RichTextBox tandai = new RichTextBox();

MessageBox.Show(panjang.ToString()); Bitmap akhir = new Bitmap(x+x2, y); for (int i = 0; i < y; i++) { for (int j = 0; j < x; j++) {

Universitas Sumatera Utara

akhir.SetPixel(j, i, Color.FromArgb(255, r, g, b)); } } if (txtCipher.Text == "") { MessageBox.Show("Isi pesan Mu dulu Oi..."); } { int xh,yh,piksl; xh=x; yh=0; for jj++) { } pictureBox2.Image = akhir; private void button3_Click(object sender, EventArgs e) { SaveFileDialog simpan = new SaveFileDialog(); if (simpan.ShowDialog() == DialogResult.OK) { ".bmp", System.Drawing.Imaging.ImageFormat.Bmp); } pictureBox2.Image.Save(simpan.FileName else

(int

jj

0;

jj

<

tandai.TextLength;

} private void button5_Click(object sender, EventArgs e) { try { txtPlain.Text = ""; OpenFileDialog OpenFileDialog(); bukatxt = new

bukatxt.InitialDirectory = ""; bukatxt.Filter = "File Text (*.txt)|*.txt"; bukatxt.FilterIndex = 1; bukatxt.RestoreDirectory = true; if (DialogResult.OK == bukatxt.ShowDialog())

Universitas Sumatera Utara

string bacaloh = ""; StreamReader objReader = new

StreamReader(bukatxt.FileName);

bacaloh = objReader.ReadLine(); while (bacaloh != null) { txtPlain.Text += bacaloh + "\n"; ; } bacaloh = objReader.ReadLine();

objReader.Close(); } } { catch (Exception ex) MessageBox.Show("Terjadi Kesalah pada \n- " + ex.ToString()); } }

private {

void

menuToolStripMenuItem_Click(object

sender, EventArgs e) Judul r = new Judul(); Form1 l = new Form1(); this.Dispose(); r.ShowDialog(); } private void

backFormUtamaToolStripMenuItem_Click(object sender, EventArgs e) { Form2 t = new Form2(); t.ShowDialog();

} {

public uint[] Aturan_Key(string Kunci)

Universitas Sumatera Utara

if (Kunci.Length <= 0 || Kunci.Length > 16) { karakter"); MessageBox.Show("Kunci } } return Ubah_Kunci; } { private void Proses_Rumus(uint[] v, uint[] k) uint Ar = v[0]; uint Bl = v[1]; uint sum = 0; uint n = 32; { Ar += (Bl << 4) + k[0] ^ Bl + sum ^ (Bl >> 5) + k[1]; k[3]; } v[0] = Ar; } { v[1] = Bl; Bl += (Ar << 4) + k[2] ^ Ar + sum ^ (Ar >> 5) + sum += delta; uint delta = 0x9e3779b9; while (n-- > 0) harus karakter antara 1 sampai 16

public void Proses_Rumus2(uint[] v, uint[] k) uint n = 32; uint sum; uint Ar = v[0]; uint Bl = v[1]; uint delta = 0x9e3779b9; sum = delta << 5; while (n-- > 0) {

Universitas Sumatera Utara

k[3]; k[1];

Bl -= (Ar << 4) + k[2] ^ Ar + sum ^ (Ar >> 5) + Ar -= (Bl << 4) + k[0] ^ Bl + sum ^ (Bl >> 5) + sum -= delta; } v[0] = Ar; v[1] = Bl; } public { if (Data.Length == 0) throw new ArgumentException("Panjang Data minimal harus 1 karakter."); uint[] Ubah_Kunci = Aturan_Key(Kunci); string samar_teks = string.Empty; uint[] penampung = new uint[2]; string proses_enkripsi(string Data, string

Kunci)

Kunci)

public {

string

proses_dekripsi(string

Data,

string

uint[] Ubah_Kunci = Aturan_Key(Kunci); int x = 0; int y = 0; MessageBox.Show(Data.Length.ToString()); uint[] penampung = new uint[2]; byte[] Ubah_Ascii = new byte[Data.Length / 8 *

2];

for (int i = 0; i < Data.Length; i += 8) { Ubah_Ascii[x++] = (byte)penampung[0]; y = x + ((Data.Length / 8) - 1);

Universitas Sumatera Utara

Ubah_Ascii[y++] = (byte)penampung[1];

System.Text.ASCIIEncoding.ASCII.GetString(Ubah_Ascii, Ubah_Ascii.Length); if '\0') dekripsi_string.Substring(0, dekripsi_string (dekripsi_string[dekripsi_string.Length 1]

string

dekripsi_string

0,

== =

dekripsi_string.Length - 1); }

return dekripsi_string;

private string ubah_int(uint masukan) { System.Text.StringBuilder Keluaran = new

System.Text.StringBuilder(); } private uint Ubah_String(string masukan) { uint Keluaran; } private { void txtKey_Validating(object sender,

CancelEventArgs e) if (txtKey.TextLength > 16) { "Panjang Key Maksimal 16

errorProvider1.SetError(txtKey, Karakter"); } { kosongs");

e.Cancel = true;

else if (txtKey.TextLength == 0) errorProvider1.SetError(txtKey, "Key tidak boleh

Universitas Sumatera Utara

} else } e)

e.Cancel = true;

errorProvider1.SetError(txtKey, "");

private void button4_Click(object sender, EventArgs { string plaintext = txtPlain.Text; string pass = txtKey.Text; if (plaintext.Length == 0) { MessageBox.Show("Plaintext Kosong"); } else { } } { Form2 a = new Form2(); a.Show(); } } txtCipher.Text = proses_enkripsi(plaintext, pass); txtPlain.Focus();

private void button6_Click(object sender, EventArgs e)

2. Form Penerima

namespace EOF { public partial class Form2 : Form { public Form2() { InitializeComponent();

Universitas Sumatera Utara

} private void button1_Click(object sender, EventArgs e) { OpenFileDialog buka = new OpenFileDialog(); buka.Filter = "Ekstensi Bitmap|*.bmp"; { if (DialogResult.OK == buka.ShowDialog()) Bitmap gbr_asli = new Bitmap(buka.FileName); pictureBox1.Image = gbr_asli;

} }

private void button2_Click(object sender, EventArgs e) { Bitmap awal = new Bitmap(pictureBox1.Image); TextBox hsl = new TextBox(); char td; int x=awal.Width, y=awal.Height; string tanda; for (int i = 0; i < x; i++) { if (tanda == "fian") { Bitmap asli = new Bitmap(i, y); int r, g, b; { for (int j = 0; j < asli.Width; j++) { r = awal.GetPixel(j, ii).R; g = awal.GetPixel(j, ii).G; b = awal.GetPixel(j, ii).B; b)); asli.SetPixel(j, ii, Color.FromArgb(255, r, g, } for (int ii = 0; ii < asli.Height; ii++)

pictureBox2.Image = asli; int yy=4;

Universitas Sumatera Utara

bool kondisi=true; {

for (int j = i; j < x; j++) while (kondisi) { td = Convert.ToChar(awal.GetPixel(j, yy).R); hsl.Text += td; yy += 1; if (yy % y == 0) { } } yy = 0; } kondisi = true; MessageBox.Show("Ada"); txtCipher.Text = hsl.Text; MessageBox.Show(txtCipher.Text.Length.ToString()); 4); txtCipher.Text = txtCipher.Text.Remove(txtCipher.Text.Length break; } { } } { } private void button4_Click(object sender, EventArgs e) { SaveFileDialog simpan = new SaveFileDialog(); if (simpan.ShowDialog() == DialogResult.OK) } if (i == (x - 1)) MessageBox.Show("tidak ada teks"); kondisi = false;

private void Form2_Load(object sender, EventArgs e)

Universitas Sumatera Utara

pictureBox2.Image.Save(simpan.FileName System.Drawing.Imaging.ImageFormat.Bmp); } { }

".bmp",

private void button5_Click(object sender, EventArgs e) string ciphertext = txtCipher.Text; string pass = txtKey.Text; { if (ciphertext.Length == 0) MessageBox.Show("Ciphertext Kosong"); txtPlain.Focus(); } { else Form1 frm1 = new Form1(); txtPlain.Text pass); } private EventArgs e) { Judul r = new Judul(); Form2 l = new Form2(); this.Dispose(); } r.ShowDialog(); void menuToolStripMenuItem_Click(object sender, } = frm1.proses_dekripsi(ciphertext,

private void button3_Click(object sender, EventArgs e) { Files|*.*"; saveFileDialog1.Filter = "Text Files|*.txt|All

saveFileDialog1.DefaultExt = "txt"; if (saveFileDialog1.ShowDialog() == DialogResult.OK) {

Universitas Sumatera Utara

string fname = saveFileDialog1.FileName; StreamWriter sw = new StreamWriter(fname, false); sw.WriteLine(txtPlain.Text); sw.Close(); } } } } MessageBox.Show("Data berhasil disimpan");

3. Form Petunjuk

namespace EOF { public partial class HELP : Form { public HELP() { InitializeComponent(); private EventArgs e) { Judul r = new Judul(); HELP l = new HELP(); this.Dispose(); } } } r.ShowDialog(); void } sender,

menuToolStripMenuItem_Click(object

4. Form Menu Utama

namespace EOF

Universitas Sumatera Utara

public partial class Judul : Form { public Judul() { } private { void pENGUJIANToolStripMenuItem_Click(object InitializeComponent();

sender, EventArgs e) Form1 i = new Form1(); Judul l = new Judul(); this.Hide(); } i.ShowDialog();

EventArgs e) {

private

void

hELPToolStripMenuItem_Click(object

sender,

HELP i = new HELP(); Judul l = new Judul(); this.Hide(); i.ShowDialog();

} private EventArgs e) { About i = new About(); Judul l = new Judul(); this.Hide(); } private { i.ShowDialog(); void aBOUTToolStripMenuItem_Click(object sender,

void

pENGUNGKAPANToolStripMenuItem_Click(object

sender,

EventArgs e)

Universitas Sumatera Utara