29
 4 BAB II TINJAUAN PUSTAKA 2.1. Tinjauan Umum Implementasi Algoritma Data Enkription Standart (DES) 2.1.1 Tinjauan Umum Imple mentasi 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 Kriptogr afi 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 tulis an 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

Tinjauan Pustaka Bab II tentang Kriptografi

Embed Size (px)

Citation preview

Page 1: Tinjauan Pustaka Bab II tentang Kriptografi

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

Page 2: Tinjauan Pustaka Bab II tentang Kriptografi

5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com

http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 2/29

 

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

Page 3: Tinjauan Pustaka Bab II tentang Kriptografi

5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com

http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 3/29

 

 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.

Page 4: Tinjauan Pustaka Bab II tentang Kriptografi

5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com

http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 4/29

 

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

Page 5: Tinjauan Pustaka Bab II tentang Kriptografi

5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com

http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 5/29

 

 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

Page 6: Tinjauan Pustaka Bab II tentang Kriptografi

5/8/2018 Tinjauan Pustaka Bab II tentang Kriptografi - slidepdf.com

http://slidepdf.com/reader/full/tinjauan-pustaka-bab-ii-tentang-kriptografi 6/29

 

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:

Page 7: Tinjauan Pustaka Bab II tentang Kriptografi

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.

Page 8: Tinjauan Pustaka Bab II tentang Kriptografi

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

Page 9: Tinjauan Pustaka Bab II tentang Kriptografi

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

Page 10: Tinjauan Pustaka Bab II tentang Kriptografi

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

Page 11: Tinjauan Pustaka Bab II tentang Kriptografi

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

Page 12: Tinjauan Pustaka Bab II tentang Kriptografi

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

Page 13: Tinjauan Pustaka Bab II tentang Kriptografi

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.

Page 14: Tinjauan Pustaka Bab II tentang Kriptografi

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

 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

Page 15: Tinjauan Pustaka Bab II tentang Kriptografi

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 

Page 16: Tinjauan Pustaka Bab II tentang Kriptografi

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 :

Page 17: Tinjauan Pustaka Bab II tentang Kriptografi

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.

Page 18: Tinjauan Pustaka Bab II tentang Kriptografi

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)

Page 19: Tinjauan Pustaka Bab II tentang Kriptografi

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

Page 20: Tinjauan Pustaka Bab II tentang Kriptografi

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 

Page 21: Tinjauan Pustaka Bab II tentang Kriptografi

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

Page 22: Tinjauan Pustaka Bab II tentang Kriptografi

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 

Page 23: Tinjauan Pustaka Bab II tentang Kriptografi

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 :

Page 24: Tinjauan Pustaka Bab II tentang Kriptografi

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 

§  ̈© 

 

 

5 K  R  f    L R �!

 

),( 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

Page 25: Tinjauan Pustaka Bab II tentang Kriptografi

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.

Page 26: Tinjauan Pustaka Bab II tentang Kriptografi

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

Page 27: Tinjauan Pustaka Bab II tentang Kriptografi

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 

Page 28: Tinjauan Pustaka Bab II tentang Kriptografi

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

Page 29: Tinjauan Pustaka Bab II tentang Kriptografi

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.