• Tidak ada hasil yang ditemukan

DENGAN METODE LEAST SIGNIFICANT BIT (LSB) TERHADAP PESAN TERENKRIPSI DENGAN ALGORITMA TWOFISH

N/A
N/A
Protected

Academic year: 2018

Membagikan "DENGAN METODE LEAST SIGNIFICANT BIT (LSB) TERHADAP PESAN TERENKRIPSI DENGAN ALGORITMA TWOFISH"

Copied!
86
0
0

Teks penuh

(1)

DENGAN METODE

LEAST SIGNIFICANT BIT

(LSB)

TERHADAP PESAN TERENKRIPSI

DENGAN ALGORITMA

TWOFISH

SKRIPSI

Diajukan untuk memenuhi sebagian persyaratan mendapatkan gelar

Strata Satu Jurusan Informatika

Disusun Oleh:

MARYAM

NIM. M0508050

JURUSAN INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SEBELAS MARET

SURAKARTA

(2)

i

AUDIO

STEGANOGRAFI

DENGAN METODE

LEAST SIGNIFICANT BIT

(LSB)

TERHADAP PESAN TERENKRIPSI

DENGAN ALGORITMA

TWOFISH

SKRIPSI

Diajukan untuk memenuhi sebagian persyaratan mendapatkan gelar

Strata Satu Jurusan Informatika

Disusun Oleh:

MARYAM

NIM. M0508050

JURUSAN INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SEBELAS MARET

SURAKARTA

Februari, 2013

(3)

SKRIPSI

AUDIO

STEGANOGRAFI

DENGAN METODE

LEAST SIGNIFICANT BIT

(LSB)

TERHADAP PESAN TERENKRIPSI

DENGAN ALGORITMA

TWOFISH

Disusun oleh:

MARYAM

M0508050

Skripsi ini telah disetujui untuk dipertahankan di hadapan dewan penguji

pada tanggal7 Februari 2013

Pembimbing I

Esti Suryani, S.Si., M.Kom

NIP. 19761129 200812 2 001

Pembimbing II

Abdul Aziz, S.Kom., M.Cs

(4)

iii

(5)

MOTTO

-(QS. Ali Imron : 146)

(6)

v

PERSEMBAHAN

Karya ini Penulis persembahkan kepada:

Keluarga besar tercinta, Bapak Ibu & Bapak Ibu mertua

Suamiku dengan kasih sayang dan dukungannya, love u

Kakak & Adek-adek bandel, terimakasih untuk lecutan

semangatnya

Keluarga keduaku, Teman-teman Informatika UNS

-sahabat khususnya 2008

Terimakasih telah berbagi suka dan duka bersama

:-)

(7)

AUDIO

STEGANOGRAFI

DENGAN METODE

LEAST SIGNIFICANT BIT

(LSB)

TERHADAP PESAN TERENKRIPSI

DENGAN ALGORITMA

TWOFISH

MARYAM

Jurusan Informatika. Fakultas MIPA. Universitas Sebelas Maret

ABSTRAK

Informasi atau pesan dapat menjadi sesuatu yang sangat berharga dan dijaga kerahasiaannya. Semakin berkembangnya teknologi informasi, maka berbagai cara juga berkembang untuk dapat mengetahui informasi yang bukan haknya. Keamanan informasi dapat dilakukan dengan teknik kriptografi dan steganografi. Penelitian ini berfokus pada enkripsi pesan teks menggunakan algoritma Twofish menghasilkan chiperteks. Selanjutnya chiperteks tersebut disisipkan ke dalam file audio dengan metode LSB sehingga dihasilkan file audio stego.

Pengujian pertama adalah uji kapasitas file audio untuk mengetahui kapasitas pesan terbesar yang mampu ditampung file audio. Pengujian kedua dilakukan dengan menghitung waktu eksekusi enkripsi, dekripsi, penyisipan, dan ekstraksi. Plainteks yang diujikan berformat .txt dengan ukuran kelipatan 5 KB. File audio yang digunakan menggunakan format .mp3 dengan genre musik instrumen, akustik, pop, dan rock. Pengujian ketiga dilakukan dengan menghitung nilai PSNR untuk mengukur kualitas suara file audio stego.

Hasil pengujian menunjukkan bahwa penerapan steganografi pada file audio

mp3 berhasil dilakukan. Kapasitas pesan yang mampu ditampung file mp3 dipengaruhi oleh banyaknya byte homogen. Waktu eksekusi penyisipan dan ekstraksi tercepat berturut-turut dimiliki oleh genre musik instrumen, akustik, rock, dan pop.

Genre musik instrumen mempunyai kapasitas pesan terbesar dan waktu eksekusi tercepat. Rata-rata waktu eksekusi untuk enkripsi, dekripsi, penyisipan, dan ekstraksi mengalami kenaikan secara linear. File audio stego mempunyai kualitas baik dengan nilai PSNR yang berkisar antara nilai 30 dB 50 dB. Hasil ekstraksi file audio stego memiliki tingkat kesesuaian karakter pesan 100% terhadap isi pesan asli.

Kata Kunci

(8)

vii

AUDIO STEGANOGRAPHY

WITH LEAST SIGNIFICANT BIT (LSB) METHODS

FOR MESSAGE ENCRYPTED

WITH TWOFISH ALGORITHM

MARYAM

Department of Informatics - Faculty of Mathematics and Natural Sciences

Sebelas Maret University

ABSTRACT

Information or message can be something very valuable and confidential. The continued development of information technology, it is also developing ways to find out information that is not right. Information security can be done with cryptography and steganography techniques. This study focuses on text messaging encryption using Twofish algorithm produces chipertext. Furthermore chipertext is inserted into the audio file that is generated by the method LSB stego audio files.

The first test is a test of the capacity of the audio file to determine the capacity of the largest message that can be accommodated audio files. The second test is done by calculating the execution time of encryption, decryption, insertion and extraction. Tested plaintext extension. txt with multiple size 5 KB. Audio files used to use format. mp3 by genre musical instruments, acoustic, pop, and rock. The third testing done by calculating the value of PSNR for measuring voice quality stego audio files.

The test results showed that the application of steganography in audio mp3 file successfully. Capacity of messages that can be accommodated mp3 files affected by the number of bytes homogeneous. Execution time insertion and extraction of the fastest consecutive owned by genre musical instruments, acoustic, rock, and pop. Genre of music instruments have the greatest message capacity and the fastest execution time. The average execution time for encryption, decryption, insertion and extraction increased linearly. Stego audio files have good quality with PSNR values ranging from 30 dB - 50 dB. Stego audio files extracted own level of fitness characters message 100% of the content of the original message.

Keyword

Audio Steganography, Least Significant Bit (LSB), Twofish

(9)

KATA PENGANTAR

senantiasa memberikan nikmat dan karunia-Nya sehingga penulis dapat

menyelesaikan penelitian dengan judul Audio Steganografi dengan Metode Least

Significant Bit (LSB) terhadap Pesan Terenkripsi dengan Algoritma Twofish , yang

menjadi salah satu syarat wajib untuk memperoleh gelar Sarjana Informatika di

Universitas Sebelas Maret (UNS) Surakarta.

Penulis mengucapkan terima kasih kepada semua pihak yang telah

memberikan bimbingan, dan motivasi dalam penelitian ini, terutama kepada:

1. Ibu Esti Suryani, S.Si., M.T. selaku Dosen Pembimbing I yang penuh kesabaran

membimbing, mengarahkan, dan memberi motivasi kepada penulis selama

proses penyusunan skripsi ini,

2. Bapak Abdul Aziz, S.Si, M.Kom selaku Dosen Pembimbing II yang penuh

kesabaran membimbing, mengarahkan, dan memberi motivasi kepada penulis

selama proses penyusunan skripsi ini,

3. Bapak dan Ibu dosen serta karyawan di Jurusan Informatika FMIPA UNS yang

telah mengajarkan ilmu dan membantu selama masa studi,

4. Ibu, Bapak, suami, kakak, dan adek-adek yang telah memberikan motivasi dan

doa sehingga penyusunan skripsi ini dapat terselesaikan,

5. Sahabat-sahabat Informatika, yang telah membantu penyelesaian skripsi ini.

Penulis berharap semoga skripsi ini dapat bermanfaat bagi semua pihak yang

berkepentingan.

Surakarta, 7 Februari 2013

(10)

ix DAFTAR ISI

Halaman

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN ... ii

HALAMAN PENGESAHAN ... iii

HALAMANMOTTO ... iv

HALAMAN PERSEMBAHAN ... v

ABSTRAK ... vi

ABSTRACT ... vii

KATA PENGANTAR ... viii

DAFTAR ISI ... ix

DAFTAR TABEL ... xii

DAFTAR GAMBAR ... xiii

DAFTAR LAMPIRAN ... xiv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Batasan Masalah ... 3

1.4 Tujuan Penelitian ... 3

1.5 Manfaat Penelitian ... 4

1.6 Sistematika Penulisan ... 4

BAB II TINJAUAN PUSTAKA ... 5

2.1 Dasar Teori ... 5

2.1.1 Kriptografi ... 5

2.1.2 Algoritma Twofish ... 14

2.1.3 Steganografi ... 28

(11)

2.1.4 Audio Steganografi ... 32

2.1.5 LSB (Least Significant Bit) ... 33

2.1.6 File Audio ... 34

2.1.7 MP3 ... 35

2.2 Penelitian Terkait ... 38

2.3 Rencana Penelitian ... 41

BAB III METODOLOGI PENELITIAN... 42

3.1 Studi Literatur ... 42

3.2 Tahap Identifikasi Masalah ... 42

3.3 Tahap Implementasi ... 42

3.4 Tahap Enkripsi ... 43

3.5 Tahap Penyisipan Pesan ... 45

3.6 Tahap Ekstraksi Pesan ... 49

3.7 Tahap Dekripsi Pesan ... 51

3.8 Tahap Pengujian ... 53

BAB IV PEMBAHASAN ... 55

4.1 Spesifikasi Perangkat ... 55

4.2 Hasil Pengujian dan Analisa ... 55

4.2.1 Pengujian Kapasitas Pesan yang Mampu ditampung File Audio ... 57

4.2.2 Pengujian Kecepatan Waktu Eksekusi ... 58

4.2.3 Pengujian Kualitas Suara ... 68

BAB V PENUTUP ... 71

5.1 Kesimpulan ... 71

5.2 Saran ... 72

(12)

xi

DAFTAR TABEL

Halaman

Tabel 2.1 Kotak S-boxes ...

Tabel 4.1 Atribut Data Sample File Audio . 56

Tabel 4.2 Atribut Data Sample File Teks... 56

Tabel 4.2 Atribut Data Sample File Teks... 56

Tabel 4.3 Hasil Pengujian Kapasitas Pesan yang Mampu ditampung File ..59

Tabel 4.5 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre

Akustik dengan Kapasitas Pesan 50000 byte 75000 byte ... 59

Tabel 4.6 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre

Intrumen dengan Kapasitas Pesan 10000 byte 35000 byte ... 59

Tabel 4.7 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre

Instrumen dengan Kapasitas Pesan 50000 byte 75000 byte ... 60

Tabel 4.8 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre

Pop dengan Kapasitas Pesan 10000 byte 35000 byte ... 60

Tabel 4.9 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre

Pop dengan Kapasitas Pesan 50000 byte 75000 byte ... 60

Tabel 4.10 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre

Rock dengan Kapasitas Pesan 10000 byte 35000 byte ... 61

Tabel 4.11 Waktu Eksekusi untuk Plainteks Berbeda pada File Audio mp3 Bergenre

Rock dengan Kapasitas Pesan 50000 byte 75000 byte ... 61

Tabel 4.12 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi

pada Plaintext 1 KB ... 62

Tabel 4.13 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi

pada Plaintext 5 KB ... 62

(13)

Tabel 4.14 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi

pada Plaintext 10 KB ... 63

Tabel 4.15 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi

pada Plaintext 15 KB ... 63

Tabel 4.16 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi

pada Plaintext dengan Kelipatan 5 KB ... 64

Tabel 4.17 Kenaikan Waktu Eksekusi Untuk Enkripsi, Dekripsi, Penyisipan, Dan

Ekstraksi Pada Plainteks Dengan Kelipatan 5 KB ... 66

Tabel 4.18 Rata-Rata Keseluruhan Waktu Eksekusi Berdasar Genre File mp3... 67

Tabel 4.19 Tabel Pengujian Kekuatan Sinyal File Audio Steganografi pada Plainteks

Kelipatan 5 KB ... 68

Tabel 4.20 Tabel Pengujian Kualitas Suara File Audio Steganografi Pada Plainteks

(14)

xiii

DAFTAR GAMBAR

Halaman

Gambar 2.1 Proses Enkripsi dan Dekripsi ... 5

Gambar 2.2 Contoh Skema Jaringan Fiestel ... 12

Gambar 2.3 Proses Whitening ... 16

Gambar 2.4 Blok Diagram Twofish ... 19

Gambar 2.5 Fungsi h ... 23

Gambar 2.6. Satu Putaran Fungsi F ... 26

Gambar 2.7 Diagram Sistem Steganografi... 29

Gambar 2.3 Struktur File mp3 ... 36

Gambar 2.8 Struktur Frame mp3 36 Gambar 3.1 Skema Implementasi Kriptografi dan Steganografi ... 42

Gambar 3.2 Skema Tahap Enkripsi dengan Agoritma Twofish ... 43

Gambar 3.3 Flowchart Proses Enkripsi Agoritma Twofish ... 44

Gambar 3.4 Skema Proses penyisipan pesan ... 46

Gambar 3.5 Flowchart Tahap Penyisipan Pesan ... 46

Gambar 3.6. Flowchart Proses Pencarian Byte Yang Sama ... 47

Gambar 3.7 Flowchart Penyisipan Pesan dengan Metode Penggantian Byte ... 49

Gambar 3.8 Skema Proses Ekstraksi Pesan ... 49

Gambar 3.9 Flowchart Proses Ekstraksi Pesan... 50

Gambar 3.10 Skema Tahap Dekripsi dengan Agoritma Twofish ...51

Gambar 3.11 Flowchart Proses Dekripsi Agoritma Twofish ... 51

Gambar 4.1 Grafik Rata-Rata Waktu Enkripsi Twofish... 64

Gambar 4.2 Grafik Rata-Rata Waktu Dekripsi Twofish ... 65

Gambar 4.3 Grafik Rata-Rata Waktu Penyisipan Chiperteks ke dalam File Audio .. 65

Gambar 4.4 Grafik Rata-Rata Waktu Ekstraksi Chiperteks dari Objek Stego ... 66

Gambar 4.5 Grafik Keseluruhan Waktu Eksekusi Berdasar Genre File Audio ... 67

(15)

DAFTAR LAMPIRAN

Halaman

(16)

15 BAB I

PENDAHULUAN

1.1Latar Belakang

Informasi atau pesan dapat menjadi sesuatu yang sangat berharga dan dijaga

kerahasiaannya. Semakin berkembangnya teknologi informasi, maka berbagai cara

juga berkembang untuk dapat mengetahui informasi yang bukan haknya. Maka dari

itu sejalan dengan berkembangnya teknologi informasi harus dibarengi dengan

perkembangan pengamanan kerahasiaan informasi.

Berbagai macam teknik digunakan untuk menjaga keamanan informasi, teknik

yang dapat digunakan adalah teknik kriptografi dan teknik steganografi. Kriptografi

adalah proses mengamankan pesan dengan mengubahnya ke dalam bentuk himpunan

karakter acak yang tidak dapat dibaca (Scheiner, 1996). Terdapat banyak algoritma

yang dapat digunakan dalam teknik kriptografi , diantaranya adalah Algoritma

Twofish. Algoritma Twofish merupakan cipher blok yang beroperasi pada 128

bit (Scheiner, 1998). Sebagaimana penelitian yang dilakukan oleh Alfath (2008) yang

membahas tentang algoritma Twofish, menyatakan bahwa algoritma tersebut

mempunyai level ketangguhan keamanan yang tinggi .

Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam

pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui (Rinaldi,

2004). Steganografi berbeda dengan kriptografi, kriptografi berfokus pada

bagaimana melindungi isi informasi agar tetap terjaga kerahasiaanya, sedangkan

steganografi berfokus pada cara meminimalkan kecurigaan tentang keberadaan

pesan rahasia.

Steganografi membutuhkan dua properti yaitu media penampung dan pesan

rahasia. Media penampung yang umum digunakan adalah media gambar, audio

dan video. Pesan yang disembunyikan dapat berupa sebuah teks, gambar, suara,

maupun video. Perkembangan dunia multimedia membuat file multimedia populer

(17)

digunakan sebagai media penampung pesan , salah satunya adalah fileaudio. Media

penampung berformat audio dapat berupa Wideband Angular Vibration Experiment

(.wav), Motion Picture Expert GroupAudioStreamLayer III (.mp3), dll.

Menurut jurnal yang ditulis oleh Herny dan Setyawan (2010) format mp3

berukuran lebih kecil dibanding format audio lain dan mempunyai kualitas suara

yang setara dengan kualitas CD serta dapat didistribusikan dengan mudah dan

merupakan berkas yang sangat umum dikenal oleh masyarakat pengguna informasi,

sehingga jika berkas tersebut digunakan untuk media pembawa pesan dapat

meminimalkan kecurigaan bahwa berkas tersebut mengandung pesan rahasia

didalamnya.

Steganografi pada file audio dapat memanfaatkan metode Least Significant

Bit (LSB). Least Significant Bit merupakan metode penyembunyian informasi dengan

memodifikasi bit terakhir dari file carrier dengan bit-bit informasi dan hanya

menyebabkan perubahan nilai bit satu lebih tinggi atau satu lebih rendah. Berdasar

penelitian yang dilakukan oleh Ema (2009) disebutkan bahwa dengan metode LSB

pada file audio tidak terkompresi, keuntungan yang didapatkan adalah ukuran pesan

yang disisipkan relatif besar dan tidak mengakibatkan penurunan kualitas suara file

audio yang signifikan.

Pada penelitian Ema (2009), metode LSB digunakan pada steganografi file

audio tidak terkompresi tapi tidak melakukan proses enkripsi pada pesan yang

disisipkan. Berdasar penelitian Alfath (2008) menyebutkan bahwa algoritma Twofish

merupakan algortima yang mempunyai level ketangguhan keamanan yang tinggi.

Selain itu, dalam jurnal yang ditulis oleh Herny dan Setyawan (2010) disebutkan

bahwa file audio berformat mp3 merupakan file yang berukuran cukup kecil dan

umum dikenal oleh masyarakat sehingga dapat didistribusikan dengan mudah tanpa

menimbulkan kecurigaan apabila digunakan sebagai media penampung pada

steganografi. Berangkat dari penelitian-penelitian tersebut, penulis bermaksud untuk

melakukan penelitian penyisipan data pada berkas MP3 dengan metode LSB dengan

(18)

algoritma Twofish. Karena, jika proses steganalisis berhasil mendeteksi dan

menemukan pesan rahasia tersebut, pesan itu masih dapat diselamatkan karena masih

dalam keadaan terenkripsi, karena seorang steganalisis tidak berusaha untuk

melakukan dekripsi terhadap pesan rahasia yang tersembunyi dalam suatu media,

yang dilakukannya adalah berusaha menemukannya.

1.2Rumusan Masalah

Berdasarkan latar belakang masalah yang telah diuraikan di atas, rumusan

masalah yang dikemukakan adalah:

a. Bagaimana menerapkan steganografi pada file audio mp3 dengan metode

Least Significant Bit (LSB) terhadap pesan terenkripsi dengan algoritma

Twofish.

b. Bagaimana menganalisis pengaruh variasi ukuran file audio dan ukuran pesan

teks yang ditinjau dari kapasitas pesan yang mampu ditampung file audio,

waktu eksekusi dan kualitas suara yang dihasilkan oleh file audio.

1.3Batasan Masalah

Dalam penelitian tugas akhir ini diberlakukan beberapa batasan masalah,

antara lain :

a. Pesan rahasia yang akan disisipkan berupa file jenis teks.

b. Media yang digunakan sebagai penampung pesan adalah fileaudio berformat

mp3

1.4Tujuan Penelitian

Tujuan dari penelitian tugas akhir ini adalah penerapan steganografi pada file

audio mp3 dengan metode Least Significant Bit (LSB) terhadap pesan terenkripsi

dengan algoritma Twofish dan dilakukan pengujian untuk variasi ukuran file audio

dan ukuran pesan teks yang ditinjau dari kapasitas pesan yang mampu ditampung file

audio, waktu eksekusi dan kualitas suara yang dihasilkan file audio.

(19)

1.5Manfaat Penelitian

Manfaat penelitian tugas akhir ini adalah meningkatkan keamanan pesan

dengan mengenkripsi pesan teks menggunakan algoritma Twofish dan meminimalkan

kecurigaan tentang keberadaan pesan dengan menyisipkan pesan tersebut dalam file

audio dengan steganografi menggunakan metode LSB sehingga hal tersebut dapat

dijadikan alternatif solusi dalam hal pengiriman pesan rahasia dengan aman.

1.6Sistematika Penulisan

Penelitian ini akan disusun dengan sistematika sebagai berikut :

BAB I PENDAHULUAN

Menguraikan secara umum tentang latar belakang masalah, rumusan masalah,

pembatasan masalah, tujuan, manfaat atas penelitian dan sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Berisi tentang tinjauan pustaka sebagai acuan, dasar teori yang digunakan, serta

rencana penelitian yang dilakukan.

BAB III METODOLOGI PENELITIAN

Menguraikan langkah-langkah rinci dari penelitian yang dilakukan meliputi metode

yang dipakai, algoritma, dan bagaimana mengimplementasikannya.

BAB IV HASIL DAN PEMBAHASAN

Berisi tentang implementasi pengujian dari aplikasi yang telah dibuat dengan

menggunakan contoh data yang telah disiapkan untuk kemudian dilakukan analisa

terhadap hasil dari implementasi yang telah dilakukan.

BAB V PENUTUP

Berisi kesimpulan penelitian yang diambil sesuai analisa hasil pengujian serta

(20)

5 BAB 2

TINJAUAN PUSTAKA

2.1Dasar Teori

2.1.1 Kriptografi

Kriptografi merupakan ilmu sekaligus seni untuk menjaga kerahasiaan pesan

(data atau informasi) dengan cara menyamarkannya menjadi bentuk tersandi yang

tidak bermakna (Rinaldi, 2006). Pesan yang dirahasiakan dinamakan plaintext,

sedangkan pesan hasil penyamaran dinamakan Ciphertext. Proses penyamaran dari

plaintext ke ciphertext disebut enkripsi (encryption) dan proses pembalikan dari

ciphertext ke plaintext disebut dekripsi (decryption). Gambar 2.1 memperlihatkan

diagram proses enkripsi dan dekripsi.

Gambar 2.1 Proses Enkripsi dan Dekripsi

2.1.1.1Terminologi Kriptografi

Terminologi kriptografi diuraikan sebagai berikut (Schneier, 1996) :

a. Pengirim dan Penerima pesan

Seorang pengirim pesan (sender) ingin mengirim pesan kepada seorang

penerima (receiver). Pengirim menginginkan pesan dapat dikirim secara aman,

yaitu ia yakin bahwa pihak lain tidak dapat membaca isi pesan.

b. Pesan, Plaintext, dan Ciphertext

Pesan adalah data atau informasi yang dapat dimengerti maknanya. Nama lain

untuk pesan adalah plaintext (plaintext). Agar pesan tidak dapat dimengerti

maknanya oleh pihak lain, maka pesan disandikan ke bentuk lain. Bentuk pesan

yang tersandi disebut ciphertext (ciphertext).

(21)

c. Enkripsi dan Dekripsi

Proses menyandikan plaintext menjadi ciphertext disebut enkripsi

(encryption). Proses mengembalikan ciphertext menjadi plaintextnya disebut

dekripsi (decryption).

d. Kriptografi

Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan

(message). Praktisi (pengguna kriptografi) disebut kriptografer (cryptographer).

e. Algoritma kriptografi dan Kunci

Algoritma kriptografi adalah aturan fungsi matematika untuk enkripsi dan

dekripsi. Sedangkan kunci adalah parameter yang digunakan untuk transformasi

enkripsi dan dekripsi.

f. Sistem Kriptografi

Sistem kriptografi adalah algoritma kriptografi, plaintext, ciphertext, dan

kunci.

g. Penyadap

Penyadap (eavesdropper) adalah orang yang mencoba menangkap pesan

selama ditransmisikan.

h. Kriptanalisis dan Kriptologi

Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan

Ciphertext menjadi plaintext tanpa mengetahui kunci yang diberikan, pelakunya

disebut kriptanalis. Sedangkan kriptologi (cryptology) adalah studi mengenai

kriptografi dan kriptanalisis.

2.1.1.2Teknik Kriptografi

Teknik yang digunakan pada kriptografi ada dua, yaitu : kunci simetris dan

kunci asimetris (Rinaldi,2004).

a. Algoritma Kunci Simetris

Algoritma kunci-simetri mengacu pada metode enkripsi yang dalam hal ini

(22)

Kelebihan :

Algoritma kriptografi simetri dirancang sehingga proses enkripsi/dekripsi

membutuhkan waktu yang singkat.

Ukuran kunci simetri relatif pendek.

Algorima kriptografi simetri dapat disusun untuk menghasilkan cipher yang

lebih kuat.

Otentikasi pengirim pesan langsung diketahui dari ciphertext yang diterima,

karena kunci hanya diketahui oleh pengirim dan penerima pesan saja.

Kekurangan :

Kunci simetri harus dikirim melalui saluran yang aman. Kedua entitas yang

berkomunikasi harus menjaga kerahasisan kunci ini.

Kunci harus sering diubah, mungkin pada setiap sesi komunikasi.

Contoh algoritma : Twofish dan Camellia

Algoritma kunci-simetri modern beroperasi dalam mode bit dan dapat

dikelompokkan menjadi dua kategori yaitu Cipher aliran (streamcipher) dan Cipher

blok(blockcipher).

1. Cipher aliran (streamcipher)

Algoritma kiptografi beroperasi pada plaintext/ciphertext dalam bentuk bit

tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit.

Cipher aliran mengenkripsi satu bit setiap kali tranformasi atau byte per byte (1

karakter = 1 byte). Nama lain untuk cipherstream adalah cipher status sebab enkripsi

tiap bit bergantung pada status saat ini (current state).

Cipher aliran pertama kali diperkenalkan oleh Vernam melalui algoritmanya

yang dikenal dengan nama Vernam cipher. Vernam cipher diadopsi dari one-time pad

cipher, yang dalam hal ini karakter diganti dengan bit (0 dan 1). Ciphertext diperoleh

dengan melakukan penjumlahan modulo 2 satu bit plaintext dengan satu bit kunci.

ci = (pi + ki) mod 2 (1)

(23)

Yang dalam hal ini :

pi : bit plaintext

ki : bit kunci

ci : bit ciphertext.

Plaintext diperoleh dengan melakukan penjumlahan modulo 2 satu bit ciphertext

dengan satu bit kunci :

pi = (ci + ki) mod 2

oleh karena itu kita dapat menyatakan bahwa cipher aliran merupakan aproksimasi

dari unbreakable cipher yaitu on-time pad cipher.

Mengingat operasi penjumlahan modulo 2 identik dengan operasi bit dengan

operator XOR, maka pada cipher aliran, bit hanya mempunyai dua buah nilai,

sehingga proses enkripsi hanya menyebabkan dua keadaan pada bit tersebut : berubah

atau tidak berubah. Dua keadaan tersebut ditentukan oleh kunci enkripsi yang disebut

aliran kunci (keystream). Aliran kunci dibangkitkan dari sebuah pembangkit yang

dinamakan pembangkit aliran-kunci (keystream generator). Aliran kunci di XOR-kan

dengan aliran bit-bit plaintext -bit

ciphertext.

ci = pi ki (2)

disisi penerima, bit-bit ciphertext di XOR-kan dengan aliran kunci yang sama untuk

menghasilkan bit-bit plaintext :

pi = ci ki

Contoh :

Plaintext : 1100101

Aliran kunci : 1000110

Maka ciphertext didapatkan dengan meng-XOR-kan bit-bit plaintext dengan

aliran kunci pada posisi yang berkoresponden, sehinga didapatkan :

(24)

2. Cipher blok (blockcipher)

Algoritma kriptografi beroperasi pada plaintext/ciphertext dalam bentuk blok

bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya

sudah ditentukan sebelumnya. Misalnya panjang blok adalah 64 bit, maka itu berarti

algoritma enkripsi memerlukan 8 karakter setiap kali enkripsi (1 karakter = 8 bit

dalam pengkodean ASCII). Cipher blok mengenkripsi satu blok bit setiap kali.

Pada cipher blok, rangkaian bit-bit plaintext dibagi menjadi blok-blok bit

dengan panjang sama, biasanya 64 bit (tapi adakalanya lebih). Algoritma

enkripsi menghasilkan blok ciphertext yang pada kebanyakan sistem

kriptografi simetri berukuran sama dengan blok plaintext.

Dengan blok cipher, blok plaintext yang sama akan dienkripsi menjadi blok

ciphertext yang sama bila digunakan kunci yang sama pula. Ini berbeda

dengan cipher aliran dimana bit-bit plaintext yang sama akan dienkripsi

menjadi bit-bit ciphertext yang berbeda setiap kali dienkripsi.

Misalkan blok plaintext (P) yang berukuran m bit dinyatakan sebagai vektor

P = (p1, p2 pm)

yang dalam hal ini pi m, dan blok ciphertext

(C) adalah

C = (c1, c2 cm)

yang dalam hal ini ci m.

Bila plaintext dibagi menjadi n buah blok, barisan blok-blok plaintext

dinyatakan sebagai (P1, P2 Pn). Untuk setiap blok plaintext Pi, bit-bit

penyusunnya dapat dinyatakan sebagai vektor

Pi = (pi1, pi2 pim)

Enkripsi dan dekripsi dengan kunci K dinyatakan berturut-turut dengan

persamaan:

EK(P) = C , DK(C) = P.

dimana, E : Enkripsi C : Chipertext

D : Dekripsi P : Plaintext

(25)

b. Algoritma Kunci Asimetris

Algorita kunci asimetris adalah suatu algoritma dimana kunci kriptografi yang

digunakan dibuat sepasang, satu kunci untuk enkripsi dan satu kunci untuk dekripsi.

Kunci untuk enkripsi diumumkan kepada publik dan bersifat tidak rahasia sehingga

dinamakan kunci publik (public-key). Kunci untuk dekripsi bersifat rahasia sehingga

dinamakan kunci privat (private-key). Walaupun kunci publik diketahui secara umum

namun sangat sukar mengetahui kunci privat yang digunakan.

Kelebihan :

Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang

berkomunikasi tetapi otentikasi kunci publik tetap harus terjamin. Tidak ada

kebutuhan mengirim kunci kunci privat sebagaimana pada sistem simetri.

Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode

waktu yang panjang.

Kekurangan :

Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri,

karena enkripsi dan dekripsi menggunakan bilangan yang besar dan

melibatkan operasi perpangkatan yang besar.

Ukuran ciphertext lebih besar daripada plaintext (bisa dua sampai empat kali

ukuran plaintext).

Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.

Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang,

maka ciphertext tidak memberikan informasi mengenai otentikasi pengirim.

Contoh Algoritma : RSA (Rivest-Shamir-Adleman) dan El-Gamal.

2.1.1.3.Prinsip-prinsip Perancangan Cipher Blok

Perancangan algoritma kriptografi berbasis blok mempertimbangkan

(26)

1. Prinsip Confusion dan Diffusion dari Shannon.

Confussion bertujuan untuk menyembunyikan hubungan apapun yang ada

antara plaintext, ciphertext, dan kunci. Prinsip confusion membuat kriptanalis

frustasi untuk mencari pola-pola statistik yang muncul pada ciphertext. Confusion

yang bagus membuat hubungan statistik antara plaintext, ciphertext, dan kunci

menjadi sangat rumit.

Diffusion menyebarkan pengaruh satu bit plaintext atau kunci ke sebanyak

mungkin ciphertext. Sebagai contoh, pengubahan kecil pada plaintext sebanyak

satu atau dua bit menghasilkan perubahan pada ciphertext yang tidak dapat

diprediksi.

2. Cipher berulang (Iterated Cipher)

Fungsi transformasi sederhana yang mengubah plaintext menjadi

ciphertext diulang sejumlah kali. Pada setiap putaran digunakan sub-kunci

(subkey) atau kunci putaran (round key) yang dikombinasikan dengan plaintext.

Cipher berulang dinyatakan sebagai

Ci= f(Ci 1, Ki) (3)

dimana,

i r (r adalah jumlah putaran).

Ki= sub-kunci (subkey) pada putaran ke-i

f = fungsi transformasi (didalamnya terdapat operasi substitusi,

permutasi, dan/atau ekspansi, kompresi). Plaintext dinyatakan dengan C0 dan

ciphertext dinyatakan dengan Cr.

3. Jaringan Feistel (Feistel Network)

Jaringan Feistel banyak dipakai pada algoritma kriptografi DES, LOKI,

GOST, FEAL, Lucifer, Blowfish, Twofish, dan lain-lain karena model ini bersifat

reversible untuk proses enkripsi dan dekripsi. Sifat reversible ini membuat kita

tidak perlu membuat algoritma baru untuk mendekripsi ciphertext menjadi

plaintext. Secara formal, operasi transformasi pada jaringan Feistel dapat

dinyatakan sebagai:

(27)

Li = Ri 1 (4)

Ri = Li 1 Xor f(Ri 1, Ki) i= 1,2,3,..,r (5)

dimana :

Li : Bagian plaintext kiri ke-i

Ri : Bagian plaintext kanan ke-i

Ki : Kunci untuk putaran ke-i

f : Fungsi Transformasi

Skema Jaringan Fiestel dapat dilihat pada Gambar 2.1 .

(28)

4. Kunci lemah (weak key)

Kunci lemah adalah kunci yang menyebabkan tidak adanya perbedaan

antara enkripsi dan dekripsi. Dekripsi terhadap ciphertext tetap menghasilkan

plaintext semula, namun enkripsi dua kali berturut-turut terhadap plaintext akan

menghasilkan kembali plaintextnya. Persamaan berikut menunjukan fenomena

kunci lemah:

EKL(P) = C untuk fungsi enkripsi,dan

DKL(C) = EKL(C ) = P untuk fungsi dekripsi.

Cipher blok yang bagus tidak mempunyai kunci lemah.

5. Kotak-S (S-boxes)

Kotak-S adalah matriks yang berisi substitusi sederhana yang memetakan

satu atau lebih bit dengan satu atau lebih bit yang lain. Pada kebanyakan

algoritma cipher blok, kotak-S memetakan m bit masukan menjadi n bit keluaran,

sehingga kotak-S tersebut dinamakan kotak m n S-box. Kotak-S merupakan

satu-satunya langkah nirlanjar di dalam algoritma, karena operasinya adalah

look-up table. Masukan dari operasi look-up table dijadikan sebagai indeks kotak-S,

dan keluarannya adalah entry di dalam kotak-S. Contoh S-Boxes dapat dilihat

pada Tabel 2.1 yang merupakan contoh kotak-S dalam algoritma DES yaitu 6 x 4

S-box yang berarti memetakan 6 bit masukan menjadi 4 bit keluaran.

Tabel 2.1 Kotak S-Boxes

Baris diberi nomor dari 0 sampai 3. Kolom diberi nomor dari 0 sampai 15.

Masukan untuk proses substitusi adalah 6 bit, yaitu b1b2b3b4b5b6. Nomor baris

dari tabel ditunjukkan oleh string bit b1b6 (menyatakan 0 sampai 3 desimal).

Sedangkan nomor kolom ditunjukkan oleh string bit b2b3b4b5 (menyatakan 0

sampai 15 desimal). Misalnya masukan adalah 110100 Nomor baris tabel = 10

(29)

(artinya baris 2 desimal) .Nomor kolom tabel = 1010 (artinya kolom 10 desimal).

Jadi, substitusi untuk 110100 adalah entry pada baris 2 dan kolom 10, yaitu 0100

(atau 4 desimal).

2.1.2 Algoritma Twofish

Algoritma Twofish merupakan algoritma kunci simetris block cipher dengan

blok masukan 128 bit dan kunci 128 bit, 192 bit, dan 256 bit (Schneier, 1998). Pada

tahun 1972 dan 1974, National of Standart (yang sekarang bernama NIST)

mengumumkan adanya standar enkripsi, yaitu Data Encryption Standart (DES) yang

sangat beralasan karena penggunaannya yang luas dan merupakan algoritma yang

sangat sukses di dunia. Dalam proses perkembangannya ternyata key-key dalam DES

dirasa terlalu pendek bagi keamanan komersial sehingga membuat gusar para

closed door

NIST mengumumkan Advanced Encryption Standard (AES) pada tahun 1997

[NIST97a].

Salah satu kandidat Advanced Encryption Standard (AES) adalah algoritma

Twofish. Twofish memenuhi semua kriteria yang dibutuhkan NIST, yaitu blok 128

bit, kunci 128 bit, 192 bit dan 256 bit, efisien pada platform manapun dan

lain-lain, serta beberapa desain berat lainnya Twofish dapat melakukan:

a. Melakukan enkripsi data pada 285 siklus per block di atas Pentium Pro

setelah menjalankan keysetup 12700 siklusclock.

b. Melakukan enkripsi data pada 860 siklus per block di atas Pentium Pro

setelah menjalankan keysetup 1250 siklus clock.

c. Melakukan enkripsi data pada 26500 siklus per block di atas sebuah 6805

smart card setelah mejalankan keysetup 1750 siklus clock.

2.1.2.1Unsur Pembangun Algoritma Twofish

Unsur pembangun Twofish terdiri dari Feistel Network (Jaringan Feistel),

(30)

Transform (PHT), Whitening, dan Key Schedule (penjadwalan kunci). Berikut

merupakan penjabaran dari unsur-unsur pembangun Twofish (Schneier, 1998) :

1. Feistel Network (Jaringan Feistel)

Schneier menjelaskan bahwa Feistel Network adalah metoda umum untuk

mentransformasi suatu fungsi menjadi bentuk permutasi. Bagian paling fundamental

dari Jaringan Feistel adalah Fungsi F yaitu sebuah pemetaan key-dependent dari

suatu input string menjadi output string. Fungsi F selalu tidak linear dan mungkin

tidak surjektif:

(6)

dimana:

n : ukuran blok dari jaringan Fiestel

F : fungsi yang menerima n=2 bit dari blok N bit sebagai kunci input dan

menghasilkan output n=2 bit

Setiap putaran, blok sumber adalah input fungsi F, dan dari fungsi F

di-XORkan dengan blok target, lalu dua blok ini dipertukarkan sebelum masuk ke

putaran berikutnya. Dua putaran pada jaringan Fistel disebut satu cycle, dan dalam

satu cycle setiap bit dari blok teks telah dimodifikasi satu kali. Pada Twofish

dilakukan Feistel Network sebanyak 16 kali atau 8 cycle dengan fungsi bijektif F.

2. S-Boxes (Kotak S)

Sebuah S-boxes adalah operasi subsitusi table-driven non linear yang

digunakan dalam block cipher. S-boxes bervariasi antara setiap ukuran input dan

ukuran outputnya, dan bisa diciptakan secara random atau dengan algoritma.

Twofish menggunakan empat bijekktif, key-dependent dan 8x8-bit S-boxes. S-boxes

ini dibuat menggunakan dua permutasi 8x8-bit dan material key.

3. Matrix MDS (Maximum Distance Separable)

Matrix Maximum Distance Separable (MDS) melalui sebuah pemetaan linear

dari elemen field a ke elemen field b, menghasilkan campuran dari vektor a+b

elemen, dengan jumlah minimum angka tidak nol dalam vektor tidak nol paling

(31)

Distance yang

berbeda antara dua vektor yang berbeda yang dihasilkan oleh MDS paling kurang

b+1. Pemetaan MDS bisa direpresentasikan oleh matriks MDS yang terdiri dari a

x b elemen.

4. Pseudo-Hadamard Transform (PHT)

Transformasi Pseudo-Hadamard (PHT) adalah operasi sederhana yang

bekerja dengan cepat dalam software. Diberikan dua input, a dan b, dan PHT 32 bit

didefinisikan :

A0 = a + b mod 232 (7)

B0 = a + 2b mod 232 (8)

Twofish menggunakan PHT 32 bit untuk melakukan mixing terhadap

outputnya dari dua buah fungsi g 32 bit paralel. PHT ini dapat dieksekusi

dalam dua opcode diatas kebanyakan microprocessor modern, termasuk keluarga

Pentium.

5. Whitening

Schneier menjabarkan bahwa whitening merupakan teknik meng-XOR-kan

key material sebelum putaran pertama dan sesudah p

serangan terhadap Twofish, terbukti bahwa whitening secara substansial

meningkatkan kesulitan menyerang cipher, dengan jalan menyembunyikan input

spesifik untuk awal dan akhir putaran dari Twofish. Twofish meng-XOR-kan 128 bit

sub kunci sebelum putaran Fiestel pertama dan 128-bit lagi setelah putaran Fiestel

terakhir. Proses Whitening dapat dilihat pada Gambar 2.3.

(32)

6. Key Schedule (Penjadwalan Kunci)

Key schedule adalah suatu cara dimana bit-bit key diubah menjadi key-key

bulat yang dapat digunakan oleh chipper. Twofish memerlukan material key yang

sangat banyak, dan memiliki key schedule yang rumit. Jadi secara singkat,

penjadwalan kunci adalah proses pengacakan kunci untuk melakukan proses

enkripsi sehingga tingkat kerumitannya menjadi tinggi.

2.1.2.2Struktur Algoritma Twofish

Twofish menggunakan sebuah Struktur Feistel-like 16-round dengan

tambahan whitening pada masukan dan keluaran. Satu-satunya unsur non-Feistel

adalah 1-bit rotasi. Perputaran dapat dipindah ke dalam fungsi F untuk membuat

suatu struktur Feistel murni, tapi memerlukan suatu tambahan perputaran

kata-kata yang tepat sebelum langkah keluaran whitening. Plaintext 128 bit dipecah

menjadi empat word 32-bit yaitu P0, P1, P2, dan P3. P0 dan P1 akan menjadi bagian

kiri, sedangkan P2 dan P3 akan menjadi bagian kanan. Plaintext tersebut dipecah

menggunakan konvensi little-endian.

(6)

summation

P = Inputplaintext yang dipecah menjadi 4 word

j = indeks dengan batas bawah 0 dan batas atas 3

Plaintext akan melalui proses input whitening yaitu input akan di-XOR

dengan empat word kunci yang telah terjadwal yaitu K0, K1, K2, dan K3. Secara

formalnya adalah sebagai berikut :

(7)

(33)

R = Proses Whitening

P = Inputplaintext yang dipecah menjadi 4 word

K = Kunci terjadwal

= XOR

Proses berikutnya input akan melalui proses pada fungsi F yang meliputi

didalamnya adalah fungsi g dan dilanjutkan dengan PHT (Pseudo Hadamard

Transform), dan dilakukan penambahan hasil PHT dengan kunci. Proses fungsi F

tersebut dilakukan secara bertahap.

Pada setiap 16 putaran, dua word pertama digunakan sebagai masukan kepada

fungsi F, yang juga mengambil angka bulat itu sebagai masukan. Word ketiga

di-XOR dengan keluaran pertama F dan kemudian diputar ke kanan satu bit. Word

keempat diputar ke kiri satu bit kemudian di-XOR dengan kata keluaran F yang kedua

. Akhirnya, keduanya saling ditukar menghasilkan persamaan :

(Fr,0,Fr,1) = F(Fr,0,Fr,1,r) (8)

Rr+1,0 = ROR(Rr,2 Fr,0,1) (9)

Rr+1,1 = ROL(Rr,3,1) Fr,1 (10)

Rr+1,2 = Rr,0 (11)

Rr+1,3 = Rr,1 (12)

ROR dan ROL adalah berfungsi memutar argumentasi

pertama (32-bit word) ke kanan dengan angka bit-bit diindikasikan dengan

argumentasi keduanya. Langkah output whitening

terakhir dan meng-XOR-kan 4 word dengan 4 kunci yang diperluas yaitu K0, K1, K2,

dan K3. Empat word dari ciphertext kemudian ditulis sebagai 16 byte c0 15.

(34)

Gambar 2.4 Blok Diagram Twofish (Schneier, 1998)

1. Fungsi F

Fungsi F adalah suatu permutasi key-dependent di atas nilai 64-bit. Untuk

mengambil tiga argumentasi, dua masukan R0 dan R1, dan angka bulat r digunakan

untuk memilih subkey yang sesuai. R0 yang dilewati fungsi g, menghasilkan T0. i

diputar 8 bit ke kanan kemudian melewati fungsi g untuk menghasilkan T1. Hasil T0

dan T1 selanjutnya dikombinasikan dalam sebuah PHT dan ditambahkan 2 word dari

kunci yang diperluas menghasilkan persamaan :

(35)

T0 = g(R0) (13)

blok kunci pada output (PHT masih dilakukan.)

2. Fungsi g

Fungsi g merupakan inti dari Twofish. Word masukan X dipecah menjadi

empat byte. Masing-masing byte dijalankan melewati S-boxkey-dependent.

Masing-masing S-box adalah bijective, mengambil 8 bit masukan, dan menghasilkan 8 bit

keluaran. Ke empat hasil diinterpretasikan sebagai vektor yang panjangnya 4 di atas

GF (28), dan dikalikan dengan yang matriks MDS 4x4 (menggunakan bidang GF (28)

untuk perhitungannya). Untuk menghasilkan vektor diinterpretasikan sebagai 32-bit

sebagai hasil dari fungsi g :

xi = X/28i mod 28

dengan baik, kita harus menetapkan koresponden antara nilai-nilai byte dan

elemen-elemen bidang GF (28). Kita merepresentasikan GF (28) sebagai GF(28)[x]/v(x) di

mana v(x)=x8+x6+x5+x3+1 adalah suatu polynomial primitif dari 8 tingkat di atas

(36)

byte 7i 0 aixi. Ini adalah beberap penambahan di

Di mana elemen-elemen ditulis sebagai nilai-nilai byte heksadesimal.

3. Penjadwalan Kunci

Penjadwalan kunci harus menyediakan 40 buah kunci yang diperluas

K0 39, dan 4 buah S-Box key-dependent yang digunakan di dalam fungsi g.

Twofish didefinisikan untuk kunci-kunci dengan panjang N= 128, N= 192, dan N=

256. Beberapa kunci yang lebih pendek dari 256 bit dapat digunakan oleh lapisannya

dari nol hingga yang lebih besar yang didefinisikan sebagai panjang kunci. Kita

mendefinisikan k=N/64. Kunci M terdiri dari 8k byte m0 8k-1. Byte-byte yang

pertama diubah ke dalam 2k word 32 bit masing-masing adalah:

Mi =

Sepertiga vektor word dari panjang k adalah juga diperoleh dari kunci itu.

(37)

3

sebagaimana yang digunakan untuk perkalian matriks MDS. Dalam pemetaan ini,

matriks RS ditunjukkan sebagai berikut :

RS =

3.1 Penambahan Panjang Kunci

Twofish dapat menerima kunci-kunci dengan panjang byte di atas 256 bit.

Untuk ukuran-ukuran kunci yang tidak didefinisikan di atas, kunci diisi pada bagian

akhir dengan nol byte. Sebagai contoh, suatu kunci 80-bit m0 9 akan diperluas

dengan mengatur mi pada kunci

(38)

3.2 Fungsi h

Fungsi h adalah suatu fungsi yang mengambil dua input 32 bit word X dan

sebuah daftar L = ( L0 k-1) dari word X 32 dengan panjang k dan menghasilkan

satu word pada outputnya. Pada setiap langkah, empat byte masing-masing melintasi

suatu fixed S-Box, dan di-XOR dengan sebuah byte dari daftar. Akhirnya, byte-byte

sekali lagi digeser melewati sebuah fixed S-box dan empat byte itu dikalikan dengan

matriks MDS seperti halnya dalam g.

li,j = 8

2 /

i

L mod 28 (22)

xj = j

X /28 mod 28 (23)

- XOR diterapkan :

yk,j = xj (24)

Fungsi h ditunjukkan pada Gambar 2.5 sebagai berikut :

Gambar 2.5 Fungsi h

(39)

:

Dalam seluruh kasus didapatkan :

y0 = q1[q0[q0[y2,0] l1,0] l0,0] (25)

y1 = q0[q0[q1[y2,1] l1,1] l0,1] (26)

y2 = q0[q1[q0[y2,2] l1,2] l0,2] (27)

y3 = q1[q1[q1[y2,3] l1,3] l0,3] (28)

Di sini, q0 dan q1 ditetapkan permutasi di atas nilai 8-bit yang akan didefinisikan

segera. Menghasilkan vektor yang merupakan perkalian matriks MDS, seperti halnya

dalam fungsi g :

(40)

g(x)= h(X; S) (30)

S-Box Key-Dependentsi dibentuk oleh pemetaan dari

xi ke yi di dalam fungsi h, di mana daftar L = vektor S yang diperoleh dari kunci itu.

3.4 Kunci yang Diperluas Kj

Kunci yang diperluas didefinisikan menggunakan fungsi h :

= 224 + 216 + 28 + 20 (31)

Ai = h(2 ,Me) (32)

Bi = ROL(h((2i o),8) (33)

K2i = (Ai + Bi) mod 232 (34)

K2i+1 = ROL((Ai + 2Bi) mod 232,9) (35)

Konstanta digunakan untuk menduplikat byte yang mempunyai properti untuk i=

jika terdiri dari empat byte yang sama, masing-masing dengan nilai i.

Fungsi h diberlakukan bagi word jenis ini. Untuk Ai nilai-nilai byte itu adalah 2i, dan

argumentasi yang kedua dari h adalah Me. Bi dihitung dengan cara yang sama

menggunakan 2i+1 sebagai byte nilai dan Mo sebagai argumentasi yang kedua,

dengan suatu putaran ekstra di atas 8 bit. Nilai-nilai Ai dan Bi Dua dikombinasikan

dalam PHT. Salah satu dari hasil itu selanjutnya diputar dengan 9 bit. Kedua hasil

tersebut membentuk dua buah kunci yang diperluas.

3.5 Permutasi q0dan q1

Permutasi q0 dan q1 ditetapkan sebagai permutasi di atas nilai-nilai 8 bit dan

dibangun dari 4-bit permutasi yang berbeda. Untuk nilai masukan x didefinisikan

sebagai nilai output y sebagai berikut :

a0, b0 = x/16 , x mod 16

a1 = a0 b0

b1 = a0 ROR1(b0,1) 8a0 mod 16

a2, b2 = t0[a1],t1[b1]

(41)

a3 = a2 b2

b3 = a2 ROR1(b2,1) 8a2 mod 16

a4, b4 = t2[a3],t3[b3]

y = 16b4 + a4 (36)

di mana ROR4 adalah suatu fungsi yang serupa dengan ROR yang merupakan putaran

nilai 4-bit. Pertama, byte dipecah menjadi dua bagian dan dikombinasikan secara

bijective. Masing-masing bagian melintasi 4-bitfixed S-Box. Ini diikuti oleh yang lain.

Akhirnya, dua bagian dikombinasikan kembali ke dalam satu byte. Untuk permutasi

q0 S-Box 4-bit :

t0 = [8 1 7 D 6 F 3 2 0 B 5 9 E C A 4]

t1 = [E C B 8 1 2 3 5 F 4 A 6 7 0 9 D]

t2 = [B A 5 E 6 D 9 0 C 8 F 3 2 4 7 1]

t3 = [D 7 F 4 1 2 6 E 9 B 3 0 8 5 C A]

di mana masing-masing S-Box 4-bit diwakili oleh daftar masukan yang menggunakan

notasi hexadecimal

yang sama, untuk q1 S-Box 4-bit :

t0 = [2 8 B D F 7 6 E 3 1 9 4 0 A C 5]

t1 = [1 E 2 B 4 C 3 7 6 D A 5 F 9 0 8]

t2 = [4 C 7 5 1 6 9 A 0 E D 8 2 B 3 F]

t3 = [B 9 5 1 C 3 D E 6 4 7 F 2 0 8 A]

(42)

Gambar 2.6. Satu putaran fungsi F (kunci 128-bit)

2.1.3 Steganografi

Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam

pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui (Rinaldi,

2004). Kata steganorafi berasal

covered writing). Steganografi membutuhkan dua properti: wadah

(43)

penampung dan data rahasia yang akan disembunyikan. Steganografi digital

menggunakan media digital sebagai wadah penampung, misalnya citra berformat

JPG, GIF, BMP, atau di dalam musik MP3, atau bahkan di dalam sebuah film dengan

format WAV atau AVI. Data rahasia yang disembunyikan juga dapat berupa citra,

suara, teks, atau video. Semua dapat dijadikan tempat bersembunyi, asalkan berkas

tersebut memiliki bit-bit yang tidak signifikan atau terdapat redundant bits yang

dapat dimodifikasi. Setelah dimodifikasi, berkas media tersebut tidak akan terganggu

fungsinya dan kualitasnya tidak akan jauh berbeda dengan aslinya.

2.1.3.1Karakteristik Steganografi

Steganografi dikenal dengan nama data hiding atau data embedding, yang

merupakan rangkaian proses dalam menyembunyikan data ke dalam berbagai media,

seperti citra, audio atau teks dengan meminimalisir penampakan degradasi sinyal

media penampung (Forouzan, 2008). Hal ini tampak familiar dengan enkripsi.

Namun jika ditelusuri lebih jauh maka penyembunyian data dalam steganografi

sangat kontras dengan kriptografi. Perbedaannya terletak pada bagaimana proses

penyembunyian data dan hasil akhir dari proses tersebut.

Kriptografi merahasiakan makna pesan sementara keberadaan pesan tetap

dapat diamati oleh indera manusia. Kriptografi melakukan proses pengacakan data

asli sehingga menghasilkan data terenkripsi yang benar-benar acak dan berbeda

dengan aslinya. Sedangkan steganografi menyembunyikan keberadaan pesan tersebut,

data disisipkan dalam media penampung tanpa mengubah keadaan media

penampung tersebut. Dengan kata lain keluaran steganografi ini memiliki bentuk

persepsi yang sama dengan bentuk aslinya. Diagram steganografi ditunjukkan pada

(44)

Gambar 2.7 Diagram Sistem Steganografi (Forouzan, 2008)

Penyisipan data rahasia ke dalam media digital harus memperhatikan

beberapa aspek keamanan sebagai berikut (Renaldi, 2004) :

a. Fidelity

Mutu media penampung tidak jauh berubah. Setelah penambahan data rahasia,

berkas hasil steganografi tidak mengalami degradasi yang signifikan, sehingga

perubahan atau degradasi tersebut tidak dapat dipersepsi oleh indera manusia. Pada

kasus audio steganografi, audio hasil steganografi masih dapat didengar dengan baik.

Pengamat tidak menyadari bahwa di dalam audio tersebut terdapat data rahasia. Atau

dengan kata lain penyisipan data rahasia tidak mempengaruhi kualitas sinyal asli,

sehingga keberadaan pesan tidak dapat ditangkap oleh pendengaran manusia.

b. Recovery

Data yang disembunyikan harus dapat diungkapkan kembali (recovery).

Karena tujuan steganografi adalah data hiding, maka sewaktu-waktu data rahasia

didalam media penampung harus dapat diambil kembali untuk digunakan lebih lanjut.

c. Robustness

Robustness merupakan salah satu isu desain algoritma steganografi yang

utama. Data rahasia yang disisipkan harus tahan terhadap pengolahan sinyal yang

mungkin dilakukan termasuk konversi digital-analog dan analog-digital, linear dan

non-linear filtering, kompresi dan perubahan ukuran (scaling).

(45)

2.1.3.2Terminologi dalam Steganografi

Terdapat beberapa istilah yang berkaitan dengan steganografi (Rinaldi,

2004) :

1. Hiddentext atau embedded message: pesan atau informasi yang

disembunyikan.

2. Covertext atau cover-object: pesan atau objek yang digunakan untuk

menyembunyikan embedded message.

3. Stegotext atau stego-object: pesan atau objek yang sudah berisi embedded

message.

Steganografi pada media digital baik hiddentext atau covertext dapat

berupa teks, gambar, audio, maupun video.

2.1.3.3Metode dalam Steganografi

Proses penyisipan pesan rahasia dalam sistem steganografi pada dasarnya

dilakukan dengan mengidentifikasi media digital pembawa pesan, yaitu bit redundant

yang mana dapat dimodifikasi tanpa merusak integritas dari media digital itu sendiri.

Pengaplikasikan steganografi pada berkas digital dapat dilakukan dengan

berbagai metode. Berikut adalah beberapa metode yang dapat digunakan (Yusrian,

2007) :

a. Least Significant Bit (LSB).

LSB lazim digunakan dalam teknik digital steganografi yaitu mengganti LSB

input setiap samplingnya dengan data yang dikodekan. Dengan metode ini

keuntungan yang didapatkan adalah ukuran pesan yang disispkan relatif besar, namun

berdampak pada hasil filedigital yang berkualitas kurang dengan banyaknya noise.

b. Phase Coding

Metode phase coding merekayasa fasa dari sinyal masukan. Teori yang

digunakan adalah dengan mensubstitusi awal fasa dari tiap awal segment dengan fasa

yang telah dibuat sedemikian rupa dan merepresentasikan pesan yang disembunyikan.

Fasa dari tiap awal segment ini dibuat sedemikian rupa sehingga setiap segmen masih

(46)

menghasilkan keluaran yang jauh lebih baik daripada metode pertama namun

dikompensasikan dengan kerumitan dalam realisasinya.

c. Spread Spectrum

Metode yang ketiga adalah penyebaran spektrum. Dengan metode ini pesan

dikodekan dan disebar ke setiap spektrum frekuensi yang memungkinkan. Maka dari

itu akan sangat sulit bagi yang akan mencoba memecahkannya kecuali ia memiliki

akses terhadap data tersebut atau dapat merekonstruksi sinyal random yang

digunakan untuk menyebarkan pesan pada range frekuensi.

d. Echo Hiding

Metode terakhir yang sering digunakan adalah menyembunyikan pesan

melalui teknik echo. Teknik menyamarkan pesan ke dalam sinyal yang membentuk

echo. Kemudian pesan disembunyikan dengan menvariasikan tiga parameter dalam

echo yaitu besar amplitude awal, tingkat penurunan atenuasi, dan offset. Dengan

adanya offset dari echo dan sinyal asli maka echo akan tercampur dengan sinyal

aslinya, karena sistem pendengaran manusia yang tidak memisahkan antara echo dan

sinyal asli.

2.1.4 Audio Steganografi

Audio Steganografi merupakan teknik menyembunyikan pesan pada suara

digital. Pesan tersebut disisipkan dengan cara merubah urutan biner dari file audio

tersebut. (Bender, 1996). Audio Steganografi dapat diterapkan pada fileaudio WAV,

midi, AU, dan bahkan MP3.

Menyisipkan pesan ke dalam suara digital umumnya mempunyai proses yang

lebih sulit dibanding menyisipkan pesan kedalam media lainnya, seperti media

gambar. Metode sederhana yang dapat digunakan untuk audio steganografi yaitu

menyisipkan pesan dalam bentuk gangguan sinyal sampai kepada cara yang lebih

sulit seperti menggunakan teknik pengolahan sinyal yang rumit untuk meyisipkan

pesan. Audio Steganografi menggunakan kelemahan dari sistem pendengaran

manusia untuk menyembunyikan pesan ke dalam fileaudio.

(47)

2.1.5 LSB (Least Significant Bit)

Metode LSB (Least Significant Bit) ini merupakan metode yang

komputasinya tidak terlalu kompleks dan pesan yang disembunyikan cukup aman

serta dapat menyimpan pesan dengan ukuran relatif besar. Metode ini memodifikasi

nilai yang paling kurang signifikan dari jumlah bit dalam 1 bytefilecarrier. Bit yang

memiliki signifikansi paling tinggi adalah numerik yang memiliki nilai tertinggi

(misal, 27 = 128), artinya bila terjadi perubahan pada bit ini akan menghasilkan

perubahan yang sangat signifikan. Bit yang memiliki signifikansi paling rendah

adalah numerik yang memiliki nilai terendah (misal, 20 = 1), artinya bila terjadi

perubahan pada bit ini akan menghasilkan perubahan yang tidak terlalu signifikan.

pada

berkas carrier yang berukuran 8 byte. Least Significant Bit dari filecarrier ditandai

dengan garis bawah. Berkas carrier dalam biner dengan ukuran 8 byte :

1 00001101 11001001 10010110

00001111 11001011 10011111 00010000

byte :

Kedelapan bit ini nantinya akan dimasukan kedalam Least Significant Bit dari

tiap-tiap byte pada filecarrier seperti berikut ini :

Berkas carrier dalam biner dengan ukuran 8 byte :

1 00001101 11001001 10010110

00001111 11001011 10011111 00010000

byte :

Proses Least Significant Bit Modification :

0 00001101 11001000 10010110

00001110 11001011 10011111 00010001

Pada contoh diatas, hanya sebagian dari Least Significant Bit filecarrier yang berubah

(48)

adalah bahwa kemungkinan terjadinya perubahan bit adalah sekitar 50%, karena

peluangnya perubahannya adalah antara 0 atau 1 dan dengan mengubah Least

Significant Bit maka ukuran dari file pembawa tidak akan berubah sehingga akan sulit

untuk terdeteksi (Bender, 1996).

2.1.6 File Audio

Audio (suara) adalah fenomena fisik yang dihasilkan oleh getaran suatu benda

yang berupa sinyal analog dengan amplitudo yang berubah secara kontinyu terhadap

waktu yang disebut frekuensi. Selama bergetar, perbedaan tekanan terjadi di udara

sekitarnya. Pola osilasi yang terjadi dinamakan sebagai gelombang. Gelombang

mempunyai pola sama yang berulang pada interval tertentu, yang disebut sebagai

periode. Contoh suara periodik adalah instrumen musik, nyanyian burung sedangkan

contoh suara non periodik adalah batuk, percikan ombak dan lain-lain (Binanto,

2010).

Suatu format file audio adalah format file untuk menyimpan data audio digital

pada sistem komputer. Data ini dapat disimpan tanpa dikompresi, atau dikompresi

untuk mengurangi ukuran file. Ini bisa menjadi sebuah raw bitstream, tetapi biasanya

merupakan sebuah container format atau format data audio dengan lapisan

penyimpanan yang telah ditetapkan.

Penting untuk membedakan antara format file dan codec audio. Codec

melakukan encoding dan decoding data audio mentah sementara data itu sendiri

disimpan dalam file dengan format file audio tertentu. Meskipun sebagian besar

format file audio hanya mendukung satu jenis data audio (dibuat dengan coder audio),

multimedia container format (seperti Matroska atau AVI) dapat mendukung beberapa

jenis data audio dan video. Ada tiga kelompok utama format file audio (Rassol,2002):

1. Format audio yang tidak terkompresi, seperti WAV, AIFF, AU atau raw

header-less PCM.

2. Format audio dengan kompresi lossless, seperti FLAC, Monkey Audio (yang

berekstensi APE), WavPack (yang berekstensi WV), TTA, ATRAC Advance

(49)

Lossless, Apple Lossless yang berekstensi m4a), MPEG-4 SLS, MPEG-4 ALS,

MPEG -4 DST, Windows Media Audio Lossless (WMA Lossless), dan Shorten

(SHN);

3. Format audio dengan kompresi lossy, seperti MP3, Vorbis, Musepack, AAC,

ATRAC dan WindowsMedia Audio lossy (WMA lossy).

2.1.7 MP3 (Moving Picture Expert Group Audio Layer III)

MPEG (Moving Picture Expert Group) Audio Layer III atau yang lebih

dikenal dengan MP3, adalah salah satu dari pengkodean dalam file audio dan juga

merupakan format kompresi audio loseless

Istilah menghilangkan yang dimaksud adalah kompresi audio ke dalam format mp3

menghilangkan aspek-aspek yang tidak signifikan pada pendengaran manusia untuk

mengurangi besarnya fileaudio.

MP3 adalah pengembangan dari teknologi sebelumya sehingga dengan ukuran

yang lebih kecil dapat menghasilkan kualitas yang setara dengan kualitas CD.

Spesifikasi dari Layer-Layer sebagai berikut:

a. Layer 1: paling baik pada 384 kbit/s

b. Layer 2: paling baik pada 256...384 kbit/s, sangat baik pada 224...256 kbit/,

baik pada 192...224 kbit/s

c. Layer 3: paling baik pada 224...320 kbit/s, sangat baik pada 192...224 kbit/s,

baik pada 128...192 kbit/s

Mp3 tidak mempertahankan bentuk asli dari sinyal input. Melainkan yang

dilakukan adalah menghilangkan suara-suara yang keberadaannya kurang/tidak

signifikan bagi sistem pendengaran manusia. Proses yang dilakukan adalah

menggunakan model dari sistem pendengaran manusia dan menentukan bagian yang

terdengar bagi sistem pendengaran manusia. Setelah itu sinyal input yang memiliki

domain waktu dibagi menjadi blok-blok dan ditransformasi menjadi domain

frekuensi. Kemudian model dari sistem pendengaran manusia dibandingkan dengan

Gambar

Tabel 4.16 Rata-rata Waktu Eksekusi Enkripsi, Dekripsi, Penyisipan, dan Ekstraksi
Gambar 2.1 Proses Enkripsi dan Dekripsi
Tabel 2.1 Kotak S-Boxes
Gambar 2.3 Proses Whitening (Scheiner,1998)
+7

Referensi

Dokumen terkait

Analisis penelitian kualitatif didapatkan lansia sangat senang jika diberikan uang oleh anak sebagai pegangan, dan anak menawarkan bantuan uang saat butuh

Peneliti bermaksud melakukan penelitian tentang permainan perepet jengkol yang diharapkan dapat meningkatkan keseimbangan gerak anak tunagrahita sedang di

Berdasarkan hasil penelitian dan beberapa teori jadi kesimpulannya pola komunikasi sebagai interaksi antara guru dan siswa dalam proses pembelajaran sosiologi pada

Karena sifatnya yang demikian, penggunaan anggaran tradisional tidak memungkinkan untuk dilakukan penilaian kinerja secara akurat, karena satu-

Penelitian ini bertujuan untuk mendeskripsikan profil usaha Teh Gaharu di Desa Lubuk Pabrik Kecamatan Lubuk Besar Kabupaten Bangka Tengah, menganalisis kelayakan Teh

dengan sistem kebudayaan lain adalah simbol-simboldalam agama yang menyatakan. kepada kita bahwa terdapat sesuatu “yang benar - benar riil”, yang

Kemitraan yang terjalin antara petani tembakau dengan PT Djarum adalah memberikan kredit pupuk dan pestisida kepada petani mitra tanpa bunga serta petani mitra

Dengan menggunakan metode pembelajaran problem solving ini, diharapkan siswa dapat lebih aktif karena pembelajaran problem solving ini difokuskan untuk