• Tidak ada hasil yang ditemukan

Implementasi Algoritma Xor Dan Algoritma Rc4 Pada Aplikasi Enkripsi Dan Dekripsi Teks Berbasis Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Xor Dan Algoritma Rc4 Pada Aplikasi Enkripsi Dan Dekripsi Teks Berbasis Android"

Copied!
16
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1Kriptografi

Kata Cryptography berasal dari bahasa Yunani yang terdiri dari dua kata yaitu kryptos yang berarti rahasia dan graphein yang berarti tulisan (Mollin, 2007). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain (Ariyus, 2008).

2.1.1 Sejarah kriptografi

Kriptografi mempunyai sejarah yang menarik dan panjang. Kriptografi sudah digunakan 4000 tahun yang lalu yang diperkenalkan oleh orang-orang Mesir untuk mengirim pesan ke pasukan militer yang berada di lapangan dan supaya pesan tersebut tidak terbaca oleh pihak musuh walaupun kurir pembawa pesan tersebut tertangkap oleh musuh (Ariyus, 2006).

2.1.2 Algoritma kriptografi

Algoritma ditinjau dari asal usul kata, kata algoritma mempunyai sejarah yang menarik, kata ini muncul dalam kamus Webster sampai akhir tahun 1957 hanya menemukan kata algorism yang mempunyai arti proses perhitungan dengan bahasa Arab. Algoritma berasal dari nama penulis buku Arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca oleh orang barat menjadi algorism). Kata algorism lambat laun berubah menjadi algorithm.

(2)

Algoritma kriptografi terdiri dari tiga fungsi dasar yaitu:

1. Enkripsi: Enkripsi merupakan hal yang sangat penting dalam kriptografi yang merupakan pengamanan data yang dikirimkan dan terjaga kerahasiannya. Pesan asli disebut plaintext yang dirubah menjadi kode-kode yang tidak dimengerti atau disebut dengan chipertext.

2. Dekripsi: Dekripsi merupakan kebalikan dari enkripsi, pesan yang telah dienkripsi dikembalikan kebentuk asalnya (plaintext) disebut dengan dekripsi pesan.

3. Kunci: Kunci yang dimaksud disini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi, kunci terbagi menjadi dua bagian yaitu kunci pribadi (private key) dan kunci umum (public key).

Secara umum fungsi tersebut dapat dilihat pada Gambar 2.1.

Gambar 2.1 Proses enkripsi dan dekripsi

2.2Macam-Macam 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 ha sh (Ariyus, 2008).

2.2.1 Algoritma simetri

Algoritma simetri adalah algoritma dimana penyandian kunci enkripsi dan kunci dekripsi bernilai sama. Kunci pada penyandian simetri diasumsikan bersifat rahasia dan hanya pihak yang melakukan enkripsi dan dekripsi yang mengetahui nilainya (Sadikin, 2012).

Algoritma ini sering disebut dengan algoritma klasik karena memakai kunci yang sama untuk kegiatan enkripsi dan dekripsi. Algoritma ini sudah ada

Enkripsi Dekripsi

Plaintext Ciphertext Plaintext

(3)

sejak lebih dari 4000 tahun yang lalu. Bila mengirim pesan dengan menggunakan 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 akan dapat melakukan enkripsi dan dekripsi terhadap pesan. Algoritma yang memakai kunci simetri di antaranya adalah DES, RC2, RC4, RC5, RC6, IDEA, AES, A5, OTP, dan sebagainya (Ariyus, 2008).

Proses kriptografi simetri dapat dilihat pada Gambar 2.2.

Gambar 2.2 Kriptografi simetri

2.2.2 Algoritma asimetri

Algoritma asimetri atau sering juga disebut dengan penyandian kunci publik (public key) adalah algoritma dimana penyandian antara kunci enkripsi dan dekripsi mempunyai nilai yang beda. Kunci enkripsi yang juga disebut dengan kunci publik (public key) bersifat terbuka. Sedangkan, kunci dekripsi yang juga disebut kunci privat (private key) bersifat tertutup/rahasia (Sadikin, 2012).

Kunci-kunci tersebut berhubungan satu sama lain. Dengan kunci publik orang dapat mengenkripsi pesan tetapi tidak bisa mendekripsinya. Hanya orang yang memiliki kunci rahasia yang dapat mendekripsi pesan tersebut. Algoritma asimetri bisa mengirimkan pesan dengan lebih aman daripada algoritma simetri. Contoh, Alice mengirim pesan ke Bob menggunakan algoritma asimetri. Hal yang harus dilakukan adalah:

1. Bob memberitahukan kunci publiknya ke Alice.

2. Alice mengenkripsikan dengan menggunakan kunci publik Bob. 3. Bob mendekripsi pesan dari Alice dengan kunci rahasianya. 4. Begitu juga sebaliknya jika Bob ingin mengirim pesan ke Alice.

Enkripsi Dekripsi

Teks Ciphertext

Kunci Rahasia

(4)

Proses kriptografi asimetri dapat dilihat pada Gambar 2.3.

Gambar 2.3 Kriptografi asimetri (Paar, 2010)

Algoritma yang memakai kunci public diantaranya adalah: DSA, RSA, DH, ECC, Kriptografi Kuantum, dan lain sebagainya.

2.3Tipe dan Model Algoritma Kriptografi

Pada dasarnya ada dua tipe dan model yang umum digunakan dalam algoritma kriptografi simetri yaitu aliran kode (stream cipher) dan blok kode (block cipher).

2.3.1 Aliran kode

Aliran kode (stream cipher) adalah sebuah simetri cipher yang beroperasi bit per bit pada plaintext dimana 1 bit setiap kali transformasi untuk menjadi ciphertext. Aliran kode mengenkripsi teks asli menjadi teks kode bit per bit. Stream cipher umumnya lebih cepat daripada block cipher pada perangkat keras dan juga lebih tepat dalam beberapa kasus wajib (misalnya, dalam beberapa aplikasi telekomukasi) dimana ketika proses pengiriman data memiliki buffering yang terbatas sehingga setiap karakter harus diproses secara individu (van Tillborg, 2011).

Stream cipher Pertama kali diperkenalkan oleh Vernam melalui algoritma yang dikenal dengan nama kode Vernam. Kode Vernam diadopsi dari one-time pad cipher, yang dalam hal ini karakter diganti dengan bit (0 dan 1). Ciphertext diperoleh dengan melakukan penjumlahan modulo 2 satu bit plaintext dengan satu bit kunci seperti pada persamaan 1.

(5)

yang dalam hal ini: Pi : bit plaintext Ki : bit kunci Ci : bit ciphertext

1. Plaintext diperoleh dengan melakukan penjumlahan modulo 2 satu bit ciphertext dengan satu bit kunci seperti pada persamaan 2.

Pi = (Ci−Ki) mod 2....………...(2) 2. Dengan kata lain, kode Vernam adalah versi lain dari kode one-time pad. 3. Oleh karena operasi penjumlahan modulo 2 identik dengan operasi bit dengan

operator XOR maka persamaan 1 dapat ditulis seper.ti pada persamaan 3.

Ci = Pi ⊕ Ki....………...(3)

dan proses dekripsi menggunakan persamaan seperti pada persamaan 4.

Pi = Ci ⊕ Ki....…...(4)

(6)

Contoh: misalkan plaintext adalah 110010101 dan aliran bit kunci (keystream) adalah 101001110 maka ciphertext yang dihasilkan yaitu 011011011. Proses tersebut dapat dilihat pada Gambar 2.5.

Gambar 2.5. Contoh stream cipher (Smart, 2004)

Aliran kode (stream cipher) merupakan kode yang berasal dari hasil XOR seperti pembahasan diatas. Setiap bit plaintext dengan setiap bit kunci. Kunci merupakan kunci utama (kunci induk) yang digunakan untuk membangkitkan kunci acak semu yang dibangkitkan dengan Pseudo-Random Sequence Generator yang merupakan suatu nilai yang nampak seperti diacak tetapi sesungguhnya nilai tersebut merupakan suatu urutan. Secara khusus urutan dari nilai yang dihasilkan oleh RNG (Random Number Generator).

Random Number Generator secara umum adalah pseudo-random, yang memberikan inial state atau seed (nilai yang dimasukkan ke dalam state). Seluruh urutan tersebut ditentukan secara menyeluruh. Meskipun demikian jumlah karakteristik yang ditampilkan berasal dari urutan yang acak tersebut. Pseudorandomness menghasilkan urutan yang sama secara berulang-ulang pada penempatan yang berbeda. Kemudian kunci acak semu tersebut diberi operasi XOR dengan plaintext untuk mendapatkan ciphertext. Proses stream cipher dapat dilihat pada Gambar 2.6.

Gambar 2.6 Proses stream sipher ⊕

Plaintext (110010101)

Keystream Generator Keystream (101001110)

Ciphertext (011011011)

(7)

Keamanan sistem stream cipher bergantung seluruhnya pada pembangkit aliran bit kunci (keystrea m). Jika pembangkit mengeluarkan aliran bit kunci yang seluruhnya nol maka ciphertext sama dengan plaintext sehingga proses enkripsi menjadi tidak ada artinya. Jika pembangkit mengeluarkan aliran bit kunci dengan pola 16 bit yang berulang maka algoritma enkripsinya menjadi sama seperti enkripsi dengan XOR sederhana yang memiliki tingkat keamanan yang tidak berarti. Jika pembangkit mengeluarkan aliran bit kunci yang benar-benar acak (truly random), maka algoritma enkripsinya sama dengan one-time pad dengan tingkat keamanan yang sempurna. Pada kasus ini aliran bit kunci sama panjangnya dengan panjang plaintext, dan mendapatkan aliran kode sebagai unbreakable cipher. Tingkat keamanan stream cipher terletak antara algoritma XOR sederhana dengan one-time pad. Semakin acak keluaran yang dihasilkan oleh pembangkit aliran kunci bit, maka semakin sulit kriptanalis memecahkan ciphertext-nya (Ariyus, 2008).

2.3.2 Blok kode

Blok kode (block cipher) adalah sebuah fungsi enkripsi dengan membagi-bagi data menjadi beberapa blok yang tetap. Generasi sekarang dari block cipher mempunyai ukuran blok 128 bit (16 byte). Block cipher ini mengenkripsi 128 bit plaintext menjadi 128 bit ciphertext sebagai hasilnya. Ukuran plaintext dan ciphertext selalu sama, dan kita sebut ini sebagai ukuran blok pada block cipher (Ferguson, 2010).

Blok kode mempunyai banyak aplikasi. Aplikasi tersebut digunakan untuk memberikan layanan confidentiality (kerahasiaan), integritas data atau authentication (pengesahan pemakai), dan juga bisa memberikan layanan keystream generator untuk aliran kode (stream cipher). Misalkan blok plaintext (P) yang berukuran m bit dinyatakan sebagai vektor seperti pada persamaan 5.

P = (Pi, P2,…, Pm)...(5) yang dalam hal ini pi adalah 0 atau 1 untuk i = 1, 2, …, m, dan blok ciphertext (C) adalah:

C = (Ci, C2,…, Cm)...(6) yang dalam hal ini ci adalah 0 atau 1 untuk i= 1, 2, …, m.

Bila plaintext dibagi menjadi n buah blok, barisan blok plaintext dinyatakan pada persamaan 7.

(8)

Untuk setiap blok plaintext Pi, bit-bit penyusunnya dapat dinyatakan pada persamaan 8.

Pi = (Pi1, Pi2,…, Pim)...(8) Enkripsi dan dekripsi dengan kunci K dinyatakan berturut-turut seperti pada persamaan 9 dan 10.

Ek P = ...(9) untuk dekripsi,

Dk C = �...(10) dan fungsi E haruslah fungsi yang berkorespondensi satu-ke-satu, sehingga:

−1 = ...(11)

Proses enkripsi dan dekripsi blockcipher dapat dilihat pada Gambar 2.7.

Gambar 2.7 Proses enkripsi dan dekripsi Block Cipher

Contoh: Database di sebuah bank memiliki data INCOME, dienkripsi menjadi satu blok, itu berarti semua rekening memiliki blok enkripsi yang sama. Misalnya, database bank memilki dua record:

(9)

RMGRPFQN. Serangan dilakukan terhadap block cipher dengan melihat posisi dan ukuran blok. Untuk meminimalkan serangan terhadap block cipher digunakan beberapa cara agar posisi dan ukurannya menjadi tidak sama. Banyak mode block cipher yang dapat dipakai. Mode operasi block cipher terbagi menjadi empat bagian, antara lain:

1. Mode Electronic Code Book (ECB) 2. Mode Cipher Block Chaining (CBC) 3. Mode Cipher Feed Back (CFB) 4. Mode Output Feed Back (OFB)

Dari setiap mode tersebut plaintext dibagi menjadi blok-blok. Misalnya, setiap blok mempunyai nilai 128 bit. Jika terdapat plaintext yang dibagi ke bentuk blok yang mempunyai nilai kurang dari 128 bit maka blok tersebut terlebih dahulu ditambah dengan padding bit (bit tambahan) agar jumlahnya menjadi 128 bit untuk setiap bloknya (Ariyus, 2008).

2.4Algoritma Kriptografi XOR

Algoritma XOR adalah algoritma enkripsi sederhana dengan menggunakan prinsip operator logika XOR (Exclusive-OR). Cara enkripsinya adalah dengan meng-XOR-kan plaintext dengan kunci sehingga didapatkan ciphertext-nya. Sebaliknya untuk proses dekripsi adalah dengan meng-XOR-kan ciphertext dengan kunci sehingga didapatkan plaintext-nya kembali. Teknik ini beroperasi sesuai prinsip seperti pada Tabel 2.1.

Tabel 2.1 Tabel XOR

A B Y

0 0 0

0 1 1

1 0 1

1 1 0

(10)

Jika kita berpikir tentang angka 0 dan 1 pada operasi diatas, maka operasi XOR adalah sama dengan pemambahan modulo 2. Dasar algoritma XOR ini didefinisikan sebagai berikut:

untuk enkripsi dapat dilihat pada persamaan 12.

P⊕K = C...………...(12) sedangkan untuk dekripsi seperti pada persamaan 13.

C⊕K = P...…...……...(13)

Kode XOR ini memiliki keuntungan menjadi sangat efisien dan benar-benar simetris dalam arti bahwa enkripsi dan dekripsi adalah fungsi yang sama. Jika K dipilih secara acak dan hanya digunakan sekali, maka algoritma ini dikenal sebagai Vernam one-time pad. Sayangnya, hal ini memerlukan sebuah kunci yang sama panjangnya dengan plaintext, yang membuatnya agak susah untuk diimplementasikan dalam beberapa aplikasi (Hoffstein, 2008).

Sebagai contoh Algoritma XOR sederhana diketahui plaintext “ILKOM” jika ditulis dalam format ASCII 8-bit menjadi 01001001 01001100 01001011 01001111 01001101 dapat dienkripsi dengan suatu kunci string “AAAAA” (01000001 01000001 01000001 01000001 01000001 dalam format ASCII 8-bit) sehingga didapat hasil sebagai berikut:

01001001 01001100 01001011 01001111 01001101 01000001 01000001 01000001 01000001 01000001 --- ⊕

00001000 00001101 00001010 00001110 00001100 (BSCRLFSOFF) dan sebaliknya proses dekripsi:

00001000 00001101 00001010 00001110 00001100 01000001 01000001 01000001 01000001 01000001 --- ⊕

01001001 01001100 01001011 01001111 01001101 (ILKOM)

(11)

diimplementasikan dan operasi XOR tidak sulit secara komputasional. Oleh Karena itu, algoritma XOR masih sering kali digunakan untuk menyembunyikan informasi dalam kasus-kasus tertentu dan kemudian dilengkapi dengan suatu mekanisme keamanan tambahan lainnya.

2.5Algoritma Kriptografi RC4

RC4 didesain oleh Ron Rivest yang berasal dari RSA Security pada tahun 1987. RC4 sendiri mempunyai singkatan resmi yaitu “Rivest Chiper”, namun juga dikenal sebagai “Ron’s Code”. RC4 sebenarnya dirahasiakan dan tidak dipublikasikan kepada khalayak ramai, namun ternyata ada orang yang tidak dikenal menyebarkan RC4 ke mailing list Cypherpunks. Kemudian berita ini dengan cepat diposkan ke sci.crypt newsgroup, dan dari newsgroup ini kemudian menyebar luas di internet. Kode yang dibocorkan tersebut dipastikan keasliannya karena output yang dikeluarkan sama dengan softwa re-softwa re yang menggunakan RC4 yang berlisensi.

Nama RC4 sudah dipatenkan, sehingga RC4 sering disebut juga ARCFOUR atau ARC4 (Allegred RC4) untuk menghindari masalah pematenan. RSA Security tidak pernah secara resmi merilis algoritma tersebut, namun Rivest secara pribadilah yang merilisnya tersebut dengan menghubungkan Wikipedia Inggris ke catatan-catatan yang ia punya. RC4 telah menjadi bagian dari protokol enkripsi yang standar dan sering digunakan, termasuk WEP dan WPA untuk wireless card, serta TLS. Faktor utama yang menjadi kesuksesan dari RC4 adalah kecepatannya dan kesederhanaannya dalam mengenai banyak aplikasi, sehingga mudah untuk mengembangkan implementasi yang efisien ke software dan hardware.

(12)

2.5.1 Key schedulling algorithm

Tahap pertama dari algoritma RC4 adalah key schedulling (KSA). Pada tahap ini State diberi nilai awal berupa larik yang merepresentasikan suatu permutasi dengan 256 elemen. Jadi, hasil dari KSA adalah permutasi awal. Larik yang mempunyai 256 elemen ini (dengan indeks 0-255) dinamakan S (Kromodimoeljo, 2010). Langkah-langkah pembentukan S adalah sebagai berikut:

1. Inisialisasi kotak-S sesuai dengan indeksnya: S[0] = 0, S[1] = 1, …, S[255] = 255. Kotak-S yang terbentuk ditunjukkan oleh Tabel 2.2.

Tabel 2.2 Larik 256 byte kotak-S awal

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

16 17 18 19 20 21 22 23 24 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 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

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 127

128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143

144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159

160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207

208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223

224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239

240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

(13)

Tabel 2.3 Larik 256 byte kunci

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

106 97 121 97 106 97 121 97 106 97 121 97 106 97 121 97

3. Kotak-S disusun kembali membentuk kotak-S akhir yang ditunjukkan oleh Tabel 2.4. Langkah pertama, penghitung j diinisialisasi dengan nol. Kemudian nilai j yang baru = (j + S[i] + K[i]) mod 256. Lalu, nilai S[i] dan S[j] ditukarkan. Proses penentuan nilai j yang baru dan penukaran nilai S[i] dengan S[j] tersebut dilakukan dari i = 0 sampai dengan i = 255.

Tabel 2.4 Larik 256 byte kotak-S akhir

78 103 71 171 47 127 223 143 216 66 153 185 15 69 244 167

152 8 29 147 97 227 195 174 108 155 100 224 7 182 188 146

133 176 10 255 180 58 88 84 92 122 228 192 54 205 93 5

207 197 181 177 51 62 63 115 80 45 237 48 72 126 186 194

111 156 144 231 253 136 64 238 160 137 19 217 89 193 91 61

28 23 50 105 94 221 172 132 229 211 166 98 44 230 178 130

(14)

140 119 179 219 254 52 39 168 138 169 112 32 14 204 201 25

129 110 246 40 26 120 35 16 21 199 159 13 202 184 191 175

162 109 251 247 225 77 113 65 96 81 139 164 70 236 183 215

104 125 239 20 43 76 206 187 114 75 190 1 60 83 234 149

243 73 189 82 57 46 86 141 101 220 161 200 4 56 131 53

87 33 242 6 250 3 222 74 9 173 165 24 12 106 36 233

213 123 17 22 42 142 99 37 148 163 196 218 49 203 210 41

68 107 154 212 170 235 252 128 118 158 11 214 157 59 248 135

124 55 240 102 151 121 2 67 145 31 232 209 116 226 150 38

Untuk i = 0, j = (0 + S[0] + K[0]) mod 256 = (0 + 0 + 106) mod 256 = 106. Nilai S[0] dan S[106] ditukarkan sehingga S[0] = 106 dan S[106] = 0. Demikian seterusnya sampai i = 255.

2.5.2 Pseudo random generation algorithm

Tahap selanjutnya dari algoritma RC4 dinamakan Pseudo Random Generation Algorithm (PRGA). Tahap ini menghasilkan nilai pseudo-random yang kemudian di-XOR-kan dengan plaintext untuk proses enkripsi atau dengan ciphertext pada proses dekripsi). Langkah pertama adalah menginisialisasikan nilai i dan j dengan nol. Untuk k= 0, …, k = panjang pesan – 1, nilai i dan j yang baru dihitung dengan cara:

i = (i + 1) mod 256 j = (j + S[i]) mod 256

Nilai S[i] dan S[j] ditukarkan. Kemudian, nilai S dengan indeks t = (S[i] + S[j]) mod 256 diambil. Nilai S[t] tersebut terakhir di-XOR-kan dengan plaintext atau ciphertext dengan indeks k.

Misalkan pesan yang akan dienkripsi adalah “ilkom“ dengan panjang lima byte. Pesan tersebut dalam kode ASCII adalah 105, 108, 107, 111, 109. Ciphertext dihasilkan pertama-tama dengan menginisialisasikan nilai i dan j dengan nol. Selanjutnya, dari nilai nol sampai dengan empat dilakukan perhitungan nilai i dan j yang baru. Hasil perhitungan yang pertama adalah:

i = (0 + 1) mod 256 = 1

(15)

Nilai S[1] = 103 dan S[103] = 30 ditukarkan sehingga dihasilkan S[1] = 30 dan S[103] = 103. Selanjutnya, nilai t dihitung: t = (S[1] + S[103]) mod 256 = (30 + 103) mod 256 = 133. Kemudian, nilai S[t] = S[133] = 120 di-XOR-kan dengan pesan[k] = pesan[0], yaitu “ i” yang kode ASCII nya adalah 105.

01111000 01101001_⊕

00010001 (dalam desimal = 17, yaitu kode ASCII untuk karakter “DC1”) Proses tersebut diulang sampai karakter terakhir plaintext. Algoritma yang sama juga digunakan untuk mendekripsi ciphertext (Fiansyah, 2008).

2.6Android

Android merupakan sistem operasi Mobile berbasis kernel Linux yang dikembangkan oleh Android Inc. Sistem operasi ini bersifat terbuka (open source) sehingga para pengembang dapat membuat aplikasi mereka sendiri. Awalnya Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat perangkat lunak untuk telepon genggam. Kemudian untuk mengembangkan Android di bentuklah Open Handset Alliance yang merupakan gabungan dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan NVidia. Pada saat perilisan perdana Android pada tanggal 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode-kode Android dibawah lisensi Apache, sebuah lisensi perangkat lunak standar terbuka perangkat seluler. Terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Service (GMS) dan kedua adalah yang benar-benar bebas distribusinya tanpa dukungan langsung dari Google atau dikenal sebagai Open Handset Distribution (DHD) (Ardiansyah, 2011).

(16)

2.7Penelitian yang Relevan

Beberapa penelitian yang telah dilakukan sebelumnya yang berkaitan dengan penelitian ini adalah:

1. Nihe, H.R (2015) dalam skripsi yang berjudul Implementasi Algoritma Affine Cipher dan Algoritma Advance Encryption Sta ndard (AES) Pada Aplikasi

Short Message Service (SMS) Berbasis Android. Berdasarkan hasil pengujian, perbandingan panjang SMS berbanding lurus dengan waktu proses enkripsi dan dekripsi dimana dalam proses tersebut, algoritma AES membutuhkan waktu lebih lama dibandingkan dengan algoritma affinecipher.

2. Penelitian yang dilakukan oleh Nababan, A.M (2015). Membahas tentang penerapan algoritma RC4 dan Teknik Spread Spectrum untuk pengamanan Text File dimana ukuran naskah asli dan naskah acak selalu sama. Ukuran cover-image dan stego-image juga selalu sama. Hubungan antara panjang naskah acak dan waktu pemrosesan untuk penyisipan dan ekstraksi adalah hubungan yang berbanding lurus. Semakin panjang naskah acak, semakin lama waktu pemrosesan, begitu juga dengan sebaliknya.

3. Penelitian yang dilakukan oleh Fiansyah, E (2008). Membahas tentang penerapan algoritma RC4 pada aplikasi sistem informasi pengolah database pendataan kegiatan skripsi dimana aplikasi yang menggunakan mekanisme keamanan enkripsi, client menerima waktu tanggap lebih lama dibandingkan aplikasi yang tidak menggunakan keamanan enkripsi. Namun dengan adanya mekanisme keamanan enkripsi, data menjadi lebih aman.

4. Sebayang, A.M.S (2014) dalam skripsi yang berjudul Implementa si Kombina si Beuafort Cipher dan Afffine Cipher pada ThreePa ss Protocol untuk

Gambar

Gambar 2.1 Proses enkripsi dan dekripsi
Gambar 2.2 Kriptografi simetri
Gambar 2.3 Kriptografi asimetri (Paar, 2010)
Gambar 2.4 Konsep stream cipher
+6

Referensi

Dokumen terkait

Selain itu, penelitian ini juga bertujuan untuk mengetahui keefektifan LKPD terintegrasi nilai karakter terhadap pengembangan tanggung jawab, disiplin, serta prestasi belajar

Ilmu, dalam pengertian akuntansi biaya merupakan hal yang dapat dipelajari dan tentu saja telah memenuhi kaidah-kaidah tertentu untuk dapat diakui sebagai suatu disiplin ilmu;

Dengan analisa SWOT dan IE-Matrix, disarankan beberapa hal, yaitu: strategi market intensive dilakukan melalui penetrasi pasar dan pengembangan pasar; mengembangkan

[r]

1. Peserta didik belum terlibat dalam proses pembelajaran, sehingga materi yang diberikan menjadi sulit dipahami oleh siswa dan mengakibatkan hasil belajar

Artikel yang di muat dalam Buletin Haba kali ini terdiri dari delapan tulisan, dalam naskah tulisan tersebut para penulis mendeskripsikan dan menganalisis berbagai persoalan

pembandingnya merupakan terapi tradisional reiki. Adapun artikel penelitian lain memiliki jumlah sampel kurang dari 50 responden. Dari hasil penelitian yang telah

MEGAHJAYA CEMERLANG bukan merupakan industri primer yang melakukan pengolahan bahan baku dari kayu bulat sehingga tidak berkewajiban menyusun dokumen RPBBI dengan