BAB II TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

Data Encryption Standard (DES)

Penerapan Enkripsi Dan Dekripsi File Menggunakan Algoritma Data Encryption Standard (DES) ABSTRAK

DATA ENCRYPTION STANDARD (DES) STANDAR ENKRIPSI DATA. Algoritma Kriptografi Modern

Outline. Sejarah DES Enkripsi DES Implementasi Hardware dan Software DES Keamanan DES

BAB III ANALISA DAN DESAIN SISTEM

Modul Praktikum Keamanan Sistem


BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

KOMBINASI ALGORITMA DES DAN ALGORITMA RSA PADA SISTEM LISTRIK PRABAYAR

BAB IV HASIL DAN PEMBAHASAN

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

STUDI, IMPLEMENTASI DAN PERBANDINGAN ALGORITMA KUNCI SIMETRI TRIPLE DATA ENCRYPTION STANDARD DAN TWOFISH

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

BAB II TINJAUAN PUSTAKA. Bab II ini berisi tentang pembahasan teori-teori tentang kriptografi, algoritma Vigenere dan Data Encrytpion Standard.

IMPLEMENTASI ENKRIPSI DATA BERBASIS ALGORITMA DES

BAB III ANALISIS DAN PERANCANGAN SISTEM. permasalahan-permasalahan dan kebutuhan-kebutuhan yang diharapkan sehingga dapat

BAB 2 LANDASAN TEORI

Ada 4 mode operasi cipher blok: 1. Electronic Code Book (ECB) 2. Cipher Block Chaining (CBC) 3. Cipher Feedback (CFB) 4. Output Feedback (OFB)

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

KOMBINASI ALGORITMA TRIPLE DES DAN ALGORITMA AES DALAM PENGAMANAN FILE

Implementasi Algoritma DES Menggunakan MATLAB

Vol. 3, No. 2, Juli 2007 ISSN PERANAN KRIPTOGRAFI DALAM KEAMANAN DATA PADA JARINGAN KOMPUTER

PERBANDINGAN ALGORITMA KRIPTOGRAFI DES DENGAN ICE

Data Encryption Standard (DES)

BAB I PENDAHULUAN. Universitas Sumatera Utara

Advanced Encryption Standard (AES) Rifqi Azhar Nugraha IF 6 A.

ALGORITMA DATA ENCRYPTION STANDARD (DES)

Penerapan Mode Blok Cipher CFB pada Yahoo Messenger

BAB III ANALISIS DAN PERANCANGAN

ENKRIPSI DAN DEKRIPSI DATA DENGAN ALGORITMA 3 DES (TRIPLE DATA ENCRYPTION STANDARD)

BAB 2 LANDASAN TEORI

Pengenalan Kriptografi

Bab 2 Tinjauan Pustaka

Jurnal Coding, Sistem Komputer Untan Volume 04, No.2 (2016), hal ISSN : X

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

STUDI ALGORITMA CIPHER BLOK KUNCI SIMETRI BLOWFISH CIPHER

General Discussion. Bab 4

BAB II TINJAUAN PUSTAKA

BAB III. ANALISIS MASALAH

Kriptografi Modern Part -1

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

Kriptografi Modern Part -1

ANALISA ALGORITMA BLOCK CIPHER DALAM PENYANDIAN DES DAN PENGEMBANGANNYA

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

BAB 1 PENDAHULUAN 1.1. Latar belakang

Disusun oleh: Ir. Rinaldi Munir, M.T.

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

Implementasi Algoritma DES Menggunakan MATLAB

BAB 2 LANDASAN TEORI. Plaintext Ciphertext Plaintext Enkripsi. Dekripsi. Gambar 2.1 Skema proses enkripsi dan dekripsi. Universitas Sumatera Utara

APLIKASI ENKRIPSI SMS (SHORT MESSAGE SERVICE) MENGGUNAKAN ALGORITMA DATA ENCRYPTION STANDARD (DES) BERBASIS ANDROID

RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB Kriptografi

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

PERANGKAT APLIKASI KEAMANAN DATA TEXT MENGGUNAKAN ELECTRONIC CODEBOOK DENGAN ALGORITMA DES

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

TINJAUAN PUSTAKA. Kriptografi

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

STUDI DAN MODIFIKASI ALGORITMA BLOCK CHIPER MODE ECB DALAM PENGAMANAN SISTEM BASIS DATA. Arief Latu Suseno NIM:

Aplikasi Pengamanan Data dengan Teknik Algoritma Kriptografi AES dan Fungsi Hash SHA-1 Berbasis Desktop

BAB II TINJAUAN PUSTAKA

Algoritma Kriptografi Modern (Bagian 2)

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

BAB III PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

BAB 1 PENDAHULUAN. khususnya internet sangatlah cepat dan telah menjadi salah satu kebutuhan dari

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

Penerapan Matriks dalam Kriptografi Hill Cipher

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS

Tipe dan Mode Algoritma Simetri (Bagian 2)

Studi dan Analisis Dua Jenis Algoritma Block Cipher: DES dan RC5

BAB 2 LANDASAN TEORI

Keamanan Sistem Komputer DES, AES, RSA

PERANCANGAN APLIKASI ENKRIPSI DATA MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD

Studi Perbandingan ORYX Cipher dengan Stream Cipher Standard

Algoritma Kriptografi Modern (Bagian 2)

A-2 Sistem Kriptografi Stream Cipher Berbasis Fungsi Chaos Circle Map dengan Pertukaran Kunci Stickel

Bab 1 PENDAHULUAN Latar Belakang

Blox: Algoritma Block Cipher

BAB II LANDASAN TEORI

Add your company slogan STREAM CIPHER. Kriptografi - Week 7 LOGO. Aisyatul Karima, 2012

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Proses enkripsi disetiap putarannya menggunakan fungsi linear yang memiliki bentuk umum seperti berikut : ( ) ( ) (3) ( ) ( ) ( )

BAB I PENDAHULUAN 1.1. LATAR BELAKANG

Perancangan Kriptografi Block Cipher 256 Bit Berbasis pada Pola Tuangan Air Artikel Ilmiah

SKK: ENKRIPSI KLASIK - SUBSTITUSI

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

Transkripsi:

BAB II TINJAUAN PUSTAKA 2.1. Kriptografi Kriptografi adalah ilmu yang mempelajari teknik-teknik matematis yang berhubungan dengan aspek keamanan informasi seperti keabsahan, integritas data, serta autentifikasi data. Kriptografi tidak berarti hanya memberikan keamanan informasi saja, namun lebih kearah teknik-teknik untuk mengamankannya. (Wahana Komputer, 2010) 2.1.1. Terminologi Dalam menjaga kerahasiaan data, kriptografi mengubah data jelas (plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah sampai di penerima, ciphertext tersebut ditransformasikan kembali ke dalam bentuk plaintext agar dapat dikenali. (Wahana Komputer, 2010) Proses pengubahan dari plaintext menjadi ciphertext disebut proses Encipherment atau enkripsi (encryption), sedangkan proses mengubah kembali ciphertext disebut proses dekripsi (decryption). (Wahana Komputer, 2010) Untuk mengenkripsi dan mendekripsi data, kriptografi menggunakan suatu algoritma dan kunci (key). Algoritma adalah fungsi matematika yang digunakan untuk mengenkripsi dan mendekripsi. Sedangkan kunci merupakan sederetan bit yang diperlukan untuk mengenkripsi dan mendekripsi data. (Wahana Komputer, 2010) 2.2. Teknik Kriptografi Pada umumnya terdapat dua teknik yang digunakan dalam kriptografi, yakni kunci simetrik dan kunci asimetrik (public-key). (Wahana Komputer 2010) 2.2.1. Algoritma Kriptografi Simetris Algoritma Kriptografi Simetris merupakan algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Algoritma simetri sering juga disebut

6 sebagai algoritma kunci rahasia, algoritma kunci tunggal atau algoritma satu kunci dan mengharuskan pengirim dan penerima menyetujui suatu kunci tertentu sebelum mereka dapat berkomunikasi dengan aman.(amanda Lilda Ramadayanti, 2008) Gambar 2.1. Kriptografi Simetris (Amanda Lilda Ramadayanti, 2008) Algoritma kriptografi simetris dibagi menjadi dua kategori yaitu algoritma aliran (Stream Cipher) dan algoritma blok (Block Cipher). Pada algoritma aliran, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedangkan pada algoritma blok, proses penyandianya berorientasi pada sekumpulan bit atau byte data (per blok). (Wahana Komputer, 2010) 2.2.2. Algoritma Kriptografi Asimetris Algoritma Kriptografi Asimetris merupakan algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Algoritma ini disebut juga algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dibuat umum (public key) atau dapat diketahui oleh setiap orang, tapi kunci untuk dekripsi hanya diketahui oleh orang yang berwenang saja atau sering disebut kunci pribadi (private key). (Wahana Komputer, 2010) Gambar 2.2. Kriptografi Asimetris(Henny Wandani, 2012)

7 2.3. Sistem Kriptografi Vernam Cipher Vernam Cipher ditemukan oleh Gilbert Sandford Vernam (1890-1960) yang juga seorang penemu stream cipher pada tahun 1917. Vernam berkerja di suatu perusahaan bernama Bell Labs, dia memiliki hak paten yang menjelaskan tentang sebuah cipher dengan kunci yang telah disiapkan pada sebuah pita kertas, kemudian dikombinasikan dengan sebuah plaintext untuk menghasilkan sebuah pesan ciphertext yang dapat ditransmisikan. Pita yang sama kemudian digunakan pula untuk mendekripsikan ciphertext. Vernam cipher merupakan stream cipher yang didefenisikan pada sebuah alfabet. Sebuah pesan binarym 1, M 2, M 3,, M t dioperasikan dengan kunci string binaryk 1, K 2, K 3,, K t yang memiliki panjang yang sama untuk menghasilkan sebuah string ciphertextc 1, C 2, C 3,, C t. (Dhiren R. Patel, 2008) 2.3.1. Algoritma Vernam Cipher Rumus dasar untuk menghitung vernam cipher dalam mode binary dapat di tuliskan sebagai berkut : C i = P i + K i (mod n)..... (2.1) Keterangan : C i = Ciphertext P i = Plaintext K i = Kunci n = Banyaknya jumlah karakter yang digunakan Dimana C i adalah digit binary dari ciphertext, P i adalah digit binary dari plaintext, sedangkan K i adalah bit binary dari kunci, dan + adalah operasi penjumlahan. (Sonia Dhull, 2013)

8 Algoritma yang digunakan untuk vernam cipher dapat dinyatakan sebagai berikut: 1. Misalkan setiap alfabet plaintext sebagai sebuah urutan nomor yang meningkat, contoh A=0, B=1,, Z=25. 2. Lakukan hal yang sama untuk setiap karakter input plaintext 3. Tambahkan setiap nomor yang bersangkutan dari alfabet plaintext kepada nomor alfabet kunci yang bersangkutan. 4. Jika hasil yang dikeluarkan melebihi 26, modulo hasilnya dengan 26. 5. Terjemahkan setiap nomor hasil yang didapat tadi kembali kedalam alfabet yang bersangkutan. Hal ini akan memberikan outputciphertext. (Kahate, 2013) 2.3.2. Enkripsi Vernam cipher Secara matematis proses enkripsi plaintext (M) menjadi ciphertext (C) menggunakan kunci rahasia (k) dapat dinyatakan sebagai berikut : C = M + k (mod n)...... (2.2) Keterangan : C = Ciphertext M = Message / Plaintext k = Key / Kunci n = Banyaknya jumlah karakter yang digunakan 2.3.3. Dekripsi Vernam cipher Proses dekripsi ciphertext (C) menjadi plaintext (P) menggunakan kunci rahasia (k) dapat dinyatakan sebagai berikut : M = C k (mod n)....... (2.3) Keterangan : M = Message / Plaintext C = Ciphertext k = Key / Kunci n = Banyaknya jumlah karakter yang digunakan

9 2.4. Sistem Kriptografi Data Encryption Standard (DES) Pada tahun 1972 sebuah perusahaan National Bureau Standard (NBS) di Amerika Serikat, yang sekarang dikenal sebagai National Institute of Standard and Technology (NIST), memulai sebua projek untuk mengamankan data dan komunikasi komputer. Mereka ingin mengembangkan algoritma kriptografi tunggal. Setelah dua tahun, NBS menyadari bahwa IBM s Lucifer dapat menjadi kandidat yang bagus, dari pada mengembangkan algoritma baru dari awal. Setelah beberapa diskusi, pada tahun 1975 NBS mengumumkan detail dari algoritma tersebut. Pada akhir tahun 1976, pemerintah federal Amerika Serikat mengadopsi algoritma ini dan kemudian mengganti namanya menjadi Data Encryption Standard (DES). (Atul Kahate, 2013) DESmerupakan blockcipher simetris yang beroperasi pada blok 64 bit yang menggunakan sebuah kunci 56 bit. DES mengenkripsi data dalam blok 64 bit. Input dari dari algoritma ini adalah blok plaintext sepanjang 64 bit dan menghasilkan output blok ciphertext sepanjang 64 bit pula, yang didapat setelah dilakukan 16 kali putaran dari operasi pengulangan yang sama. (Man Young Rhee, 2003) Seperti algoritma lainya, algoritma ini mempunyai dua input pada fungsi enkripsinya: sebuah plaintext 64 bit yang akan di enkrispi dan sebuah kunci 56 bit. Hal yang paling utama yang diperlukan untuk membangun blok-blok dari plaintext adalah kombinasi dari permutasi dan subtitusi pada blok plaintext. Subtitusi didapatkan dari pencarian pada TabelS-boxes. Pada algoritma DES Enkripsi dan dekripsi menggunakan algoritma yang sama namun dalam urutan yang terbalik. (Man Young Rhee, 2003) 2.4.1. Algoritma Data Encryption Standard DES terdiri dari 16 tahapan, setiap tahapan disebut sebagai putaran. Setiap putaran dilakukan sebuah langkah subtitusi dan transposisi. Berikut Algoritma langkahlangkah enkripsi menggunakan Algoritma DES :

10 Gambar 2.3. Skema Algoritma DES (Atul Kahate, 2013) 1. Pada tahap pertama, permutasikan sebuah blok 64 bit plaintext dengan TabelInitial Permutation (IP). 2. Setelah itu akan didapatkan plaintext hasil initial permutation (IP). 3. Selanjutnya bagi hasil dari initial permutation tadi menjadi dua bagian, yaitu bagian kiri (L) dan bagian kanan (R). 4. Kemudian lakukan proses enkripsi sebanyak 16 kali putaran pada tiap bagian kiri (L) dan kanan (R) dengan kunci masing-masing. 5. Terakhir gabungkan bagian kiri (L) dan kanan (R) dan lakukan permutasi terakhir menggunakan TabelFinal Permutation (FP) / Invers Initial Permutation (IP-1). 6. Proses ini akan menghasilkan ciphertext. (Atul Kahate, 2013). 2.4.2. Pembangkitan kunci Internal Karena ada 16 putaran maka dibutuhkan kunci internal sebanyak 16 pula, yaitu K 1, K 2, K 3,..., K 16. Kunci-kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi. Kunci internal dibangkitkan dari kunci eksternal yang diinputkan oleh pengguna. Kunci eksternal panjangnya 64 bit atau 8 karakter sedangkan kunci internal panjangnya 56 bit. (Rifkie Primartha, 2011)

11 Misalnya Kunci Eksternal (KE) yang tersusun dari 64 bit. Kunci eksternal ini menjadi masukan untuk proses permutasi dengan menggunakan matriks permutasi kompresi (PC-1). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 KKKK = 25 26 27 28 29 30 31 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 64 Proses selanjutnya lakukan permutasi dari matriks kunci eksternal 64 bit terhadap Permutation Choice (PC-1). (Nimmi Gupta, 2012) 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 PPPP 1 = 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 Dalam permutasi ini, tiap bit ke delapan (parity bit) diabaikan. Hasil permutasinya adalah sepanjang 56 bit dibagi menjadi 2 bagian kiri dan kanan yang masing masing panjangnya 28 bit, yang masing-masing disimpan dalam C 0 dan D 0 : (Rifkie Primartha, 2011) C 0 berisi bit-bit dari K pada posisi : 57 49 41 33 25 17 9 1 58 50 42 34 26 18 CC 0 = 10 2 59 51 43 35 27 19 11 3 60 52 44 36 D 0 berisi bit-bit dari K pada posisi : 63 55 47 39 31 23 15 7 62 54 46 38 30 22 DD 0 = 14 6 61 53 45 37 29 21 13 5 28 20 12 4 Selanjutnya, kedua bagian digeser ke kiri (left shift) sepanjang satu atau dua bit tergantung pada tiap putaran. Operasi pergeseran bersifat wrapping atau round shift. (Rifkie Primartha, 2011). Setiap pasang blok C n dan D n, dibentuk dari pasang blok sebelumnya C n-1 dan D n-1 masing-masing, untuk n = 1, 2,.., 4 menggunakan pergeseran left shift. Untuk melakukan left shift, geser setiap satu bit ke kiri, kecuali untuk bit yang pertama, dimana bit tersebut akan di pindahkan ke bagian akhir dari blok. Artinya C 3 dan D 3, diperoleh dari pergeseran left shift C 2 dan D 2, C 4 dan D 4 diperoleh dari C 3 dan D 3, begitu seterusnya. (Nimmi Gupta, 2012)

12 Tabel 2.1. Jumlah pergeseran biat tiap putaran (Man Young Rhee, 2003) Round number Number of left shift 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 Setelah proses pergeseran bit (C n, D n ) lakukan permutasi kompresi 56 bit menjadi 48 bit dengan menggunakan matriks permutation choice 2 (PC-2). (Nimmi Gupta, 2010) 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 PPPP 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 internal K n mempunyai panjang 48 bit. Proses pembangkitan kuncikunci internal ditujukkan pada Gambar2.4. Bila jumlah pergeseran bit-bit pada Tabel 2.1 dijumlahkan maka akan menghasilkan jumlah 28, yang sama dengan jumlah bit pada C n dan D n. Karena itu, setelah putaran ke-16 akan didapatkan kembali C 16 = C 0 dan D 16 = D 0. (Rifkie Primartha, 2011) Gambar 2.4. Proses pembangkitan kunci internal (Rifkie Primartha, 2011)

13 2.4.3. Enkripsi DES Proses awal yang dilakukan dalam enkripsi adalah Permutasi Awal (Initial Permutation, IP). Pengacakan dilakukan dengan menggunakan Matriks Initial Permutation. 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 LL ii = 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 RR ii = 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 Proses enciphering terhadap blok plaintext dilakukan setelah permutasi awal. Setiap blok plaintext mengalami 16 kali putaran enciphering (Rifkie Primartha, 2010). Secara matematis, satu putaran DES dinyatakan sebagai (Nimmi Gupta, 2012): L n = R n-1....... (2.4) R n = L n-1 f(r n-1, K n ).... (2.5) Keterangan : R n L n K n f = Right permutation ke n = Left permutation ke n = Key permutation ke n = Fungsi permutasi f Kemudian setiap blok R n-1 di ekspansi dari 32 bit menjadi 48 bit. (Jin-Woo Park, 2007) Berikut matriks permutasi Ekspansi (E) (Man Young Rhee, 2003): 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 EE = 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 Selanjutnya hasil ekspansi, yaitu E(R n-1 ) yang panjangnya 48 bit di XOR-kan dengan K n yang panjangnya 48 bit dan menghasilkan vektor A yang panjangnya 48 bit pula. (Rifkie Primartha, 2011)

14 E(R n-1 ) K n = A...... (2.6) A = (B 1 )(B 2 )(B 3 )(B 4 )(B 5 )(B 6 )(B 7 )(B 8 ).... (2.7) Keterangan : E =Fungsi ekspansi R n K n A B 1,,B 1 6 = Right permutation ke n = Key permutation = Vektor hasil XOR yang panjangnya 48 bit = Bit hasil XOR yang dikelompokan masing-masing 6 bit Fungsi f di dapat dari mengimplementasikan permutasi pada bit-bit vektor A sebagai berikut (Jin-Woo Park, 2007): f = P(S 1 (B 1 )S 2 (B 2 ),,S 8 (B 8 )) (2.8) Keterangan : f = Fungsi permutasi f P = Permutasi kotak P S 1,,S 8 = Subtitusi kotak S B 1,,B 16 = Bit hasil XOR yang dikelompokan menjadi 6 bit Vektor A dikelompokkan menjadi 8 kelompok, masing-masing 6 bit, dan menjadi masukan bagi proses subtitusi. Proses subtitusi dilakukan dengan menggunakan delapan kotak-s (S-boxes), S 1 sampai S 8. Setiap kotak-s menerima masukan 6 bit dan menghasilkan keluaran 4 bit. Kelompok 6 bit pertama menggunakan S 1, kelompok 6 bit kedua menggunakan S 2, dan seterusnya. (Rifkie Primartha, 2011) Kotak-S dapat dilihat pada Tabel 2. Tabel 2.2. Matriks Kotak-S (Man Young Rhee, 2003) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 S 1 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 S 2 1 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 2 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 3 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 0 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 S 3 1 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 2 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 3 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 0 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 S 4 1 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 2 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14 0 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 S 5 1 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 2 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 3 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3 0 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11 S 6 1 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 2 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 3 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 0 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 S 7 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 2 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 3 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 0 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 S 8 1 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 3 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

16 Hal pertama yang harus dilakukan adalah menuliskan kembali bit-bit vektor A dan kemudian kelompokkan bit-bit tersebut menjadi 8 kelompok yang masing-masing kelompok terdiri dari 6 bit. Kotak-S menerima masukan 6 bit dan menghasilkan keluaran 4 bit, bit pertama dan terakhir dari masukan menggambarkan sebuah angka desimal dari range 0 sampai 3 (00 sampai 11) misalkan i. 4 bit pertengahan menggambarkan sebuah angka desimal dari range 0 sampai 15 (0000 sampai 1111) misalkan j. Kemudian lihat Tabel kotak-s, carilah angka yang didapat dari kolom i dan baris j. Kemudian ubah angka desimal yang didapat ke dalam binary. (Nimmi Gupta, 2012) Setelah didapat hasil dari kotak-s, maka selanjutnya dilakukan proses permutasi yang bertujuan untuk mengacak hasil proses subtitusi kotak-s. Permutasi dilakukan dengan matriks permutasi kotak-p (P-box). (Rifkie Primartha, 2011) 16 7 20 21 29 12 28 17 1 15 23 26 PP = 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 Selanjutnya setelah didapatkan f lakukan proses XOR antara f(r n-1, K n ) dengan L n-1 untuk mendapatkan R n menggunakan rumus (8.5) (Rifkie Primartha, 2011) Langkah terakhir setelah dilakukan 16 kali putaran, gabungkan blok kiri (L 16 ) dan blok kanan (R 16 ), kemudian lakukan proses permutasi menggunakan Matriks Permutasi Awal Balikan (Invers Initial Permutation, IP -1 ). (Nimmi Gupta, 2010) IIII 1 = 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

17 2.4.4. Dekripsi DES Proses dekripsi DES menggunakan proses yang sama dengan enkripsi. Proses dekripsi DES menggunakan ciphertext sebagai inputan, tetapi gunakan kunci K n dalam urutan yang terbalik. Misalnya gunakan kunci K 16 untuk iterasi yang pertama, K 15 untuk iterasi kedua, sampai K 1 untuk iterasi yang terakhir. (Naveen Kumar, 2012) Secara matematis dapat dituliskan sebagai berikut (Nimmi Gupta, 2012) : L n = R n-1...... (2.8) R n = L n-1 f(r n-1, K n )..... (2.9) Keterangan : L n R n K n f = Left permutation Ke n = Right permutation Ke n = Key permutation Ke n = Fungsi permutasi f Jika pada proses enkripsi urutan kunci yang digunakan adalah K 1, K 2,, K 16, maka untuk proses dekripsi urutan kunci yang digunakan adalah K 16, K 15,, K 1. Masukan awalnya adalah R 16 dan L 16 untuk deciphering. Blok R 16 dan L 16 diperoleh dengan melakukan permutasi ciphertextdengan matriks permutasi IP-1. (Rifkie Primartha, 2011) 2.5. Sistem Operasi Android Pada tahun 2005, Google mengakuisisi sebuah perusahaan kecil yang didirikan oleh Andy Ruben yang bernamadanger, Inc. Danger merupakan sebuah perusahaan yang membuat ponsel dengan merek T-Mobile. Pada awalnya pengembangan Androidsama sekali tidak diketahui. Perusahaan Danger memang dikenal membuat software mobile, tetapi Google tidak pernah memberikan keterangan atau rencana bahwa Android akan dikembangkan. (Marziah Karch, 2010) Setelah adanya rumor bahwa Google akan mengeluarkan kompetitor iphone, barulahgoogle memperkenalkankan OS (Operating System) baru untuk ponsel. Pada 5 November 2007, Google mengumumkan sistem operasi Android dan aliansi handset terbuka, yaitu sebuah kelompok dari beberapa perusahaan yang ingin membantu untuk mengembangkan Android. Anggota dari aliansi handset terbuka mencakup

18 operator selular, software developers, perusahaan perangkat keras, dan komponen. (Marziah Karch, 2010) Sejak diakuisisi oleh Google dan diterapkan ke dalam sebuah perangkat mobile, OS Android dikembangkan dengan kode yang dinamai berdasarkan nama dessert (pencuci mulut) dan diurut berdasarkan alfabet, seperti Cupcake (OS Android 1.5), Donut (OS Android 1.6), Eclair (OS Android 2.0 2.1), Froyo (OS Android 2.2 2.2.3), Gingerbread (OS Android 2.3 2.3.7), Honeycomb (OS Android 3.0 3.2.6), Ice Cream Sandwich (OS Android 4.0 4.0.4), Jelly Bean (OS Android 4.1 4.3), KitKat (OS Android 4.4+), Lollipop (OS Android 5.0) dan Marshmallow (OS Android 6.0). 2.6. Chatting / Messaging Di dunia Internet, chatting (mengobrol) merupakan komunikasi tertulis secara online melalui media internet. Komunikasi tersebut umumnya dilakukan dengan cara mengetikkan kata-kata yang ingin di sampaikan dengan mitra bicara. Ada beberapa cara dalam melakukan chatting, yaitu melalui halaman Web dan menggunakan program aplikasi tertentu. Banyak situs yang menyediakan fasilitas untuk chatting dalam bentuk Webchatting, seperti Yahoo! Messenger, MSN Messenger, ICQ, Plasa Messenger, dan sebagainya. (Era Retnoningsih, 2007) 2.7. Skema Encoding Base64 Base64 merupakan sebuah sistem yang merepresentasikan data mentah seperti halnya karakter ASCII. Apabila kita menggunakan hexadecimal, hal ini sama sekali tidak efesien. Satu digit hex (delapan bit) menyerupai empat bit inputan. Data yang diwakili ke dalam hexadecimal akan menghasilkan ukuran dua kali lipat dari aslinya. Seperti namanya, base64 memperbaiki rasio ini dengan mewakilkan 6 bit untuk setiap digit. Jadi 3 byte inputan (3 x 8 = 24 bit) di terjemahkan ke dalam 4 digit base64 (4 x 6 = 24 bit). Setiap digit base64 diwakili oleh karakter ASCII. (Knudsen, 1998)

19 Gambar 2.5. Konversi Byte ke dalam base64 (Knudsen, 1998) Encoding base64 selalu merentangkan inputan data menjadi kelipatan 24 bit (3 byte). Berikut beberapa contoh algoritma base64 : Inputan kelipatan dari 3 byte. Dalam hal ini, tidak memerlukan perentangan. Inputan memiliki extra satu bit. Byte ini kemudian dibagi menjadi 2 digit base64, dan dua digit perentangan ditambahkan ke tiap akhir dari digit base64. Inputan memiliki extra dua bit. Satu digit perentangan ditambahkan ke akhir dari digit base64. (Knudsen, 1998)

20 2.8. Penelitian yang relevan Berikut ini beberapa penelitian tentang kriptografi yang berkaitan dengan Algoritma Vernam Cipher dan Data Encryption Standard(DES) : No Nama/Tahun Judul Hasil Penelitian 1. Rio Auditya Pratama Samosir (2015) 2. M. Yuli Andri (2009) 3. Amanda Lilda Ramadayanti (2008) Pengamanan Data Text dengan kombinasi Algoritma Data Encryption Standard (DES) dan First Of File (FOF) Implementasi Algoritma Kriptografi DES, RSA dan Algoritma Kompresi LZW pada berkas digital. Analisa Algoritma Vernam (OTP) Semakin banyak pesan teks, maka semakin lama waktu yang dibutuhkan untuk proses enkripsi dan dekripsi. Penggunaan dua buah algoritma kriptografi akan membuat berkas cipherteks semakin susah untuk dipecahkan. Karena seorang kriptanalis tidak akan mengetahui algoritma apa yang digunakan pada berkas tersebut. Algoritma Vernam atau One-time pad merupakan algoritma pengenkripsian data dan informasi yang relative sederhana dan mudah digunakan namun cukup aman dalam menjamin kerahasiaan informasi atau data yang ingin dikirimkan oleh pengirim pesan kepada penerima pesan tanpa dapat diketahui oleh pihak lain.