BAB II TINJAUAN PUSTAKA
Bab II ini berisi tentang pembahasan teori-teori tentang kriptografi, algoritma Vigenere dan Data Encrytpion Standard.
2.1. Kriptografi Kata Cryptography berasal dari bahasa Yunani yang terdiri dari dua kata yaitu kryptos yang berarti rahasia dan graphein yang berarti tulisan (Mollin,2007). Kriptografi adalah ilmu mengenai tekhnik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi (Kromodimoeljo, 2010).
2.1.1. Terminologi Ketika seorang pengirim ingin mengirimkan suatu pesan kepada si penerima, dimana si pengirim ingin pesan yang disampaikannya tidak dapat dibaca oleh orang lain yang ingin melakukan penyadapan. Dalam kriptografi pesan asli biasa disebut plaintext dan pesan yang disamarkan disebut ciphertext. Proses menyamarkan pesan sedemikian rupa untuk menyembunyikan substansinya disebut enkripsi. Sebuah pesan yang dienkripsi disebut ciphertext. Proses untuk mengubah ciphertext kembali ke plaintext adalah dekripsi (Mollin,2007). Pada standar ISO 7498-2 menggunakan istilah encipher untuk proses enkripsi dan decipher untuk proses dekripsi. Skema rangkaian proses enkripsi dan dekripsi ditunjukkan secara umum pada Gambar 2.1. Seni dan ilmu untuk menjaga keamanan pesan disebut kriptografi dan pelakunya adalah kriptografer. Kriptanalis adalah yang melakukan kriptanalisis, yaitu seni dan ilmu untuk memecahkan pesan tersembunyi (ciphertext). Cabang
Universitas Sumatera Utara
8
matematika yang meliputi kriptografi dan kriptanalisis adalah kriptologi dan praktisinya disebut kriptologis (Munir, 2006).
Plaintext
Plaintext
Ciphertext Enkripsi
Dekripsi
Gambar 2.1. Skema Proses enkripsi dan dekripsi (Schneier, 1996)
2.1.2. Komponen Kriptografi Dalam kriptografi terdapat beberapa istilah penting antara lain : 1. Pesan, Plaintext, dan Ciphertext Pesan merupakan data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plaintext. Pesan dapat berupa data atau informasi yang dikirim atau yang disimpan dalam media penyimpanan. Pesan yang tersimpan bisa berbentuk teks, citra (image), suara/bunyi (audio) dan video. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain maka, pesan dapat disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut ciphertext.
2. Pengirim dan Penerima Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitasnya yang lain. Penerima (receiver) adalah entitas yang menerima pesan. Entitas di sini dapat berupa orang, mesin (komputer), kartu kredit, dan sebagainya.
3. Enkripsi dan Dekripsi Proses menyandikan pesan asli (plaintext) menjadi pesan tersandi (ciphertext) disebut enkripsi (encryption) sedangkan proses untuk mengembalikan pesan tersandi (ciphertext) menjadi plaintext semula dinamakan dekripsi (decryption). 4. Cipher dan Kunci Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan dechipering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi.
Universitas Sumatera Utara
9
Keamanan algoritma kriptografi sering diukur dari banyaknya kerja (work) yang dibutuhkan untuk memecahkan ciphertext menjadi plaintext tanpa mengetahui kunci yang digunakan. Kunci (key) merupakan parameter yang digunakan untuk transformasi enciphering dan deciphering. Kunci biasanya berupa string atau deretan bilangan.
5. Sistem kriptografi Kriptografi membentuk sebuah sistem yang dinamakan sistem kriptografi. Sistem kriptografi (cryptosystem) terdiri dari algoritma kriptografi, semua plaintext dan ciphertext yang mungkin dan kunci.
6. Penyadap (eavesdropper) Penyadap
merupakan
orang
yang
mencoba
menangkap
pesan
selama
ditransmisikan. Tujuan penyadap adalah untuk mendapatkan informasi sebanyakbanyaknya mengenai sistem kriptogafi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan ciphertext. Nama lain penyadap : enemy, adversary, intruder, interceptor, bad guy.
7. Kriptanalisis Kriptografi berkembang sedemikian rupa sehingga melahirkan bidang yang berlawanan yaitu kriptanalisis (Munir, 2006). kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan ciphertext menjadi plaintext tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis.
2.1.3. Tujuan Kriptografi Kriptografi bertujuan untuk memberikan layanan keamanan (Paar & Pelzl, 2010) sebagai berikut: 1. Kerahasian (Confidentiality) Informasi dirahasiakan dari semua pihak yang tidak berwenang. 2. Keutuhan Data (Integrity) Pesan tidak berubah dalam proses pengiriman hingga pesan diterima oleh penerima.
Universitas Sumatera Utara
10
3. Autentikasi (Anthentication) Kepastian terhadap identitas setiap entitas yang terlibat dan keaslian sumber data. 4. Nirpenyangkalan Setiap entitas yang berkomunikasi tidak dapat menolak atau menyangkal atas data yang telah dikirim atau diterima.
2.2. Jenis-Jenis Algoritma Kriptografi Algoritma Kriptografi dibagi tiga berdasarkan kunci yang dipakai, yaitu algoritma simetri (menggunakan satu kunci untuk proses enkripsi dan dekripsi), algoritma asimetri (menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi), dan fungsi hash (Ariyus, 2008). Karakteristik kriptografi dibagi dua berdasarkan tipe operasi yang dipakai untuk enkripsi dan dekripsi (teknik substitusi dan teknik permutasi) serta berdasarkan tipe pengolahan pesan (block cipher dan stream cipher) (Sadikin, 2012).
2.2.1.
Algoritma Simetris
Algoritma simetris adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya (Wandani, 2012). Bila mengirim pesan dengan algoritma ini, si penerima pesan harus diberitahu kunci dari pesan tersebut agar bisa mendekripsikan pesan yang dikirim. Keamanan dari pesan yang menggunakan algoritma ini tergantung pada kunci. Jika kunci tersebut diketahui oleh orang lain maka orang tersebut dapat melakukan enkripsi dan dekripsi pada pesan (Sadikin, 2012). Yang termasuk algoritma kunci simetris adalah OTP, DES, RC2, RC4, RC5, IDEA, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5, Kasumi dan lain-lainnya. Skema kriptografi simetris dapat dilihat pada Gambar 2.2.
Universitas Sumatera Utara
11
TeksAsli
Algoritma Enkripsi
Ciphertext
Algoritma Dekripsi
Teks Asli
Kunci Rahasia
Gambar 2.2. Skema kriptografi simetris
2.2.2. Algoritma Asimetris Algoritma asimetris disebut juga dengan kriptografi kunci publik karena algortima ini memiliki kunci yang berbeda untuk enkripsi dan dekripsi, dimana enkripsi menggunakan public key dan untuk dekripsinya menggunakan private key. Public key dan private key harus saling berpasangan secara matematis. Dengan memberikan public key, pembuat kunci berhak memberikan dan mendapatkan public key agar pesan aman dan hanya bisa dibaca oleh si pembuat kunci. Dalam kriptografi kunci asimetri, hampir semua algoritma kriptografinya menggunakan konsep kunci publik, seperti Rivest-Shamir-Adleman (RSA), El-Gamal, Rabin dan sebagainya (Harahap, 2014). Kecuali algoritma Pohlig˗Hellman karena kunci enkripsi maupun kunci dekripsinya bersifat rahasia. Skema kriptografi asimetris dapat dilihat pada Gambar 2.3.
Gambar 2.3. Kriptografi asimetris (Wandani, 2012)
2.3. Sandi Vigenere Sandi vigenere merupakan bagian dari kriptografi. kriptografi adalah kajian mengenai teknik matematika yang digunakan untuk keamanan informasi. Sandi vigenere menurut Bruen & Forcinito (2011) adalah sebuah sandi klasik yang memiliki konsep yang relatif sederhana dan banyak digunakan sampai sekarang. Ide dari sandi vigenere ini adalah sandi caesar yang dimodifikasi. Jika sandi caesar menggunakan kata kunci sandi tunggal, sedangkan sandi vigenere menggunakan kata kunci yang diulang sebanyak yang diperlukan dengan panjang pesan. Huruf yang akan disandikan di
Universitas Sumatera Utara
12
sesuaikan dengan angka, a = 0, b = 1, c = 2, …, z = 25. Kemudian tambahkan angka kata kunci dan angka pesan. Lalu hasilnya dimodulukan dengan 26, dan hasilnya yang berupa angka tersebut dirubah ke dalam huruf untuk mendapatkan huruf
yang
tersandi. Sandi vigenere merupakan sebuah algoritma kriptografi klasik, algoritma ini tergolong algoritma dasar karena menggunakan algoritma berbasis karakter (Mushlih, 2012). 2.3.1. Cara Kerja Sandi Vigenere Gambar 2.4 digunakan untuk menyandikan sebuah pesan. Setiap huruf yang disandikan dengan menggunakan baris yang berbeda, sesuai dengan kata kunci yang diulang-ulang. Contoh : Pesan
=SERATUSRIBU
Kata kunci
=JALAN
Kata kunci harus diulang sampai jumlah huruf sama dekan pesan. Jumlah huruf pada pesan ada 11 huruf sedangkan kata kunci ada 5 huruf. Kata kunci menjadi “ J A L A N J A L A N J ” sesuai dengan banyaknya huruf pesan. Huruf pertama pada pesan di sandikan dengan huruf pertama kata kunci, dan begitu seterusnya. Huruf pertama pada contoh adalah “S” dan huruf pertama pada kata kunci “J” disandikan/enkripsi menjadi huruf “B”. (Lihat Gambar 2.4.) Pesan
= SERATUSRIBU
Kata kunci
= JALANJALANJ
Pesan tersandi
= BECAGDSCIOD
Universitas Sumatera Utara
13
Gambar 2.4. Contoh gambar tabel vigenere Untuk proses deskripsi atau mengembalikan sama seperti di atas. Huruf pertama pesan tersandi, disandikan dengan huruf pertama kata kunci, dan begitu seterusnya. Pesan tersandi = B E C A G D S C I O D Kata kunci
= JALANJALANJ
Pesan
= SERATUSRIBU
Sandi vigenere dapat ditulis secara matematis, seperti dengan penjelasan vigenere di atas yang menggunakan penjumlahan dan modulus yaitu:
Universitas Sumatera Utara
14
rumus enkripsi Ci = ( Pi + Ki ) mod 26 ...................................................................................... (2.1)
rumus deskripsi Pi = ( Ci – Ki ) mod 26 ........................................................................................ (2.2) Keterangan Ci = nilai desimal (a=0) karakter tersandi ke-i Pi = nilai desimal karakter pesan ke-i Ki = nilai desimal karakter kata kunci ke-i Contoh : menggunakan kasus di atas dengan menggunakan Rumus Enkripsi dimana Pi = S dan Ki = J Ci = ( Pi + Ki ) mod 26 Ci = ( S + J ) mod 26 Ci = ( 18 + 9 ) mod 26 Ci = 27 mod 26 Ci = 1 = B Sedangkan Rumus Dekripsi Pi = ( Ci – Ki ) mod 26 Pi = ( B – J ) mod 26 Pi = ( 1 – 9 ) mod 26 Pi = -8 mod 26 Pi = 18 = S
2.3.2.
Sandi Vigenere Dengan 95 Karakter
Sandi vigenere dengan 95 karakter merupakan pengembangan dari kriptografi vigenere yang asli dengan menambahkan beberapa karakter yang terdapat pada tabel ASCII sehingga berjumlah 95 karakter yang sebelumnya berjumlah 26 karakter. Penambahan karakter ini, berguna untuk mempersulit pemecahan sandi dan untuk memudahkan di aplikasi ke bahasa pemrograman komputer (Prasetyo, 2014). Pada Tabel 2.1 dapat dilihat karakter ASCII yang digunakan pada sistem.
Universitas Sumatera Utara
15
Tabel 2.1. Karakter ASCII yang digunakan Desimal Karakter Desimal Karakter Desimal Karakter 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
Spasi ! “ # $ % & ‘ ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~
2.4. Data Encryption Standard (DES) Data Encryption Standard dikembangkan pada awal 1970an. Pada tahun 1972, NBS (National Bureau of Standard) yang merupakan badan pemberian standart Amerika Serikat mengidentifikasikan sebuah kebutuhan untuk memberikan standart pemerintah tentang pengenkripsian informasi sensitive yang belum terklasifikasi. Pada 15 Mei 1973, setelah NBS berkonsultasi dengan NSA, NBS mengajukan proposal untuk sebuah cipher yang memenuhi kriteria yang diinginkan. Pada pengajuan proposal yang pertama ini, NBS tidak menemukan cipher yang memenuhi kriteria. Pada 27
Universitas Sumatera Utara
16
Agustus 1974 pengajuan yang ke dua diserahkan. Kali ini, IBM mencalonkan cipher Lucifer yang dikembangkan oleh Horst Feistel, Walter Tuchman, Don Coppersmith, Alam Konheim, Carl Meyer, Mike Matyas, Roy Adler, Edna Grossman, Bill Notz, Lynn Smith dan Bryan Tuckerman. Penamaan Lucifer diambil berdasarkan nama Lucifer yang merupakan salah satu Demon. Demon pada hal ini berarti Demonstration (Ariyus, 2006). Metode DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher block. DES dirancang untuk melakukan encipher dan decipher data yang berisi 56-bit di bawah kendali 56-bit kunci internal atau upa-kunci. Dalam melakukan decipher harus dilakukan dengan menggunakan kunci yang sama dengan saat proses encipher tetapi saat melakukan decipher pemberian alaman berubah sehingga proses decipher merupakan kebalikan dari proses encipher. Sejumlah data yang akan di encipher disebut sebagai permutasi awal atau initial permutation (IP). Komputasi keydependent didefenisikan sebagai fungsi f cipher dan fungsi KS sebagai key schedule. Dekripsi dari komputasi diberikan pertama bersama dengan detail bagaimana algoritma digunakan dalan proses encipher. Selanjutnya penggunaan algoritma untuk proses decipher dideskripsikan. Pada
akhirnya, sebuah defenisi cipher fungsi f
diberikan dalam bentuk fungsi primitif yang disebut fungsi seleksi Si dan fungsi permutasi P (Alvi, 2011).
2.4.1.
Skema Global DES
Pada awalnya, blok plaintext dipermutasikan dengan matriks permutasi awal (initial permutation atau IP). Hasil dari permutasi awal tersebut kemudian di encipher sebanyak 16 kali atau 16 putaran. Setiap putarannya menggunakan kunci internal yang berbeda. Hasil dari proses encipher kembali dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1) menjadi block ciphertext. Skema global dari DES dapat dilihat pada Gambar 2.5 dan skema enkripsi dari DES dapat dilihat pada Gambar 2.6.
Universitas Sumatera Utara
17
Gambar 2.5. Skema global data encryption standard Dalam proses encipher, blok plaintext terbagi menjadi dua bagian yaitu bagian kiri (L) dan bagian kanan (R), yang masing-masing memiliki panjang 32-bit. Pada setiap putaran i, blok R merupakan masukan untuk fungsi tranformasi f. Pada fungsi f, blok R dikombinasikan dengan kunci internal Ki. Keluaran dari fungsi ini di XOR kan dengan blok L yang langsung diambil dari blok R sebelumnya. Ini merupakan 1 putaran DES. Secara matematis, satu putaran DES dinyatakan sebagai berikut: Li = Ri - 1
................................................................................ (2.3)
Ri = Li - 1 XOR f (Ri – 1, Ki ) ................................................................................ (2.4)
Gambar 2.6. Algoritma enkripsi dengan DES
Universitas Sumatera Utara
18
2.4.2.
Permutasi Awal (Initial Permutation)
Sebelum putaran pertama, terhadap blok plaintext dilakukan permutasi awal (initial permutation atau IP). Tujuan permutasi awal adalah mengacak plaintext sehingga urutan bit-bit didalamnya berubah. Pengacakan dilakukan dengan menggunakan matriks permutasi seperti pada Tabel 2.2. Tabel 2.2. Permutasi awal (initial pemutation) 29 62 57 61
21 54 49 53
42 46 41 45
34 38 33 37
26 30 25 58
18 22 17 50
10 14 9 13
2 6 32 5
60 64 59 63
52 56 51 1
44 48 43 47
36 55 35 39
28 30 27 31
20 24 19 23
12 16 11 15
4 8 3 7
Cara membaca Tabel 2.2. dua entry ujung kiri atas (29 dan 21) berarti: “pindahkan bit ke-29 ke posisi bit 1” “pindahkan bit ke-21 ke posisi bit 2”
2.4.3.
Pembangkit Kunci Internal
Kunci internal dibutuhkan sebanyak 16 buah karena ada 16 putaran. Kunci tersebut yaitu K1, K2, ..., K16. Kunci-kunci internal ini dapat dibangkitkan dari kunci eksternal yang diberikan oleh pengguna. Kunci ekternal panjangnya 64-bit atau 8 karakter. Misalkan kunci ekternal yang disusun dari 64-bit adalah K. Kunci eksternal ini menjadi masukkan untuk permutasi dengan menggunakan matrik permutasi kompresi PC-1 seperti pada Tabel 2.3. Tabel 2.3. Matrik permutasi kompresi 57 10 63 14
49 2 55 6
41 59 47 61
33 51 39 53
25 43 31 45
17 35 23 37
9 27 15 29
1 19 7 21
58 11 62 13
50 3 54 5
42 60 46 28
33 52 38 20
26 44 30 12
18 36 22 4
Dalam permutasi ini, tiap bit ke delapan (parity bit) dari delapan byte kunci diabaikan. Hasil permutasinya adalah sepanjang 56-bit, sehingga dapat dikatakan panjang kunci DES adalah 56-bit. Selanjutnya, 56-bit ini dibagi menjadi 2 (dua) bagian, kiri dan kanan, yang masing-masing disimpan di dalam C0 dan D0:
Universitas Sumatera Utara
19
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
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, 13, 5, 28, 20, 12, 4 Selanjutnya, ke dua bagian digeser ke kiri (left shift) sepanjang 1 (satu) atau 2(dua) bit tergantung pada setiap putaran. Operasi bergeser bersifat wripping atau round shift. Misalkan (Ci , Di) menyatakan penggabungan Ci dan Di. (Ci+1, Di+1) diperoleh dengan menggeser Ci dan Di satu atau dua bit. Setelah pergeseran bit, (Ci , Di) mengalami permutasi kompresi dengan menggunakan matriks PC-2, seperti pada Tabel 2.4. Tabel 2.4. Permutasi kompresi 2 14 23 41 44
7 19 52 49
11 12 31 39
24 4 37 56
1 26 47 34
5 8 55 53
3 16 30 46
28 7 40 42
15 27 51 50
6 20 45 36
21 13 33 29
10 2 48 32
Dengan permutasi ini, kunci internal Ki diturunkan dari (Ci, Di) yang dalam hal ini Ki merupakan penggabungan bit-bit Ci pada posisi: 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2 Dengan bit-bit Di pada posisi: 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 internal Ki mempunyai panjang 48-bit. Proses pembangkitan Ki tersebut dapat dilihat pada Gambar 2.7.
Universitas Sumatera Utara
20
Gambar 2.7. Proses pembangkitan kunci-kunci internal DES
2.4.4.
Proses Enkripsi
Proses enciphering terhadap blok plaintext dilakukan setelah permutasi awal. Setiap blok plaintext mengalami 16 kali putaran enciphering. Setiap putaran enciphering merupakan jaringan Feistel yang secara matematis dinyatakan seperti rumus 2.3 dan rumus 2.4. Diagram komputasi fungsi f diperlihatkan pada Gambar 2.8.
Universitas Sumatera Utara
21
Gambar 2.8. Rincian komputasi fungsi ?
E adalah fungsi ekspansi yang memperluas blok Ri-1 yang panjangnya 32 bit menjadi blok 48 bit. Fungsi ekspansi direalisasikan dengan matriks permutasi ekspansi seperti pada Tabel 2.5. Tabel 2.5. Fungsi ekspansi 32 8 16 24
1 9 17 25
2 10 18 26
3 11 19 27
4 12 20 28
5 13 21 29
4 12 20 28
5 13 21 29
6 14 22 30
7 15 23 31
8 16 24 32
9 17 25 1
Selanjutnya, hasil ekspansi, yaitu E(Ri-1), yang panjangnya 48 bit di-XOR-kan dengan Ki yang panjangnya 48 bit menghasilkan vektor A yang panjangnya 48 bit: E(Ri - 1) XOR Ki = A ............................................................................................ (2.5) Vektor A dikelompokan menjadi 8 kelompok, masing-masing 6 bit dan menjadi masukkan bagi proses subtitution. Proses subtitution dilakukan dengan menggunakan 8 (delapan) buah kotak-S (S-box), S1 sampai S8. Setiap S-box menerima masukkan 6 bit dan menghasilkan keluaran 4 bit. Kelompok 6 bit pertama
Universitas Sumatera Utara
22
menggunakan S1, kelompok 6 bit ke dua menggunakan S2, dan seterusnya. Keluaran proses subtitution adalah vektor B yang panjangnya 48 bit. Vektor B menjadi masukan untuk proses permutasi. Tujuan permutasi adalah untuk mengacak hasil proses subtitution S-box. Permutasi dilakukan dengan menggunakan matriks permutasi P (P-box) seperti pada Tabel 2.6. Tabel 2.6. Matriks permutasi P 16 2
7 8
20 24
21 14
29 32
12 27
28 3
17 9
1 19
15 13
23 30
26 6
5 22
8 11
31 4
10 25
Bit-bit P(B) merupakan keluaran dari fungsi f. Akhirnya, bit-bit P(B) di-XOR kan dengan Li – 1 untuk mendapatkan Ri. Ri = Li – 1 XOR P(B) ............................................................................................ (2.6) Jadi, keluaran dari putaran ke-i adalah (Li , Ri) =(Ri – 1, Li – 1 XOR P(B)) ........................................................................ (2.7) Skema perolehan Ri dapat dilihat pada Gambar 2.9.
Gambar 2.9. Skema perolehan Ri
2.4.5.
Permutasi Akhir (Invers Initial Permutation)
Permutasi akhir dilakukan setelah 16 kali putaran terhadap gabungan blok kiri dan blok kanan. Proses permutasi menggunakan matriks permutasi awal balikan (invers initial permutation atau IP1) seperti pada Tabel 2.7.
Universitas Sumatera Utara
23
Tabel 2.7. Matrik Permutasi Akhir 40 38 36 34 2.4.6.
8 6 4 2
48 46 44 42
16 14 12 10
56 54 52 50
24 22 20 18
64 62 60 58
32 30 28 26
39 37 35 33
7 5 3 1
47 45 43 41
15 13 11 9
55 53 51 49
23 21 19 17
63 61 59 57
31 29 27 25
Proses Dekripsi
Proses dekripsi terhadap ciphertext merupakan kebalikan dari proses enkripsi. 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 16, 15, ..., 1, keluaran pada setiap putaran deciphering seperti rumus 2.3 dan rumus 2.4. Dalam hal ini, (R16, L16) adalah blok masukkan awal untuk deciphering. Blok (R16, L16) diperoleh dengan mempermutasikan ciphertext dengan matriks permutasi IP-1. Pra-keluaran dari deciphering adalah (L0, R0). Dengan permutasi awal IP akan didapatkan kembali blok plaintext semula. Selama deciphering, K16 dihasilkan dari (C16, D16) dengan permutasi PC-2. Tentu saja (C16, D16) tidak dapat diperoleh langsung pada permulaan deciphering. Tetapi karena (C16, D16) = (D0, C0), K16 dapat dihasilkan dari (C0, D0) tanpa perlu lagi melakukan pergeseran bit. Catatlah bahwa (C0, D0) yang merupakan bit-bit dari kunci eksternal K yang diberikan pengguna pada waktu dekripsi. Selanjutnya, K15 dihasilkan dari (C15, D15) yang 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 (D1,C1). 2.5. Windows Phone Windows phone merupakan sistem operasi yang dikembangkan oleh perusahaan Microsoft, untuk tampilan windows phone dan desktop sama atau identik, karena windows phone berjalan di mobile sehingga skala ruang lingkupnya lebih kecil. Windows phone di kembangkan oleh salah satu perusahaan sistem operasi yaitu Microsoft, windows phone merupakan perkembangan dari windows mobile, Windows phone pertama kali muncul pada awal oktober 2010 dengan versi pertamanya yaitu
Universitas Sumatera Utara
24
windows phone 7, sebelumnya Microsoft terlah memulai sistem operasi mobile ini pada tahun 2007, yang awal mulanya windows mobile dengan versi 5.0. Windows phone bekerja sama dengan smartphone asal Finlandia yaitu Nokia, Pada Februari 2011, CEO Microsoft Steven Ballmer dan CEO Nokia Stephen Elop mengumumkan kerjasama di antara kedua perusahaan, dimana windows phone akan menjadi sistem operasi utama pada Smartphone Nokia tersebut, sebelumnya nokia memiliki sistem operasi Symbian dan megoo. Pembuatan aplikasi dalam keluarga windows sama dengan yang satu dengan yang lainnya, bahasa yang digunakan juga sama dengan pembuatan aplikasi
di
keluarga windows, seperti Visual Basic, C++, C# , HTML5 (Putra, 2013).
2.6. Penelitian yang Relevan Berikut ini beberapa penelitian tentang kriptografi yang berkaitan dengan algoritma vigenere dan algoritma des: 1. Bayu Kristian Nugroho (2010) dalam skripsi yang berjudul Aplikasi Enkripsi SMS pada Telepon Selular Berbasis j2me dengan Metode Vigenere Cipher. Menyatakan bahwa metode enkripsi vigenere adalah metode enkripsi substitusi klasik yang telah ketinggalan zaman dan mudah dipecahkan oleh cryptanalysis. Kelemahan ini ditutup dengan cara merubah pesan ke kode ASCII lalu dienkripsi dengan metode enkripsi vigenere cipher. dengan cara ini ciphertext akan lebih sulit dipecahkan oleh cryptanalysis. 2. Ario Yudo Husodo (2010) dalam skripsi yang berjudul Penerapan Metode Enkripsi Vigenere Cipher dalam Pengamanan Transaksi Mobile Banking. Menyatakan bahwa kekuatan keamanan metode vigenere terdapat pada panjang kunci vigenere dan pola karakter penyusun kunci vigenere yang tidak beraturan. 3. Rifkie Primartha (2011) dalam jurnal yang berjudul Penerapan Enkripsi dan Dekripsi File Menggunakan Algoritma Data Encryption Standard (DES). Menyatakan bahwa waktu yang dibutuhkan untuk melakukan enkripsi maupun dekripsi file / teks sederhana adalah relatif sama.
Universitas Sumatera Utara