LANDASAN TEORI
2.1 Steganography
dalam sebuah media sedemikian rupa sehingga keberadaan pesan tidak diketahui atau
tidak disadari oleh orang selain pengirim dan penerima pesan tersebut. Kata
steganography berasal dari bahasa Yunani, yaitu "steganos" yang berarti tersembunyi
digunakan pada steganography komputer karena banyak format file digital yang dapat
media digital sebagai wadah penampung, misalnya teks, citra, suara, dan video. Data
rahasia yang disembunyikan juga dapat berupa teks, citra, suara, atau video.
seperti mata (Human Visual System) dan telinga (Human Auditory System), sehingga
tidak diketahui kehadirannya oleh indera manusia (indera penglihatan atau indera
tidak merusak kualitas data yang telah disisipi sampai pada tahap tertentu.
kapasitas, keamanan, dan ketahanan. Kapasitas merujuk kepada besarnya informasi yang
merujuk kepada sejauh mana medium steganography dapat bertahan sebelum pihak lain
Teknik steganography telah dikenal oleh manusia sejak jaman Romawi Kuno
dan Yunani Kuno. Seorang sejarahwan Yunani bernama Herodotus pertama kali
mencatatkan tentang steganography. Ketika Histaeus, seorang raja Yunani yang kejam
dipenjarakan oleh Raja Darius di Susa pada abad ke-5 SM, Histaeus mengirim pesan
rahasia kepada anak lelakinya, Aristagoras di Militus. Histaeus menulis pesan tersebut
dengan menggunakan media kepala seorang budak. Histaeus membotaki rambut budak
tersebut, kemudian pesan rahasia ditato pada kulit kepala budak. Ketika rambut budak
mulai tumbuh, Histaeus mengutus budak tersebut ke Militus untuk mengirimkan pesan
Selain metode tersebut, ada pula metode dengan menggunakan lilin. Caranya
pesan dituliskan di bawah kayu, kemudian kayu tersebut dilapis dengan lilin.
menggunakan tinta yang tak-tampak (invisible ink) untuk menuliskan pesan rahasia.
Tinta tersebut dibuat dari campuran sari buah-buahan, susu, dan cuka. Ketika tinta
digunakan untuk menulis maka tulisannya tidak tampak. Untuk dapat membaca pesan
yang ditulis dengan menggunakan tinta tak-tampak tersebut, kertas berisi pesan rahasia
tersebut harus dipanaskan dan pesan rahasia akan perlahan-lahan tampak jelas.
Microdot merupakan foto dengan ukuran kecil. Microdot dicetak pada sebuah surat atau
pada amplop dan menjadi sangat kecil sehingga seringkali tidak disadari. Catatan sejarah
juga menyebutkan bahwa steganography juga turut berperan dalam pengirim pesan saat
Kata steganography pertama kali digunakan pada tahun 1499 oleh Johannes
Cryptography adalah ilmu dan seni untuk memproteksi keamanan pesan rahasia
yang dikirim dari suatu tempat ke tempat yang lain dengan mengacaukan atau
menyandikan pesan rahasia menjadi tidak terbaca dan tidak dapat dimengerti. Dengan
cryptography, keamanan data seperti integritas data, keaslian entitas, dan keaslian data
terjamin. Namun, pada cryptography pesan rahasia terlihat sehingga mengundang pihak
tidak terlihat sehingga tidak menarik perhatian pihak ketiga. Atau lebih jelasnya, pada
cryptography data yang telah disandikan (ciphertext) tetap tersedia; sedangkan pada
yang tepat.
menghasilkan perlindungan yang lebih baik terhadap sebuah pesan, yaitu ketika
steganography gagal dan pesan dapat terlihat, pesan tersebut masih tidak dapat diartikan
akan mengubah kualitas dari media tersebut. Maka ada kriteria yang harus diperhatikan
Antara media yang asli dengan media yang telah disisipi pesan atau data rahasia
Kualitas media penampung tidak jauh berubah dari kualitas asli. Setelah
disisipkan pesan atau data rahasia, media masih terlihat dengan baik dan tidak
steganography ditentukan oleh lokasi dan cara penyisipan pesan atau data
rahasia.
Robustness
Pesan atau data rahasia yang disembunyikan harus tahan terhadap manipulasi
Recovery
Pesan atau data rahasia yang disembunyikan harus dapat diambil kembali.
atau data rahasia di dalam media penampung harus dapat diambil kembali untuk
Security
Pesan atau data rahasia yang disisipkan ke suatu media haruslah terjamin
kepemilikan untuk dapat membuka pesan yang disisipkan melalui encoder yang berisi
bagian pengirim pesan (sender) dilakukan proses embedding (fE) pesan yang hendak
menggunakan kunci tertentu (key), sehingga dihasilkan data dengan pesan tersembunyi
extracting (fE-1) pada stego untuk memisahkan pesan rahasia (emb) dan data penyimpan
(cover) dengan menggunakan kunci yang sama seperti pada proses embedding. Jadi
hanya orang yang mengetahui kunci ini saja yang dapat mengekstrak pesan rahasia
tersebut. Proses ini dapat direpresentasikan secara lebih jelas pada Gambar 2.3 berikut.
Gambar 2.3 Versi Grafik dari Sistem Steganography
Sumber: Henry (2006)
Stego-key: kunci yang digunakan untuk menyisipan pesan pada cover-object dan
file.
dengan menunjukkan apakah data digital yang asli telah mengalami perubahan
dari aslinya.
2) Feature location
Steganography sebagai alat identifikasi isi dari data digital pada lokasi-lokasi
tertentu, misalnya penamaan suatu objek tertentu dari beberapa objek yang ada
3) Annotation/caption
Steganography berisi keterangan tentang data digital itu sendiri, misalnya pada
4) Copyright-labeling
cipta pada data digital atau sebagai bukti otentik kepemilikan atas data digital
Steganography pada text terbagi menjadi dua penerapannya, yaitu pada soft-copy
spasi setelah tanda baca. Perubahan yang sembarangan pada susunan teks akan segera
terlihat jelas oleh siapapun yang membaca teks. Pengunaan White Space (tab dan spasi)
lebih efektif dan tidak terlihat. Penyandian data dengan meletakkan tambahan spasi pada
Pada hard-copy text, ada dua metode yaitu Line Shift Coding (menggeser setiap
baris ke atas atau ke bawah) dan Word Shift Coding (menggeser beberapa kata ke kiri
atau ke kanan).
Beberapa metode yang dapat digunakan pada soft-copy text dan hard-copy text
citra digital. Hal ini disebabkan sebuah image dengan informasi rahasia di dalamnya
lebih mudah disebarluaskan melalui web atau forum. Yang perlu diperhatikan adalah
ketika informasi disembunyikan ke dalam file image dan image tersebut diubah ke
digunakan adalah Least Significant Bit (LSB). Metode pada domain spasial lainnya
adalah Masking and Filtering, Singular Value Decomposition, dan Minimax Eigenvalue
Transform.
C. Steganography pada Audio
steganography-nya, karena suara lebih sensitif daripada citra. Hal ini berarti suara
digunakan adalah Low Bit Encoding (LBE). Metode ini mirip dengan metode LSB yang
digunakan pada image. Metode lainnya adalah Phase Coding, Spread Spectrum, dan
kecuali bahwa informasi disimpan pada setiap frame video. Steganography pada video
digital harus dirancang sedemikian rupa sehingga peralihan image dari satu frame ke
frame lainnya harus tetap baik dan tidak terlihat dimodifikasi. Karena video digital
ukurannya relatif besar daripada citra digital, maka informasi yang disisipkan dapat
lebih banyak. Ketika informasi yang disimpan hanya sedikit, maka perubahan pada
video tidak akan tampak, namun jika informasi yang disimpan banyak, perubahan pada
Metode yang biasa digunakan untuk steganography pada video, karena teknik
yang digunakan mirip dengan image, maka dapat menggunakan metode yang sama
Video berasal dari bahasa Latin, 'videre' yang berarti 'aku lihat'. Video terbagi
menjadi dua format penyimpanan image yang bergerak, yaitu format video analog (VHS,
Betamax) dan format video digital (Blu-ray, DVD). Video dapat direkam dan
ditransmisikan ke dalam berbagai media fisik misalnya ke dalam pita magnetik ketika
direkam sebagai PAL atau NTSC dengan kamera analog, atau ke dalam MPEG-4 atau
Video digital adalah jenis sistem perekaman video yang bekerja dengan
menggunakan sinyal digital, bukan analog. File video digital terdiri dari 2 bagian utama
yaitu citra (image) dan suara (audio), lalu kedua aspek tersebut digabungkan menjadi
satu kesatuan.
Video digital terdiri dari serangkaian bitmap ortogonal image digital yang
ditampilkan dalam urutan cepat dengan laju konstan. Dalam konteks video, image ini
disebut frame. Setiap frame merupakan raster dari piksel. Jika lebar piksel adalah W dan
Semakin besar frame size suatu video, semakin tinggi kualitas video, serta semakin besar
Sejumlah frame video yang ditampilkan pada layar dalam satu detik disebut
frame rate. Ukuran untuk tampilan frame adalah frame per second (FPS). Semakin
tinggi frame rate, sekitar 24 fps, semakin halus gerakan yang ditampilkan.
Piksel hanya memiliki satu properti yaitu warna. Warna piksel diwakili oleh
sejumlah bit. Lebih banyak bit maka lebih banyak variasi warna yang dapat dihasilkan.
Ini disebut color depth atau kedalaman warna video. Hampir semua video berupa 24-bit
color depth.
Properti terpenting adalah bit rate dan video size. Rumus dari properti tersebut
BR = W * H * CD * FPS
VS = BR * T = W * H * CD * FPS * T
Contoh, sebuah video dengan durasi (T) = 1 jam (3600 detik), ukuran frame =
640x480 (WxH), color depth = 24 bit, dan frame rate = 25 fps. Maka properti untuk
Hitungan di atas berlaku untuk video yang tidak dikompresi. Karena bit rate
yang relatif tinggi pada video yang tidak dikompresi, kompresi video banyak digunakan.
Dalam kasus video terkompresi, setiap frame memerlukan persentase kecil dari bit asli.
Asumsi algoritma kompresi yang menyusutkan masukan data dengan faktor CF, bit rate,
BR = W * H * CD * FPS / CF
VS = BR * T / CF
Tidak perlu bahwa semua frame dikompresi oleh faktor CF. Dalam prakteknya, jika
tidak dikompresi, maka CF adalah faktor rata-rata kompresi untuk semua frame diambil
bersama-sama. Persamaan untuk bit rate, dapat ditulis dengan menggabungkan faktor
Nilai (CD / CF) merupakan bit rata-rata per pixel (BPP). Sebagai contoh, jika kedalaman
warna 12 bits/pixel dan algoritma dikompresi 40x, maka BPP adalah 12 / 40 = 0,3. Jadi,
dalam kasus video terkompresi rumus untuk bit rate adalah sebagai berikut.
BR = W * H * BPP * FPS
Faktanya, rumus yang sama dapat digunakan untuk video yang tidak dikompresi karena
pada kasus satu dapat diasumsikan bahwa faktor kompresi adalah 1 dan rata-rata bits per
diperkenalkan oleh Microsoft pada November 1992 sebagai bagian dari video untuk
teknologi Windows. Format AVI merupakan salah satu format video tertua yang
diperkenalkan Microsoft sejak dirilisnya Windows 3.1. Sebagian besar camcorder, baik
analog maupun digital, menjadikan format AVI sebagai format baku saat capture video.
Dengan ukurannya yang sangat besar, file AVI sering dikatakan sebagai format video
yang belum terkompresi, namun adapula format file AVI yang terkompresi.
File AVI dapat mengandung data audio dan video dalam wadah file yang
memungkinkan sinkronasi pemutaran audio dengan video. Seperti format video DVD,
file AVI mendukung multiple streaming audio dan video, meskipun fitur ini jarang
digunakan. Sebagian besar file AVI juga menggunakan ekstensi format file yang
dikembangkan oleh Matrox kelompok OpenDML pada Februari 1996. File-file ini
didukung oleh Microsoft, dan secara tidak resmi disebut "AVI 2.0".
Gambar 2.4 Struktur File AVI
Tidak seperti format digital lainnya, misalnya MPEG atau MOV yang memiliki
satu metode kompresi, format AVI memiliki berbagai pilihan metode kompresi-
dekompresi (codec), antara lain: Cinepak, Indeo, Microsoft Video 1, Clear Video (IVI),
dan lainnya. Setiap file AVI dapat menggunakan codec yang berbeda-beda. Akibatnya,
jika ingin menjalankan suatu file AVI pada komputer sementara codec yang digunakan
file AVI itu belum ter-install pada komputer, maka file tersebut tidak akan dapat dibaca.
AVI merupakan turunan dari Resource Interchange File Format (RIFF), yang
membagi data file yang ke blok atau chunk. Setiap chunk diidentifikasi oleh tag FourCC.
Sebuah file AVI mengambil bentuk chunk tunggal dalam file RIFF yang diformat, yang
kemudian dibagi menjadi dua chunk wajib dan satu chunk opsional. Sub-chunk pertama
diidentifikasi dengan tag "hdrl". Sub-chunk ini adalah header file dan berisi metadata
tentang video, seperti lebar, tinggi dan frame rate. Sub-chunk kedua diidentifikasi
dengan tag "movi". Chunk ini berisi audio aktual atau data visual yang membentuk film
AVI. Sub-chunk ketiga diidentifikasi oleh tag "idx1" yang menyusun potongan-potongan
data dalam file. Sebagai turunan dari RIFF, file AVI dapat ditandai dengan metadata
Pada tiap chunk terdapat tipe data yang ditandai oleh dua huruf, yaitu ‘dc’ untuk
data video, ‘wb’ untuk data audio, dan ‘tx’ untuk data teks.
Gambar 2.5 Chunk pada file AVI
Pada file AVI terdapat 3 bagian utama yang merupakan komponen penyusun
audio dan visual pada file AVI yaitu AVI Header, AVI Stream dan AVI Frame (Patel,
2004). File AVI dimulai dengan header utama. Pada AVI Header ditandai dengan 4
karakter kode. Header mengandung informasi utama yang terdapat pada file AVI, yaitu
kecepatan maksimal data per-detik dari file AVI; kode untuk metode penggunaan file
file, sebagai contoh pada file yang mempunyai audio dan visual akan mempunyai 2
stream; ukuran buffer yang digunakan untuk menyimpan data file AVI pada memori;
tinggi dan lebar dari sekuensial file AVI; skala waktu yang digunakan pada keseluruhan
file AVI; jumlah sampel dari file AVI; panjang/lama waktu file AVI; jumlah stream yang
Sedangkan AVI Stream terdiri dari 2 jenis yaitu stream video dan stream audio,
stream audio tidak harus terdapat di dalam suatu file AVI. Pada bagian stream video,
berisi data yaitu tipe stream yang didefinisikan dengan 4 karakter kode, handler yang
menangani kompresi saat file disimpan, kode untuk metode penggunaan stream
bahasa yang digunakan oleh stream, skala waktu yang digunakan, jumlah sampel stream,
posisi frame awal, panjang/lama waktu stream, spesifikasi ukuran dari pergeseran audio
dan video data pada file AVI, ukuran buffer yang digunakan untuk menyimpan data file
AVI pada memori, kualitas data video pada stream, ukuran sebuah sampel data pada
stream, dimensi frame, jumlah dari proses peng-edit-an stream yang pernah dilakukan,
jumlah dari proses peng-edit-an format stream yang pernah dilakukan, serta deskripsi
nama stream.
AVI Frame merupakan suatu data yang berbentuk DIB (Device Independent
Bitmap) (Herd, 2004). Bentuk DIB secara umum terdiri dari 3 bagian utama, yaitu
bitmap file header yang berisi informasi tentang tipe, ukuran, dan layout dari file DIB,
bitmap info yang terdiri dari 2 struktur utama yaitu bitmap info header dan rgbquad,
Video yang sudah disisipi dengan data rahasia pastilah tidak sama dengan video
aslinya sehingga mengalami penurunan kualitas. Karena itu perlu diperhitungkan tingkat
perubahan yang terjadi dan seberapa besar kerusakan (error) yang ditimbulkan. Salah
satu syarat steganography adalah imperceptibility, yang artinya kualitas video antara
yang sudah disisipi dan yang asli harus tidak jauh berbeda. Untuk menentukan dan
menilai apakah objek stego itu mampu menyembunyikan pesan yang dikandungnya
sehingga imperceptibility atau tidak, ada beberapa kriteria yang digunakan, yaitu
Mean Square Error adalah nilai rata-rata kuadrat error antara cover-image
dengan stego-image, dimana kedua citra tersebut memiliki ukuran yang sama untuk
Peak Signal to Noise Ratio adalah nilai perbandingan antara nilai maksimal
stego-image dengan nilai MSE yang menyatakan tingkat noise atas stego-image
Bit-error Rate yaitu rasio kesalahan antara bit-bit yang diekstrak terhadap bit-bit
yang disisipkan.
2.3.2 Kriteria Subjektif
System).
cukup mengganggu.
Least Significant Bit (LSB) adalah cara paling umum untuk menyembunyikan
pesan. LSB dilakukan dengan memodifikasi bit-bit yang termasuk bit LSB pada setiap
byte warna pada sebuah piksel. Bit-bit LSB ini akan dimodifikasi dengan menggantikan
setiap LSB yang ada dengan bit-bit pesan rahasia yang ingin disembunyikan. Setelah
semua bit pesan rahasia menggantikan bit LSB file tersebut, maka pesan rahasia telah
berhasil disembunyikan.
Metode ini membutuhkan syarat, yaitu jika dilakukan kompresi pada file stego,
harus digunakan format lossless compression. Hal itu dikarenakan metode ini
menggunakan bit-bit pada setiap piksel pada image. Jika digunakan format lossy
Bit yang sesuai untuk ditukar adalah bit LSB karena perubahan pada daerah
tersebut hanya akan menyebabkan nilai byte menjadi lebih tinggi 1 angka atau lebih
digunakan mengganti byte yang berurutan namun dipilih susunan byte yang acak.
Misalnya, jika terdapat 50 byte dan 6 bit data yang akan disembunyikan maka byte yang
diganti bit LSB-nya dipilih secara acak, misalkan byte nomor 36, 5, 21, 10, 18, 49.
Bilangan acak dibangkitkan dengan pseudo-random-number-generator (PRNG)
untuk enkripsi dan dibangun dengan menggunakan algoritma DES (Data Encryption
Jika digunakan image 24 bit color sebagai cover, sebuah bit dari masing-masing
komponen Red, Green, dan Blue; dapat digunakan sehingga 3 bit dapat disimpan pada
setiap piksel. Sebuah image 800 x 600 piksel dapat digunakan untuk menyembunyikan
1.440.000 bit (180.000 bytes) data rahasia. Misalnya, terdapat 3 piksel dari image 24 bit
color :
dihasilkan :
Dapat dilihat bahwa hanya 3 bit saja yang perlu diubah untuk menyembunyikan karakter
A ini. Perubahan pada LSB ini akan terlalu kecil untuk terdeteksi oleh mata manusia
warna yang dapat dimodifikasi sehingga pemilihan image harus dilakukan dengan
sangat hati-hati, karena perubahan LSB dapat menyebabkan terjadinya perubahan warna
yang ditampilkan pada image. Akan lebih baik jika berupa grayscale karena perubahan
Proses ekstraksi pesan dapat dengan mudah dilakukan dengan mengekstrak LSB
dari masing-masing piksel pada stego file secara berurutan dan menuliskannya ke output
Singular Value Decomposition (SVD) adalah salah satu teknik untuk mengolah
matriks cabang ilmu aljabar linier yang diperkenalkan oleh Beltrami pada tahun 1873.
SVD merupakan salah satu alat matematis yang digunakan untuk merepresentasikan
sebuah matriks dan mampu melakukan berbagai analisis dan komputasi matriks.
sebagai akar kuadrat dari nilai-nilai eigen ATA. Nilai-nilai singular A yaitu σ1, σ2, . ., σn
memenuhi kondisi (untuk r rank) : σ1 > σ2 >. . .> σr > 0 dan σr+1 = ... = σn = 0. Matriks
dengan singular value pada diagonalnya. Matiks U dan V tidak secara unik ditentukan
oleh A, tetapi matriks diagonal S harus memuat nilai-nilai singular matriks A. Kolom-
atas dikatakan relevan jika matriks Am x n merupakan pemetaan dari ruang-n ke ruang-m.
Pada pemrosesan citra digital, nilai singulir menyatakan luminansi dan vektor-vektor
dicari eigenvalue-nya :
Untuk mencari matriks U, dilakukan cara yang sama dengan,
U = AAT
Akhirnya, S merupakan akar kuadrat dari AAT atau ATA dan didapatkan:
Matriks S ini merupakan singular value dari matriks asal A, dan elemen diagonal dari
Bukti:
= S2
untuk menganalisis sinyal bergerak. Sinyal bergerak ini dianalisis untuk didapatkan
informasi spektrum frekuensi dan waktunya secara bersamaan. Salah satu seri
Dasar dari DWT dimulai pada tahun 1976, dimana teknik untuk mendekomposisi
sinyal waktu diskrit ditemukan. Pada DWT, penggambaran sebuah skala waktu sinyal
digital didapatkan dengan menggunakan teknik filterisasi digital. Proses dalam teknik
ini adalah dengan melewatkan sinyal yang akan dianalisis pada filter dengan frekuensi
dan skala yang berbeda. Filterisasi merupakan sebuah fungsi yang digunakan dalam
penskalaan. Resolusi dari sinyal, yang merupakan rata-rata dari jumlah detil informasi
dalam sinyal, ditentukan melalui filterasi dan skalanya didapatkan dengan upsampling
Sebuah sinyal harus dilewatkan dalam dua filterisasi DWT yaitu highpass filter
dan lowpass filter, agar frekuensi dari sinyal tersebut dapat dianalisis. Analisis sinyal
dilakukan terhadap hasil filterisasi highpass filter dan lowpass filter, di mana highpass
filter digunakan untuk menganalisis frekuensi tinggi dan lowpass filter digunakan untuk
frekuensi yang berbeda dengan menggunakan resolusi yang berbeda disebut dengan
rendah dalam proses filterisasi highpass filter dan lowpass filter disebut sebagai
Misalkan sinyal asal ini memiliki rentang frekuensi dari 0 sampai dengan π rad/s.
Dalam melewati highpass filter dan lowpass filter, rentang frekuensi di-subsample
menjadi π /2 rad/s. Setelah filterisasi, setengah dari sample atau salah satu subsample
dapat dieliminasi berdasarkan aturan Nyquist. Sehingga sinyal dapat selalu di-subsample
oleh 2 ( ) dengan cara mengabaikan setiap sample yang kedua. Proses dekomposisi
h[n] = highpass
filter
dekomposisi sinyal menggunakan transformasi wavelet. Citra dengan dua dimensi (baris
Dengan I adalah citra, H(m) adalah highpass filter, dan G(m) adalah lowpass filter.
Dekomposisi pada citra seperti pada Gambar 2.6 menghasilkan informasi rentang
frekuensi yang berbeda yaitu LL, frekuensi rendah-rendah (lowlow frequency); LH,
merupakan rentang taksiran penskalaan, sedangkan rentang frekuensi LH, HL, dan HH
Pada dekomposisi tingkat dua, menghasilkan tujuh rentang frekuensi, yaitu HH1,
LH1, HL1, HH2, LH2, HL2, dan LL2. Pada HH merekam data frekuensi tinggi di dua
arah, HL merekam data frekuensi tinggi pada arah horisontal, sedangkan LH merekam
tinggi disebut sebagai koefisien DWT. y [k] tinggi merupakan detil dari informasi sinyal,
sedangkan y[k] rendah merupakan taksiran kasar dari fungsi penskalaan. Dengan
menggunakan koefisien DWT ini maka dapat dilakukan proses Inverse Discrete Wavelet
berada pada akhir dekomposisi, yang telah di-upsample oleh 2 ( ) melalui highpass
filter dan lowpass filter. Proses rekonstruksi merupakan kebalikan dari proses
kepemimpinan W.L. Tuchman pada tahun 1972. Algoritma ini didasarkan pada
algoritma LUCIFER yang dibuat oleh Horst Feistel. Algoritma ini telah disetujui oleh
DES termasuk ke dalam sistem cryptography simetri dan tergolong jenis cipher
blok. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks
menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau
sub-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang
panjangnya 64 bit.
Proses enkripsi dari algoritma enkripsi DES adalah sebagai berikut.
1. Permutasi Awal.
atau IP). Tujuan permutasi awal adalah mengacak plainteks sehingga urutan bit-
Karena ada 16 putaran, maka dibutuhkan 16 kunci internal, yaitu K1, K2, …, K16.
dengan proses enkripsi. Kunci internal dibangkitkan dari kunci eksternal yang
3. Enciphering.
4. Permutasi Terakhir
dan kanan (R), yang masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke
yang disebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal Ki. Keluaran
dari fungsi f di-XOR-kan dengan blok L untuk mendapatkan blok R yang baru.
Sedangkan blok L yang baru langsung diambil dari blok sebelumnya. Ini adalah satu
Li = Ri – 1
Ri = Li – 1 f(Ri – 1, Ki)
Satu putaran DES merupakan model jaringan Feistel.
Li - 1 Ri1
f Ki
Li Ri
Jika (L16, R16) merupakan keluaran dari putaran ke-16, maka (R16, L16) merupakan
diperoleh dengan melakukan permutasi awal balikan, IP-1, terhadap blok pra-cipherteks.
Plainteks
IP
L0 R0
f K1
L1 = R 0 R1 L0 f (R0 , K1 )
f K2
L2 = R 1 R2 L1 f (R1 , K 2 )
f K16
IP-1
Cipherteks
DES menggunakan algoritma yang sama untuk proses enkripsi dan dekripsi. Jika pada
proses enkripsi urutan kunci internal yang digunakan adalah K1, K2, …, K16; maka pada
proses dekripsi urutan kunci yang digunakan adalah K16, K15, …, K1. Untuk tiap putaran
Li = Ri – 1
Ri = Li – 1 f(Ri – 1, Ki)
di mana (R16, L16) adalah blok masukan awal untuk deciphering. Blok (R16, L16) diperoleh
dengan mempermutasikan cipherteks dengan matriks permutasi IP-1. Pra- keluaran dari
deciphering adalah adalah (L0, R0). Dengan permutasi awal IP akan didapatkan kembali
Selama deciphering, K16 dihasilkan dari (C16, D16) dengan permutasi PC-2, tetapi
(C16, D16) tidak dapat diperoleh langsung pada permulaan deciphering. Namun karena
(C16, D16) = (C0, D0), maka K16 dapat dihasilkan dari (C0, D0) tanpa perlu melakukan
pergeseran bit. (C0, D0) yang merupakan bit-bit dari kunci eksternal K diberikan
Selanjutnya, K15 dihasilkan dari (C15, D15), di mana (C15, D15) diperoleh dengan
menggeser C16 (yang sama dengan C0) dan D16 (yang sama dengan C0) satu bit ke kanan.
Sisanya, K14 sampai K1 dihasilkan dari (C14, D14) sampai (C1, D1). (Ci – 1, Di – 1) diperoleh
dengan menggeser Ci dan Di, tetapi pergeseran kiri (left shift) diganti menjadi
1. Panjang kunci
Panjang kunci eksternal DES adalah 64 bit atau 8 karakter, dan yang dipakai
hanya 56 bit. Pada rancangan awal, panjang kunci yang diusulkan IBM adalah
128 bit, tetapi atas permintaan NSA panjang kunci diperkecil menjadi 56 bit.
dari jumlah kemungkinan kunci itu, maka dalam satu detik dapat dikerjakan satu
juta serangan. Jadi, seluruhnya diperlukan 1142 tahun untuk menemukan kunci
yang benar.
2. Jumlah putaran
Delapan putaran cukup untuk membuat cipherteks sebagai fungsi acak dari setiap
bit plainteks dan setiap bit cipherteks. Namun dari hasil penelitian, DES dengan
jumlah putaran yang kurang dari 16 ternyata dapat dipecahkan dengan known-
dalam rangka mendapatkan piranti lunak yang ekonomis, yaitu terpercaya dan bekerja
efisien pada mesin (komputer). Rekayasa piranti lunak mencakup tiga elemen yang
piranti lunak.
Menurut Turban, et. al. (2001, p447-486), Software Development Life Cycle
(SDLC) adalah kerangka terstruktur yang terdiri dari beberapa proses yang berurutan
proyek dalam perhitungan estimasi waktu dan sumber yang dibutuhkan suatu proyek.
1. System Investigation
2. System Analysis
System analysis adalah tahap yang menganalisis masalah yang perlu diselesaikan.
diperlukan.
3. System Design
System design adalah tahap yang menjelaskan bagaimana suatu sistem akan
bekerja. Hasil dari tahap ini adalah output, input, dan user interface dari sistem
4. Programming
5. Testing
telah menghasilkan hasil yang diinginkan dan diharapkan atas situasi tertentu.
Operation and maintenance adalah tahap untuk memelihara sistem baru yang
Unified Modelling Language (UML) adalah bahasa grafis yang standar untuk
memodelkan software object oriented (Lethbridge, 2002, p151). UML mengandung tipe
Class Diagram
Sequence Diagram
Statechart Diagram
A. Class Diagram
Class diagram adalah salah satu diagram struktur statis yang menunjukkan
struktur dari sistem dengan menunjukkan class-class yang ada pada sistem, attribute dan
method class-class tersebut, dan hubungan antar class. Hubungan class terdiri dari link,
Link adalah hubungan dasar antar obyek yang menggambarkan garis penghubung
antara dua atau lebih class. Link merupakan bagian dari association.
Association (dengan dua titik akhir) biasanya digambarkan sebagai sebuah garis, di
mana masing-masing titik akhir dihubungkan dengan sebuah class. Association memiliki
Aggregation terjadi bila suatu class mengandung satu atau lebih obyek dari class lain,
tetapi class yang dikandung tidak memiliki life cycle dependency dengan class yang
mengandung.
B. Sequence Diagram
penukaran pesan oleh sejumlah objek (dan seorang aktor yang opsional) dalam
dalam suatu class yang spesifik serta transisi (event) yang memicu terjadinya suatu
sistem. Yang ditekankan adalah 'apa' yang diperbuat sistem, dan bukan 'bagaimana'.
Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use
sebuah daftar belanja, dan sebagainya. Seorang aktor adalah sebuah entitas manusia atau
suatu sistem yang memiliki sifat real time seperti proses control, telephone switching
State adalah kumpulan keadaan dan atribut yang mencirikan objek pada waktu
Transition adalah simbol perpindahan keaktifan dari sebuah obyek menjadi objek
Condition adalah suatu keadaan pada lingkungan eksternal yang dapat dideteksi
hubungan seleksi.
Action adalah yang dilakukan sistem bila terjadi perubahan state atau merupakan
bersifat visual dari suatu aplikasi agar aplikasi tersebut dapat berinteraksi dengan baik
seimbang, yang dapat memodelkan inti dari operasi aplikasi yang akan dijalankan.
Selain itu, perancangan UI yang baik juga harus dapat membuat aplikasi hingga mudah
Dalam perancangan UI, terdapat delapan aturan emas yang mendukung sebuah
perancangan UI yang baik. Delapan aturan emas, yang dijabarkan oleh Ben Scneiderman