• Tidak ada hasil yang ditemukan

Implementasi Kombinasi Tiny Encryption Algorithm (TEA) Dan Algoritma Least Significant Bit(LSB)Untuk Keamanan File Text

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Kombinasi Tiny Encryption Algorithm (TEA) Dan Algoritma Least Significant Bit(LSB)Untuk Keamanan File Text"

Copied!
95
0
0

Teks penuh

(1)

(LSB) UNTUK KEAMANAN FILE TEXT

SKRIPSI

HELEN SRI MAHARANI

101401007

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

(LSB) UNTUK KEAMANAN FILE TEXT

SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperolehijazah Sarjana Ilmu Komputer

HELEN SRI MAHARANI

101401007

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(3)

(TEA) Dan Algoritma Least Significant Bit (LSB)Untuk Keamanan File Text

Kategori : Skripsi

Nama : Helen Sri Maharani

Nomor Induk Mahasiswa : 101401007

Program Studi : SARJANA (S1) ILMU KOMPUTER

Fakultas : ILMUKOMPUTER DAN TEKNOLOG INFORMASI

UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan,

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Drs. James Piter Marbun, M.Kom Drs. Partano Siagian, M.Sc NIP.195806111986031002 NIP.195112271980031001

Diketahui/Disetujui oleh

Program StudiS1 Ilmu Komputer Ketua,

(4)

IMPLEMENTASI KOMBINASI TINY ENCRYPTION ALGORITHM (TEA) DAN ALGORITMA LEAST SIGNIFICANT BIT

(LSB) UNTUK KEAMANANFILE TEXT

SKRIPSI

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

Medan,

(5)

IMPLEMENTASI KOMBINASI TINY ENCRYPTION ALGORITHM (TEA) DAN ALGORITMA LEAST SIGNIFICANT BIT

(LSB) UNTUK KEAMANAN FILE TEXT

ABSTRAK

Kemudahan akses media komunikasi membawa pengaruh terhadap keamanan informasi yang menggunakan media komunikasi sebagai alat penyampaian. Informasi menjadi sangat rentan diketahui, diambil, ataudimanipulasidandisalahgunakanolehpihak yang tidakberhak.Untukmengatasibanyaknyamasalahpencurianterhadapdata atauinformasi user oleh orang yang tidakberkepentingan, makaberkembanglahbeberapateknikpengamanan data, salahsatunyaadalahkriptografi.Padakriptografi,

dataakandiacaksehinggatidakdapatdibacadandimengertioleh orang lain. Tetapikriptografitidaksepenuhnyaaman.Untukmendapatkankeamanan yang lebihakurat,

makaakandiciptakanlahgabunganantarakriptografidansteganografi. Algoritmakriptografi yang akandigunakanadalahTiny Encryption Algorithm (TEA), sedangkanalgoritmasteganografi

yang akandigunakanadalahLeast Significant Bit(LSB). Data atauinformasiterlebihdahuludienkripsidenganalgoritmaTEA,

kemudiandisisipkankedalamsebuahcitradenganalgoritma LSB, sehinggahasildarienkripsidansteganografitidakakanmenimbulkankecurigaanbagipihak

lain.Berdasakanpengujian,perubahancitratidaktampakolehmata.Olehkarenaitu, dapatdisimpulkanbahwadenganmenggabungkankriptografialgoritma

TEAdansteganografialgoritma LSBmakakeamanan data akanlebihakuratdankinerjadari program adalahbaik.

(6)

IMPLEMENTATION AND COMBINATION OF TINY ENCRYPTION ALGORITHMAND LEAST SIGNIFICANT BIT

ALGORITHM TO SECURE TEXT FILE

ABSTRACT

The easier of media communication brings the effect toward the pacificate information that use in media communication as extendence information tobe easier to known taken or even manipulated, and mesused by other side that not deserve. To handle many problems of robbing toward data or user information by unauthorized people, then develops some pacification techniques of data. One of it is cryptography. In cryptography, data will be encrypted so it can not be read and understood by others, but cryptography is not safe completely, to get pasification more accurate, so it will be created by combinating between cryptography and steganography. Cryptographic algorithm that will be used is the Tiny Encryption Algorithm (TEA), whereas steganography algoriths that will be used is the Least Significant Bit (LSB), data or information are the first encrypted to TEA, then inserted into a image by the LSB algorithm. So the results of encryption and steganography will not suspicious for other, based of the texting, the alteration of image is not invisible. Therefore it can be concluded by combining cryptography TEA and steganografi LSB, so the pacification of data will be more accurate and performance of program is good.

(7)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel x

Daftar Gambar xi

Daftar Lampiran xii

Bab 1 Pendahuluan 1

1.1. Latar Belakang Masalah 1

1.2. Perumusan Masalah 3

1.3. Batasan Masalah 3

1.4. Tujuan Penelitian 3

1.5.Manfaat Penelitian 4

1.6. Metodologi Penelitian 4

1.7. Sistematika Penulisan 4

Bab 2 Landasan Teori 6

2.1.Pengertian dan Tujuan Kriptografi 6

2.2.Algoritma Kriptografi 7

2.2.1.Algoritma Simetris 7

2.2.2. Algoritma Asimetris 8

2.3.Tiny Encryption Algorithm 9

(8)

2.5. Steganografi 15

2.5.1. Definisi Steganografi 15

2.5.2. Teknik Steganografi 16

2.6. Least Significant Bit (LSB) 17

2.7. Tabel ASCII 18

Bab 3 Analisis dan Perancangan 21

3.1.Analisis Sistem 21

3.1.1. Analisis Masalah 21

3.1.2. Analisis Persyaratan (Requirement Analysis) 21 3.1.2.1. Analisis Fungsional 21 3.1.2.2. Analisis Non-Fungsional 22 3.2.Pemodelan Persyaratan Sistem dengan Use Case 22

3.2.1. Use Case Pengirim 24

3.2.2. Use Case Penerima 25

3.2.3. Activity Diagram 26

3.2.4. Sequence Diagram 27

3.2.4.1. Sequence Diagram Enkripsi dan Penyisipan 27 3.2.4.2. Sequence Diagram Ekstraksi dan Dekripsi 28

3.3. Pseudocode 29

3.3.1. Pseudocode Enkripsi 30

3.3.2. Pseudocode Dekripsi 30

3.4. Perancangan Antarmuka 31

Bab 4 Implementasi dan Pengujian 34

4.1. Implementasi 34

4.1.1.Tampilan Halaman Utama 34

4.1.2.Tampilan Menu Enkripsi 35

4.1.4. Tampilan MenuDekripsi 35

4.2. Pengujian Aplikasi 36

(9)

Bab 5 Kesimpulan dan Saran 48

5.1. Kesimpulan 48

5.2. Saran 48

(10)

DAFTAR TABEL

Halaman

Tabel 2.1. Format File Citra 13

Tabel 2.2. Daftar Tabel ASCII 19

Tabel 3.1. Use Case Diagram Form Pengirim 24

Tabel 3.2. Use Case Diagram Form Penerima 25

(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1.Proses EnkripsidanDekripsi 7

Gambar 2.2.Proses EnkripsiJaringanFeistel 10

Gambar 2.3.Proses PenyisipandanEkstraksidalamSteganografi 16

Gambar 2.4.Pengenalan LSB dan MSB 16

Gambar 3.1.Use Case Diagram Sistem 23

Gambar 3.2.Activity Diagram Aplikasi 26

Gambar 3.3. Sequence Diagram EnkripsidanPenyisipanPesan 28 Gambar 3.4. Sequence DiagramEkstraksidanDekripsiPesan 29

Gambar 3.5.RancanganTampilan Menu Utama 31

Gambar 3.6.Rancangan Menu Enkripsi 32

Gambar 3.7.Rancangan Menu Dekripsi 33

Gambar 4.1.Tampilan Menu Utama 34

Gambar4.2.Tampilan Menu Enkripsi 35

Gambar 4.3.Tampilan Menu Dekripsi 36

Gambar 4.4.Citra Sampel 39

Gambar 4.5.Proses Menginputkan Plaintext 41

Gambar 4.6.Proses Enkripsi 42

Gambar 4.7.Proses Menginputkan Citra 42

Gambar 4.8.Proses PenyisipanPesan 43

Gambar 4.9.Proses MenginputkanStego-Image 44

Gambar 4.10. Proses MembukaStego-Image 45

(12)

DAFTAR LAMPIRAN

Halaman

Listing Program A-1

(13)

IMPLEMENTASI KOMBINASI TINY ENCRYPTION ALGORITHM (TEA) DAN ALGORITMA LEAST SIGNIFICANT BIT

(LSB) UNTUK KEAMANAN FILE TEXT

ABSTRAK

Kemudahan akses media komunikasi membawa pengaruh terhadap keamanan informasi yang menggunakan media komunikasi sebagai alat penyampaian. Informasi menjadi sangat rentan diketahui, diambil, ataudimanipulasidandisalahgunakanolehpihak yang tidakberhak.Untukmengatasibanyaknyamasalahpencurianterhadapdata atauinformasi user oleh orang yang tidakberkepentingan, makaberkembanglahbeberapateknikpengamanan data, salahsatunyaadalahkriptografi.Padakriptografi,

dataakandiacaksehinggatidakdapatdibacadandimengertioleh orang lain. Tetapikriptografitidaksepenuhnyaaman.Untukmendapatkankeamanan yang lebihakurat,

makaakandiciptakanlahgabunganantarakriptografidansteganografi. Algoritmakriptografi yang akandigunakanadalahTiny Encryption Algorithm (TEA), sedangkanalgoritmasteganografi

yang akandigunakanadalahLeast Significant Bit(LSB). Data atauinformasiterlebihdahuludienkripsidenganalgoritmaTEA,

kemudiandisisipkankedalamsebuahcitradenganalgoritma LSB, sehinggahasildarienkripsidansteganografitidakakanmenimbulkankecurigaanbagipihak

lain.Berdasakanpengujian,perubahancitratidaktampakolehmata.Olehkarenaitu, dapatdisimpulkanbahwadenganmenggabungkankriptografialgoritma

TEAdansteganografialgoritma LSBmakakeamanan data akanlebihakuratdankinerjadari program adalahbaik.

(14)

IMPLEMENTATION AND COMBINATION OF TINY ENCRYPTION ALGORITHMAND LEAST SIGNIFICANT BIT

ALGORITHM TO SECURE TEXT FILE

ABSTRACT

The easier of media communication brings the effect toward the pacificate information that use in media communication as extendence information tobe easier to known taken or even manipulated, and mesused by other side that not deserve. To handle many problems of robbing toward data or user information by unauthorized people, then develops some pacification techniques of data. One of it is cryptography. In cryptography, data will be encrypted so it can not be read and understood by others, but cryptography is not safe completely, to get pasification more accurate, so it will be created by combinating between cryptography and steganography. Cryptographic algorithm that will be used is the Tiny Encryption Algorithm (TEA), whereas steganography algoriths that will be used is the Least Significant Bit (LSB), data or information are the first encrypted to TEA, then inserted into a image by the LSB algorithm. So the results of encryption and steganography will not suspicious for other, based of the texting, the alteration of image is not invisible. Therefore it can be concluded by combining cryptography TEA and steganografi LSB, so the pacification of data will be more accurate and performance of program is good.

(15)

BAB 1

PENDAHULUAN

1.1. Latar Belakang Masalah

Dengan adanya perkembangan internet yang sangat pesat sekarang ini, menimbulkan pertanyaan bagi para pengguna tentang kerahasiaan suatu informasi yang akan dikirim kepada seseorang. Tidak sedikit orang yang telah dirugikan oleh para pencuri yang tidak bertanggung jawab yang mengambil secara diam-diam informasi dari pengirim pesan maupun si penerima pesan, sehingga informasi yang berupa pesan maupun data yang sangat rahasia yang dikirim oleh si pengirim akan berubah, akibatnya banyak pihak yang akan dirugikan. Oleh sebab itu, untuk menghindari hal tersebut dibangunlah beberapa teknik pengamanan data atau informasi yang bertujuan untuk meningkatkan keamanan data tersebut di antaranya teknik Enkripsi dan teknik Steganografi.

Enkripsi adalah proses pengamanan suatu informasi dengan cara membuat informasi itu kedalam bentuk acak agar tidak dapat dibaca atau dimengerti oleh orang yang tidak berkepentingan. Algoritma yang digunakan untuk enkripsi telah mengalami perkembangan, mulai dari algoritma klasik hingga algoritma modern. Akan tetapi enkripsi tetap memiliki kelemahan, yaitu hasil enkripsi akan menjadi karakter acak yang menimbulkan kecurigaan bahwa pesan tersebut adalah pesan yang sangat penting. Kriptoanalisis merupakan teknik yang digunakan untuk memecahkan kriptografi, di mana data acak dapat dikembalikan ke data semula, sehingga kriptografi tidak sepenuhnya aman.Berdasarkan kekurangan yang dimiliki oleh kriptografi tersebut maka dikembangkanlah pula teknik pengaman data dengan menyembunyikan informasi ke dalam sebuah media, seperti gambar atau video, sehingga informasi tersebut tidak terlihat, teknik ini disebut juga dengan teknik steganografi.

(16)

memecahkan apakah sebuah gambar atauvideo mempunyai informasi yang disisipkan, sehingga teknik steganografi juga belum sepenuhnya aman.

Dalam sebuah penelitian yang dilakukan oleh Eike dan Krzysztof dijelaskan bahwa banyak terjadi serangan terhadap data user meskipun data tersebut telah dienkripsi. Enkripsi tidak akan menjamin keamanan sebuah data, banyak data yang telah dienkripsi dapat dipecahkan, seiring dengan banyaknya kriptoanalisis yang telah berkembang saat ini (Klitz & Pietzak, 2010).

Untuk meningkatkan keamanan data atau informasi, penulis akan membangun sebuah sistem pengaman data dengan menggabungkan teknik kriptografi dan steganografi. Kriptografi merupakan ilmu atau seni untuk menjaga keamanan pesan ketika pesan dikirim dari satu tempat ke tempat lain. Steganografi merupakan seni penyandian pesan ke dalam suatu gambar. Secara umum kriptografi dapat dibagi menjadi dua, 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 kuncidalam pengamanan data.

Algoritma yang akan penulis gunakan adalah algoritma klasik, yaitu Tiny Encryption Algorithm (TEA). Penelitian tentang TEA sudah pernah dilakukan dengan judul perancangan dan implementasi sistem keamanan data menggunakan algoritma simetri TEA dengan bahasa pemrograman Delphi 7.0 (Sari, 2009). Penelitian yang sama tentang TEA juga pernah dilakukan oleh Alfian dengan judul implementasi pengenkripsian dan penyembunyian data menggunakan End Of File dan Tiny Encryption Algorithm (Alfian, 2013).

(17)

Pada penelitian ini terdapat perbedaan dengan penelitian-penelian sebelumnya, yaitu terletak pada algoritma steganografi dan bahasa pemrograman yang digunakan, jika pada penelitian yang dilakukan oleh Alfian algoritma yang digunakan adalah End Of File (EOF), maka dalam penelitian ini akan digunakan algoritma LSB, karena kualitas stego image yang akan dihasilkan lebih baik daripada dengan EOF. Penelitian inijuga menggunakan bahasa pemrograman yang berbeda dengan penelitian yang dilakukan oleh Hermanda, jika pada penelitian yang dilakukan oleh Hermanda menggunakan bahasa pemrograman java, maka pada penelitian ini akan digunakan bahasa pemrograman Visual Studio 2010.

Berdasarkan pemaparan singkat yang telah diberikan, maka penulis ingin melakukan suatu penelitian yang berjudul “Implementasi Kombinasi Tiny

Encryption Algorithm (TEA) dan Algoritma Least Significant Bit (LSB) untuk Keamanan File”.

1.2. Perumusan Masalah

Berdasarkan latar belakang yang telah dikemukakan sebelumnya, maka yang menjadi perumusan masalah pada penelitian ini adalah bagaimana merancang suatu aplikasi pengamanan data yang baik dengan menggunakan kombinasi TEA dan Algoritma LSB.

1.3. Batasan Masalah

Batasan masalah yang diberikan agar tidak menyimpang dari penelitian ini adalah: 1. Algoritma yang digunakan untuk enkripsi pesan adalah TEA, dan algoritma

steganografi yang diguknakan adalah LSB.

2. Pesan/informasi yang disembunyikan berupa file teks (.*txt). 3. Jumlah kunci yang digunakan adalah 8 bit sampai 128 bit.

(18)

Tujuan dari penelitian ini adalah membangun sebuah sistem pengaman data yang kuat dengan enkripsi menggunakan TEA, lalu disisipkan ke dalam sebuah citra dengan teknik steganografi LSB.

1.5. Manfaat Penelitian

Penelitian ini bermanfaat untuk mengembangkan wawasan keilmuwan dan menambah

pengetahuan, khususnya permasalahan untuk kerahasiaan data dengan penyandian

untuk kemajuan wawasan dalam ilmu komputer.

1.6. Metodologi Penelitian

Dalam penelitian ini terdapat lima tahapan metodologi penelitian yang dilakukan, yaitu:

1. Studi Literatur

Pada tahap ini akan dilakukan studi kepustakaan melalui penelitian beberapa buku, makalah, jurnal, artikel-artikel dan situs internet mengenai kriptografi, enkripsi, citra digital, LSB, dan steganografi, yang bersesuaian dengan tugas akhir ini. 2. Analisis dan Perancangan

Dengan adanya rumusan dan batasan masalah, permasalahan dan kebutuhandianalisis disertai pembuatan UML.

3. Implementasi

Pada tahap ini dimplementasikan rancangan sistem yang telah dibangun menggunakan bahasa pemrograman Micrososft Visual Studio 2010.

4. Pengujian

Pada tahap ini dilakukan pengujian terhadap sistem dengan melakukan proses pengenkripsian dan kemudian pendekripsian dimana plaintextkeluaran harus sama dengan plaintextmasukan.

5. Dokumentasi

(19)

1.7. Sistematika Penulisan

BAB 1: PENDAHULUAN

Bab ini menjelaskan mengenai latar belakang pemilihan judul, rumusan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

BAB 2: LANDASAN TEORI

Pada bab ini dibahas mengenai teori-teori yang mendukung pembahasan pada bab selanjutnya.

BAB 3: ANALISIS DAN PERANCANGAN

Bab ini berisikan analisis permasalahan dan kebutuhan algoritma TEA dan algoritma LSB serta pemodelan sistem secara fungsional dan non-fungsional.

BAB 4: IMPLEMENTASI DAN PENGUJIAN APLIKASI

Bab ini berisikan rancangan struktur program dan desain antarmuka, serta memberikan gambaran dari rancang bangun yang lengkap kepada user dan implementasinya, yaitu menguji untuk menemukan kesalahan serta implementasi enkripsi/dekripsi data menggunakan TEA dan yang disisipkan kedalam gambar menggunakan LSB.

BAB 5: PENUTUP

(20)

BAB 2

LANDASAN TEORI

2.1. Pengertian dan Tujuan Kriptografi

Kriptografi adalah ilmu yang mempelajari tentang teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, integritas data, serta autentikasi data (Munir, 2006). Dalam menjaga kerahasiaan data,kriptografi mentransformasikan data jelas (plaintext) kedalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah sampai di penerima, ciphertext tersebut ditransformasikan kembali ke dalam bentuk plaintext agar dapat dikenali.

Terdapat empat tujuan dasar kriptografi, yaitu:

1) Confidentiality (kerahasiaan) yaitu isi pesan yang dikirim tidak diketahui oleh pihak yang tidak berhak.

2) Dataintegrity (keutuhandata) yaitu isi pesan harus utuh, dimana tidak terjadi manipulasi data (penghapusan, pengubahan, atau penambahan) oleh pihak yang tidak berhak.

3) Authentication(keotentikan) yaituberhubungan dengan identifikasi, baik secara kesatuan sistem atau informasi itu sendiri.

(21)

Kriptografi mengatasi masalah keamanan data dengan menggunakan sebuah kunci, yang dalam hal initidak dirahasiakan lagi. Kunci (key) adalah parameter yang digunakan untuk transformasi enciphering dan deciphering. Kunci biasanya berupastring atau deretan bilangan. Proses enkripsi dekripsi tersebut dapat dilihat pada gambar 2.1.

Gambar 2.1 Proses Enkripsi dan Dekripsi

2.2. Algoritma Kriptografi

Berdasarkan kunci yang digunakan untuk proses enkripsi dan dekripsi algoritma kriptografi dapat digolongkan menjadi dua jenis, yaitu algoritma simetris dan algoritma asimetris.

2.2.1. Algoritma simetris

Algoritma kriptografi simetris atau yang sering disebut algoritma kriptografi kunci privat merupakan algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan dekripsi. Keamanaan dari pesan yang dikirim tergantung pada kunci tersebut, apabila jatuh kepada tangan yang tidak berhak, maka dia dapat memperoleh isi pesan tersebut. Pada algoritma ini kunci yang digunakan berdasarkan kesepakatan antara si pengirim dan si penerima.

(22)

Algorithm (IDEA),Advanced Encryption Standard (AES), On Time Pad (OTP), A5, TEA, dan lain sebagainya.

Kelebihan algoritma simetris:

1. Algoritma Kriptografi simetri membutuhkan waktu yang sedikit untuk proses enkripsi maupun dekripsi.

2. Ukuran kunci simetri yang relatif pendek.

3. Dapat digukan untuk membangkitkan bilangan acak. 4. Dapat disusun untuk menghasilkan cipher yang kuat.

5. Otentikasi pengirim pesan langsung diketahui dari ciphertextyang diterima karena kunci hanya diketahui pengirim dan penerima pesan saja.

Kelemahan algoritma simetris:

1. Kunci simetris harus dikirim melalui saluran yang aman. Kedua entitas yang berkomunikasi harus menjaga kerahasiaan kunci tersebut.

2. Kunci harus diubah secara bertahap.

2.2.2. Algoritma Asimetris

Algoritma asimetris memiliki dua kunci yang berbeda untuk setiap prosesnya, yaitu kunci publik untuk proses enkripsi dan kunci privat untuk proses dekripsi. Kunci publik (public key) merupakan kunci yang boleh diketahui oleh orang lain, dan kunci privat (private key) merupakan kunci rahasia yang hanya boleh diketahui orang tertentu saja. Dengan kunci public, orang dapat mengenkripsi tetapitidak dapat mendekripsikannya, hanya orang yang memiliki kunci private yang dapat mendeskripsikannya. Beberapa algoritma yang menggunakan asimetri adalah Digital Signature Algorithm (DSA), RSA,Diffle-Hellman (DH), Elliptic Curve Cryptography (ECC), Kriptografi Quantum, dan lain sebagainya.

(23)

Tiny Encryption Algorithm (TEA) merupakan suatu algoritma sandi yang diciptakan oleh David Wheeler dan Roger Needham dari Computer Laboratory, Cambrigde University, England pada bulan November 1994. Algoritma ini mengenkripsi satu blok plaintext dengan jumlah bit tertentu dan menghasilkan blok ciphertext yang dirancang untuk penggunaan memori seminimal mungkin dengan kecepatan proses maksimal.

Sistem penyandingan dengan TEA menggunakan proses feistel network dengan menambahkan fungsi matematika berupa penambahan dan pengurangan sebagai operator pembalik selain XOR. Proses feistel network adalah membagi plaintext kedalam beberapa blok dan melakukan pertukaran letak blok dalam setiap round, yang akan memberikan efek konsep konfusi dan difusi.

(24)

Gambar 2.2 Proses Enkripsi Jaringan Feistel

Bilangan delta berasal dari golden number, bilangan delta konstan yang digunakan adalah 9E3779B9, dimana bilangan delta=(√5 -1)231. Suatu bilangan delta ganda yang berbeda digunakan dalam setiap round-nya 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 (Sari, 2009). Kemudian ke-64 bit tersebut dibagi menjadi dua bagian, yaitu sisi kiri (L0) sebanyak 32 bit dan di sisi kanan (R0) sebanyak 32 bit.

(25)

di-XOR-kan dengan penambahan sebelumnya. Kemudian di-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). Hasil penambahan ini di-XOR-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.

Berikut adalah langkah-langkah penyandian dengan algoritmma TEA dalam satu cycle (dua round).

1. Pergeseran (shift)

Blok plaintext pada kedua sisi yang masing-masing sebanyak 32bit akan digeser kekiri sebanyak empat (4) kali digeser ke kanan sebanyak lima (5) kali.

2. Penambahan

Setelah digeser ke kiri dan ke kanan, 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 utnuk 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.

(26)

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

feistel 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 k(1) terlebih dahulu kemudian k(0), demikian juga dengan semua

round genap digunakan k(3) terlebih dahulu kemudian k(2). Rumus proses dekripsi:

L0 = L0 + f (R0,k(l),k(0),sum), dan R0 + f(L0,k(3),k(2),sum) ……….…(3) Rumus (3) merupakan proses dekripsi semua round ganjil menggunakan k(1) terlebih dahulu kemudian k(2) (Hendra, 2009).

2.4. Citra Digital

Citra adalah representasi (gambaran) kemiripan, atau imitasi dari suatu objek. Citra sebagai suatu sistem perekaman data dapat bersifat objek berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan. Sedangkan Digital adalah penggambaran dari suatu keadaan bilangan yang terdiri dari angka 0 dan 1 atau

(27)

Tabel 2.1 Format File Citra

Nama Format Ekstensi Kegunaan

Microsoft Windows Bitmap Format

BMP Format untuk menyimpan bitmap yang dikembangkan Microsoft

Compuserve Graphics Interchange Format

GIF Format umum citra yang dirancang untuk keperluan transmisi melalui modem

Aldus Tagged Image File Format

TIF Format kompleks dan multiguna yang dikembangkan Aldus bersama Microsoft WordPerfect Graphics

Format

WPG Format vector yang juga mendukung citra bitmap

GEM Image Format IMG Format Bitmap yang dikembangkan untuk riset digital lingkungan GEM

Zsoft Pengolahan Citra Paintbrush Format

PCX Dirancang untuk menyimpan citra layar dan merupakan format bitmap yang didukung luas

Microsoft Paint Bitmap Format

MSP Secara fungsional mirip dengan IMG dan PCX, tetapi kurang populer

AT & T Targa Format TGA Format untuk 16 bit dan 24 bit citra warna penuh diciptakan untuk sistem Truevision Apple Macpaint Format PNTG Format asli dari Machintosh Macpoint

program Sun Microsystem raster

Format

RAS Format bitmap asli yang digunakan pada Sun SPARCS

X Windows X-11 Bitmap Format

XBM Format umum untuk menyimpan citra bitmap yang dikembangkan untuk X Windows

(28)

Citra Bitmap sering juga disebut Citra Raster. Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan mengguanakan bilangan biner atau sistem bilangan lain. Citra bitmap mempunyai kelebihan untuk memanipulasi warna tetapi untuk mengubah objek lebih sulit. Citra bitmap diperoleh dengan scanner, camera digital, video capture, dan lain-lain (Sutoyo, 2009).

2.4.2. TIFF (Tagged Image Format File)

TIFF merupakan format gambar terbaik dengan pengertian bahwa semua data dan informasi (data RGB, data CMYK, dan lainnya) yang berkaitan dengan koreksi atau manipulasi terhadap gambar tersebut tidak hilang. Format TIFF biasa digunakan untuk kebutuhan pencetakan dengan kualitas gambar yang sangat tinggi sehingga ukuran berkas untuk format ini biasanya sangat besar, karena dalam file ini gambar tidak dikompresi. Format ini mampu menyimpan gambar dengan kualitas hingga 32 bit. Format berkas TIFF juga dapat digunakan untuk keperluan pertukaran antar platform (PC, Macintosh, dan Silicom Graphic). Format ini juga mudah digunakan untuk transfer antar program.

2.4.3. JPG/JPEG (Joint Photographic Experts Assemble)

JPG adalah jenis data yang dikembangkan oleh Joint Photographic Experts Assemble (JPEG) yang dijadikan standar untuk para fotografer profesional. Seperti metode yang digunakan oleh format ZIP yang digunakan untuk menemukan pengulangan (redundancy) dalam data untuk kemudian dikompresi, JPG mengompresi data gambar dengan cara mengurangi bagian-bagian dari gambar untuk memblok pixel dalam gambar tersebut. Kompresi JPG mempunyai kekurangan yang bersifat permanen, namun teknologi ini hanya digunakan untuk menyimpan data yang besar di media penyimpanan yang terbatas, bukan untuk manipulasi foto.

(29)

dial-up, JPG adalah satu-satunya jenis data yang bisa dikirimkan dan dilihat secara bebas.

File JPG menggunakan teknik kompresi yang menyebabkan kualitas gambar turun (lossy compression), maka format gambar ini tidak terlalu baik untuk digunakan menyimpan gambar pajangan atau artistik. Setiap kali menyimpan ke tipe JPG dari tipe lain, ukuran gambar biasanya mengecil, dan kualitasnya turun dan tidak dapat dikembalikan lagi. Ukuran file BMP dapat turun menjadi sepersepuluh setelah dikonversi menjadi JPG. Meskipun dengan penurunan kualitas gambar, pada gambar-gambar tertentu (misalnya pemandangan), penurunan kualitas gambar-gambar hampir tidak terlihat mata.

2.5. Steganografi

2.5.1. Definisi Steganografi

Steganografi adalah seni dan ilmu menulis

pesan pada sebuah covertext, dimana yang mengetahui adanya pesan rahasia yang dikirim hanya si pengirim dan penerima. Syarat utama dari steganografi adalah tidak ada algoritma yang dapat mendeteksi keberadaan hidden message pada sebuah media yang telah disisipi hidden message tersebut. Pada steganografi dibutuhkan dua properti, yaitu covertext dan hidden message. Steganografi digital menggunakan media digital sebagai covertext, contohnya citra, suara, teks, video, dan untuk hidden message-nya juga dapat berupa citra, suara, teks ataupun video.Penyembunyian pesan rahasia kedalam sebuah media digital akan mengubah kualitas dari media tersebut. Untuk itu, steganografi memiliki tiga kriteria yang harus diperhatikan, yaitu:

1. Fidelity.

Kualitas covertext yang telah disisipi pesan tidak jauh berubah. artinya setelah pesan disisipkan ke covertext, maka hasil steganografi masih terlihat dengan baik, sehingga pengamat tidak atau jika pada covertext telah disisipkan pesan rahasia. 2. Robustness.

(30)

perbesaran gambar, pemotongan (cropping), enkripsi, dan sebagainya). Bila pada citra dilakukan operasi pengolahan citra, maka data yang disembunyikan tidak rusak.

3. Recovery.

Pesan yang disembunyikan dapat diambil kembali (recovery), karena tujuan utama dari steganografi adalah menyembunyikan pesan dari orang yang tidak berhak dan dapat diambil kembali saat diperlukan.

Proses penyisipan dan proses ekstraksi pesan dalam steganografi dapat dilihat pada gambar 2.3

Gambar 2.3 Proses Penyisipan dan Ekstraksi dalam Steganografi Keterangan:

fE = fungsi steganografi “embedding” fE-1 = fungsi steganografi “extracting”

Steganografi lebih banyak dilakukan daripada kriptografi karena pada kriptografi dilakukan penyandian dengan mengacak pesan yang mengakibatkan perubahan pada pesan sehingga mengundang kecurigaan orang yang membacanya. Tetapi pada steganografi proses penyandian dilakukan dengan menyisipkan pesan kedalam citra sehingga tidak menimbulkan kecurigaan dengan demikian kerahasiaan suatu pesan akan terjamin.

2.5.2.Teknik Steganografi

(31)

1. Teknik substitusi, yaitu dengan mensubtitusikan bagain yang redundant dari cover dengan pesan rahasia, contohnya: Least Significant Bit (LSB) Substitution.

2. Teknik tranformasi, yaitu menyisipkan pesan pada perubahan ruang dari media, seperti perubahan frekuensi media, contohnya: Discrete Cosine Transform (DCT) domain.

3. Teknik spread spectrum, yaitu dengan mengadopsi teknik penyebaran spectrum pada saat komunikasi wireless, dimana sinyal yang ditransmisikan dalam sebuah bandwith melebihi kebutuhan minimun untuk mengirim informasi.

4. Teknik statistik, yaitu dengan memecahkan cover kedalam blok-blok dan setiap blok digunakan untuk untuk menyimpan sebuah bit pesan. Teknik ini sulit untuk diterapkan pada banyak kasuskarena harus ada pengujian yang telah dilakukan dimana perbedaan antarablokcover yang dimodifikasi dan yang tidak dimodifikasi diijinkan.

5. Teknik distorsi, yaitu dengan menyisipkan pesan pada distorsi sinyal, dengan kata lain menyisipkan pesan diantara kekosongan sinyal yang ada, contohnya dengan menyisipkan pesan diantara jarak antarkata pada sebuah teks.

6. Teknik End Of File (EOF), yaitu dengan menyisipkan pesan pada bagian akhir dari cover file (Kurniawan,2004).

2.6.Least Significant Bit

(32)

tersebut secara berarti. Mata manusia tidak dapat membedakan perubahan kecil tersebut (Sutoyo, 2009).

Gambar 2.4 Pengenalan LSB dan MSB

Dengan mengunakan Teknik LSB, maka pesan rahasia akan disisipkan kedalam pixel-pixel dimana nilai perubahan pixelnya sangat kecil,sehingga perubahan citra tidak tertangkap oleh indra penglihatan manusia (Kurniawan, 2004). Pada teknik ini akan dilakukan modifikasi bit-bit pada setiap byte warna pada sebuah pixel. Nilai bit pada bit-bit LSB akan diganti dengan bit-bit pesan yang akan disisipkan.Berikut adalah gambaran cara kerja penyisipan pesan menggunakan teknik LSB:

1. Langkah pertama yaitu dengan mengakses bit-bit dari gambar.

2. Menyisipkan setiap satu bit dari text file ke setiap byte dari gambar, dimana disisipkan ke bagian ujung, sehingga perubahan gambar sangat kecil.

3. Ekstraksi pesan dari gambar, dengan cara mengambil bit terakhir dari setiap byte gambar yang telah disisipi bit-bit text file.

Misalkan penyisipan pada citra 24 bit. Setiap pixel panjangnya 24bit (3 x 3

byte), masing-masing komponen R (1 byte), G (1 byte), B (1 byte) 00110011 10100010 11100010

Misalkan pesan yang akan disisipkan adalah 010 Maka hasilnya adalah 00110010 10100011 11100010

Pergeseran warna sebesar 1 dari 256 warna tidak dapat dilihat oleh manusia secara visual perbedaan dengan citra aslinya.

2.7. Tabel ASCII

(33)

terdiri dari 8 bit, dimana terdiri dari 0 hingga 127 ASCII dasar ditambah dengan 128 hingga 255 karakter spesial dan nilai binernya, yaitu 00000000 hingga 11111111. Pada tabel ASCII ada 32 karakter yang bersifat karakter kontrol yang disebut juga

non-printable chacracters, dan karakter ini jarang digunakan. Pada tabel 2.2 diperlihatkan karakter-karakteryang sering digunakan.

Tabel 2.2 Daftar Tabel ASCII

Decimal Binary Value Decimal Binary Value Decimal Binary Value

(34)

55 00110111 7 88 01011000 X 123 01111011 {

Decimal Binary Value Decimal Binary Value Decimal Binary Value 56 00111000 8 89 01011001 Y 124 01111100 | 57 00111001 9 90 01011010 Z 125 01111101 } 58 00111010 : 91 01011011 [ 126 01111110 ~ 59 00111011 ; 92 01011100 \ 127 01111111 DEL 60 00111100 < 93 01011101 ]

(35)

BAB 3

ANALISIS DAN PERANCANGAN

3.1.Analisis Sistem

Analisis sistem merupakan uraian dari sebuah sistem kedalam bentuk yang lebih sederhana dengan maksud untuk mengidentifikas dan mengevaluasi permasalahan-permasalahan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat dilakukan perbaikan-perbaikannya.

3.1.1. AnalisisMasalah

Dengan mengidentifikasi masalah yang ada dalam sebuah sistem, akan membantu dalam menganalisis persyaratan sistem yang akan dikembangkan sehingga tujuan dari sistem tersebut tercapai. Masalah utama ayang akan dikembangkan oleh penulis adalah bagaimana mengamankan data atau informasi yang sangat rahasia sehingga tidak dapat diketahui atau diambil oleh pihak yang tidak berhak.

3.1.2.Analisis Persyaratan (Requirement Analysis)

Analisis persyaratan terdiri atas dua bagian yaitu analisis fungsional dan analisis non-fungsional.

3.1.2.1. Analisis Fungsional

Analisis fungsional dibutuhkan untuk mengetahui hal-hal yang dapat dilakukan oleh sistem. Berikut merupakan persyaratan yang harus dimiliki oleh sistem.

1. Sistem harus dapat melakukan enkripsi pesan dengan menggunakan Tiny Encryption Algorithm, kemudian menyisipkan pesan tersebut ke dalam sebuah citra dengan algoritma Least Significant Bit.

(36)

3.1.2.2 Analisis Non-Fungsional

Beberapa hal yang meliputi persyaratan non-fungsional adalah sebagai berikut: 1. Performa

Sebuah sistem yang dibangun harus dapat menunjukkan hasil proses kombinasi antara TEA dan LSB, dan dapat diekstraksi kembali yang berupa pesan dan citra asli.

2. Mudah digunakan

Sistem yang dibangun haruslah sederhana agar mudah dioperasikan oleh pengguna (user).

3. Hemat biaya

Tidak membutuhkan perangkat tambahan yang mengeluarkan biaya. 4. Dokumentasi

Sistem yang dibangun harus dapat menampilkan hasil pemrosesan yang dilakukan. 5. Manajemen kualitas

Sistem yang dibangun harus berkualitas, baik dalam tampilan maupun penggunaannya.

6. Kontrol

Sistem yang dibangun memiliki kontrol berupa enable dandisable, yaitu pada saat memulai sistem harus terlebih dahulu menginput key enkripsi, sedangkan proses penyisipan dalam keadaan tidak aktif. Untuk proses pengekstrakan, terlebih dahulu menginput stego-image, sedangkan proses dekripsi di-disable-kan.

3.2. Pemodelan Persyaratan Dengan Use Case

Use case adalah salah satu pemodelan yang digunakan untuk memodelkan persyaratan sistem. Dengan use case ini digambarkan siapa saja yang berinteraksi dengan sistem dan apa saja yang dapat dilakukan dengan sistem.

(37)

dimana yang menjadi aktor utamanya adalah pengguna. Pengguna dapat dikategorikan menjadi dua entitas, yakni pengirim dan penerima. Berdasarkan analisis kebutuhan sistem, beberapa hal yang harus dipenuhi oleh sistem, yaitu:

1. Sistem harus dapat melakukan enkripsi data atau informasi, kemudian sistem juga harus dapat menyisipkan chipertext ke file citra.

2. Sistem harus dapat mengekstraksi data atau informasi yang telah disisipkan kedalam citra, kemudian didekripsi.

Berikut Use Case Diagram yang akan dibuat berdasarkan analisis kebutuhan yang telah dilakukan

Gambar 3.1 Use Case Diagram Sistem

Pada gambaruse case diagram diatas,pengirim akan melakukan proses enkripsi dan melakukan penyisipan ciphertext kedalam sebuah citra, setelah pesan dienkripsi dan disisipkan ke dalam citra, maka si pengirim akan mengirimkan citra yang berisi pesan kepada si penerima. Setelah citra tersebut diterima, maka si penerima akan melakukan ekstraksi dan mendekripsikan pesan yang ada pada citra tersebut.

(38)

Proses use case pengirim menunjukkan use case program enkripsi dan steganografi secara detail dimana terdapat actor, pre-conditions, post-conditions dan serta action dari pengguna dan sistem. Untuk lebih jelas proses tersebut dapat dilihat secara detail pada Tabel 3.1. Dari tabel tersebut dapat diketahui bagaimana cara penggunaan program dan langkah-langkah dalam menggunakan sistem.

Tabel 3.1 Use Case Diagram Form “Pengirim” Nama Use

User melakukan aplikasi pengaman data

Post-conditi ons

User dapat melihat hasil penyisipan data yang berupa gambar stego-object

Success scenari o

1. User dapat membuka aplikasi keamanan data. 2. User memilih menu strip “pengirim”

3. Sistem menampilkan form pengirim.

4. Userterlebih dahulu menginputkan key kemudian plaintext.

5. User menekan button “encrypt” untuk mengenkripsikan dan menampilkan ciphertext.

6. User menekan button “cari” untuk menmginputkan citra asli sebagai cover dalam penyisipan pesan

7. User mengeksekusi dengan menekan tombol “sisipkan” untuk melakukan penyisipan pesan

8. Sistem menampilkan file stego-object

(39)

Alternative Flows

-

3.2.2.Use Case Penerima

Proses use case penerima memperlihatkan use case program ekstraksi dan dekripsi secara detail dapat dilihat secara detail dimana terdapat actor, pre-conditions, post-conditions dan serta action dari pengguna dan sistem. Untuk lebih jelas proses tersebut dapat dilihat secara detail pada Tabel 3.2. Dari tabel tersebut dapat diketahui bagaimana cara penggunaan program dan langkah-langkah dalam menggunakan sistem.

Tabel 3.2 Use Case Diagram Form “Penerima” Nama Use

User memilih menu strip “penerima”

Post-conditi ons

User dapat melihat hasil stego-object yang berupa citra asli dan ciphertext dan mendekripsikan ciphertext menjadi plaintext

Success scenari o

1. User dapat membuka aplikasi keamanan data. 2. User memilih menu strip “penerima”

3. Sistem menampilkan form penerima.

4. User menekan tombol “cari” untuk mengambil file stego-image.

(40)

7. Userterlebih dahulu menginputkan key sebelum melakukan dekripsi.

8. User menekan tombol “dekripsi” untuk menyimpan mendekripsikan ciphertext menjadi plaintext.

Alternative Flows

-

3.2.3. Activity Diagram

(41)

Sistem menampilkan menu utama

ciphertext

Sistem melakukan proses enkripsi

User menginputkan plaintext

Input cover image

Stego-image (*.bmp)

Input Stego-image (*.bmp)

Proses penyisipan pesan

Ekstraksi pesan dari stego-image

Ciphertext

Proses dekripsi

Plaintext

user sistem

Gambar 3.2Activity Diagram Aplikasi

(42)

disimpan sebagai stego-image. Lalu proses selanjutnya adalah mendekripsikan pesan kembali menjadi plaintext. User terlebih dahulu menginputkan stego-image, sistem akan melakukan proses ekstraksi pesan dari citra dan memperoleh ciphertext, lalu didekripsi, maka diperoleh plaintext seperti semula.

3.2.4. Sequence Diagram

Sequence diagram merupakan diagram yang mengambarkan bagaimana objek-objek saling bersinergi dalam beberapa kebiasaan (behavior). Sequence diagrammenunjukkan sejumlah contoh maupun pesan yang berada atau melewati objek-objek tersebut didalam use case. Sequence diagram mendeskripsikan bagaimana entitas dalam sistem berinteraksi, termasuk pesan yang digunakan saat interaksi. Sequence diagram dari aplikasi ini dibagi menjadi dua, yaitu:

1. Sequence diagrampada saat proses enkripsi dan penyisipan data atau informasi ke citra.

2. Sequence diagrampada saat proses ekstraksi dan dekripsi.

3.2.4.1.Sequence Diagram Enkripsi dan Penyisipan

Sequence diagramproses enkripsi pesan dan penyisipan pesan ke dalam sebuah citra. Pada tahap enkripsi dan penyisipan, pengirim akan menginputkan kunci dan data atau informasi untuk melakukan proses enkripsi. Setelah sistem memperoleh data dan kunci, sistem akan mengkonversi karakter data ke biner. Kemudian akan dilakukan proses enkripsi dengan menggunakan TEA dan hasil yang diperoleh berupa

(43)

Gambar 3.3Sequence Diagram Enkripsi dan Penyisipan

3.2.4.2. Sequence DiagramEkstraksi dan Dekripsi

(44)

Gambar 3.4Sequnce Diagram Ekstraksi dan Dekripsi

Pada tahap ekstraksi dan penyisipan, penerima akan menginputkan stego-image agar pesan ciphertext diekstrak dari citra. Citra yang diinputkan akan dikonversi ke dalam byte, lalu sistem akan mengambil bit ke 8 dari setiap byte citra sebanyak panjang binari data. Setelah itu, bit-bit tersebut akan dikonversi ke karakter yang merupakan plaintext awal.

3.3.Pseudocode

(45)

3.3.1.Pseudocode Enkripsi

Pseudocode untuk proses enkripsi pesan dengan menggunakan algoritma TEA. Pseudocode berikut merupakan proses utama dalam pengenkripsian pesan, yang menjelaskan bagaimana cara TEA membagi data inputan menjadi dua bagian, kemudian menambahkan delta dan key masing-masing sebanyak 1 round, dan proses akan berhenti sampai menampilkan ciphertext setelah 32 round. Pseudocode secara singkat dapat dituliskan sebagai berikut:

uint z = v[1];

3.3.2.Pseudocode Dekripsi

Pseudocode merupakan langkah proses mendekripsikan pesan dengan TEA, secara singkat dapat diuraikan seperti berikut:

(46)

v[0]=y; v[1]=z;

Proses pada enkripsi sama dengan proses dekripsi data hanya saja pertukaran kunci yang berbeda dalam mendekripsikan ciphertext sehingga menghasilkan plaintext.

3.4. Perancangan Antarmuka

Program yang dirancang menggunakan Microsoft Visual Studio 2010. Sistem yang dirancang terdiri dari beberapa form, yaitu form utama, form enkripsi, dan form dekripsi. Pada saat program dijalankan maka akan muncul form utama yang merupakan menu utama. Dari menu utama pengguna dapat memilih menu lainnya yang akan dijalankan, misalnya menu enkripsi, menu dekripsi, ataupun menu exit.

Pada saat pengguna menjalankan aplikasi, maka tampilan pertama kali yang akan muncul adalah tampilan menu utama program, di mana user diberi kebebasan untuk memilih salah satu menu yang tersedia, misalnya menu enkripsi, menu dekripsi, maupun menu exit untuk keluar dari aplikasi. Rancangan tampilan menu utama dapat dilihat pada gambar 3.5

(47)

Pada saat pengguna memilih menu enkripsi, maka sistem akan menampilkan form enkripsi yang berisi beberapa perintah untuk melakukan enkripsi, seperti menginputkan key, menginputkan plaintext, mengenkripsi sampai menghasilkan ciphertext, menyisipkan ke dalam sebuah citra hingga mendapatkan stego-image. Tampilan yang dirancang untuk menu dekripsi dapat dilihat pada gambar 3.6

Gambar 3.6 Rancangan Menu Enkripsi

(48)

Gambar 3.7 Rancangan Menu Dekripsi

(49)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi

(50)

4.1.1. Tampilan Menu Utama

Tampilan menu utama merupakan tampilan pertama yang akan muncul saat program dijalankan. Pada form menu utama terdapat beberapa menu yang dapat dipilih oleh

user, misalnya menu enkripsi, menu dekripsi, dan menu exit untuk keluar dari aplikasi. Menu utama juga menampilkan informasi tentang judul tugas akhir, nama, dan nim penulis. Tampilan menu utama dapat dilihat pada gambar 4.1

(51)

enkripsi menampilkan beberapa perintah seperti, perintah untuk menginputkan key, plaintext, maupun menginputkan cover-image, serta menyimpan kembali sebagai stego-image, tampilan menu enkripsi tersebut dapat dilihat pada gambar 4.2.

Gambar 4.2 Tampilan Menu Enkripsi

4.1.3 Tampilan Menu Dekripsi

Menu dekripsi akan tampil saat user membuat pilihan dekripsi pada menu utama program. Pada menu dekripsi terdapat perintah untuk menginputkan stego-image yang berisi file pesan yang akan diekstraksi terlebih dahulu sebelum didekripsikan menjadi

(52)

Gambar 4.3 Tampilan Menu Dekripsi

4.2. Pengujian Aplikasi

Pada pengujian sistem dilakuka simulasi untuk melihat baik atau tidaknya suatu sistem dalam proses enkripsi dan dekripsi sebuah pesan. Proses pengujian sistem yang dibangun dapat dilihat pada pembahasan berikut. Sebelum melakukan pengujian TEA, terlebih dahulu ditentukan plaintext yang banyaknya 128 bit, dan panjang key sebanyak 64 bit, sebagai contoh:

plaintext = ILKOMUSU

key = HELENSRIMAHARANI PLAINTEXT “ILKOMUSU”

Plaintext dibagi menjadi dua blok dalam blok A dan blok B ILKO =A

MUSU=B

kemudian key = 128 bit, dibagi menjadi 4 blok masing masing 32 bit kunci[0]=HELE

(53)

plaintext diubah menjadi kode ASCII, kemudian diubah menjadi biner

Key diubah menjadi kode ASCII, kemudian diubah ke biner “HELENSRIMAHARANI”

(54)

kunci[1] = 01001110010100110101001001001001 kunci[2] = 01001101010000010100100001000001 kunci[3] = 01010010010000010100111001001001

plaintext digeser ke kiri 4 bit, kemudian 5 bit ke kanan A(r) = 01001001010011000100101101001111 A(kiri) = 10001001010011000100101101001111 A(kanan) = 10100100101001100010010110100111

A(kiri) ditambah dengan kunci[0]

A(kiri) = 10001001010011000100101101001111 kunci[0] = 01001000010001010100110001000101 A(kiri)(kunci[0]) = 11011100110001011111110011110101

A(kanan) ditambah dengan kunci[1]

A(kanan) = 10100100101001100010010110100111 kunci[1] = 01001110010100110101001001001001 A(kanan)(kunci[1]) = 11101110111101110111011111101111

Plaintext awal A(r) ditambah dengan bit delta. Dimana nilai delta adalah konstan, dan diubah ke bentuk hexadesimal = 9E3779B9 dan diubah menjadi biner dengan membagi menjadi empat bagian

9E = 10011110 37 = 01110111 79 = 01111001 B9 = 10111001

A(r) awal ditambah dengan delta

(55)

A(kiri)(kunci[0]) = 11011100110001011111110011110101 = 00000011101110101000011100001010

kemudian di-XOR-kan dengan A(kanan)(kunci[1]):

= 00000011101110101000011100001010 A(kanan)(kunci[1]) = 11101110111101110111011111101111 = 11101101010011011111000011100101

plaintext B(letf) digeser ke kiri 4 bit, kemudian digeser ke kanan 5 bit: B(left) = 01001101010101010101001101010101 B(kiri) = 11010101010101010011010101010100 B(kanan) = 10100110101010101010100110101010

B(kiri) ditambah dengan kunci[2]:

B(kiri) = 11010101010101010011010101010100 kunci[2] = 01001101010000010100100001000001 B(kiri)(kunci[2]) = 11011101010101010111110101010101

B(kanan) ditambah dengan kunci[3]:

B(kanan) = 10100110101010101010100110101010 kunci[3] = 01010010010000010100111001001001 B(kanan)(kunci[3] = 11110110111010111110111111101011

plaintext awal B(left) ditambah dengan Delta:

B(left) = 01001101010101010101001101010101 Delta = 10011110011101110111100110111001 B(left)Delta = 11011111011101110111101111111101 kemudian di-XOR-kan dengan B(kiri)(kunci[2]):

(56)

B(kanan)(kunci[3] = 11110110111010111110111111101011 = 11110100110010011110100101000011

hasil akhir = A(kanan)(kunci[1] setelah diXOR ditambah dengan B(left)awal = 11101101010011011111000011100101

B(left) awal = 01001101010101010101001101010101

= 11101101010111011111001111110101 B1(L1)

hasil akhir= B(kanan[3]) setelah di XOR ditambah dengan A(r) awal: = 11110100110010011110100101000011 A(r) = 01001001010011000100101101001111

= 11111101110011011110101101001111 A1(R1)

Hasil enkripsi dari Tiny Encryption Algorithm dengan 2 round(1 cycle) adalah A1(L1) digabung denga B1(R1), namun proses enkripsi akan berakhir sampai 32 round (16 cycle), di mana setiap penyelesain 2 round digunakan hasil cipher sebelumnya untuk melanjukan 2 round berikutnya. Hasil ciphertext setelah 32 round dari studi kasus tersebut adalah " ZÀÆÇmÈ฀/฀ÝBâï/U฀Û ".

Citra yang digunakan sebagai sampel untuk cover-image dalam pengujian aplikasi yang dibangun adalah citra logo fakultas ilmu komputer dan teknologi informasi universitas sumatera utara, dengan format file citra .*bmp, .*jpg, dan .*tif. Citra sampel dapat dilihat pada gambar 4.4

(57)

pesan. Proses enkripsi pesan dimulai dengan menginputkan key sebanyak 128 bit pada kolom yang telah disediakan, lalu diikuti dengan menginputkan plaintext sebanyak 64 bit, dengan cara menuliskan langsung pada kolom yang tersedia atau dengan cara menginputkan file dengan format *.txt yang tersimpan dalam perangkat. Key dan plaintext tidak boleh kosong, setelah dimasukkan tekan tombol ”encrypt” untuk mengenkripsi pesan, setelah proses enkripsi selesai maka ciphertext akan tampil pada kolom yang telah disediakan. Proses menginputkan key dan plaintext dapat dilihat pada gambar 4.5.

Gambar 4.5 Proses Menginputkan Plaintext

Proses menginputkan key dan plaintext tekan tombol “encrypt” untuk mengenkripsi pesan, setelah proses enkripsi selesai maka hasil enkripsi akan tampil berupa

(58)

Gambar 4.6 Proses Enkripsi

4.2.2 Proses Penyisipan Pesan Kedalam Citra

Penyisipan pesan yang sudah dienkripsi kedalam ssebuah citra merupakan proses penting dalam sistem ini. Proses penyisipan pesan dimulai dengan cara menginputkan sebuah file citra dengan format *.bmp, *.jpg, atau *.tif yang tersedia dalam perangkat. Pilih citra sampel dengan nama logo ilkom, lalu tekan tombol open. Untuk lebih jelas proses tersebut dapat dilihat pada gambar 4.7.

(59)

tersebut akan disimpan kembali dengan “stego-image”. Jika proses penyisipan berhasil dilaksanakan maka sistem akan tampil seperti gambar 4.8.

Gambar 4.8 Proses Penyisipan Pesan

4.2.3 Tahap Pengujian Dekripsi Pesan

Setelah proses enkripsi dan penyisipan pesan kedalam citra selesai dilakukan, proses selanjutnya adalah pengujian tahap dekripsi pesan. Pengujian dekripsi pesan merupakan proses untuk mengembalikan pesan yang berupa ciphertext menjadi plaintext semula agar dapat dibaca oleh penerima pesan.

(60)

Gambar 4.9 Proses Input Stego-Image

(61)

Gambar 4.10 Proses Membuka Stego-Image

(62)

Gambar 4.11 Proses Dekripsi Pesan

4.3. Hasil Pengujian Sistem

(63)

yang

disisipkan

16 byte

yang

disisipkan

125 byte

File citra *.bmp

File citra *.jpg

File citra *.tif

(64)
(65)

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan hasil penelitian dan pengujian program enkripsi dengan Tiny Encryption Algorithm (TEA) dan steganografi dengan Least Significant Bit (LSB), maka dapat disimpulkan bahwa:

Kombinasi dari enkripsi TEA dengan algoritma steganogfrafi LSB dapat diimplementasikan menjadi sebuah sistem pengaman data yang baik bagi user pengirim maupun user penerima.

5.2. Saran

(66)

Alfian, Muhammad. 2013. ImplementasiPengenkripsiandanPenyembunyian Data Menggunakan Tiny Encryption Algorithm dan End Of File.Skripsi. Medan, Indonesia: Universitas Sumatera Utara.

Hendra, Andi. 2009. AnalisaPerbandinganKinerjaAlgoritmaTwofishdan TEA(Tiny Encriptiom Algorithm) padaData Suara.Skripsi.JurusanMatematika MIPA UniversitasTadulako.

Kurniawan, Yusuf. 2004. Kriptografi: Keamanan Internet danJaringanKomunikasi,Bandung: Informatika Bandung.

Komputer, Wahana. 2003. Memahami Model Enkripsi& Security Data. Yogyakarta: Andi Yogyakarta.

Munir, Rinaldi. 2006. Kriptografi. Bandung: Penerbit Informatika.

Rakhmat, Basuki. 2010. SteganografiMenggunakan Least Significant Bit denganKombinasiAlgoritmaKriptografiVegeneredan RC4. Program StudiTeknikInformatika: Universitas PGRI Yogyakarta.

Rojas, R. 1996. Neural Networks A Systematic Introduction.Berlin: Springer-Verlag. Sari, Yunita. 2009. PerancangandanImplementasiKeamanan Data

MenggunakanAlgoritmaSimetri TEA DenganBahasaPemrograman Delphi 7,0. Skripsi. Medan, Indonesia: Universitas Sumatera Utara.

Sejati, D. 2007. Studi dan Perbandingan Steganografi Metode EOF(End of File)dengan DCS(Dynamic Cell Spreading). Skripsi. Bandung, Indonesia : InstitutTeknologiBandung.

(67)

Public Class Form1

Inherits System.Windows.Forms.Form

Dim gambar As Bitmap

Dim PbAs Integer

Dim Pc As Integer

Dim rt, vM, vH, vB As Integer

Dim kataku(200) As String

Friend WithEventsbtnAmbil As System.Windows.Forms.Button

Friend WithEvents Pic2 AsSystem.Windows.Forms.PictureBox

Friend WithEvents Button1 AsSystem.Windows.Forms.Button

Friend WithEvents Kata AsSystem.Windows.Forms.TextBox

Friend WithEvents ToolStripMenuItem1

AsSystem.Windows.Forms.ToolStripSeparator

Friend

WithEventsFileToolStripMenuItemAsSystem.Windows.Forms.ToolStripMe

nuItem

Friend WithEvents Pic1 AsSystem.Windows.Forms.PictureBox

Friend WithEvents SFD AsSystem.Windows.Forms.SaveFileDialog

Friend WithEvents MenuStrip1 AsSystem.Windows.Forms.MenuStrip

Friend WithEvents GroupBox1 AsSystem.Windows.Forms.GroupBox

Friend WithEvents K3 AsSystem.Windows.Forms.TextBox

Friend WithEvents K1 AsSystem.Windows.Forms.TextBox

Friend WithEventsxkata As System.Windows.Forms.Label

Friend WithEvents K2 AsSystem.Windows.Forms.TextBox

Friend WithEventsxjumlah As System.Windows.Forms.Label

Friend WithEvents Button3 AsSystem.Windows.Forms.Button

Friend WithEvents Button4 AsSystem.Windows.Forms.Button

Friend WithEvents Button5 AsSystem.Windows.Forms.Button

Friend WithEvents Label2 AsSystem.Windows.Forms.Label

Friend WithEvents Button6 AsSystem.Windows.Forms.Button

Friend WithEvents Button7 AsSystem.Windows.Forms.Button

Friend WithEvents Button8 AsSystem.Windows.Forms.Button

Friend WithEventstk As System.Windows.Forms.TextBox

(68)

MyBase.New()

Private components As System.ComponentModel.IContainer

Friend WithEventskeyLabel As System.Windows.Forms.Label

Friend WithEventskeyTextBox As System.Windows.Forms.TextBox

Friend WithEventsDataLabelAsSystem.Windows.Forms.Label

Friend WithEventsencryptButton As System.Windows.Forms.Button

Friend WithEvents Label1 AsSystem.Windows.Forms.Label

Friend WithEventsDataTextBoxAsSystem.Windows.Forms.TextBox

Friend WithEventstxtchiper As System.Windows.Forms.TextBox

<System.Diagnostics.DebuggerStepThrough()> Private Sub

InitializeComponent()

Me.keyLabel = New System.Windows.Forms.Label()

Me.keyTextBox = New System.Windows.Forms.TextBox()

Me.DataLabel = New System.Windows.Forms.Label()

Me.encryptButton = New System.Windows.Forms.Button()

Me.Label1 = New System.Windows.Forms.Label()

Me.DataTextBox = New System.Windows.Forms.TextBox()

Me.txtchiper = New System.Windows.Forms.TextBox()

Me.btnAmbil = New System.Windows.Forms.Button()

Me.Pic2 = New System.Windows.Forms.PictureBox()

(69)

Me.FileToolStripMenuItem = New

System.Windows.Forms.ToolStripMenuItem()

Me.Pic1 = New System.Windows.Forms.PictureBox()

Me.SFD = New System.Windows.Forms.SaveFileDialog()

Me.MenuStrip1 = New System.Windows.Forms.MenuStrip()

Me.OFD = New System.Windows.Forms.OpenFileDialog()

Me.GroupBox1 = New System.Windows.Forms.GroupBox()

Me.tk = New System.Windows.Forms.TextBox()

Me.K3 = New System.Windows.Forms.TextBox()

Me.K1 = New System.Windows.Forms.TextBox()

Me.xkata = New System.Windows.Forms.Label()

Me.K2 = New System.Windows.Forms.TextBox()

Me.xjumlah = New System.Windows.Forms.Label()

Me.Button3 = New System.Windows.Forms.Button()

Me.keyLabel.Location = New System.Drawing.Point(42, 24)

Me.keyLabel.Name = "keyLabel"

Me.keyLabel.Size = New System.Drawing.Size(32, 24)

Me.keyLabel.TabIndex = 0

Me.keyLabel.Text = "Key"

Me.keyLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter

'

(70)

Me.keyTextBox.Name = "keyTextBox"

Me.keyTextBox.Size = New System.Drawing.Size(104, 20)

Me.keyTextBox.TabIndex = 1

Me.keyTextBox.Text = "12345678"

'

'DataLabel

'

Me.DataLabel.Location = New System.Drawing.Point(37, 69)

Me.DataLabel.Name = "DataLabel"

Me.DataLabel.Size = New System.Drawing.Size(88, 16)

Me.DataLabel.TabIndex = 2

Me.DataLabel.Text = "Plaintext"

'

'encryptButton

'

Me.encryptButton.Location = New System.Drawing.Point(40, 318)

Me.encryptButton.Name = "encryptButton"

Me.encryptButton.Size = New System.Drawing.Size(72, 28)

Me.encryptButton.TabIndex = 4

Me.Label1.Location = New System.Drawing.Point(42, 209)

Me.Label1.Name = "Label1"

Me.DataTextBox.Location = New System.Drawing.Point(40, 88)

Me.DataTextBox.Multiline = True

Me.DataTextBox.Name = "DataTextBox"

Me.DataTextBox.Size = New System.Drawing.Size(248, 75)

(71)

Me.txtchiper.Location = New System.Drawing.Point(40, 234)

Me.txtchiper.Multiline = True

Me.txtchiper.Name = "txtchiper"

Me.txtchiper.Size = New System.Drawing.Size(248, 78)

Me.txtchiper.TabIndex = 7

'

'btnAmbil

'

Me.btnAmbil.Location = New System.Drawing.Point(431, 473)

Me.btnAmbil.Name = "btnAmbil"

Me.btnAmbil.Size = New System.Drawing.Size(117, 29)

Me.btnAmbil.TabIndex = 22

Me.btnAmbil.Text = "AMBIL INFORMASI"

Me.btnAmbil.UseVisualStyleBackColor = True

Me.Button1.Location = New System.Drawing.Point(440, 318)

Me.Button1.Name = "Button1"

Me.Button1.Size = New System.Drawing.Size(111, 29)

Me.Button1.TabIndex = 20

Me.Button1.Text = "SIMPAN FILE"

Me.Button1.UseVisualStyleBackColor = True

'

'Kata

'

(72)

Me.Kata.Size = New System.Drawing.Size(242, 77)

Me.Kata.TabIndex = 14

'

'ToolStripMenuItem1

'

Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"

Me.ToolStripMenuItem1.Size = New System.Drawing.Size(57, 6)

'

Me.FileToolStripMenuItem.Size = New System.Drawing.Size(37,20)

Me.FileToolStripMenuItem.Text = "exit"

Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)

(73)

'GroupBox1

Me.GroupBox1.Location = New System.Drawing.Point(37, 738)

Me.GroupBox1.Name = "GroupBox1"

Me.tk.Location = New System.Drawing.Point(580, 28)

Me.tk.Multiline = True

Me.tk.Name = "tk"

Me.tk.ScrollBars = System.Windows.Forms.ScrollBars.Vertical

Me.tk.Size = New System.Drawing.Size(152, 139)

Me.tk.TabIndex = 26

Me.K3.ScrollBars = System.Windows.Forms.ScrollBars.Vertical

(74)

Me.K1.TabIndex = 20

'

'xkata

'

Me.xkata.AutoSize = True

Me.xkata.Location = New System.Drawing.Point(105, 25)

Me.xkata.Name = "xkata"

Me.xkata.Size = New System.Drawing.Size(39, 13)

Me.xkata.TabIndex = 21

Me.K2.ScrollBars = System.Windows.Forms.ScrollBars.Vertical

Me.K2.Size = New System.Drawing.Size(177, 105)

Me.xjumlah.Location = New System.Drawing.Point(273, 25)

Me.xjumlah.Name = "xjumlah"

Me.xjumlah.Size = New System.Drawing.Size(39, 13)

Me.xjumlah.TabIndex = 22

Me.xjumlah.Text = "Label1"

'

'Button3

'

Me.Button3.Location = New System.Drawing.Point(145, 424)

Me.Button3.Name = "Button3"

Me.Button3.Size = New System.Drawing.Size(75, 27)

Me.Button3.TabIndex = 26

Me.Button3.Text = "Sisipkan"

(75)

Me.Button4.Location = New System.Drawing.Point(304, 515)

Me.Button4.Name = "Button4"

Me.Button4.Size = New System.Drawing.Size(242, 28)

Me.Button4.TabIndex = 27

Me.Button4.Text = "Kirim Kata keChipertext"

Me.Button4.UseVisualStyleBackColor = True

'

'Button5

'

Me.Button5.Location = New System.Drawing.Point(304, 318)

Me.Button5.Name = "Button5"

Me.Button5.Size = New System.Drawing.Size(111, 28)

Me.Button5.TabIndex = 28

Me.Button5.Text = "BUKA GAMBAR"

Me.Button5.UseVisualStyleBackColor = True

'

'Label2

'

Me.Label2.BackColor =

System.Drawing.SystemColors.ButtonShadow

Me.Label2.Location = New System.Drawing.Point(303, 53)

Me.Label2.Name = "Label2"

Me.Button6.Location = New System.Drawing.Point(695, 319)

Me.Button6.Name = "Button6"

Me.Button6.Size = New System.Drawing.Size(111, 28)

Me.Button6.TabIndex = 30

Me.Button6.Text = "Kembali"

Me.Button6.UseVisualStyleBackColor = True

'

'Button7

'

(76)

Me.Button7.Text = "Button7"

Me.Button7.UseVisualStyleBackColor = True

'

'Button8

'

Me.Button8.Location = New System.Drawing.Point(196, 480)

Me.Button8.Name = "Button8"

Me.Button8.Size = New System.Drawing.Size(75, 23)

Me.Button8.TabIndex = 32

Me.Button8.Text = "Button8"

Me.Button8.UseVisualStyleBackColor = True

'

'Button9

'

Me.Button9.Location = New System.Drawing.Point(40, 169)

Me.Button9.Name = "Button9"

Me.Button9.Size = New System.Drawing.Size(110, 23)

Me.Button9.TabIndex = 33

Me.Button9.Text = "Buka File Text"

Me.Button9.UseVisualStyleBackColor = True

'

'Form1

'

Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)

Me.BackColor = System.Drawing.Color.WhiteSmoke

Me.ClientSize = New System.Drawing.Size(808, 386)

(77)

Me.Controls.Add(Me.txtchiper)

Private Sub encryptButton_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles encryptButton.Click

Gambar

gambar 2.1.
Gambar 2.2 Proses Enkripsi Jaringan Feistel
Tabel 2.1 Format File Citra
Gambar 2.3 Proses Penyisipan dan Ekstraksi dalam Steganografi
+7

Referensi

Dokumen terkait

Menurut David Kolb dalam (Ghufron dan Risnawati, 2014: 101) gaya belajar siswa dipengaruhi oleh tipe kepribadian, kebiasaan atau habit, serta berkembang sejalan dengan waktu

Berdasarkan hasil perhitungan nilai CVI, seluruh kriteria memperoleh nilai CVI sebesar 0.99, yang menunjukkan bahwa poster yang dibuat telah sesuai dengan kriteria

Berdasarkan hasil analisis data serta pembahasan maka dapat ditarik kesimpulan bahwa persepsi siswa mengenai keterampilan guru dalam menciptakan iklim kelas kolaboratif

Berdasarkan kesimpulan di atas, perlu kiranya diketahui beberapa saran sebagai berikut: (1) Sebagai pengambil kebijakan perlu kiranya mengapresiasi guru- guru

[r]

(Supplement 2.2.1-1) With the start signal, the robot moves to LA and attaches ʻdiscsʼ or ʻmagazines loaded with discsʼ according to Rule 2.4.1, then the robot leaves LA and works

[r]

Sehubungan dengan itu, saya menyambut baik penyelenggaraan Kontes Robot ABU Indonesia (KRAI), karena dalam KRAI setiap peserta harus mengeksplorasi kemampuannya