Implementasi Algoritma Vernam Cipher dan Algoritma DES (Data Encryption Standard) pada Aplikasi Chatting Berbasis Android

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

Universitas Sumatera Utara

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)

Universitas Sumatera Utara

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 binaryM1, M2, M3, …, Mt dioperasikan dengan kunci string binaryK1,
K2, K3, …, Kt yang memiliki panjang yang sama untuk menghasilkan sebuah string
ciphertextC1, C2, C3, …, Ct. (Dhiren R. Patel, 2008)
2.3.1. Algoritma Vernam Cipher
Rumus dasar untuk menghitung vernam cipher dalam mode binary dapat di tuliskan
sebagai berkut :
Ci = Pi+ Ki(mod n)

………………..……………………........

(2.1)

Keterangan :
Ci = Ciphertext
Pi = Plaintext

Ki = Kunci
n = Banyaknya jumlah karakter yang digunakan

Dimana Ci adalah digit binary dari ciphertext, Pi adalah digit binary dari
plaintext, sedangkan Ki adalah bit binary dari kunci, dan + adalah operasi
penjumlahan. (Sonia Dhull, 2013)

Universitas Sumatera Utara

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

Universitas Sumatera Utara

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 :

Universitas Sumatera Utara

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 K1,
K2, K3, ..., K16. 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)

Universitas Sumatera Utara

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
9

17

25
�� = ⎜
⎜33
⎜41
49
⎝57

2
10
18
26
34
42
50
58

3
11
19
27
35
43
51
59

4
12
20
28
36
44
52
60

5
13
21
29
37
45
53
61

6
14
22
30
38
46
54
62

7
15
23
31
39
47
55
63

8
16

24

32⎟
40⎟
48⎟
56
64⎠

Proses selanjutnya lakukan permutasi dari matriks kunci eksternal 64 bit terhadap
Permutation Choice (PC-1). (Nimmi Gupta, 2012)

57
10
�� − 1 = �
63
14

49
2
55
6

41
59
47
61

33
51
39
53

25
43
31
45

17
35
23
37

9
1
27 19
15 7
29 21

58
11
62
13

50
3
54
5

42
60
46
28

34
52
38
20

26
44
30
12

18
36

22
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 C0 dan D0: (Rifkie Primartha, 2011)
C0 berisi bit-bit dari K pada posisi :

57
�0 = �
10

49
2

63
�0 = �
14

55
6

41
59

33 25
51 43

17
35

9
27

1 58
19 11

23
37

15 7
29 21

50
3

42
60

34 26
52 44

54
5

46 38
28 20

D0 berisi bit-bit dari K pada posisi :

47 39
61 53

31
45

62
13

30
12

18

36
22

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 Cn dan Dn, dibentuk dari pasang blok sebelumnya Cn-1
dan Dn-1masing-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 C3 dan D3, diperoleh dari
pergeseran left shift C2 dan D2, C4 dan D4 diperoleh dari C3dan D3, begitu seterusnya. (Nimmi
Gupta, 2012)

Universitas Sumatera Utara

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 (Cn, Dn) lakukan permutasi kompresi 56 bit menjadi 48 bit
dengan menggunakan matriks permutation choice 2 (PC-2). (Nimmi Gupta, 2010)

14
23
�� − 2 = �
41
44

17
19
52
49

11 24
12 4
31 37
39 56

1
26
47
34

5
3
8 16
55 30
53 46

28
7
40
42

15
27
51
50

6
20
45
36

21
13
33
29

10
2

48
32

Jadi setiap kunci internal Knmempunyai 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 Cn dan
Dn. Karena itu, setelah putaran ke-16 akan didapatkan kembali C16 = C0 dan D16 = D0. (Rifkie
Primartha, 2011)

Gambar 2.4. Proses pembangkitan kunci internal (Rifkie Primartha, 2011)

Universitas Sumatera Utara

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
60
�� = �
62
64

50
52
54
56

42
44
46
48

34
36
38
40

26
28
30
32

18
20
22
24

10
12
14
16

2
4

6
8

57
59
�� = �
61
63

49
51
53
55

41
43
45
47

33
35
37
39

25
27
29
31

17
19
21
23

9
11
13
15

1
3

5
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):
Ln

= Rn-1

Rn

= Ln-1 ⊕ f(Rn-1, Kn)

…………………..…………....……………..
….……………………………......

(2.4)
(2.5)

Keterangan :
Rn

= Right permutation ke – n

Ln

= Left permutation ke – n

Kn

= Key permutation ke – n

f

= Fungsi permutasi f

Kemudian setiap blok Rn-1di ekspansi dari 32 bit menjadi 48 bit. (Jin-Woo Park,
2007) Berikut matriks permutasi Ekspansi (E) (Man Young Rhee, 2003):
32
4

8

12
�= ⎜
⎜16
⎜20
24
⎝28

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

4
8
12
16
20
24
28
32

5
9

13

17⎟
21⎟
25⎟
29
1⎠

Selanjutnya hasil ekspansi, yaitu E(Rn-1) yang panjangnya 48 bit di XOR-kan
dengan Knyang panjangnya 48 bit dan menghasilkan vektor A yang panjangnya 48 bit
pula. (Rifkie Primartha, 2011)

Universitas Sumatera Utara

14

E(Rn-1) ⊕ Kn

=A

A

= (B1)(B2)(B3)(B4)(B5)(B6)(B7)(B8).………....

……….……………..……………….....

(2.6)
(2.7)

Keterangan :
E

=Fungsi ekspansi

Rn

= Right permutation ke – n

Kn

= Key permutation

A

= Vektor hasil XOR yang panjangnya 48 bit

B1,…,B1

= Bit hasil XOR yang dikelompokan masing-masing 6 bit

6

Fungsi f di dapat dari mengimplementasikan permutasi pada bit-bit vektor A
sebagai berikut (Jin-Woo Park, 2007):
f

= P(S1(B1)S2(B2),…,S8(B8))…………………

(2.8)

Keterangan :
f

= Fungsi permutasi f

P

= Permutasi kotak – P

S1,…,S8

= Subtitusi kotak – S

B1,…,B16

= 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), S1sampai S8. Setiap kotak-S menerima
masukan 6 bit dan menghasilkan keluaran 4 bit. Kelompok 6 bit pertama
menggunakan S1, kelompok 6 bit kedua menggunakan S2, 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

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

S1

Universitas Sumatera Utara

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

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

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

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

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

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

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

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

S2

S3

S4

S5

S6

S7

S8

Universitas Sumatera Utara

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
29
⎛1

5
�= ⎜
⎜2
⎜32
19
⎝22

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

21
17
26⎞

10⎟
14⎟
9⎟
6
25⎠

Selanjutnya setelah didapatkan f lakukan proses XOR antara f(Rn-1, Kn) dengan
Ln-1 untuk mendapatkan Rn menggunakan rumus (8.5) (Rifkie Primartha, 2011)
Langkah terakhir setelah dilakukan 16 kali putaran, gabungkan blok kiri (L16)
dan blok kanan (R16), kemudian lakukan proses permutasi menggunakan Matriks
Permutasi Awal Balikan (Invers Initial Permutation, IP-1). (Nimmi Gupta, 2010)

�� −1

40
39

38

37
= ⎜
⎜36
⎜35
34
⎝33

8
7
6
5
4
3
2
1

48
47
46
45
44
43
42
41

16
15
14
13
12
11
10
9

56
55
54
53
52
51
50
49

24
23
22
21
20
19
18
17

64
63
62
61
60
59
58
57

32
31

30

29⎟
28⎟
27⎟
26
25⎠

Universitas Sumatera Utara

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 Kn dalam urutan
yang terbalik. Misalnya gunakan kunci K16 untuk iterasi yang pertama, K15 untuk
iterasi kedua, sampai K1 untuk iterasi yang terakhir. (Naveen Kumar, 2012) Secara
matematis dapat dituliskan sebagai berikut (Nimmi Gupta, 2012) :
Ln

= Rn-1

Rn

= Ln-1 ⊕ f(Rn-1, Kn)

………………………..………..…….…….…
……………….……………..…..

(2.8)
(2.9)

Keterangan :
Ln

= Left permutation Ke – n

Rn

= Right permutation Ke – n

Kn

= Key permutation Ke – n

f

= Fungsi permutasi f

Jika pada proses enkripsi urutan kunci yang digunakan adalah K1, K2, …, K16,
maka untuk proses dekripsi urutan kunci yang digunakan adalah K16, K15, …, K1.
Masukan awalnya adalah R16 dan L16 untuk deciphering. Blok R16dan L16diperoleh
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

Universitas Sumatera Utara

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)

Universitas Sumatera Utara

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)

Universitas Sumatera Utara

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

1.

Rio Auditya
Pratama
Samosir
(2015)

2.

3.

Judul

Pengamanan Data
Text
dengan
kombinasi
Algoritma
Data
Encryption
Standard
(DES)
dan First Of File
(FOF)
M. Yuli Andri Implementasi
(2009)
Algoritma
Kriptografi DES,
RSA
dan
Algoritma
Kompresi
LZW
pada
berkas
digital.
Amanda Lilda Analisa Algoritma
Ramadayanti Vernam (OTP)
(2008)

Hasil Penelitian
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.

Universitas Sumatera Utara