Post on 06-Jul-2015
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 1/29
4
BAB II
TINJAUAN PUSTAKA
2.1. Tinjauan Umum Implementasi Algoritma Data Enkription Standart
(DES)
2.1.1 Tinjauan Umum Implementasi
Implementasi berarti pelaksanaan atau penerapan. Pengertian
implementasi yang dikemukakan di atas, dapat dikatakan bahwa implementasi
adalah bukan sekedar aktivitas, tetapi suatu kegiatan yang terencana dan
dilakukan secara sungguh-sungguh berdasarkan acuan norma tertentu untuk
mencapai tujuan kegiatan. Oleh karena itu implementasi tidak berdiri sendiri
tetapi dipengaruhi oleh objek berikutnya.
2.1.2 Tinjauan Umum Kriptografi
Kata kriptografi berasal dari bahasa Yunani. Dalam bahasa Yunani
Kriptografi terdiri dari dua buah kata yaitu cryptos dan graphia. Kata crypto yang
berarti rahasia sedangkan graphia berarti tulisan. Berarti secara umum makna dari
kata kriptografi adalah tulisan rahasia. Dan dalam arti sebenarnya dari Kriptografi
adalah ilmu yang berguna untuk mengacak (kata yang lebih tepat adalah masking )
data sedemikian rupa sehingga tidak bisa dibaca oleh pihak ketiga. Tentu saja data
yang diacak harus bisa dikembalikan ke bentuk semula oleh pihak yang berwenang.
Data yang ingin diacak biasanya disebut Plain Teks ( Plain Text ). Data diacak
dengan menggunakan Kunci Enkripsi ( Encryption Key). Proses pengacakan itu
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 2/29
5
sendiri disebut Enkripsi ( Encryption). Plain Teks yang telah diacak disebut Cipher
Teks (Chiper Text ). Kemudian proses untuk mengembalikan Cipher Teks ke Plain
Teks disebut Dekripsi ( Decryption). Kunci yang digunakan pada tahap Dekripsi
disebut Kunci Dekripsi ( Decryption Key). Pada prakteknya, selain pihak yang
berwenang ada pihak ketiga yang selalu berusaha untuk mengembalikan Cipher
Teks ke Plain Teks atau memecahkan Kunci Dekripsi. Usaha oleh pihak ketiga ini
disebut Kriptanalisis (Cryptanalysis).
Keseluruhan sistem kriptografi dirangkum pada Gambar 1.
Gambar 1. Sistem Kriptografi
Kriptografi bertujuan untuk memberikan layanan keamanan sebagai
berikut:
a. Kerahasiaan ( confidentiality), adalah layanan yang bertujuan untuk
menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak.
Di dalam kriptografi, layanan ini direalisasikan dengan menyandikan
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 3/29
6
pesan menjadi cipherteks.
b. Integritas data ( data integrity), adalah layanan yang menjamin bahwa
pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman.
Di dalam kriptografi, layanan ini direalisasikan dengan menggunakan
tanda tangan digital ( digital signature). Pesan yang telah ditandatangani
menyiratkan bahwa pesan yang dikirim adalah asli.
c. Otentikasi (authentication), adalah layanan yang berhubungan dengan
identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang
berkomunikasi maupun mengidentifikasi kebenaran sumber pesan. Dua
pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama
lain sehingga ia dapat memastikan kebenaran sumber pesan. Pesan yang
dikirim melalui saluran komunikasi juga harus diotentikasi asalnya.
Otentikasi sumber pesan secara implisit juga memberikan kepastian
integritas data, sebab jika pesan telah dimodifikasi berarti sumber pesan
sudah tidak benar. Oleh karena itu, layanan integritas data selalu
dikombinasikan dengan layanan otentikasi sumber pesan.
d. Nirpenyangkalan ( non-repudiation), adalah layanan untuk mencegah
entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim
pesan menyangkal melakukan pengiriman atau penerima pesan
menyangkal telah menerima pesan. Sebagai contoh misalnya pengirim
pesan memberi otoritas kepada penerima pesan untuk melakukan
pembelian, namun ia menyangkal telah memberikan otoritas tersebut.
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 4/29
7
Dalam bidang kriptografi akan ditemukan beberapa istilah atau
terminologi. Istilah-istilah itu sangat penting untuk diketahui dalam memahami
ilmu kriptografi. Oleh karena itu penulis akan menjelaskan beberapa istilah
penting dalam bidang kriptografi yang akan sering penulis gunakan dalam tulisan
penulis. Berikut merupakan istilah-istilah penting tersebut.
a. Plainteks dan Chipherteks
Merupakan data atau informasi yang dimengerti maknanya. Nama lain
dari pesan adalah plainteks. Pesan tersebut dikirim (melalui kurir, saluran
komunikasi dan lain-lain) dan dapat juga disimpan dalam media penyimpanan
(keras, storage dan lain-lain). Pesan dapat berupa teks, video, gambar dan lain-
lain. Agar pesan tersebut dapat dimengerti maknanya bagi pihak lain, maka pesan
perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang
telah tersandikan tersebut dinamakan cipherteks. Perbandingan antara plainteks
dan cipherteks dapat dilihat pada gambar berikut.
(a). Plainteks (b). Cipherteks
Gambar 2. Perbandingan Plainteks dan cipherteks
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 5/29
8
b. Peserta Komunikasi
Komunikasi data melibatkan pertukaran pesan antara dua entitas. Entitas
yang pertama adalah pengirim, yang berfungsi mengirim pesan kepada entitas
lain. Entitas kedua adalah penerima, yang berfungsi menerima pesan yang
dikirimkan. Entitas-entitas ini dapat berupa orang, mesin (komputer), kartu kredit
dan sebagainya. Contohnya mesin ATM berkomunikasi dengan komputer server
di bank. Pengirim ingin mengirimkan pesan dengan aman sampai ke penerima.
Jadi solusinya adalah dilakukan penyandian terhadap pesan tersebut agar tidak
diketahui pihak-pihak yang tidak berkepentingan terhadapa pesan tesebut.
c. Enkripsi dan Deskripsi
Proses penyandian pesan, dari plainteks ke cipherteks dinamakan dengan
enkripsi ( encryption) atau enchipering. Sedangkan proses mengembalikan pesan
dari cipherteks ke plainteks dimanakan dengan deskripsi ( descryption) atau
dechipering. Proses enkripsi dan deskripsi dapat diterapkan pada pesan yang
dikirim ataupun pesan yang disimpan.
d. Kriptanalis dan Kriptologi
Kriptografi selalu memiliki perkembangan. Karena kriptografi memiliki
ilmu yang berlawanan yang disebut dengan kriptanalis. Kriptanalis adalah ilmu
dengan seni untuk memecahkan cipherteks menjadi plainteks. Tanpa memerlukan
kunci yang digunakan. Pelakunya disebut dengan kriptanalis. Jika seorang
kriptografer (istilah untuk kriptogarfi) menstarnsformasikan plainteks ke
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 6/29
9
cipherteks dengan menggunakan kunci, maka sebaliknya seorang kriptanalis
berusaha memecahkan cipherteks tersebut unutk menemukan plainteks atau kunci.
Berdasarkan kunci yang digunakan untuk enkripsi dan deskripsi,
kriptografi dapat dibedakan menjadi dua, yaitu :
1. Kriptografi kunci simetri ( symmantric key cryptography)
Pada sistem kriptografi kunci simetri, kunci untuk enkripsi sama dengan
kunci untuk dekripsi, oleh karena itu dinamakan kriptografi kunci simetri atau
kriptografi simetri. Istilah lain untuk kriptografi simetri adalah kriptografi kunci
privat ( private key cryptographi), kriptografi kunci rahasia ( secret key
cryptographi), atau kriptografi konvensional ( conventional cryptographi). Sistem
kriptografi simetri mengasumsikan pengirim dan penerima pesan sudah berbagi kunci
yang sama sebelum bertukar pesan. Keamanan kriptografi simetri terletak pada
kerahasiaan kuncinya. Kriptografi simetri merupakan satu-satunya jenis
kriptografi yang dikenal dalam catatan sejarah hingga tahun 1976. Semua
algoritma kriptografi klasik termasuk ke dalam sistem kriptografi simetri. Disisi
lain, ada puluhan algoritma kriptografi modern yang termasuk ke dalam sistem
kriptografi simetri, diantaranya adalah DES ( Data Encryption Standard ),
Blowfish, Twifish, Triple-DES, IDEA, Serpent dan yang terbaru adalah AES
(Advanced Encryption Standard ). Secara umum, cipher yang termasuk ke dalam
kriptografi simetri beroperasi dalam mode bit dan dapat dikelompokkan dalam
dua kategori, yaitu:
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 7/29
10
Cipher blok (block cipher )
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk
blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blik bit yang
panjangnya sudah ditentukan sebelumnya. Misalnya panjang blok adalah 64 bit,
maka itu berarti algoritma enkripsi memperlakukan 8 karakter setiap kali enkripsi
(1 karakter sama dengan 8 bit dalam pengkodean ASCII). Contoh kriptografi
yang menggunakan metode ini adalah DES, TripleDES, IDEA, AES, dan lain-lain.
Cipher aliran ( stream cipher )
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal,
yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit atau byte
per byte. Contoh kriptografi yang menggunakan metode stream cipher adalah RC4
(Ron¶s Code 4), A5 dan lain-lain. Aplikasi kriptografi simetri yang utama adalah
melindungi kerahasiaan data yang dikirim melalui media telekomunikasi dan melindungi
kerahasiaan data yang disimpan pada media penyimpanan. Kelemahan dari sistem ini
adalah baik pengirim maupun penerima pesan harus memiliki kunci yang sama,
sehingga pengirim pesan harus mencari cara yang aman untuk memberitahukan
kunci kepada penerima pesan.
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 8/29
11
Gambar 2. Skema kriptografi kunci simetri.
Kunci enkripsi sama dengan kunci deskripsi yaitu K
2. Kriptografi kunci asimetri ( symmetric key cryptography)
Jika kunci untuk enkripsi tidak sama dengan kunci untuk dekripsi, maka
kriptografinya dinamakan kriptografi kunci asimetri atau kriptografi asimetri.
Nama lainnya adalah kriptografi kunci publik ( public key cryptographi), sebab
kunci untuk enkripsi tidak rahasia dan dapat diketahui oleh siapapun (diumumkan
ke publik), sementara kunci untuk dekripsi hanya diketahui oleh penerima pesan.
Pada kriptografi jenis ini, setiap orang yang berkomunikasi mempunyai sepasang
kunci, yaitu kunci privat dan kunci publik. Pengirim mengenkripsi pesan dengan
menggunakan kunci publik si penerima pesan. Hanya penerima pesan yang dapat
mendekripsikan pesan karena hanya dia yang mengetahui kunci privatnya sendiri.
Keuntungan kriptografi kunci publik ada dua. Pertama tidak ada kebutuhan untuk
mendistribusikan kunci privat sebagaimana pada kriptografi simetri. Kunci publik
dapat dikirim ke penerima melalui saluran yang sama dengan saluran yang digunakan
untuk mengirimkan pesan. Perhatikan bahwa saluran untuk mengirim pesan
umumnya tidak aman. Kedua, jumlah kunci dapat ditekan. Untuk berkomunikasi
secara rahasia dengan banyak orang, tidak perlu kunci rahasia sebayak jumlah
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 9/29
12
orang tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para
koresponden untuk mengenkripsikan pesan dan kunci privat bagi penerima pesan
untuk mendeskripsikan pesan. Berbeda dengan kriptografi kunci simetri dimana
jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak untuk
berkorespondensi. Contoh algoritma kriptografi kunci publik diantaranya RSA,
Elgamal, DSA, dan lain sebagainya.
Konsep kriptografi kunci asimetri sederhana dan elegan, tetapi
mempunyai konsekuensi penggunaan yang hebat. Seperti yang telah
dijelaskan pada bagian awal, pada kriptografi kunci public, setiap pengguna
memiliki sepasang kunci, satu kunci untuk enkripsi dan satu kunci untuk
deskrip. Kunci untuk enkripsi diumumkan kepada public sehingga dinamakan
dengan kunci public dan disimbolkan dengan e. kunci untuk deskripsi bersifat
rahasia sehingga dinamakan dengan kunci privet dan disimbolkan dengan d.
Gambar 3. Skema kriptografi kunci asimetri.
Kunci enkripsi (e) tidak sama dengan kunci deskripsi (d)
Misalnya E adalah fungsi enkripsi dan D adalah fungsi dekripsi dan e
dan d adalah pasangan kunci untuk enkripsi dan dekripsi, sehingga
Ee(m) = c dan Dd(c) = m
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 10/29
13
untuk suatu plainteks m dan cipherteks c. kedua persamaan menyiratkan bahwa
dengan mengetahui e dan c, maka komputasi hamir tidak mungkin menurunkan
d.
Konsep diatas menjadi penting bila kriptografi kunci public digunakan
untuk mengamankan pertukaran pesan dari dua entitas yang berkomunikasi.
Misalkan Sally berkomunikasi dengan Dede. Dede memilih pasangan (e,d).
Dede mengirimkan kunci enkripsi e (kunci publik) kepada Sally sembarang
saluran komunikasi tetapi tetap menjaga kerahasiaan kunci dekripsi d (kunci
privat) kemudian Sally ingin mengirim pesan m kepada Dede. Sally
mengenkripsi pesan m dengan menggunakan kunci public Dede, untuk
mendapatkan c = Ee(m), lalu mengirimkan c melalui saluran komunikasi. Dede
mendekripsikan cipherteks c dengan menggunakan kunci privatnya untuk
memperoleh m = Dd(c).
2.1.3 Tinjauan Umum DES (Data Encryption Standard)
Algoritma DES merupakan algoritma standard untuk kriptografi
simetri. Pada subbab ini penulis akan membahas dasar-dasar dan prinsip kerja
dari algoritma DES itu sendiri.
2.1.3.1 Sejarah DES (Data Encryption Standard)
DES ( Data Encryption Standar) merupakan salah satu algoritma
kriptografi chipher blok yang merupakan standard dari algoritma enkripsi
kunci simetri. Sedangkan nama aslinya adalah DEA ( Data Encryption
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 11/29
14
Algorithm), namun DES lebih populer dari DEA. Sebenarnya algoritma DES
merupakan algoritma kriptografi pertama yang dipublikasikan secara umum
oleh Unated State Federal Register pada tanggal 17 Maret 1975.
Pada ahun 1960-1971 sebuah proyek pertama IBM bernama LUCIFER
yang dipimpin oleh Horst Feistel untuk kriptografi komputer. Proyek ini
dikenal sebagai blok kode pada pengoperasian blok 64 bit dan menggunakan
kunci 128 bit. Proyek LUCIFER dikomersilkan dan disebut dengan DES
( Data Encryption Standard).
Nasional Institue of Standard and technology ( NIST) mengeluarkan
proposal untuk standar nasional pada tahun 1973. I si proposal tersebut
merupakan kriteria untuk standard algoritma kriptografi sebagai berikut :
a. Algoritma harus diberikan level keamanan yang tinggi,
b. Algoritma harus lengkap dan mudah diterima,
c. Keamanan algoritma harus mempunyai kunci, bukan tergantung dari
algoritma yang ada,
d. Algoritma harus available untuk semau user,
e. Algoritma harus dapat beradaptasi dengan berbagai aplikasi,
f. Algoritma harus ekonomis. Perangkat yang menggunakannya tidak
membutuhkan suatu alat yang canggih,
g. Algoritma harus efiien bila digunakan,
Algoritma DES merupakan salah proposal terbaik tahun 1977. Tidak
ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang
digunakan dan kotak-S yang merupakan bagian internal dari DES. Selama 20
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 12/29
15
tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya
diketahui bahwa algoritma DES tidak begitu aman, karena DES tidak memiliki
struktur internal yang kuat. DES dievaluasi satu kali dalam lima tahun.
Evaluasi yang pertama, 6 Maret 1987, dan evaluasi yang kedua pada 10
Desember 1992. Tetapi belum ada alternative ntuk menggantikan DES.
2.1.3.2 Enkripsi
DES merupakan algoritma cipher blok yang termasuk dalam sistim
kriptografi simetri. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsi
64 bit palinteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci
internal ( internal key). Kunci algoritma DES dibangkitkan dari kunci eksternal
( external key) yang panjangnya 64 bit. Skema global dari proses algoritma DES
akan dilihat pada gambar berikut.
Gambar 4. Skema global algoritma DES
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 13/29
16
Skema global dari algoritma DES adalah sebagai berikut :
a. Blok palinteks dipermutasi dengan matriks permutasi awal ( initial
permutation atau IP ).
b. Hasli permutasi awal kemudian di enchiperhing sebanyak 16 kali (16
putaran).
c. Hasil enchipering kemudian dipermutasi dengan matriks permutasi
balikan ( invers initial permutation atau IP-1 ) menjadi blok chiperteks.
Skema algoritma DES dapat dilihat pada gambar berikut.
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 14/29
17
lainteks
I
L0
R0
f
�
),( 1001 K R f L R �! L1
¡ R0
K 1
f
�
),( 2112 K R f L R �! L2
¢ R1
K 2
),( 15141415 K R f L R �! L 15 £
R 14
K 16
),( 16151516 K R f L R �! L16
¤
R15
I¥ -1
¦
ipherteks
f
�
Gambar 5. Skema dasar algoritma DES
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 15/29
18
Dalam algoritma DES, terdapat kunci eksternal dan kunci internal. Kunci
interal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna. Kunci
internal dapat dibangkitkan sebelum proses enkripsi ataupun bersamaan dengan
proses enkripsi. Kunci eksternal panjangnya adalah 64 bit atau delapan karakter.
Karena ada 16 putaran, maka kunci internal yang dibutuhkan sebanyak 16 buah,
yaitu K 1,K 2,«, K 16.
Kunci eksternal 64 bit, dikompresi terlebih dahulu menjadi 56 bit
menggunakan matriks permutasi kompresi PC-1. Dalam permutasi tiap bit
kedelapan dari delapan b yte kunci akan diabaikan. Sehingga akan ada
pengurangan delapan bit dari 64 bit awal kunci eksternal, matriks permutasi
kompresi PC-1 :
57 49 41 33 25 17 9 1 58 50 42 34 26 18
10 2 59 51 43 35 27 19 11 3 60 52 44 36
63 55 47 39 31 23 15 7 62 54 46 38 30 22
14 6 61 53 45 37 29 21 13 5 28 20 12 4
Setelah didapatkan 56 bit hasil permutasi, selanjutnya 56 bit akan dibagi
menjadi dua bagian, kiri dan kanan, yang masing-masing panjangnya 28 bit.
Kemudian kedua bagian tersebut akan disimpan ke dalam C0 dan D0.
C0 : berisi bit-bit dari K pada posisi :
57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18
10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 16/29
19
D0 : berisi bit-bit dari K pada posisi :
63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22
14, 6, 61, 53, 45, 37, 29, 21, 21, 13, 5, 28, 20, 12
Proses selanjutnya adalah, kedua bagian (C0 dan D0) digeser ke kiri ( left
shift) sepanjang satu atau dua bit, tergantung pada tiap putaran. Perputaran ini
bersifat wraping atau round-shift . Bisa kita lihat pergeseran bit dari setiap putaran
pada tabel berikut.
Tabel 1. Jumlah pergeseran bit pada tiap putaran
Dari hasil C0 dan D0 akan didapatkan nilai dari C1 dan D2 begitu
seterusnya. Sampai proses tersebut menghasilkan C16 dan D16, untuk
mendapatkan kunci internal pertama (K 1), maka bit dari C0 dan D0 tadi dilakukan
permutasi kompresi dengan menggunakan matriks PC-2 berikut :
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 17/29
20
14 17 11 24 1 5 3 28 15 6 21 10
23 19 12 4 26 8 16 7 27 20 13 2
41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32
Jadi setiap kunci K i mempunyai panjang 48 bit. Apabila proses pergesaran
bit-bit dijumlahkan semuanya, makanya jumlah seluruhnya sama dengan 28
putaran. Jumlah ini sama dengan jumlah bit pada Ci dan Di. Oleh karena itu,
setelah putaran ke 16 akan didapatkan kembali C16 = C0 dan D16 = D0. Gambar
berikut akan memperlihatkan bagaimana cara pembangkitan kunci internal pada
algoritma DES.
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 18/29
21
Kunci eksternal
PermutasiPC-1
C 0
D0
Left Shift Left Shift
C 1
D1
Left Shift Left Shift
PermutasiPC-2 K
1
C j
D j
Permutasi
PC-2 K j
/
/
Left Shift Left Shift
C 16
D16
Permutasi
PC-2 K 16
Gambar 6. Proses pembangkitan kunci internal pada algoritma DES
Proses enchipering terhadap blok plainteks dilakukan setelah permutasi
awal. Setiap blok plainteks mengalami 16 kali putaran enchipering. Setiap
putaran enchipering merupakan jaringan Feistel yang secara metematis
dinyatakan sebagai : Li = R i-1
R i = Li-1 �h(R i-1,K i)
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 19/29
22
Diagram fungsi h diperlihatkan pada gambar berikut:
Ri-1
32 bit
E ( Ri-1
)
Ekspansi menjadi 48 bit
48 bit
� K i
48 bit
A K R E ii !�
)( 1
S 1
S 8
...
B
Matriks substitusi
32 bit
48 bit
P ( B)
32 bit
Gambar 7. Rincian komputasi fungsi h
) merupakan fungsi ekspansi yang memperluas blok R i-1 yang mempunyai
panjang 32 bit menjadi blokm48 bit. Fungsi ekspansi direalisasikan dengan
matriks ekspansi berikut :
32 1 2 3 4 5 4 5 6 7 8 9
8 9 10 11 12 13 12 13 14 15 16 17
16 17 18 19 20 21 20 21 22 23 24 25
24 25 26 27 28 29 28 29 30 31 32 1
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 20/29
23
Hasil ekspansi ) (R i-1) yang panjangnya 48 bit di-XOR-kan dengan Ki
yang panjangnya 48 bit menghasilkan vector A yang penjangnya juga 48 bit.
Kemudian vector A dikelompokan menjadi delapan bagian, yang masing-masing
bagian berisi 6 bit, dan merupakan masukan dari proses subsitusi.
Proses subsitusi menggunakan delapan buah kotak-S (S-box). Kotak-S
adalah matriks yang berisi subsitusi sederhana yang memetakan satu atau lebih bit
dengan 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.
Dalam algoritma DES kotak-S yang digunakan adalah 6x4 S-box yang
berarti menerima masukan enam bit dan menghasilkan keluaran empat bit.
Kelompok enam bit pertama menggunakan S1, kelompokan enam bit berikutnya
menggunakan S2 dan 32 bit keluaran yang dinamakan dengan vector B.
Delapan kotak-S tersebut adalah :
S1
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
S2
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 21/29
24
S3
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
S4
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
S5
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 16
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
S6
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
S7
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
S8
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Setelah didapat vector B, maka selanjutnya pada vector B dilakukan proses
permutasi, yang bertujuan untuk mengacak hasil proses subsitusi kotak-S.
permutasi dilakukan dengan menggunakan matriks permutasi P (P-Box).
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 22/29
25
Keluarannya menghasilkan P(B) yang juga merupakan keluaran dari fungsi h.
Proses selanjutnya yaitu bit-bit P(B) di-XOR-kan dengan Li-1 untuk mendapatkan
R i. berikut ini adalah matriks ermutasi P(B).
16 7 20 21 29 12 28 17 1 15 23 26 5 8 31 10
2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25
f
�
Li-1
Ri
32 bit
32 bit
Gambar 8. Skema dasar perolehan R i
Proses selanjutnya yaitu, permutasi terakhir yang dilakukan setelah 16 kali
putaran terhadap gabungan dari blok kiri (L) dan blok kanan (R). Proses
permutasi dilakukan dengan menggunakan matriks permutasi balikan ( invers
initial permutation) atau IP-1 sebagai berikut :
40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 23/29
26
2.1.3.3 Deskripsi
Pada algoritma DES proses deskripsi dan enkripsinya menggunakan kunci
yang sama. Proses deskripsi pada cipherteks merupakan kebalikan dari proses
enkripsi. Jika pada proses enkripsi urutan kunci yang digunakan adalah K 1, K 2,«,
K 16, maka untuk proses deskripsi urutan kunci yang digunakan adalah K 16, K 15, «,
K 1. Masukan awalnya adalah R 16 dan L16 untuk dechipering. Blok R 16 dan L16
diperoleh dengan mempermutasikan chiperteks dengan matriks permutasi IP-1
.
Skema proses deskripsi diperlihat pada gambar berikut :
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 24/29
27
�
§ ̈©
6
6
5 K R f L R �!
�
),( 1
1
1
14 K R f L R �!
),( 2221 K R f L R �!
),( 1110 K R f L R �!
�
Gambar 9. Skema dasar proses deskripsi algoritma DES
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 25/29
28
2.1.4 Tinjauan Umum Visual Basic
V isual Basic merupakan bahasa pemrograman yang cukup populer dan
mudah dipelajari. Dapat membuat program dan aplikasi GUI ( Graphical User
Interface ), program yang memungkinkan pemakai dapat berkomunikasi dengan
komputer tersebut dengan menggunakan modus grafik atau gambar. V isual Basic
merupakan salah satu bahasa pemrograman yang paling popular, mudah,
menyenangkan, banyak keunggulan seperti ODBC (Open Data Base
Connectivity), DAO ( Data Access Ob ject ), ADO (Actifex Data Ob ject ).
Beberapa kemampuan dan manfaat dari Visual Basic diantaranya :
a. Untuk membuat program aplikasi berbasis windows.
b. Untuk membuat objek-objek pembantu program seperti Control ActiveX, File
Help dan Aplikasi Internet.
c. Menguji program (debugging ) dan menghasilkan program akhir berakhiran
EXE yang bersifat executable atau dapat langsung dijalankan.
Beberapa versi dari Visual Basic 6.0 diantaranya seperti :
a. Standar Edition/Learning Edition : adalah versi standar yang sudah
mencakup berbagai sarana dasar dari Visual Basic 6.0 untuk mengembangkan
aplikasi.
b. Professional Edition : versi ini memberikan berbagai sarana ekstra yang
dibutuhkan oleh para programer professional. Misalnya seperti kontrol-
kontrol tambahan, dukungan untuk pemrograman internet, compiler untuk
membuat file help, serta sarana pengembangan database yang lebih baik.
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 26/29
29
c. Enterprise Edition : versi ini dikususkan bagi para programer yang ingin
mengembangkan aplikasi remote computing atau client server . Biasanya versi
ini digunakan untuk membuat aplikasi pada jaringan.
Untuk lingkungan kerja Visual basic 6.0, sebuah kotak dialog seperti pada
gambar berikut ini akan muncul pada saat Visual Basic dijalankan. Jenis-jenis
aplikasi yang akan dipilih dapat dibuat dengan Visual Basic. Biasanya untuk
membuat program aplikasi standar, maka dipilih standarExe, lalu klik tombol
open. Setelah Visual Basic dijalankan, akan muncul sebuah layar seperti pada
gambar berikut ini, layar ini merupakan linkungan pengembangan aplikasi Visual
Basic yang akan digunakan untuk membuat program-program aplikasi dengan
Visual Basic.
Gambar 10. Tampilan Microsoft Visual Basic
Gambar 11. Tampilan Menu Bar Microsoft Visual Basic
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 27/29
30
Gambar 12.Tampilan Toolbar Standar Pada Visual Basic
Gambar 13. Control Box
Gambar 14. Jendela Project Explorer
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 28/29
31
Gambar 15. Jendela Proper ties
Dar i gambar tersebut dapat dijelaskan sebagai ber ikut :
a. Control menu adalah menu yang digunakan terutama untuk memani pulasi
jendela Visual Basi .
b. Menu Visual Basi ber isi semua per intah Visual Basi yang dapat digunakan
untuk melakukan tugas ter tentu.
c. Tool bar adalah tombol tombol yang mewak ili suatu per intah ter tentu dar i
visual Basic.
d. Form windows atau jendela form adalah daerah ker ja utama, dimana akan
membuat program-program aplikasi Visual Basic.
e.
Tool box adalah sebuah ³kotak piranti´ yang mengandung sebuah obyek atau
control yang di butuhkanuntuk membuat suatu program aplikasi. kontrol
adalah suatu obyek yang akan men jadi i t f ( penghubung) antara
5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com
http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 29/29
32
program aplikasi dan usernya dan kesemuanya harus diletakan di dalam
jendela form di atas.
f. Jendela Project Explorer adalah jendela yang mengandung semua file di
dalam aplikasi Visual Basic. Setiap aplikasi dalam Visual Basic disebut
dengan istilah Project (proyek), dan setiap proyek bias lebih dari satu file.
g. Jendela Properties adalah jendela yang mengandung semua informasi
mengenai obyek yang terdapat pada aplikasi Visual Basic.
h. Form Layout Window adalah jendela yang menggambarkan posisi dari form
yang ditampilkan pada layer monitor. Posisi form pada form layout window
inilah yang merupakan petunjuk dimana aplikasi akan ditampilkan pada layer
monitor saat dijalankan nanti.