P + b Mod n
                                                                                Tabel 4.4 Proses Enkripsi Affine Cipher
Plainteks Index
List Kunci
C
m.P + b Mod n
C2 Bil.
Prima Pergeseran
{ 73
598711 54726078
37 b
+ 77
598711 54726078
38 c
o 50
598711 54726078
8 I
s 54
598711 54726078
9 J
` 88
598711 54726078
64 q
52 598711
54726078 55
t Q
16 598711
54726078 46
k R
17 598711
54726078 23
X E
4 598711
54726078 43
h 91
598711 54726078
88 `
a 36
598711 54726078
51 p
p 51
598711 54726078
78 -
Tabel  4.4  merupakan  tabel  yang  menunjukkan  hasil  dari  cipherteks  yang  kedua. Cipherteks  yang  kedua  ini  membutuhkan  cipherteks  yang  pertama  sebagai  plainteks
dan pengacakan kunci untuk bilangan prima dan pergeserannya.
4.2.5 Dekripsi Beaufort Cipher
Dekripsi  pada  tahap  ini    akan  menghasilkan  cipherteks  yang  ketiga.  Cipherteks  ini terdiri  dari  kata  sandi  yang  panjang  karakternya  sama  dengan  panjang  cipherteks
kedua.  Pada  enkripsi  ini  diperlukan  kunci  yang  sama  pada  saat  melakukan  enkripsi Beaufort Cipher
yang  pertama. Tampilan pada sistem ditunjukkan pada Gambar 4.10.
Gambar 4.10 Tampilan Hasil Cipherteks III
Universitas Sumatera Utara
Gambar 4.10 menunjukkan hasil cipherteks yang ketiga. Hasil cipherteks ini diperoleh dari  plainteks  berupa  cipherteks  yang  kedua.  Cipherteks  kedua  ini    telah  dikurangi
dengan  kunci  Beaufort  Cipher.  Ilustrasi  cara  mendapatkan  cipherteks  yang  ketiga dapat ditunjukkan pada Tabel 4.5.
Tabel 4.5 Proses Dekripsi Beaufort Cipher
Plainteks Index pada
List Kunci
Index pada List
P
K – C
Mod n C3
b 37
26 82
c 38
b 37
92 ‘ ‘
I 8
B 1
86 ?
J 9
M 12
3 D
64 o
50 79
= t
55 J
9 47
l k
46 w
58 12
M X
23 70
47 l
h 43
e 40
90 \
` 88
d 39
44 i
p 51
80 29
3 -
78 U
20 35
9 Pada  Tabel  4.5  memiliki  data  kunci  yang  sama  pada  saat  melakukan  enkripsi.  Pada
Tabel  4.5  ini  juga  menghasilkan  cipherteks  yang  ketiga.  Cipherteks  ini  berasal  dari pengurangan  dari  setiap  index  yang  ada  pada  kunci  terhadap  index  yang  ada  pada
plainteks.
4.2.6  Dekripsi Affine Cipher
Dekripsi  pada  tahap  ini    akan  menghasilkan  plainteks  asli.  Plainteks  ini  terdiri  dari kalimat yang sama dengan plainteks di awal. Pada dekripsi ini diperlukan kunci yang
sama  pada  saat  melakukan  enkripsi  Affine  Cipher    yang  pertama.  Tampilan  pada sistem dapat ditunjukkan pada Gambar 4.11.
Universitas Sumatera Utara
Gambar 4.11 Tampilan Hasil Plainteks Awal kembali
Gambar 4.11 menunjukkan hasil akhir berupa plainteks awal. Pada Gambar 4.11 dapat dilihat  bahwa  form  yang  menampung  hasil  cipherteks  mempengaruhi  keluaran  pada
form yang  menampung  hasil  cipherteks  berikutnya.  Hal  ini  menjelaskan  bahwa
enkripsi  Beaufor  Cipher  dapat  dilakukan  jika  ada  plainteks  awal.  Enkripsi  Affine Cipher
dapat  dilakukan  jika  ada  cipherteks  yang  pertama.  Dekripsi  Beaufort  Cipher dapat  dilakukan  jika  ada  cipherteks  yang  kedua.  Dekripsi  Affine  Cipher  dapat
dilakukan  jika  ada  cipherteks  yang  ketiga  dan  cipherteks  yang  pertama.  Ilustrasi perhitungan dapat ditunjukkan pada Tabel 4.6.
Tabel 4.6 Proses Dekripsi Affine Cipher
C1 C3
Kunci P
C1 + m-1 C3 + b
Mod n Plainteks
Bil. Prima
Pergeseran 73
82 598711
54726078 46
k 77
92 598711
54726078 53
r 50
86 598711
54726078 44
i 54
3 598711
54726078 51
p 88
79 598711
54726078 55
t 52
47 598711
54726078 50
o 16
12 598711
54726078 42
g 17
47 598711
54726078 53
r 4
90 598711
54726078 36
a 91
44 598711
54726078 41
f 36
29 598711
54726078 44
i 51
35 598711
54726078 62
.
Universitas Sumatera Utara
Tabel  4.6  menunjukkan  hasil  dari  dekripsi  Affine  Cipher.  Plainteks  dihasilkan  dari penjumlahan  cipherteks  yang  pertama  dan  cipherteks  yang  ketiga.  Kunci  yang
digunakan sama seperti pada saat enkripsi Affine Cipher diakukan.
Keseluruhan  perhitungan  dimulai  dari  enkripsi  Beaufort  Cipher  lalu dilanjutkan  dengan  enkripsi  Affine  Cipher  kemudian  dilakukan  Dekripsi  Beaufort
cipher terakhir  dilakukan  dekripsi  Affine  Cipher.  Tahapan  enkripsi  dan  dekripsi
tersebut  menunjukkan  hasil  plainteks  akhir  yang  sama  dengan  plainteks  awal masukan.  Hal  ini  dapat  disimpulkan  bahwa  kombinasi  algoritma  klasik  Beaufort
Cipher dan Affine Cipher pada Three-pass Protocol memenuhi keutuhan data.
4.2.7 Pengujian Kompleksitas Algoritma
Pengujian  ini  dilakukan  untuk  mengetahui  tingkat  nilai  masukan  n  suatu  algoritma. Kompleksitas  algoritma  ini  dapat  dilihat  dari  kode  program  yang  digunakan.  Untuk
kompleksitas algoritma enkripsi Beaufort Cipher ditunjukkan pada Tabel 4.7.
Tabel 4.7 Kompleksitas Algoritma Enkripsi Beaufort Cipher
No Kode Program
C C x
1 def EnkBeaufort Plainteks, kunci:
C
1
1 C
1
2 hasil1 =
C
2
1 C
2
3 for x in rangelenPlainteks:
C
3
n C
3
n 4
temp = z.indexkunci[x] - z.indexPlainteks[x]  lz
C
4
n C
4
n 5
hasil1 = hasil1 + z[temp] C
2
n C
2
n 6
return hasil1 C
5
1 C
5
 i
Ci n
T 11
=
5 2
4 3
2 1
C n
C n
C n
C C
C 
 
 
=
1 4
3 2
5 2
1
n C
C C
n C
C C
 
 
 =
n 
Tabel  4.7  menunjukkan  hasil  dari  kompleksitas  algoritma  dari  enkripsi  Beaufort Cipher
. Pada Tabel 4.7 terdapat Kolom C yaitu sebagai variabel menghitung seberapa banyak processor melakukan komputasi. Kolom  sebagai variabel untuk menghitung
kalimat statement program yang dieksekusi. Kolom C x   yaitu menunjukkan hasil
Universitas Sumatera Utara
perkalian  dari  C  dan  .  Sehingga,  berdasarkan  persamaan  11  akumulasi  dari kompleksitas  algoritma  enkripsi  Beaufort  Cipher  adalah
n 
.  Kompleksitas algoritma selanjutnya adalah enkripsi Affine Cipher yang ditunjukkan pada Tabel 4.8.
Tabel 4.8 Kompleksitas Algoritma Enkripsi Affine Cipher
No  Kode Program C
C x 1
def EnkAffm, b, data: C
1
1 C
1
2 hasil2 =
C
2
1 C
2
3 for x in rangelendata:
C
3
n C
3
n 4
temp = m  z.indexdata[x] + b  lz C
4
n C
4
n 5
hasil2 = hasil2 + z[temp] C
2
n C
2
n 6
return hasil2 C
5
1 C
5
 i
Ci n
T 12
=
5 2
4 3
2 1
C n
C n
C n
C C
C 
 
 
=
1 4
3 2
5 2
1
n C
C C
n C
C C
 
 
 =
n 
Tabel  4.8  menunjukkan  hasil  dari  kompleksitas  algoritma  dari  Affine  Cipher  .  Pada Tabel  4.8  terdapat  Kolom  C  yaitu  sebagai  variabel  menghitung  seberapa  banyak
processor melakukan komputasi. Kolom  sebagai variabel untuk menghitung kalimat
statement  program  yang  dieksekusi.  Kolom  C  x      yaitu  menunjukkan  hasil perkalian  dari  C  dan  .  Sehingga  akumulasi  dari  kompleksitas  algoritma  enkripsi
Affine  Cipher adalah
n 
.  Selanjutnya  dihitung  kompleksitas  algoritma  dekripsi Beaufort Cipher
ditunjukkan pada Tabel 4.9.
Tabel 4.9 Kompleksitas Algoritma Dekripsi Beaufort Cipher
No Kode Program
C C x
1 def DekBeaufort data, kunci:
C
1
1 C
1
2 hasil3 =
C
2
1 C
2
3 for x in rangelendata:
C
3
n C
3
n 4
temp = z.indexkunci[x] –
z.indexdata[x]  lz C
4
n C
4
n 5
hasil3 = hasil3 + z[temp] C
2
n C
2
n 6
return hasil3 C
5
1 C
5
 i
Ci n
T 13
=
5 2
4 3
2 1
C n
C n
C n
C C
C 
 
 
=
1 4
3 2
5 2
1
n C
C C
n C
C C
 
 
 =
n 
Universitas Sumatera Utara
Tabel 4.9 menunjukkan hasil dari kompleksitas algoritma dari Beaufort Cipher . Pada Tabel  4.9  terdapat  Kolom  C  yaitu  sebagai  variabel  menghitung  seberapa  banyak
processor melakukan komputasi. Kolom  sebagai variabel untuk menghitung kalimat
statement  program  yang  dieksekusi.  Kolom  C  x      yaitu  menunjukkan  hasil perkalian dari C dan . Sehingga akumulasi kompleksitas algoritma dekripsi Beaufort
Cipher sama  dengan  kompleksitas  algoritma  enkripsi  Beaufort  Cipher  yaitu
n 
. Selanjutnya  dilakukan  perhitungan  kompleksitas  algoritma  dekripsi  Affine  Cipher
ditunjukkan pada Tabel 4.10.
Tabel 4.10 Kompleksitas Algoritma Dekripsi Affine Cipher
No  Kode Program C
C x 1
def DekAffm, b, data, data2: C
1
1 C
1
2 hasil4 =
C
2
1 C
2
3 for x in rangelendata:
C
3
n C
3
n 4
temp = z.indexdata[x] + m - 1 z.indexdata2[x] + b  lz
C
4
n C
4
n 5
hasil4 = hasil4 + z[temp] C
2
n C
2
n 6
return hasil4 C
5
1 C
5
 i
Ci n
T =
5 2
4 3
2 1
C n
C n
C n
C C
C 
 
 
=
1 4
3 2
5 2
1
n C
C C
n C
C C
 
 
 =
n 
Tabel 4.10 menunjukkan hasil dari kompleksitas  algoritma dari  Affine Cipher . Pada Tabel  4.10  terdapat  Kolom  C  yaitu  sebagai  variabel  menghitung  seberapa  banyak
processor melakukan komputasi. Kolom  sebagai variabel untuk menghitung kalimat
statement  program  yang  dieksekusi.  Kolom  C  x      yaitu  menunjukkan  hasil perkalian  dari  C  dan  .  Sehingga  akumulasi  dari  kompleksitas  algoritma  dekripsi
Affine Cipher sama dengan kompleksitas algoritma enkripsi  Affine Cipher yaitu
n 
4.2.8 Pengujian Kombinasi Algoritma terhadap Waktu
Pada pengujian ini akan dilihat melalui tiga plainteks dengan karakter  yang berbeda. Setiap  plainteks  diuji  sebanyak  lima  kali  perubahan  cipherteks  pertama,  kedua  dan
ketiga  terhadap  waktu.  Waktu  proses  pada  plainteks  12  karakter  ditunjukkan  pada Tabel 4.11.
Universitas Sumatera Utara
Tabel 4.11  Waktu Proses pada Plainteks 12 Karakter
Plainteks C1
C2 C3
Waktu s
kriptografi. 3TuUQ]s_As;w
so}|-KkKq\ HSo\+m?:_]4
0.0019998550415 \rT`q4 y0
0czv|dEU3Zk IMaNu,Z,kj
0.00200009346008 C_PQ9U}o0?v  acq~m=pDj|[Z  MHHgbL5f{tB  0.00100016593933
em,dk:,RB| PZjb uaEB
],lv17n\G88 0.00300002098083
G[n,N7 }pv |dPIm{nb;RD  w~NGy9z;{IX
0.0019998550415 Rata
– rata Waktu 0.001999998
Pada  Tabel  4.11  ditunjukkan  hasil  rata –  rata  waktu  proses  setiap  perubahan
cipherteks. Pada tabel 4.11 terdapat  Kolom C1 diperoleh dari hasil enkripsi Beaufort Cipher
. Kolom C2 menunjukkan cipherteks  yang kedua diperoleh dari hasil enkripsi Affine  Cipher
dam  kolom  C3  menunjukkan  cipherteks  yang  ketiga  diperoleh  dari dekripsi  Beaufort  Cipher.
Berdasarkan  plainteks  ‘kriptografi.’  pada  cipherteks pertama,  kedua  dan  ketiga  diperoleh  rata
–  rata  waktunya  adalah  0.001999998  s. Selanjutnya  dihitung  waktu  proses  pada  plainteks  20  karakter  .  Perhitungan
ditunjukkan pada Tabel 4.12.
Tabel 4.12  Waktu Proses pada Plainteks 20 Karakter
Plainteks C1
C2 C3
Waktu s
KRIPTO GRAFI
Kuantum .
v_K=EDkRF L{57Wpfs
7PadVr]j| XDFkC
Dzx\n;eVa1l ZIpHp
0.0039999 4850159
0`u}g\A~;|ap P1?+z
K`F:rd5oU 2I~.zgw,
07[BuVkywd[, .GtOMy
0.0030000 2098083
fN?vtsFp[Zl TBsT_oU
_[2L\:XT.i8 Y;:YVt5
xmz+- tDayMIpkUo
1hp 0.0169999
599457 `U{mOy,-
yZ-Kuh5 dHkuWU
6 U GqEj\ x\[Q6\KJea|d.,
WrPkD 0.0080001
3542175 r=RyriL8T
g_|e,Yh ?Pu|BP7Gr?:
bief`{9 t5c-
qRW}]bPE: mg5
0.0030000 2098083
Rata – rata Waktu
0.0070000 17
Pada  Tabel  4.24  ditunjukkan  hasil  rata –  rata  waktu  proses  untuk  setiap  perubahan
yang  terjadi  pada  cipherteks  pertama,  kedua  dan  ketiga.  Pada  tabel  4.12  terdapat
Universitas Sumatera Utara
Kolom  C1  diperoleh  dari  hasil  enkripsi  Beaufort  Cipher.  Kolom  C2  menunjukkan cipherteks  yang  kedua  diperoleh  dari  hasil  enkripsi  Affine  Cipher  dam  kolom  C3
menunjukkan  cipherteks  yang  ketiga  diperoleh  dari  dekripsi  Beaufort  Cipher. Sehingga diperoleh rata
– rata waktu prosesnya adalah 0.007000017 s. Pada pengujian terakhir untuk plainteks 60 karakter ditunjukkan pada table 4.13.
Tabel 4.13  Waktu Proses pada Plainteks 60 Karakter
Plainteks C1
C2 C3
Waktu s
AzizahMeiSariSebay ang19062014 adalah
ID untuk Seminar Hasil.
oe- G.uPRWDFQ:n7`h5
P8e3UgCQvA5T\8 Usj .
StuU1Xy[Q}.Q`263 Eep
AOuNB}Qvo_jtS RDG[}AemW9=j
Ci[pcWxf{NC{ 4BWF2IjbNjD
keVAr zIPL_FkfJnYnu3
{QCQpYdi\EW m_H`A8cD1q[
SiVN3WP?_Y;xW h1|y
0.007000207 901
kyl1QE}1|1TF+u Br=AZ[\m?BRnB
msaMzMxwdgfx20 goKc2S`3ZGp`
i8:DpTU\:3:;QH [,~K4Fy+R ,zv,
loJo=V9Xw=`mZ XW15m0|Ny}|
+vFn~?StB\HiO B]6_]4;4I[nzm2
_7ZFp,]aycacTx] 1~E7;IqTS,
0.012000083 9233
Z}gla`eu5- v|{B0yFqs3MYSgs
YM+fLqCc7kq9? i`eY0YqK4`S
xL8[VZgCL2 |eS\iUn{mTDav
[mDE_NBvKW 9qlHtCnX}J5
a xY;2Gm}h]J
]7~R0VqT6gb}Jsx g|j1_f6;Ke38E
3uENI]|6[-ti 0.008000135
42175
oeLMV.]TyXQ,tfrw W6ts8074EWD~F
pjxUt=7Ar|Fox O9ntdDtbxM
]vf?hpjC84Rd5 sH6y=d1nerc,y~
_b.oU2Tdr};wi bO]V2BJd:~dg2f
i6.bOJHWGy2 Cf2BCwQgDIS
z_GeHkmz}AYQ[ L9,~y_OE[}APuh
d-7 0.006000041
96167
15ak7M}bMzcNj 6~QZtr?wuQ{N:P]r
4RbRL|g4\Xh0CG 9gSO,qrsC6Bv
_pt,8f{LA{[rcSZ~ XdJ7ojCsdS}B|
oN+A+9eGENz0gl 5fREWuwMo`
~1Q 9fZi9iKoWiNy
{Jbqjq04RF7Wd NZgr{]t`b{-
qvZ3?j|wdKC; VK
0.010999917 984
Rata – rata Waktu
0.008800077 Pada  Tabel  4.13  ditunjukkan  hasil  rata
–  rata  waktu  proses  untuk  setiap  perubahan cipherteks berdasarkan plainteks ‘AzizahMeiSariSebayang19062014 adalah ID untuk
Seminar  Hasil.’.  Pada  tabel  4.12  terdapat    Kolom  C1  diperoleh  dari  hasil  enkripsi
Beaufort Cipher . Kolom C2 menunjukkan cipherteks yang kedua diperoleh dari hasil
enkripsi Affine Cipher dam kolom C3 menunjukkan cipherteks yang ketiga diperoleh
Universitas Sumatera Utara
dari dekripsi Beaufort Cipher. Sehingga diperoleh rata – rata waktu prosesnya adalah
0.008800077 s. Hasil  waktu  proses  yang  diperoleh  berdasarkan  jumlah  karakter  plainteks
dapat diilustrasikan pada sebuah grafik pada Gambar 4.12.
Gambar 4.12  Grafik Hubungan Waktu Proses dan Karakter Plainteks
Gambar  4.12  ini  menunjukkan  hubungan  yang  berbanding  lurus  antara  jumlah karakter plainteks terhadap waktu proses  yang dilakukan. Pada plainteks  12 karakter
dihasilkan  waktu  proses  0.002  sekon.  Plainteks  untuk  20  karakter  dihasilkan  waktu 0.007  sekon  sedangkan  plainteks  untuk  60  karakter  dihasilkan  waktu  0.0088  sekon.
Garis  hubungan  ini  menunjukkan  persamaan  linear
c mx
y 
dimana  m  adalah tingkat kemiringan gradient.  x adalah nilai yang terdapat pada sumbu x.  y adalah
nilai  yang  terdapat  pada  sumbu  y.  sedangkan  c  adalah  nilai  konstanta.  Apabila diterjemahkan ke dalam sebuah grafik maka persamaan menjadi
c mn
t 
.
Dapat  dinyatakan  bahwa  hasil  pengujian  terhadap  keutuhan  data  plainteks awal  yang ada pada pihak pengirim sesuai dengan plainteks yang sampai pada pihak
penerima.  Pengujian  terhadap  kompleksitas  algoritma  dihasilkan  kompleksitas  yang sama  untuk  setiap  enkripsi  dan  dekripsi  kedua  algoritma  yaitu
n 
.  Hanya  saja enkripsi  Beaufort  Cipher  yang  terlebih  dahulu  dilakukan  dapat  menutupi  kelemahan
0.001 0.002
0.003 0.004
0.005 0.006
0.007 0.008
0.009 0.01
Plainteks 12 Karakter
Plainteks 20 Karakter
Plainteks 60 Karakter
Waktu t
Jumlah Plainteks n
Grafik Panjang Plainteks dan Waktu Proses
Waktu Proses
Universitas Sumatera Utara
kunci  Affine  Cipher.  Hal  ini  dikarena  plainteks  yang  menjadi  masukan  untuk  di lakukan  enkripsi    dengan  menggunakan  Affine  Cipher  bukan  plainteks  yang
sebenarnya.  Sedangkan  kelemahan  dari  Beaufort  Cipher  dapat  ditutupi  dengan penambahan nilai dengan bilangan acak dari RandomNumber Python 3.1.3. Pengujian
terhadap  waktu  adalah  parameter  yang  membuktikan  bahwa  kompleksitas  algoritma yang telah diuji berbanding lurus dengan waktu proses pada sistem.
Universitas Sumatera Utara