Implementasi Kombinasi Algoritma Beaufort Dan Algoritma Spritz Dalam Skema Super Enkripsi Untuk Pengamanan Teks

BAB 2

LANDASAN TEORI

2.1

Kriptografi

2.1.1 Definisi Kriptografi
Kriptografi berasal dari bahasa Yunani yang terdiri dari dua kata yaitu crypto dan
graphia. Crypto berarti rahasia dan graphia berarti tulisan. Jadi secara etimologi
kriptografi adalah tulisan rahasia. Secara terminologi,kriptografi adalah ilmu dan seni
untuk menjaga kemananan pesan ketika pesan dikirim dari suatu tempat ke tempat
yang lain. Kriptografi adalah ilmu untuk mempelajari teknik-teknik matematika yang
berhubungan dengan aspek-aspek pada keamanan informasi misalnya kerahasiaan
(confidentiality), integritas (integrity), otentikasi (authentication) (Munir, 2006).
Dalam Perkembangannya, kriptografi juga dimanfaatkan untuk mengidentifikasi
pengiriman pesan dan tanda tangan digital serta keaslian pesan dengan menggunakan
sidik jari digital (Ariyus,2008).
Teknik kriptografi yang digunakan dalam penyandian pesan dilakukan dengan
menyembunyikan atau mengodekan pesan yang asli. Selanjutnya, pengirim pesan

akan melakukan penyandian pesan awal menjadi kode-kode yang hanya dapat dibaca
oleh penerima pesan tersebut. Proses ini disebut dengan Enkripsi . Penerima pesan
kemudian mengembalikan kode-kode yang telah diterima menjadi pesan asli dengan
menggunakan kunci yang dikirimkan oleh pengirim pesan. Proses ini disebut dengan
Dekripsi (Schneier, 1996). Pada gambar 2.1 memnunjukkan proses enkripsi dan
dekripsi.

Gambar 2.1 Diagram Proses Enkripsi dan Dekripsi

Universitas Sumatera Utara

Pesan awal dalam sistem kriptografi disebut juga sebagai plaintext
(disimbolkan dengan p), yaitupesan yang hendak dikirimkan yang berisi data asli.
Sedangkan pesan setelah dienkripsi disebut dengan ciphertext (disimbolkan dengan
c),pesan yang ada pada chipertext tidak bisa dibaca karena berisi karakter-karakter
yang tidak memiliki makna (arti). Kunci yang dikirimkan pengirim kepada penerima
pesan yang kemudian untuk melakukan

proses dekripsi disebut dengan key


(disimbolkan dengan k). Enkripsi yaitu

proses pengubahan plaintextmenjadi

ciphertext disimbolkan dengan E(p) sedangkan dekripsi yaitu mengubahciphertext
menjadi plaintext, sehingga menghasilkan data awal/asli. disimbolkan dengan D(c)
(Schneier, 1996).
Suatu algoritma dikatakan aman, bila tidak ada cara ditemukan plaintext nya.
Karena selalu terdapat kemungkinan ditemukannya cara baru untuk menembus
algoritma kriptografi, maka algoritma kriptografi yang dikatakan aman apabila
memiliki keadaan sebagai berikut (Yusuf, 2004):
a. Bila harga untuk menjebol algoritma lebih besar daripada nilai informasi yang
dibuka, maka algoritma itu cukup aman.
b. Bila waktu yang digunakan untuk membobol algoritma tersebut lebih lama daripada
lamanya waktu yang diperlukan oleh informasi tersebut harus tetap aman, maka
algoritma tersebut mungkin aman.
c. Bila jumlah data yang dienkrip dengan kunci dan algoritma yang sama lebih sedikit
dari jumlah data yang diperlukan untuk menembus algoritma tersebut, maka
algoritma itu aman.


2.1.2 Tujuan Kriptografi
Tujuan dari kriptografi yang juga merupakan aspek keamanan informasi adalah
sebagai berikut (Menezes,et al., 1996):
1.

Kerahasiaan (confidentiality) adalah layanan yang digunakan untuk menjaga isi
informasi dari semua pihak kecuali pihak yang berwenang untukmendapatkan
informasi.Confidentiality senada dengan istilah secrecy dan privacy. Ada
beberapa cara untuk menjaga kerahasiaan, dari pengamanan secara fisik hingga
penggunaan algoritma matematika yang membuat data tidak dapat dimengerti.

2.

Integritasdata (data integrity) adalah layanan penjagaan pengubahan data dari
pihak yang tidak berwenang atas informasi tersebut. Untuk menjamin integritas

Universitas Sumatera Utara

data, sistem harus mempunyai kemampuan untuk mendeteksi terjadinya
manipulasi data oleh pihak-pihak yang tidak berkepentingan. Manipulasi data

yang dimaksud di sini meliputi penyisipan, penghapusan, maupun penggantian
data.
3.

Otentikasi(Authentication) adalah layanan yang berhubungan dengan identifikasi,
baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user
authentication atau entity authentication) maupun mengidentifikasi kebenaran
sumber pesan (data origin authentication). Beberapa pihak yang berkomunikasi
harus mengidentifikasi satu sama lainnya. Informasi yang didapat oleh suatu
pihak dari pihak lain harus diidentifikasi untuk memastikan keaslian dari
informasi yang diterima. Identifikasi terhadap suatu informasi dapat berupa
tanggal pembuatan informasi, isi informasi, waktu kirim dan hal-hal lainnya yang
berhubungan dengan informasi tersebut.

4.

Nirpenyangkalan (non-repudiation) adalah layanan untuk mencegah pihak-pihak
yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal
melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.


2.1.3 Sistem Kriptografi Klasik
Sistem kriptografi klasik digunakan beberapa abad yang lalu sebelum adanya
komputer. Penyandian pesan dilakukan karakter per karakter. Terdapat dua metode
yang dilakukan untuk menyandikan pesan pada sistem kriptografi klasik, yaitu Teknik
Substitusi

dan

Teknik

Transposisi.Tekniksubstitusi

dilakukan

dengan

cara

penggantian setiap karakter teks asli dengan karakter lain. Sedangkan Teknik
transposisi dilakukan pengacakan urutan karakter tanpa mengganti karakter pada

pesan tersebut (Ariyus, 2012).

2.1.4 Sistem Kriptografi Modern
Pengembangan sistem kriptografi modern didorong oleh perkembangan komputer
yang merepresentasikan data dalam bentuk bilangan biner. Sistem kriptografi modern
tidak lagi menggunakan mode karakter untuk proses enkripsi dan dekripsi, tetapi
menggunakan mode bit. Algoritma kriptografi dengan mode bit dapat dikelompokkan
menjadi dua bagian, yaitu Cipher Aliran (Stream Cipher) dan Cipher Blok (Block
Cipher). Stream Cipher mengenkripsi atau mendekripsi pesan bit per bit. Sedangkan

Universitas Sumatera Utara

Block Cipher mengenkripsi atau mendekripsikan pesan dalam bentuk blok bit dengan
panjang bit yang telah ditentukan sebelumnya (Sadikin, 2012).

2.1.5 Jenis Algoritma Kriptografi
Algoritma kriptografi dapat diklasifikasikan menjadi dua jenis berdasarkan kuncinya,
yaitu algoritma simetris dan algoritma asimetris (Prayudi, 2005).
1. Algoritma Simetris
Algoritma ini disebut simetris karena memiliki key atau kunci yang sama dalam proses

enkripsi dan dekripsi sehingga algoritma ini juga sering disebut algoritma kunci
tunggal atau algoritma satu kunci. Key dalam algoritma ini bersifat rahasia atau
private key sehingga algoritma ini biasa disebut dengan algoritma kunci rahasia
(Prayudi, 2005). Contoh algoritma simetris yaitu Beaufort, Spritz, Blowfish, Twofish,
DES(Data Encryption Standard).
2. Algoritma Asimetris
Algoritma ini disebut asimetris karena kunci yang digunakan untuk enkripsi berbeda
dengan kunci yang digunakan untuk dekripsi. Kunci yang digunakan untuk enkripsi
adalah kunci publik atau public key sehingga algoritma ini disebut dengan algoritma
kunci publik. Sedangkan kunci untuk dekripsi menggunakan kunci rahasia atau
private key (Prayudi, 2005). Contoh algoritma asimetris yaitu RSA(Riverst Shamir
Adleman), ECC(Elliptic Curve Cryptography),Elgamal.

2.2

Algoritma Beaufort

Algoritma Beaufort ditemukan oleh Laksamana Sir Francis Beaufort, Royal Navy.
Algoritma Beaufort merupakan salah satu varian dari metode Vigenère Cipher
(Widyastuti, 2014). Proses enkripsi dan dekripsi pada algoritma Beaufort

menggunakan sebuah tabel yang disebut dengan tabel Beaufort (Tassel, 1969).

Universitas Sumatera Utara

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

Tabel 2.1 Tabel Beaufort
A B C D E F G H I J K L M N O P Q R S T U V W XY Z
A B C D E F G H I J K L M N O P Q R S T U V W XY Z
B C D E F G H I J K L M N O P Q R S T U V W XY Z A
C D E F G H I J K L M N O P Q R S T U V W XY Z A B
D E F G H I J K L M N O P Q R S T U V W XY Z A B C
E F G H I J K L M N O P Q R S T U V W XY Z A B C D
F G H I J K L M N O P Q R S T U V W XY Z A B C D E
G H I J K L M N O P Q R S T U V W XY Z A B C D E F

H I J K L M N O P Q R S T U V W XY Z A B C D E F G
I J K L M N O P Q R S T U V W XY Z A B C D E F G H
J K L M N O P Q R S T U V W XY Z A B C D E F G H I
K L M N O P Q R S T U V W XY Z A B C D E F G H I J
L M N O P Q R S T U V W XY Z A B C D E F G H I J K
M N O P Q R S T U V W XY Z A B C D E F G H I J K L
N O P Q R S T U V W XY Z A B C D E F G H I J K L M
O P Q R S T U V W XY Z A B C D E F G H I J K L M N
P Q R S T U V W XY Z A B C D E F G H I J K L M N O
Q R S T U V W XY Z A B C D E F G H I J K L M N O P
R S T U V W XY Z A B C D E F G H I J K L M N O P Q
S T U V W XY Z A B C D E F G H I J K L M N O P Q R
T U V W XY Z A B C D E F G H I J K L M N O P Q R S
U V W XY Z A B C D E F G H I J K L M N O P Q R S T
V W XY Z A B C D E F G H I J K L M N O P Q R S T U
W XY Z A B C D E F G H I J K L M N O P Q R S T U V
XY Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z A B C D E F G H I J K L M N O P Q R S T U V W XY
Baris paling atas pada tabel 2.1 menyatakan huruf dari plaintext. Proses


enkripsi dilakukan dengan cara menarik garis vertikal dari plaintext sampai kepada
karakter key yang telah ditentukan, selanjutnya tarik garis horizontal dari karakter key
yang telah ditentukan sampai kolom pertama. Karakter pada kolom pertama tersebut
adalah ciphertext yang diperoleh. Proses dekripsi dilakukan berlawanan dengan
enkripsi. Proses ini dimulai dengan memilih ciphertext dari kolom pertama kemudian
tarik garis lurus sampai menemukan karakter key yang telah ditentukan, selanjutnya
ditarik garis vertikal ke atas dari karakter key tersebut sampai ke baris pertama.
Karakter pada baris pertama merupakan plaintext (Tassel, 1969).
Berikut adalah contoh proses enkripsi dengan menggunakan tabel 1:
Plaintext

:TIARAHMADIANTI

Kunci

:IMILKOMHIMATIF

Ciphertext

:PEIUKHAHFEAGPX

Universitas Sumatera Utara

Namun, pada saat ini algoritma beaufort tidak hanya bisa mengenkripsi dan
dekripsi huruf saja tetapi angka maupun simbol-simbol yang terdapat pada tabel
ASCII bisa di enkripsi dan dekripsi. Dalam perkembangan sistem komputasi modern,
karakter atau simbol biasanya direpresentasikan dalam bentuk ASCII. Setiap karakter
atau simbol yang muncul di layar komputer memiliki kode ASCII yang berbeda dan
panjang masing-masing kode ASCII dalam biner adalah 8 bit (Budiman and
Rachmawati, 2017).
Tabel 2.2 Tabel List Karakter
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

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

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
a

b

c

d

e

f

g

h

i

J

k

l

m

n

o

P

q

r

s

t

u

v

w

x

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
y

z

0

1

2

3

4

5

6

7

8

9

sp

!

"

#

$

%

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
}

~

¢



£

Pada tabel 2.2 menunjukkan list karakter yang akan digunakan. Adapun list karakter
yang digunakan sebanyak 100 karakter. Proses enkripsi dan dekripsi algoritma
Beaufort Cipher dirumuskan sebagai berikut:

C i ≡ Ki−P i (mod n) ------------------ (1)

P i ≡ Ki−C i (mod n) ------------------(2)

dimana � merupakan plaintext, � adalah key, � adalah ciphertext yang diperoleh dan

� adalah jumlah karakter yang digunakan (Mollin, 2007).

Berikut adalah contoh proses enkripsi dan dekripsi :

Plaintext : TIA RAHMADIANTI
Kunci

+

: Fasilkom-TI USU

Universitas Sumatera Utara

¥

©

Tabel 2.3 Tabel Enkripsi Beaufort
Plaintext (Pi)

Kunci (Ki)

Ciphertext (Ci)

Karakter

5

�� ≡ �� − �� (��� 100)

86

\

a

26

18

S

0

s

44

44

s

spasi

62

i

34

72

*

R

17

l

37

20

U

A

0

k

36

36

k

H

7

o

40

33

h

M

12

m

38

26

a

A

0

-

75

75

-

D

3

T

19

16

Q

I

8

I

8

0

A

A

0

spasi

62

62

spasi

N

13

U

20

7

H

T

19

S

18

99

©

I

8

U

20

12

M

Karakter

Indeks

Karakter

T

19

F

I

8

A

Indeks

Pada tabel 2.3 dihasilkan ciphertext melalui fungsi enkripsi Beaufort. Fungsi enkipsi
Beaufort untuk menghasilkan ciphertext diperoleh dengan operasi pengurangan indeks
kunci terhadap indeks plaintext.
Tabel 2.4 Tabel Dekripsi Beaufort
Ciphertext(Ci)

Kunci (Ki)

Plaintext(Pi)
�� ≡ �� − �� (��� 100)

Karakter

19

T

26

8

I

s

44

0

A

72

i

34

62

Spasi

U

20

l

37

17

R

k

36

k

36

0

A

h

33

o

40

7

H

a

26

m

38

12

M

-

75

-

75

0

A

Q

16

T

19

3

D

A

0

I

8

8

I

Karakter

Indeks

Karakter

Indeks

\

86

F

5

S

18

a

s

44

*

Universitas Sumatera Utara

spasi

62

spasi

62

0

A

H

7

U

20

13

N

©

99

S

18

19

T

M

12

U

20

8

I

Pada tabel 2.4 dihasilkan plaintextseperti semula yaitu “ TIA RAHMADIANTI”
melalui fungsi dekripsiBeaufort. Fungsi dekripsiBeaufort untuk menghasilkan
plaintextdiperoleh dengan operasi pengurangan indeks kunci terhadap indeks
ciphertext.

2.3

Algoritma Spritz

Pada tahun 2014, perancang algoritma RC4, Ron Rivest, dan Jacob Schultz
merancang sebuah pembaharuan dari desain algoritma RC4 yang diberi nama Spritz
(Rivest dan Schuldt, 2014). Spritz merupakan sebuah varian dari RC4 yang
mengimplementasikan sponge-based construction dalam penghasilan kunci rahasia
dan proses enkripsi. Tingginya kompleksitas dari algoritma Spritz karena spongebased construction meningkatkan keamanan dari algoritma RC4. Namun, karena
algoritma Spritz meningkatkan kompleksitas dari RC4, maka waktu yang digunakan
untuk mengenkripsi sebuah data juga meningkat meskipun tingkat keamanan dari
algoritma Spritz lebih tinggi dari RC4 (Rivest dan Schuldt, 2014). Spritz termasuk
algoritma stream cipher. Stream cipher merupakan algoritma yang mengenkripsi
pesan satu per satu karakter dengan menggunakan transformasi enkripsi yang
bergantung pada waktu yang singkat. Algoritma Spritz termasuk algoritma kriptografi
kunci simetrik. Algoritma ini memiliki dua bagian utama: Key Scheduling Algorithm
(KSA) dan Pseudo-Random Generation Algorithm (PRGA).

2.3.1 Key Scheduling Algorithm (KSA)
Key-Scheduling Algorithm (KSA) pada Algoritma Spritz sama dengan algoritma RC4
yaitu menghasilkan permutasi dari 256 kemungkinan bytes yang ada pada array S.

Universitas Sumatera Utara

Tabel 2.5 Key Scheduling Algorithm (KSA)
for i from 0 to 255
S[i] := i
endfor
j := 0
for i from 0 to 255
j := (j + S[i] + key[i mod keylength]) mod 256
swap values of S[i] and S[j]
endfor
Dimana S adalah permutasi 256-byte yang diinisialisasikan KSA dan variabel i dan j
merupakan variabel integer yang mempunyai nilai awal 0.
2.3.2 Pseudo-Random Generation Algorithm (PRGA)
Pseudo-Random Generation Algorithm (PRGA) berbeda dengan algoritma RC4.
Pseudo-Random Generation Algorithm(PRGA) untuk mendapatkan byte acak untuk
enkripsi.
Tabel 2.6Pseudo-Random Generation Algorithm(PRGA)
For a from 0 toplaintext-1
i=i+w
j = k + S[j + S[i]]
k = i + k + S[j]
swap S[i] with S[j]
z = S[j + S[i + S[z + k]]]
output z
EndFor

dimana w adalah relatif prima dengan panjang S. Variabel i, j, k merupakan variabel
integer yang mempunyai nilai awal 0

dan z merupakan variabel integer yang

merupakan output dan mempunyai nilai awal 0.
Tabel 2.7 Larik 256 byte hasil perhitungan tahap key scheduling
0

1

2

3

4

5

114 92

12

64

47

172 32

122 154 186 236 102 218 15

14

16

17

18

19

21

22

23

24

127 132 183 191 129 31

55

6

220 88

15

163 74

6

20

7

8

9

10

11

25

12

26

13

27

166 131

Universitas Sumatera Utara

28

29

34

35

36

37

38

39

178 7

243 142 105 224 44

19

23

71

40

136 59

152

42

43

44

45

46

47

48

49

50

51

52

53

54

55

149 79

66

41

126 35

87

98

81

60

107 113 97

20

56

58

59

60

61

62

63

64

65

66

68

69

106 193 109 11

90

116 125 240 29

253 101 210 43

91

70

73

74

75

79

83

117 2

223 84

50

137 77

185 121 226 175 158 228 65

84

85

86

88

89

91

16

192 234 28

98

99

57

71

30

72

31

87

32

33

171 78

76

90

77

78

92

93

80

94

135 214 213 145 34

67

81

95

40

82

96

169 0

41

97
205

100 101 102 103 104 105 106 107 108 109 110 111

159 161 56

151 227 139 217 237 209 207 76

202 24

189

112 113 114 115 116 117 118 119 120 121 122 123 124 125
85

249 180 254 246 221 115 245 168 195 22

244 219 230

126 127 128 129 130 131 132 133 134 135 136 137 138 139
72

157 206 201 104 89

197 231 200 53

176 26

9

112

140 141 142 143 144 145 146 147 148 149 150 151 152 153
54

177 232 199 196 75

25

241 33

18

1

208 58

165

154 155 156 157 158 159 160 161 162 163 164 165 166 167
138 212 86

190 83

93

167 252 63

30

68

82

17

250

168 169 170 171 172 173 174 175 176 177 178 179 180 181
204 248 100 61

148 62

118 10

155 67

247 130 80

21

182 183 184 185 186 187 188 189 190 191 192 193 194 195
153 5

203 242 238 111 37

233 110 188 134 229 13

211

196 197 198 199 200 201 202 203 204 205 206 207 208 209
120 173 147 162 144 251 57

164 235 124 38

14

48

108

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

27

222 69

94

45

70

181 216 141 156 239 187 146

224 225 226 227 228 229 230 231 232 233 234 235 236 237
215 123 194 119 255 73

184 182 170 150 49

128 225 42

238 239 240 241 242 243 244 245 246 247 248 249 250 251
143 4

96

140 179 198 3

52

36

160 174 8

51

99

Universitas Sumatera Utara

252 253 254 255
39

103 133 95

Misalkan pada tahap key schedulling menghasilkan larik S seperti yang
ditunjukkan oleh tabel 2.7 dan pesan yang akan dienkripsi adalah “rc4” dengan kode
ASCII 114, 99 dan 52. Ciphertext akan dihitung dengan menginisialisasikan nilai i, j,
k, z dengan nilai 0 dan w merupakan nilai acak yang relatif prima dengan 256 dan
setiap baris di modulo dengan 256. Hasil perhitungan pertama adalah:
i=i+w

= 0+149 mod 256 = 149

j = k + S[j + S[i]]

= 0 + S[0 + S[149]] mod 256
= 0 + S[18] mod 256
= S[18] = 183

k = i + k + S[j]

= 149 + 0 + S[183] mod 256
= 149 + 5 mod 256
= 154

S[i] , S[j]

= S[i] = S[149] = 18, S[j] = S[ 183] = 5

SwapS[i] withS[j]

= S[i] = S[149] = 5, S[j] = S[183] = 18

z = S[j + S[i + S[z + k]]]

= S[183 + S[149 + S[0 + 154]]] mod 256
= S[183 + S[149 + 138]] mod 256
= S[183 + S[31] mod 256
= S[183 + 142] mod 256
= S[69] = 91

Kemudian lakukan operasi XOR pada karakter pertama plaintext yang dihasilkan
yaitu karakter “r” yang bernilai 114 dengan output z yang dihasilkan adalah 91.
Dengan cara sebagai berikut :

114 = 01110010
91 = 01011011 ⊕
= 00101001

= 41 10 dalam tabel ASCII merupakan karakter “)”.

Proses perhitungan tersebut diulang sampai karakter terakhir plaintext. Algoritma
yang sama juga digunakan untuk proses dekripsi.

Universitas Sumatera Utara

2.4

Super Enkripsi

Super Enkripsi merupakan metode pengkombinasian antara kedua algoritma yang
bertujuan untuk mendapatkan cipher yang lebih kuat sehingga sangat sulit untuk
dipecahkan, dan juga untuk mengatasi penggunaan cipher tunggal yang secara
komparatif lemah (Setyaningsih.,dkk,2011).
Super enkripsi tidak mudah untuk dipecahkan karena proses enkripsinya
dilakukan sebanyak dua kali atau lebih sehingga ciphertext yang dihasilkan juga
jumlahnya sebanyak dua buah atau lebih (Halim,2007).

2.5

Kompleksitas Algoritma

Algoritma yang efisien adalah algoritma yang meminimumkan kebutuhan waktu dan
ruang. Dengan menganalisis beberapa algoritma untuk suatu masalah,dapat
diidentifikasi satu algoritma yang paling efisien. Besaran yang digunakan untuk
menjelaskan model pengukuran waktu dan ruang ini adalah kompleksitas algoritma.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi
yang dibutuhkan algoritma tersebut untuk mendapatkan hasil yang diinginkan.
Algoritma yang dapat memperoleh hasil yang diinginkan dalam waktu yang singkat
memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu
yang lama untuk memperoleh hasil tersebut mempunyai kompleksitas yang tinggi
(Azizah, 2013).
Untuk

menghitung kompleksitas algoritma digunakan kode program

menggunakan tabel yang berisi kolom C, kolom # dan kolom � � #. Dimana kolom C

merupakan kolom yang menunjukkan berapa kali processor melakukan komputasi.

Kolom # menunjukkan variabel untuk menghitung pengerjaan satu baris program.
Kolom � � # untuk menghitung hasil perkalian kolom C dan kolom #.
(�)=��#� ------------------ (3)
Hasil dari kolom �� # dijumlahkan berdasarkan persamaan (3), sehingga

diperoleh hasil kompleksitas algoritma (Cormen., et al, 2009).

Universitas Sumatera Utara

2.6

Penelitian yang Relevan

Beberapa penelitian terdahulu yang relevan dengan penelitian yang akan dilakukan
oleh penulis antara lain adalah sebagai berikut:
1. Widyastuti (2012) mengimplementasikan kriptografi super enkripsi dengan
menggabungkan dua algoritma yaitu Playfair dan Vigenère Cipher
membuktikan bahwa algoritma super enkripsi ini efektif dan aman digunakan.
2. Nurnawati

(2008)

VigenèreCipher

menganalisis

dengan

mode

kriptografi
operasi

menggunakan

Cipher

Block

algoritma

Chainng(CBC)

membuktikan bahwa algoritma Vigenère hanya menampung 26 huruf alfabet
dalam bentuk huruf kecil dan tanda baca yang lainnya tidak dapat terbaca.
3. Rivest dan Schuldt (2014) membuktikan bahwa algoritma Spritz meningkatkan
kompleksitas dari RC4, maka waktu yang digunakan untuk mengenkripsi
sebuah data juga meningkat dan tingkat keamanan dari algoritma Spritz lebih
baik dari RC4.
4. Syuhada(2016) membuktikan bahwa Algoritma RC4 merupakan algoritma
kriptografi simetris yang dalam penggunaannya memiliki keunggulan pada
kecepatan dan kemudahan dalam proses perhitungan.
5. Weerasinghe(2012) dalam penelitian nya yang berjudul Analysis of a Modified
RC4 Algorithm menyatakan bahwa algoritma yang dimodifikasi lebih baik
daripada RC4 yang asli dalam segi kerahasiaan dan performa.
6. Soofi.,et al(2016) melakukan penelitian yang berjudul An Enhanced Vigenère
Cipher For Data Security membuktikan bahwa kelemahan penting pada
algoritma Vigenère Cipher yaitu perulangan pada kunci nya. Jika kriptanalis
benar menebak panjang kunci maka ciphertext akan mudah di sadap.

Universitas Sumatera Utara