Date post: | 08-Jul-2018 |
Category: |
Documents |
Upload: | rae-raph-israel |
View: | 219 times |
Download: | 0 times |
of 30
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
1/77
IMPLEMENTASI KEAMANAN EMAIL MENGGUNAKAN
PERTUKARAN KUNCI DIFFIE–HELLMAN DAN ALGORITMA
ENKRIPSI BLOWFISH
KOMPETENSI JARINGAN KOMPUTER
SKRIPSI
RAE A.P. HERE WOLLO
NIM. 0908605054
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAANA
JIMBARAN
!0"4
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
2/77
2
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
3/77
3
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
4/77
J#$#% & I'(%)')*+,- K),',*,* E',% M)*//#*,,* P)1+#,1,*
K#*2 D33)H)%%',* D,* A%/1+', E*1(- B%3-7
N,', & R,) A1, P,*/)-+# H)1) W%%N' & 0908605054
J#1#-,* & J#1#-,* I%'# K'(#+)1 F,#%+,- M,+)',+, $,* I%'#
P)*/)+,7#,* A%,' U*:)1-+,- U$,,*,
P)';';*/ & ". I K',*/ A1 M/ S.K' M.K'.
!. I D), M,$) B,# A+',
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
5/77
T+%) & I'(%)')*+,- K),',*,* E',% M)*//#*,,* P)1+#,1,*
K#*2 D33)H)%%',* D,* A%/1+', E*1(- B%3-7
N,') & R,) A1, P,*/)-+# H)1) W%%S+#$)*+ N#';)1 & 0908605054
S#()1:-1 & ". I K',*/ A1 M/ S.K' M.K'.
!. I D), M,$) B,# A+',
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
6/77
KATA PENGANTAR
Puji syukur kehadirat 0uhan 7ang 8aha sa, yang telah melimpahkan
segala rahmat-9ya sehingga penulis dapat menyelesaikan penelitian tugas akhir
ini dengan baik.
Penelitian tugas akhir dengan judul 2mplementasi eamanan Email
8enggunakan Pertukaran unci Diffie-!ellman dan 5lgoritma nkripsi Blofish
ini disusun dalam rangkaian kegiatan pelaksanaan tugas akhir di :urusan 2lmu
omputer ;82P5
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
7/77
DAFTAR ISI
5BS0=5..............................................................................................................i
5BS0=560.............................................................................................................
505 P9>5905=.............................................................................................i
D5;05= 2S2..........................................................................................................ii
D5;05= 05B?................................................................................................... i3
D5;05= >58B5=...............................................................................................3
D5;05= ?58P2=59..........................................................................................3ii
B5B 2.......................................................................................................................
P9D5!
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
8/77
@. 5nalisis ebutuhan......................................................................................
@.' Perancangan Sistem......................................................................................*
@.'. Data ;lo Diagram (D;D)....................................................................*
@.'.' ;lochart...............................................................................................'&
B5B 2..................................................................................................................'"
!5S2? D59 P8B5!5S59..............................................................................'"
".. ?ingkungan Perancangan dan 2mplementasi...............................................'"
".' 2mplementasi 5lgoritma Diffie-!ellman ke Dalam Sistem.........................'"
".@ 2mplementasi 5lgoritma Blofish ke Dalam Sistem...................................'#
"." 0ampilan 5ntarmuka Pengguna...................................................................'%
".# Pengujian 2mplementasi Sistem...................................................................@'
".#. Pengujian !asil nkripsi-Dekripsi........................................................@'
".#.' Pengujian !asil unci..........................................................................."@
".#.@ Pengujian eutuhan Data......................................................................"#
".% Pengujian 5alanche ffect.........................................................................."%
B5B ...................................................................................................................."*
S28P
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
9/77
DAFTAR TABEL
0abel . 0abel Pengujian unci Sesi......................................................................#
0abel ". Pengujian !asil unci............................................................................"@
0abel ".' Pengujian eutuhan Data......................................................................."#
0abel ".@ Pengujian 5alanche ffect..................................................................."
9
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
10/77
DAFTAR GAMBAR
>ambar '. Proses nkripsi -Dekripsi.....................................................................
>ambar '.' Protokol Pertukaran unci Diffie A !ellman.....................................&
>ambar '.@ :aringan ;eistel 5lgoritma Blofish..................................................@
>ambar '." ;ungsi ; Pada 5lgoritma Blofish...................................................."
>ambar @. Skema Sistem.....................................................................................*
>ambar @.' D;D ?eel &.......................................................................................C
>ambar @.@ D;D ?eel .......................................................................................C
>ambar @.' Flowchart Sistem...............................................................................'&
>ambar @.@ Flowchart Pertukaran unci D! Pada Pengirim...............................''
>ambar @." Flowchart Pertukaran unci D! Pada Penerima..............................''
>ambar @.# Flowchart nkripsi-Dekripsi Blofish..............................................'@
>ambar ". 0ampilan Form Login........................................................................'
>ambar ".' 0ampilan Form ambar "." 0ampilan Form Buat Pesan................................................................'*
>ambar ".# 0ampilan Form Add Attachment ........................................................'C
>ambar ".% 0ampilan Dialog Bo3 nkripsi Pesan................................................'C
>ambar ". 0ampilan Form Dekripsi....................................................................@&
>ambar ".* 0ampilan Form Baca Pesan................................................................@&
>ambar ".C 0ampilan form donload attachment.................................................@
>ambar ".& 0ampilan Dialog Box nkripsi.........................................................@
>ambar ". 0ampilan Form Dekripsi..................................................................@
>ambar ".' Plain 0e3t.t3t..................................................................................@'
>ambar ".@ 0e3t.t3t setelah dienkripsi..............................................................@@
>ambar "." !e3adesimal laintext 0e3t.t3t......................................................@@
>ambar ".# !e3adesimal Ciphertext 0e3t.t3t....................................................@@
>ambar ".% Data diri.t3t setelah didekripsi.........................................................@"
>ambar ". laintext ?aporan ;inal.doc3...........................................................@"
10
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
11/77
>ambar ".* ?aporan ;inal.doc3 setelah dienkripsi.............................................@#
>ambar ".C !e3adesimal laintext ?aporan ;inal.doc3.....................................@#
>ambar ".'& !e3adesimal Ciphertext ?aporan ;inal.doc3...................................@#
>ambar ".' ?aporan ;inal.doc3 setelah didekripsi.............................................@%
>ambar ".'' laintext Presentasi P?.ppt...........................................................@%
>ambar ".'@ Presentasi P?.ppt setelah dienkripsi..............................................@%
>ambar ".'" !e3adesimal laintext Presentasi P?.ppt.....................................@
>ambar ".'# !e3adesimal Ciphertext Presentasi P?.ppt...................................@
>ambar ".'% Presentasi P?.ppt setelah didekripsi..............................................@
>ambar ".' laintext 6ontoh c#.3ls....................................................................@*
>ambar ".'* 6ontoh c#.3ls setelah dienkripsi......................................................@*
>ambar ".'C !e3adesimal laintext 6ontoh 6#...................................................@C
>ambar ".@& !e3adesimal Ciphertext 6ontoh 6#................................................@C
>ambar ".@ 6ontoh c#.3ls setelah didekripsi......................................................@C
>ambar ".@' laintext ?ogo 8adrid.jpg..............................................................."&
>ambar ".@@ ?ogo 8adrid.jpg setelah dienkripsi................................................."&
>ambar ".@" !e3adesimal laintext 8adrid.jpg.................................................."&
>ambar ".@# !e3adesimal Ciphertext 8adrid.jpg................................................"
>ambar ".@% ?ogo 8adrid.jpg setelah didekripsi................................................."
11
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
12/77
DAFTAR LAMPIRAN
. Source 6ode 2mplementasi Diffie-!ellman
'. Source 6ode 2mplementasi Blofish
12
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
13/77
BAB I
PENDAHULUAN
"." L,+,1 B)%,,*/
Electronic mail (email ) adalah suatu sistem komunikasi elektronik yang
saat ini telah menjadi bagian yang penting dalam melakukan komunikasi.
ecepatan, ketepatan serta keunggulan-keungulan lainnya dibanding alat
komunikasi lainnya membuat email banyak dipakai dalam berbagai kepentingan,
bahkan dalam mengirim informasi-informasi penting dan rahasia. Dengan
banyaknya data-data penting yang sering juga bersifat rahasia, maka email rentan
mengalami penyerangan dari pihak luar. Penyerangan tersebut dapat berupa
pencurian data email , pengubahan isi email , dan lain-lain. Salah satu cara dalam
mengamankan email ini adalah dengan melakukan enkripsi atau penyandian.
Pada penelitian ini, pengamanan email akan dilakukan dengan menerapkan
algoritma enkripsi Blofish. Penggunaan algoritma kunci simetri seperti Blofish lebih
mudah diterapkan pada proses enkripsi-dekripsi karena mempunyai struktur yang
sederhana. eunggulan algoritma Blofish adalah dapat mengenkripsi data pada
microproce!!or @' bit dengan rata A rata * clock cycle per byte, lebih cepat dari
algoritma DS dan 2D5. Dengan strukturnya yang terdiri dari %" bit block"
panjang kuncinya yang merupakan ariabel dengan panjang hingga ""* bit, dan
iterasi sebanyak % kali membuat algoritma Blofish terjamin keamanannya
(Pachghare, '&&C).
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
14/77
2
perhitungan algoritma diskrit, dibandingkan dengan melakukan
perhitungan exponen!ial pada domain yang sama. (Stallings, '&).
Penelitian terkait yang pernah dilakukan antara lain+
. Penelitian berjudul #$t%di Dan &mplementa!i Algoritma Blowfi!h 'nt%k
Aplik!i Enkrip!i Dan Dekrip!i File(oleh =atih pada tahun '&&% dimana
didapat kesimpulan baha Blofish merupakan salah satu solusi yang baik
untuk mengatasi masalah keamanan dan kerahasiaan data yang pada
umumnya diterapkan dalam saluran komunikasi dan file.
'. Penelitian berjudul engg%naan Algoritma Diffie)*ellman dalam Melak%kan
ert%karan K%nci( oleh >unaan pada tahun '& dimana didapat
kesimpulan baha Penggunaan 5lgoritma Diffie-!ellman dalam pertukaran
kunci dapat dilakukan secara aman dan efektif dalam pemrosesan jika
dibandingkan dengan algoritma =S5 yang cenderung lebih lama dalam
pemrosesan algoritmanya.
Berdasarkan latar belakang di atas, pada penelitian ini akan dibangun
suatu sistem untuk mengamankan email menggunakan algoritma enkripsi
Blofish dan menggunakan algoritma Diffie-!ellman dalam melakukan
pertukaran kuncinya. !al ini diharapkan untuk menjaga keamanan data email
menggunakan proses enkripsi-dekripsi, dan juga keamanan pendistribusian kunci
untuk melakukan enkripsi-dekripsi tersebut.
".! R#'#-,* M,-,%,7
Berdasarkan latar belakang di atas, masalah yang akan dibahas adalah +
. 5pakah proses pertukaran kunci menggunakan metode Diffie-!ellman dapatdigunakan untuk mengamankan kunci enkripsi dekripsi Blofish yang
digunakan untuk keamanan email
'. 5pakah algoritma Blofish dapat diterapkan untuk mengamankan data pada
".= T#
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
15/77
3
+,
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
16/77
4
. Flowchart Sistem + Flowchart ini akan menggambarkan alur kerja secara
umum dari sistem keamanan email yang akan dibuat
'. Flowchart Pertukaran unci Diffie A !ellman + Flowchart ini akan
menggambarkan alur kerja dari protokol pertukaran kunci Diffie !ellman
untuk menghasilkan kunci sesi.
@. Flowchart nkripsi-Dekripsi + Flowchart ini akan menggambarkan alur kerja
dari proses enkripsi dan dekripsi menggunakan algoritma Blofish
".6.! P)*/#
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
17/77
5
".6.".! P)*/#
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
18/77
6
penelitian Pamungkas et. al. ('&&%), mengutip dari buku Applied Cryptography
karya Bruce Schneier mengatakan baha suatu avalanche effect dikatakan baik
jika perubahan bit yang dihasilkan berkisar antara "#$ -%&$, dan akan sangat
baik bila perubahan bit yang dihasilkan berkisar #&$ atau separuhnya. 5dapun
rumus untuk mendapatkan nilai avalanche effect adalah sebagai berikut
(Scheiner,CC%)+
Avalanche Effect (5) F∑ bit beruba h
∑ bittotal 3 &&$
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
19/77
Plain Text
Enkripsi
Cipher Text
Dekripsi
Plain Text
BAB II
TINJAUAN PUSTAKA
!." K1(+/1,3
Perkembangan teknologi saat ini memungkinkan pengiriman data dari satu
pihak ke pihak lainnya menjadi lebih cepat dan mudah. 9amun perkembangan
teknologi ini juga membuka celahAcelah keamanan pada pengiriman data tersebut,
sehingga memungkinkan terjadinya serangan terhadap data yang dikirimkan.
Pihak yang tidak berhak mungkin saja dapat membaca isi pesan yang seharusnya
bersifat rahasia. ambar '. Proses nkripsi -Dekripsi
(Scheiner,CC%)
7
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
20/77
8
0ujuan penggunaan kriptografi adalah dalam menjaga keamanan data
dalam aspek- aspek berikut +
. Confidentiality (kerahasiaan) + 8enjaga isi informasi agar hanya dapat dilihat
oleh pihak yang berhak.
'. Data integrity (integritas data) + 8enjamin keaslian data selama pengiriman.
@. A%thentication (otentikasi) + 8engidentifikasi kebenaran pihak-pihak yang
berkomunikasi (%!era%thentication) dan mengidentifikasi kebenaran sumber
pesan (data origina%thentication) (0ilborg, '&&&).
". -on)rep%diation (penyangkalan)+ 8encegah entitas yang berkomunikasi
melakukan penyangkalan, sehingga pengirim pesan tidak dapat menyangkal
telah melakukan pengiriman pesan atau penerima pesan tidak dapat
menyangkal telah menerima pesan. (!endarsyah dan /ardoyo '&)
:enis algoritma berdasarkan kuncinya dibagi atas + 5lgoritma simetri dan
algoritma asimetri. 5lgoritma simetri menggunakan satu kunci rahasia yang sama
A sama digunakan untuk proses enkripsi dan dekripsi. Sedangkan metode dengan
kunci asimetris menggunakan dua kunci yang berbeda yaitu public key yang
digunakan oleh pengirim untuk melakukan enkripsi dan satu priate key yang
digunakan untuk mendekripsikan pesan. 6ontoh algoritma asimetris adalah DE$"
AE$" .C/" Blowfi!h, dan lain- lain, sedangkan algoritma asimetris contohnya
.$A" Elgamal" Diffie 0*ellman, dan lain A lain (Stallings, '&)
!.! P)1+#,1,* K#*2 DI33) – H)%%',*
Pertukaran kunci Diffie !ellman (D!), diusulkan oleh /hitfield Diffie
dan 8artin !ellman pada tahun C%, adalah skema algoritma asimetris yang
pertama kali diterbitkan dalam literatur terbuka.Penemuan ini juga dipengaruhi
oleh karya =alph 8erkle.Pertukaran kunci ini memberikan solusi praktis untuk
masalah distribusi kunci, yaitu, memungkinkan dua pihak untuk mendapatkan
kunci rahasia dengan berkomunikasi melalui saluran tidak aman (Paar 6, '&&C)
ita dapat memberikan public key ke manapun tujuan yang kita inginkan, melalui
telepon, internet, keyserer, dan sebagainya. (alamsyah, '&). unci rahasia yang
telah didistribusikan kemudian digunakan untuk enkripsi dan dekripsi.;ungsi
algoritma ini sendiri terbatas pada pertukaran nilai rahasia. (Stallings, '&)
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
21/77
9
5lgoritma Diffie-!ellman tergantung untuk efektiitas pada kesulitan
menghitung logaritma diskrit.(Stalling, '&) 6ara kerja dari algoritma ini adalah
sebagai berikut+
. Sepakati sebuah bilangan prima yang besar, yaitu p, ?alu pilih bilangan
integer yang tidak melebihi dari nilai p, yaitu g" yang biasa disebut bilangan
basis atau generator , edua bilangan tersebut dapat diketahui secara publik.
'. Pengirim memilih sebuah bilangan acak, x, bilangan ini tidak boleh diketahui
oleh pihak lain.
@. Pengirim memilih sebuah bilangan acak, y, bilangan ini tidak boleh diketahui
oleh pihak lain.
". Pengirim menghitung 5 F g3 mod p. Bilangan 5 ini dapat diketahui secara
publik.
#. Penerima menghitung B F gy mod p. Bilangan B ini dapat diketahui secara
publik.
%. Pengirim memberikan nilai 5 kepada penerima, dan sebaliknya penerima
memberikan nilai B kepada pengirim.. Pengirim menghitung a F B
3 mod p.
*. Penerima menghitung b F 5y mod p.
Berdasarkan hukum aljabar nilai asama dengan batau bisa disebut+
a F b F .
9ilai adalah kunci yang akan digunakan pada proses enkripsi dan dekripsi.
Pembuktian a F b F +
aF b
B3 mod p F 5y mod p
(gy mod p)3 mod p F (g3 mod p)y mod p
(gy)3 mod p F (g3)y mod p
gy3 mod p F g3y mod p
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
22/77
10
>ambar '.' Protokol Pertukaran unci Diffie A !ellman
(Stallings,'&)
eamanan dari Diffie-!ellman pertukaran kunci terletak pada kenyataan
baha, relatif mudah untuk menghitung eksponensial modulo prima, sementara
itu sangat sulit untuk menghitung logaritma diskrit. !al tersebut akan bertambah
sulit jika dipilih bilangan prima yang besar. (Stallings, '&)
5lgoritma ini tidak hanya terbatas pada ' pengguna saja. :umlah pengguna
yang ingin menggunakan pertukaran kunci menggunakan algoritma Diffie-
!ellman ini tidak dibatasi. !al ini hanya berlaku jika memenuhi ' prinsip yang
harus dilakukan+
. Bilangan p dan g yang telah disetujui oleh semua anggota.
'. Setiap anggota harus melakukan pertukaran data yang diperlukan oleh anggota
lainnya sehingga semua data dapat didapatkan secara merata+ gabcG.n (>unaan
8, '&')
Penggunaan 5lgoritma Diffie-!ellman dalam pertukaran kunci dapat
dilakukan secara aman dan efektif dalam pemrosesan jika dibandingkan dengan
algoritma =S5 yang cenderung lebih lama dalam pemrosesan algoritmanya.
5lgoritma Diffie-!ellman lebih memfokuskan dalam perubahan nilai kunci dan
proses matematis dalam penentuan kunci akhir yang sama. Sedangkan 5lgoritma
=S5 lebih memfokuskan pada saat enkrip!i dan dekrip!i. (>unaan 8, '&')
5lgoritma simetri seperti DS dan juga Blofish mempunyai kelemahan
yaitu jika kunci dapat disadap maka pesan dapat dipecahkan. 5lgoritma Diffie-
!ellman hanya berfungsi untuk melakukan generate terhadap kunci sehingga
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
23/77
11
membutuhkan algoritma enkripsi untuk lebih mengamankannya. 8enggunakan
perpaduan algoritma simetri dan Diffie A !ellmann akan membuat keamanan
yang lebih kuat. (:afar, '&)
!.= A%/1+', B%3-7
Blofish merupakan algoritma simetri yang tergolong dalam metode
block cipher . 5da dua tipe dasar algoritma simetris+ block cipher dan !tream
cipher . Sebuah block cipher memproses block byte (biasanya %" atau '* bit)
pada satu aktu. Sebuah !tream cipher memproses satu byte atau bahkan satu bit
pada suatu aktu. (0horsteinson and >anesh, '&&@)
Blofish dibuat oleh seorang Cryptanaly!t bernama Bruce Schneier, yang
merupakan Presiden perusahaan 6ounterpane 2nternet Security.2nc,
dandipublikasikan tahun CC". 5lgoritma ini digunakan pada komputer yang
mempunyai microproce!!or besar (@'-bit keatas dengan cache data yang besar).
(Schneier, CC%)
arateristik Blofish adalah sebagai berikut+
+, 8erupakan block cipher dengan %" bit block '. Panjang kunci merupakan ariable dengan panjang kunci hingga ""* bit
@. 8engenkripsi data pada microproce!!or @' bit dengan rata A rata * clock
cycle per byte, lebih cepat dari DS dan 2D5.
". 0idak mempunyai hak paten dengan harga yang gratis.
#. Dapat berjalan pada memori kurang dari # .
%. 8empunyai struktur yang sederhana dan implementasi yang mudah.
(Pachghare, '&&C)
Blofish terdiri atas dua bagian +
+, Key)Expan!ionBerfungsi merubah kunci (8inimum @'-bit, 8aksimum ""*-bit) menjadi
beberapa array subkunci ( !%bkey) dengan total "%* byte.
'. nkripsi Data
0erdiri dari iterasi fungsi sederhana ( Fei!tel -etwork ) sebanyak % kali
putaran.Setiap putaran terdiri dari permutasi kuncidependent dan substitusi
kunci dan data dependent .Semua operasi adalah penambahan (addition) dan
H1= pada ariabel @'-bit.1perasi tambahan lainnya hanyalah empat
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
24/77
12
penelusuran tabel (table look%p) array berindeks untuk setiap putaran.
(Schneier, CC%)
Blofish menggunakan subkunci yang besar.unci tersebut harus dihitung
sebelum enkripsi atau dekripsi data.
. Bentuk inisial P-array sebanyak * buah (P,P',GGGG..P*) masing-
msing bernilai @'-bit. Array P terdiri dari delapan belas kunci @'-bit subkunci+
P,P',GG.,P*
'. Bentuk $)box sebanyak " buah masing-masing bernilai @'-bit yang memiliki
masukan '#%. mpat @'-bit $)box masing-masing mempunyai '#% entri +
S,&,S,,GGGGGG..,S,'##
S',&,S',,GGGGGG..,S','##S@,&,S@,,GGGGGG..,S@,'##
S",&,S",,GGGGGG..,S",'##
Blofish adalah sebuah jaringan ;eistel yang terdiri dari % putaran.
2nputannya adalah elemen data %" bit. 6ara untuk melakukan enkripsi adalah
sebagai berikut+
. Pertama - tama plaintext yang akan dienkripsi diasumsikan sebagai masukan "
plain text tersebut diambil sebanyak %"-bit, dan apabila kurang dari %"-bit
maka tambahkan bitnya, supaya dalam operasi nanti sesuai dengan datanya.
'. !asil pengambilan tadi dibagi ', @'-bit pertama disebut H?, @'-bit yang
kedua disebut H=.
@. Selanjutnya lakukan operasi berikut+
;or i F to %+
H? F H? H1= Pi
H= F ;(H?) H1= H=
0ukar H? dan H=
". Setelah iterasi ke-enam belas, tukar H? dan H= lagi untuk melakukan undo
pertukaran terakhir. ?alu lakukanH= F H= H1= P
H? F H? H1= P
#. Proses terakhir satukan kembali H? dan H= sehingga menjadi %"-bit kembali
(Scheiner CC%)
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
25/77
13
>ambar '.@ :aringan ;eistel 5lgoritma Blofish
(Scheiner CC%)
;ungsi ; adalah sebagai berikut+
Bagi H? menjadi empat bagian *-bit+
a,b,c dan d. ;(H?) F ((S,a I S',b mod '@') H1= S@,c) I S",d mod '
@'.
>ambar '." ;ungsi ; Pada 5lgoritma Blofish
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
26/77
14
(Scheiner CC%)
6ara untuk melakukan dekripsi sama dengan cara untuk melakukan
enkripsi seperti diatas, namun pada proses dekripsi urutan P1, P2, …, P18
digunakan dalam urutan terbalik.
Subkunci dihitung menggunakan algoritma Blofish, metodanya adalah
sebagai berikut+
. Pertama-tama inisialisasi P-array dan kemudian empat $)box secara berurutan
dengan string yang tetap. $tring ini terdiri digit he3adesimal dari Pi.
'. 12. P dengan @' bit pertama kunci, 12. P' dengan @' bit kedua dari kunci
dan seterusnya untuk setiap bit dari kunci (sampai P*). anti P@ dan P" dengan keluaran dari langkah (#).
. ?anjutkan proses tersebut, ganti seluruh elemen dari P-array, dan kemudian
seluruh keempat S-box berurutan, dengan keluaran yang berubah secara
berlanjut dari algoritma Blofish (Scheiner CC%)
Blofish mempunyai throughput, kecepatan, dan konsumsi memori yang
lebih baik dibandingkan algoritma cipher block lainnya seperti 5S, DS, dan
@DS. (8andal, '&')
5lgoritma Blofish belum ditemukan kelemahan yang berarti hanya
adanya weak key dimanadua entri dari S-bo3 mempunyai nilai yang sama.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
27/77
15
Belumada cara untuk mengecek weak key sebelum melakukankey expan!ion,
tetapi hal ini tidak berpengaruh terhadaphasil enkripsi. !asil enkripsi dengan
algoritma Blofish sangat tidak mungkin dan tidak praktis untuk di terjemahkan
tanpabantuan kunci. (Sutanto, '&&C)
Blofish merupakan salah satu solusi yang baik untuk mengatasi masalah
keamanan dan kerahasiaan data yang pada umumnya diterapkan dalam saluran
komunikasi dan file. 5lgoritma Blofish dapat diimplementasikan dengan bahasa
apapun (selain 6) namun harus disesuaikan cara penulisan maupun tipe-tipe
datanya. (=atih, '&&%)
!.4 Electronic Mail > Email ?
Electronic mail atau yang sering disingkat email merupakan aplikasi
06PE2P yang saat ini banyak digunakan. Surat elektronik sudah mulai dipakai di
tahun C%&-an. Pada saat itu 2nternet belum terbentuk, yang ada hanyalah
kumpulan mainframe yang terbentuk sebagai jaringan. 8ulai tahun C*&-an, surat
elektronik sudah bisa dinikmati oleh khalayak umum. Email adalah pesan yang
terdiri atas kumpulan string 5S622 dalam format =;6 *'' yang dikembangkan
thn C*'. (7udhistira, '&J Syaiful, '&&)
Protokol yang biasanya digunakan pada email adalah $imple Mail
3ran!fer rotokol (S80P), Post 1ffice Protokol @ (P1P@), dan 2nternet 8essage
5ccess Protokol (285P). Protokol yang digunakan untuk mengirim email adalah
S80P, sedangkan protokol yang digunakan untuk mengunduh email adalah P1P@
dan 285P. (8antoro ,'&')
Proses enkrip!i memperlambatpengiriman email . 9amuntidakmenggannggu, karena email tidak membutuhkan aktu yang real time
seperti chatting,(=iKal, '&&C)
!.5 F#*/- H,-7 MD5
;ungsi ha!h satu arah memiliki banyak nama yaitu+ fungsi pembanding,
fungsi penyusutan, intisari pesan, sidik jari, me!!age integrity check (826) atau
pemeriksa keutuhan pesan dan manip%lation detection code (8D6) atau
pendektesi penyeleengan kode (Scheiner, CC% )
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
28/77
16
;ungsi ha!h satu arah dibuat berdasarkan ide tentang fungsi pemampatan.
;ungsi ha!h adalah sebuah fungsi atau persamaan matematika yang mengambil
input dengan panjang ariabel ( preimage) dan merubahnya menjadi panjang yang
tetap (biasanya lebih pendek), keluarannya biasa disebut nilai ha!h. 8D-# adalah
salah satu aplikasi yang digunakan untuk mengetahui baha pesan yang dikirim
tidak ada perubahan seaktu berada di jaringan. :ika ada perubahan nilai pada file
yang diuji dengan md#, maka file tersebut telah berubah. (Sofan, '&&%)
Me!!age Dige!t # (8D-#) adalah salah satu penggunaan fungsi ha!h satu
arah yang paling banyak digunakan. 8D-# merupakan fungsi hash kelima yang
dirancang oleh =on =iest. 8D-# memproses teks masukan ke dalam blok-blok
bit sebanyak #' bit, kemudian dibagi ke dalam @' bit sub blok sebanyak % buah.
eluaran dari 8D-# berupa " buah blok yang masing-masing @' bit yang mana
akan menjadi '* bit yang biasa disebut nilai ha!h.
!.6 A:,%,*27) E33)2+
Avalanche effect adalah salah satu indikator baik atau tidaknya algoritma
yang digunakan tersebut. Dalam penelitian Pamungkas et. al. ('&&%), mengutipdari buku Applied Cryptography karya Bruce Schneier mengatakan baha suatu
avalanche effect dikatakan baik jika perubahan bit yang dihasilkan berkisar antara
"#$ -%&$, dan akan sangat baik bila perubahan bit yang dihasilkan berkisar #&$
atau separuhnya. 5dapun rumus untuk mendapatkan nilai avalanche effect adalah
sebagai berikut (Scheiner,CC%)+
Avalanche Effect (5) F
∑ bit beruba h
∑ bittotal 3 &&$
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
29/77
BAB III
ANALISIS DAN PERANCANGAN SISTEM
=." A*,%-- K);#+#7,*
Sistem yang akan dibuat bertujuan untuk mengamankan pengiriman pesan
pada email . Pengamanan email tersebut akan dilakukan dengan cara mengenkripsi
file attachment berupa file teks dan office yang dikirim melalui email client .
Proses enkripsi-dekripsi menggunakan algoritma cipher block Blofish, dimana
untuk kunci enkripsi dan dekripsinya akan dihasilkan melalui protokol pertukarankunci Diffie-!ellman.
Sistem terdiri dari sebuah mail !erver yang bertugas untuk mengelola %!er
email dan menjalankan proses pertukaran email . Selain itu sistem juga
mempunyai @ buah client yang dapat melakukan pertukaran kunci dan juga
melakukan enkripsi-dekripsi file serta pengiriman dan penerimaan email melalui
antarmuka mail client di masing-masing komputer client . $erver dibuat pada 1S
/indos . Pada !erver dipasang aplikasi H58PP yang di dalamnya mempunyai
program 8ercury 8ail Serer dan juga 8ys4l. Pada masing-masing komputer
klien akan dipasang aplikasi mail client yang dibuat pada penelitian ini, yang
memiliki fitur untuk melakukan enkripsi-dekripsi serta melakukan pertukaran
kunci. 5plikasi ini menggunakan bahasa pemrograman B.9et dan dibuat
menggunakan aplikasi isual Studio '&&.
Dari penjelasan di atas, maka sistem ini harus dapat memenuhi kebutuhan
A kebutuhan sebagai berikut+
. Dapat melakukan protokol pertukaran kunci Diffie A !ellman
'. Dapat melakukan enkripsi dan dekripsi pada file attachment email
menggunakan algoritma Blofish
4, Dapat melakukan pengiriman dan penerimaan email
17
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
30/77
18
". ambar @. Skema Sistem
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
31/77
19
. Pada gambar ditunjukan sebuah komputer serer dan tiga
buah komputer client yang dirancang untuk dapat melakukan proses-
proses yang telah dijelaskan sebelumnya yaitu protokol pertukaran kunci
Diffie-!ellman, enkripsi-dekripsi pesan, dan juga pengiriman dan
penerimaan email .
*.
9. =.! P)1,*2,*/,* S-+)'
&. 5dapun perancangan sistem terdiri dari perancangan Data
Flow Diagram (D;D) dan juga Flowchart yang akan dijelaskan sebagai
berikut+
"". =.!." D,+, F% D,/1,' >DFD?
'. D;D leel & menunjukan diagram alir data dari sistem yang
dibuat, dimana terdapat dua entitas yaitu pengirim dan penerima, serta
sebuah data proses yaitu 5plikasi emanan Email . D;D leel & ini
menjelaskan secara umum data apa saja yang menjadi input dari %!er ke
sistem, dan data apa saja yang menjadi output dari sistem ke %!er yang
dalam hal ini adalah pengirim dan penerima email . D;D leel & sistem
ditunjukan pada gambar berikut+
@.
". >ambar @.' D;D ?eel &
#. D;D ?eel membagi sistem menjadi beberapa proses
yang lebih khusus, dimana terdapat " proses utama yaitu+ pertukaran
kunci, enkripsi email , dekripsi email , dan pengiriman email . 8asing A
masing proses berhubungan satu sama lain dan juga mempunyai data
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
32/77
20
masukan dan keluarannya masing A masing. D;D leel sistem
ditunjukan pada gambar berikut+
%.
. >ambar @.@ D;D ?eel
"8. =.!.! F%27,1+
C. Flowchart merupakan sebuah diagram yang menyatakan
aliran algoritma atau proses beserta urutannya dengan menghubungkan
masing masing langkah tersebut. Flowchart yang dibuat pada penelitian
ini antara lain adalah flowchart sistem, flowchart Diffie-!ellman, dan
flowchart Blofish.
'&. Secara umum, sistem dimulai dari proses pertukaran kunci
Diffie-!ellman untuk mendapatkan nilai kunci sesi yang akan digunakan
pada proses enkripsi-dekripsi. Setelah kunci didapatkan, maka pengirim
akan melakukan enkripsi terhadap file yang selanjutnya akan dikirim
melalui email . Setelah email sampai kepada penerima, penerima harus
melakukan dekripsi terhadap file tersebut agar dapat kembali menjadi
plaintext . ?angkah-langkah tersebut ditunjukan pada flowchart sistem
berikut+
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
33/77
21
'.
''. >ambar @.' Flowchart Sistem
'@. Pada protokol pertukaran kunci Diffie-!ellman langkah
pertama yang harus dilakukan adalah pengirim mengacak sebuah nilai
prima yang besar (p) dan sebuah bilangan integer sebagai basis (g) dimana
nilai g L p. 9ilai p dan g ini bersifat publik dengan kata lain boleh
diketahui oleh pihak lain. 9iali ini akan disimpan ke databa!e key
sehingga nilai p dan g tersebut dapat dipakai juga oleh penerima.Selanjutnya pengirim dan penerima akan memasukan nilai priatnya
masing-masing dimana nilai priat pengirim disebut 3 dan nilai priat dari
penerima adalah y. Selanjutnya, masing-masing menghitung nilai yang
akan dipertukarkan, dimana pengirim menghitung 5 F g 3 mod p
sedangkan penerima menghitung B F g y mod p.Selanjutnya pengirim dan
penerima memasukan nilainya masing-masing yaitu 5 dan B ke databa!e
agar dapat saling bertukar nilai tersebut. Pengirim lalu menghitung aF B3
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
34/77
22
mod p sedangkan penerima menghitung bF 5y mod p, dimana a F b F
adalah kunci sesi yang akan digunakan dalam proses enkripsi-dekripsi.
5lur proses pertukaran kunci Diffie-!ellman tersebut digambarkan dalam
flowchart berikut+
'".
'#. >ambar @.@ Flowchart Pertukaran unci D! Pada Pengirim
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
35/77
23
'%.
'. >ambar @." Flowchart Pertukaran unci D! Pada Penerima
'*. Setelah kunci sesi didapatkan maka proses enkripsi-dekripsi
pada file dapat dilakukan. 5dapun langkah pertama dalam proses enkripsi
Blofish adalah dengan memasukan file plaintext dan kunci sesi yang
telah didapatkan.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
36/77
24
@@. Setelah iterasi ke-enam belas, tukar H? dan H= lagi untuk melakukan
undo pertukaran terakhir. ?alu lakukan+ H= F H= H1= P dan H? F H?
H1= P.
@". Proses terakhir satukan kembali H? dan H= sehingga menjadi %"-bit
kembali. ambar @.# Flowchart nkripsi-Dekripsi Blofish
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
37/77
=@. BAB IV
=8. HASIL DAN PEMBAHASAN
=9. 4.". L*/#*/,* P)1,*2,*/,* $,* I'(%)')*+,-
"&. Pengimplementasian sistem kemanan email yang dibangun
mencakup perangkat keras dan perangkat lunak. Spesifikasi perangkat
keras yang digunakan adalah sebagai berikut +
. Processor 58D ision ,% >!K
'. 8emory '&"* 8B =58@. !ardisk '#& >B
". Sedangkan untuk spesifikasi dari perangkat lunak adalah sebagai berikut +
. Sistem operasi /indos nterprise @' Bit.
'. 8icrosoft isual Studio '&&
@. H58PP yang didalamnya berisi 8ercury mail serer dan database 8ys4l
4!. 4.! I'(%)')*+,- A%/1+', D33)H)%%',* ) D,%,' S-+)'
"@. Dalam sistem ini akan diterapkan algoritma Diffie-
!elmann sebagai protokol pertukaran kunci. 5dapun implementasinya
adalah sebagai berikut+
"". . Proses pengacakan nilai prima p dan bilangan basis g
"#. 5dapun pengacakan nilai p dan g pada program adalah sebagai berikut+46. randomVau! = "!n!rator.#!$t(4% 6)4&. 'im uan" *trin"4+. uan" = ,,49. For i = 0 To randomVau!-0. uan" = *trin".on/at(uan"% ,,%
"!n!rator.#!$t(1%9).To*trin"())-1. #!$t-2. nt!"!r.TrPar!(uan"% randomVau!)-3. La!&.T!$t = uan"-4. R!turn randomVau!--. nd Fun/tion-6. Priat! Fun/tion Prima(5Va n"ka 5i"nt!"!r)
5oo!an-&. 'im i 5i"nt!"!r-+. 'im tanda 5oo!an = Fa!-9. 'im /!k 5i"nt!"!r60. /!k = 061. n"ka = 1 T7!n62. tanda = Fa!63. ! n"ka = 2 T7!n64. tanda = Tru!6-. ! n"ka 8 2 T7!n
25
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
38/77
25
66. i = 26&. For i = 2 To n"ka 16+. n"ka od i = 0 T7!n69. /!k ;= 1&0. nd &1. #!$t i&2. /!k = 0 T7!n&3. tanda = Tru!&4. ! tanda = Fa!&-. nd &6. nd &&. R!turn tanda&+. nd Fun/tion&9. Priat! *u /ak5i1()+0. 'im i nt!"!r+1. For i = 0 To 1+2. Prima(a/ak1()) = Tru! T7!n+3. t$tP.T!$t = La!&.T!$t+4. i = 1+-. ! i = 0+6. nd +&. #!$t i
**.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
39/77
26
C. 'im $L>1 ?nt32 = $R9+. 'im $R>1 ?nt32 = $L
99.100. For i nt32 = 0 To P.L!n"t7 2 1101. 1% $R>1)102. $L>1 = $L>1 Xor P(i)103. $R>1 = F($L>1) Xor $R>1104. #!$t10-. $R = $R>1 Xor P(P.L!n"t7 2)106. $L = $L>1 Xor P(P.L!n"t7 1)
&. Setelah kunci yang didapat diekspansi dengan p-bo3 dan s-
bo3, maka kunci tersebut dapat dipakai dalam proses enkripsi. 1 ?nt32 = $L
112.113. For i nt32 = P.L!n"t7 1 To 2 *t! 1114. 1% $R>1)
11-. $L>1 = $L>1 Xor P(i)116. $R>1 = F($L>1) Xor $R>111&. #!$t11+. $R = $R>1 Xor P(1)119. $L = $L>1 Xor P(0)120.
'. Proses dekripsi memiliki langkah yang hampir sama
dengan proses enkripsi, perbedaanya terletak pada urutan iterasi yang
dimulai dari p*. Data masukan juga dibagi menjadi blok-blok byte, yang
kemudian akan didekripsi. Setelah itu blok-blok tersebut disatukan
kembali menjadi plaintext yang utuh.
"!!. 4.4 T,'(%,* A*+,1'#, P)*//#*,
'@.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
40/77
27
ke dalam mail serer harus memasukan username dan passordnya untuk
dapat mengakses akun email nya.
'%.
'. >ambar ". 0ampilan Form Login
'*. '. 0ampilan 5ntarmuka Form
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
41/77
28
melakukan perhitungan nilai 5 dan B yang akan dipertukarkan dengan
menekan tombol MhitungN. Pada form ini juga akan ditampilkan tabel
database yang berisi nilai-nilai yang digunakan untuk protokol pertukaran
kunci D! ini. Setelah itu pengirim dan penerima juga harus menekan
tombol Mhitung kunciN untuk mendapatkan nilai kunci sesi yang akan
digunakan dalam melakukan enkripsi-dekripsi.
@".
@#. >ambar ".@ 0ampilan Form Key
@%. ". 0ampilan 5ntarmuka Form Buat Pesan
@. Setelah pertukaran kunci selesai dan masing-masing user
mendapatkan kunci sesinya, maka selanjutnya akan masuk ke form buat
pesan. Pada form ini pengirim harus memasukan alamat email penerima
dan juga subject emailnya. ?alu pengirim dapat menuliskan pesan di te3t
bo3 yang disediakan dan mengunggah file attachment yang akan dikirim.
Saat akan mengunggah, pengirim akan diberikan pilihan untuk
mengenkripsi terlebih dahulu file attachment nya atau tidak, yang mana
jika memilih M ye!O maka akan masuk ke form enkripsi, sedangkan jika
tidak maka pengirim dapat langsung menekan tombol MsendN untuk
mengirim pesan
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
42/77
29
@*.
@C. >ambar "." 0ampilan Form Buat Pesan
"&.
". >ambar ".# 0ampilan Form Add Attachment
"'.
"@. >ambar ".% 0ampilan Dialog Bo3 nkripsi Pesan
"". #. 0ampilan Form nkripsi
"#. Pada form ini akan ditampilkan file yang akan dienkripsi
dan juga kunci yang akan digunakan. :ika ingin mengganti file yang akan
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
43/77
30
dienkripsi, maka pengirim menekan tombol MfolderN untuk mencari file
yang akan dienkripsi. Setelah itu pengirim harus menekan tombol
MenkripsiN untuk melakukan proses enkripsi pada file tersebut.
"%.
". >ambar ". 0ampilan Form Dekripsi
"*. %. 0ampilan File Baca Pesan
"C. Setelah penerima mendapatkan email yang dikirim, maka
penerima dapat membaca email tersebut melalui form baca pesan ini. Pada
form ini ditampilkan alamat pengirim, email !%b5ect , email body, dan file
attachment yang diterima yang dapat diunduh. Setelah pengunduhan
selesai akan ditampilkan pilihan untuk mendekripsi file tersebut atau tidak.
:ika memilih M ye!N maka akan masuk ke form dekripsi.
#&.
#. >ambar ".* 0ampilan Form Baca Pesan
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
44/77
31
#'.
#@. >ambar ".C 0ampilan form donload attachment
#".
##. >ambar ".& 0ampilan Dialog Box nkripsi
#%. . 0ampilan 5ntarmuka Form Dekripsi
#. Pada form ini ditampilkan file yang akan didekripsi dan
juga kunci yang digunakan.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
45/77
32
#C. >ambar ". 0ampilan Form Dekripsi
"60. 4.5 P)*/#
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
46/77
33
"6@.
%*. >ambar ".@ 0e3t.t3t setelah dienkripsi
%C. Setelah dilakukan enkripsi, file teks tersebut menghasilkan
karakter-karakter acak yang tidak dapat dibaca.
&.
. >ambar "." !e3adesimal laintext 0e3t.t3t
'. Dari gambar terlihat baha plaintext aal mempunyai nilai
he3adesima yaitu #'%%#'&"'%
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
47/77
34
@.
". >ambar ".# !e3adesimal Ciphertext 0e3t.t3t
#. Setelah dienkripsi, nilai he3adecimal file berubah menjadi
6#@D*'CB&&%D5B6@5*&&&D'%6;@
%.
.
*. >ambar ".% Data diri.t3t setelah didekripsi
C. Setelah dilakukan dekripsi terhadap ciphertext tersebut, file
tersebut kembali seperti semula, yaitu plaintext yang dapat dibaca seperti
sebelum dienkripsi.
*&. '. Pengujian pada file ?aporan ;inal.doc3
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
48/77
35
"8".
*'. >ambar ". laintext ?aporan ;inal.doc3
*@. >ambar di atas menunjukan plaintext berupa file ord (.doc)
sebelum dienkripsi menampilkan isi file yang dapat dibaca.
"84.
*#. >ambar ".* ?aporan ;inal.doc3 setelah dienkripsi
*%. Setelah dilakukan enkripsi file tersebut tidak dapat dibuka. !al ini
terjadi karena nilai ekstensi file tersebut juga ikut berubah saat dilakukan
enkripsi.
*.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
49/77
36
**. >ambar ".C !e3adesimal laintext ?aporan ;inal.doc3
*C.
C&. >ambar ".'& !e3adesimal Ciphertext ?aporan ;inal.doc3
C. Berdasarkan gambar di atas terlihat baha bagian aal yang
merupakan nilai he3adecimal dari ekstensi file telah berubah.
"9!.
C@. >ambar ".' ?aporan ;inal.doc3 setelah didekripsi
C". Setelah dilakukan dekripsi maka file kembali dapat dibuka dan
dapat dibaca isinya.
C#. @. Pengujian pada file Presentasi P?.ppt
"96.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
50/77
37
C. >ambar ".'' laintext Presentasi P?.ppt
C*. >ambar di atas menunjukan plaintext berupa file poerpoint (.ppt)
sebelum dienkripsi menampilkan isi file yang dapat dibaca.
"99.
'&&. >ambar ".'@ Presentasi P?.ppt setelah dienkripsi
'&. Setelah dilakukan enkripsi file tersebut tidak dapat dibuka. !al ini
terjadi karena nilai ekstensi file tersebut juga ikut berubah saat dilakukan
enkripsi.
'&'.
'&@. >ambar ".'" !e3adesimal laintext Presentasi P?.ppt
'&".
'. >ambar ".'# !e3adesimal Ciphertext Presentasi P?.ppt
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
51/77
38
'&%. Berdasarkan gambar di atas terlihat baha bagian aal yang
merupakan nilai he3adecimal dari ekstensi file telah berubah.
!0@.
'&*. >ambar ".'% Presentasi P?.ppt setelah didekripsi
'&C. Setelah dilakukan dekripsi maka file kembali dapat dibuka dan
dapat dibaca isinya.
'&. ". Pengujian file 6ontoh c#.3ls
!"".
''. >ambar ".' laintext 6ontoh c#.3ls
'@. >ambar di atas menunjukan plaintext berupa file poerpoint (.ppt)
sebelum dienkripsi menampilkan isi file yang dapat dibaca.
!"4.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
52/77
39
'#. >ambar ".'* 6ontoh c#.3ls setelah dienkripsi
'%. Setelah dilakukan enkripsi file tersebut tidak dapat dibuka. !al ini
terjadi karena nilai ekstensi file tersebut juga ikut berubah saat dilakukan
enkripsi.
'.
'*. >ambar ".'C !e3adesimal laintext 6ontoh 6#
'C.
''&. >ambar ".@& !e3adesimal Ciphertext 6ontoh 6#
''. Berdasarkan gambar di atas terlihat baha bagian aal yang
merupakan nilai he3adecimal dari ekstensi file telah berubah.
!!!.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
53/77
40
''@. >ambar ".@ 6ontoh c#.3ls setelah didekripsi
''". Setelah dilakukan dekripsi maka file kembali dapat dibuka dan
dapat dibaca isinya.
''#. #. Pengujian file logo 8adrid.jpg
!!6.
''. >ambar ".@' laintext ?ogo 8adrid.jpg
!!8. >ambar di atas menunjukan plaintext berupa file image (.jpg)
sebelum dienkripsi menampilkan isi file yang dapat dibuka
!!9.
'@&. >ambar ".@@ ?ogo 8adrid.jpg setelah dienkripsi
'@. Setelah dilakukan enkripsi file tersebut tidak dapat dibuka. !al ini
terjadi karena nilai ekstensi file tersebut juga ikut berubah saat dilakukan
enkripsi.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
54/77
41
'@'.
'@@. >ambar ".@" !e3adesimal laintext 8adrid.jpg
'@".
'@#. >ambar ".@# !e3adesimal Ciphertext 8adrid.jpg
'@%. Berdasarkan gambar di atas terlihat baha bagian aal yang
merupakan nilai he3adecimal dari ekstensi file telah berubah.
!=@.
'@*. >ambar ".@% ?ogo 8adrid.jpg setelah didekripsi
'@C. Setelah dilakukan dekripsi maka file kembali dapat dibuka.
'"&. Berikut merupakan contoh perhitungan enkripsi Blofish
pada file test.t3t dengan menggunakan kunci M'@"N +
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
55/77
42
'". . kspansi kunci
a. unci F M'@"N nilai !e3adesimalnya adalah &3@@'@@@"
b. ?akukan Hor pada kunci dengan masing-masing P array yang dideklarasi
di aal, menghasilkan+
'"'. PF&H#&D#CB6, &HB"C@B, &H'''BBC5, &H@'"'"&&,
&HC#@B&B%, &H*5D&'", &H@C66C56, &HDD6#;BD,
&H"5'D',&H C''&"@, &H*;%%##;B, &H#DB@;#*, &H;C5*@,
&H;*"%@C, &HB%%*, &H*"#@5'@, &H5@'"%D,
&HB*"B6*';Q
c. 8asukan %" bit data & pada proses enkripsi. eluarannya digunakan
untukmenggantikan p dan p', p dan p' tersebut digunakan sebagai
masukan untuk proses berikut yang akan dienkripsi dan menghasilkan p@
dan p".
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
56/77
43
'#. ; F (S&,a I S,b) mod '@' 3or S',c I S@,d mod '@'
'#'. F (S&,"& I S,'@') mod '@' 3or S',C% I S@,*" mod ''#@. F (&HD665#@ I &H%"'C"") mod '@' 3or &H&6B# I
&HD@## mod '@'
'#". F &HD;;D#
f. !itung+
'##. H=F H= 3or ;
'#%. F &3%'C% 3or &HD;;D#
'#. F &H6*D5@;
g. 0ukarkan H? dan H= lalu kembali ke proses c, lakukan sebanyak % kali.
h. ?akukan+'#*. H= F H= 3or p
'#C. H= F H? Hor P*
i. Proses terakhir satukan kembali menjadi ciphertext yaitu+
'%&. &H6#@D*'CB&&%D5B6@5*&&&D'%6;@
!6". 4.5.! P)*/#
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
57/77
44
"*
Peneri
"a
278.1
279.2 280.
7
281.3
282.2 283.
9
284.64
285.25
286.)a"
a287.7
288.7
289.1
290.5
291.6
292.5
293.70
294.61
295.)a"
a296.8 297.
5
298.2
299.2
300.1
301.1
302.29
303.17
304.)a"
a305.7 306.
5
307.8
308.1
309.3
310.7
311.21
312.39
313.)a"
a314.1
315.1
316.8
317.8
318.8
319.2
320.89
321.83
322.)a"
a323.
8
324.
4
325.
6
326.
6
327.
7
328.
7
329.
18
330.
70
331.
)a"a332.1
333.7
334.7
335.9
336.3
337.1
338.27
339.34
340.)a"
a341.1 342.
3
343.9
344.9
345.1
346.9
347.89
348.13
349.)a"
a350.1
351.7 352.
7
353.7
354. 4
355.1
356.48
357. 4
358.)a"
a359.
4
360.
3
361.
5
362.
1
363.
2
364.
2
365.
17
366.
24
367.
)a"a
@%*.
@%C. Berikut merupkan contoh perhitungan Diffie-!ellman+
@&. 9ilai Publik pF#% dan gF'&
@. 9ilai priat pengirim 3F
@'. 9ilai priat penerima yFC
@@. Pengirim menghitung
@". 5F g3 mod P
@#. F '& mod #%
@%. F '*&&&&&&& mod #%
@. F @"&%
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
58/77
45
@*. Penerima menghitung
@C. BF gy mod P
@*&. F '&C mod #%@*. F #'&&&&&&&&& mod #%
@*'. F %"@*
@*@. Pengirim dan penerima melakukan pertukaran nilai 5 dan B
@*". Pengirim menghitung
@*#. aF B3
mod P
@*%. F %"@* mod #%
@*. F "#*"'*"%C&'%C'@C'"%#C' mod #%
@**. F '#C
@*C. Penerima menghitung
@C&. ;F 5y mod P
@C. F @"&%C mod #%@C'. bF %%**#%%&"#"@""'%'%**&*'C% mod #%
@C@. F '#C
@C". a F b F F '#C
@C#. Pada sistem keamanan ini, pengirim hanya dapat
melakukan enkripsi setelah pengirim dan penerima telah bertukar nilai 5
dan B dan telah mendapatkan hasil kunci sesinya masing A masing. !al ini
berarti baha jika salah satu %!er belum tidak aktif saat melakukan
pertukaran kunci, maka pengirim tidak dapat melakukan enkripsi karena
belum ada kunci yang dapat digunakan.
=96. 4.5.= P)*/#
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
59/77
46
D5E92DE8
01
1E756E1D
8
D5E92DE8
01
a
419.ea$
"e.txt
420. 5C2622518120E19034553C2073D
421. 7C99157CC1E5420D7C85E291989
422. 5C2622518120E19034553C2073D
423.er
#e$a
424.)a
"a
425.apr
anP& .$(x
426. 4C20176302
77612799E93CD87438E
427. CEC5D569
C4146505C986907073
428. 4C20176302
77612799E93CD87438E
429.er
#e$a
430.
)a"a
431.apr
aninal.$
(x
432. 497978C89EC191499652C46
0677
433. E6C383215388770C783270EC
0D4D77
434. 497978C89EC191499652C46
0677
435.er
#e$
a
436.)a
"a
437.Cnt
h(5.xls
438. 8992D429C5D975356CEE3E293C0
439. 331D1D41EE1290C1CC7D00265C
440. 8992D429C5D975356CEE3E293C0
441.er
#e$a
442.)a
"a
443.asilit
as.xls
444. 7790
C781169011328EDE010
445. 681E
8C70403531627390140CCC13
446. 7790
C781169011328EDE010
447.
er#e$a
448.)a
"a
449.+a$ri
$.p!
450. 3915329ED3D3DC8DD0
C3E7
451. 9700951E73E81C378081
ED12
452. 3915329ED3D3DC8DD0
C3E7
453.er
#e$
a
454.)a
"a
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
60/77
47
02571C2
0D22DD
02571C2
455.Pantai
.p!
456. 960D280D3D00909D262125EC84
457. C53966182E9C0E7653D5148107
458. 960D280D3D00909D262125EC84
459.er
#e$a
460.)a
"a
46".
"%'. Dari tabel di atas, terlihat baha pengujian md# file asli
dengan file telah dienkripsi menghasilkan nilai yang berbeda, namun
setelah didekripsi, file akan menghasilkan nilai md# yang sama dengan
plaintext aalnya. !al ini menunjukan baha file tersebut tetap utuh
setelah proses enkripsi-dekripsi.
46=. 4.6 P)*/#
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
61/77
48
"'. &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&
"@. Ciphertext 3or ciphertext '+
"". &&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&
"#. Banyak bit yang berubah ( bit bernilai )+ %*
"%. Bit total+ '* bit
". Avalanche Effect (5) F∑ bitberubah
∑ bittotal 3 &&$
"*. Avalanche Effect (5) F68
128 3 &&$
"C. F #@,@ $
"*&. Pengujian dilakukan pada sepuluh buah file, dimana setiap file
akan dienkripsi sebanyak dua kali menggunakan kunci pertama dan kunci
kedua yang merupakan hasil perubahan satu bit dari kunci pertama.
5dapun hasil pengujian adalah sebagai berikut+
"*. 0abel ".@ Pengujian 5alanche ffect
"*'. 9ama File
"*@.
u
n
c
i
"*".
un
c
i'
"*#.
Bit
t
o
t
al
"*%.
Bit
ber
ubah
"*.
5alan
ch
e
ff ect
"**. Blof
ish.t3t
"*C.
'@
"
"C&.
@"
"C.
'*
"C'.
%*
"C@.
#@.@
$
"C". Data
diri.t3t
"C#.
@*C
"C%.
@*
"C.
%
"C*.
#%
"CC.
"*.C*
$
#&&. 6onto
h c#.3ls
#&.
%'
@
#&'.
'@
#&@.
C%""
*
#&".
#'""
#.
#".%C
$
#&%. ;asilit #&. #&*. #&C. #&. #.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
62/77
49
as.3ls
%"%
C
%"%%
C
*C"C
% "&*"
"#.#
$
#'. ?apor
an ;inal.doc3
#@.
*C'
@
"
#".
*C%@
"
##.
@C'*
#%.
'&**
#.
#@.%
$
#*. ?apor
an P?.doc3
#C.
%@
*
@
#'&.
%@*
#'.
"'C%
#''.
''
#'@.
"C.%
$
#'". Presentasi
P?.ppt
#'#.
*@
#%
@
#'%.
@*@#%
@
#'.
@"'#
'&
&
#'*.C"%
&&
#'C.#%.*%
$
#@&. 0ugas
".ppt
#@.
@"%
*
#@'.
@"%
*
@
#@@.
*@C
&
"
#@".
@*C'
%
#@#.
"C.%#
$
#@%. 8adri
d.jpg
#@.
**%
"
#
#@*.
**%"
"
#@C.
'''
"
"
#"&.
#&@
%&
#".
##.'
$
#"'. Pantai
.jpg
#"@.
*'@
%
"
C
#"".
*@@%
"
C
#"#.
**#C
C
'
&
#"%.
"#CC
""
#".
#@.'
$
#"*. =ata-
rata549.
550.
551.
552.
553.52.01
##".###. Berdasarkan tabel di atas terlihat baha rentang nilai aalanche
effect yang dihasilkan dari sepuluh kali percobaan adalah berkisar dari
"#,#$ - #%,*%$, dengan nilai rata-rata #',&$. !al ini meneunjukan
baha algoritma yang digunakan sudah cukup baik karena menghasilkan
nilai avalanche effect dalam rentang "#$-%&$.
##%.
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
63/77
55@. BAB V
558. KESIMPULAN DAN SARAN
559. 5." K)-'(#%,*
#%&. Berdasarkan penelitian yang telah dilakukan, penulis mendapat
kesimpulan sebagai berikut+
. 2mplementasi pertukaran kunci Diffie-!ellman dan algoritma Blofish pada
sistem kemanan email telah sesuai dengan analisis kebutuhan. !al ini
ditunjukan dengan hasil pengujian enkripsi-dekripsi yang menunjukan baha
file dapat terenkripsi dengan baik sehingga menghasilkan file yang teracak,
dan dapat diekripsi kembali menjadi seperti semula. Selain itu, pengujian
kunci sesi menunjukan proses pertukaran kunci dapat menghasilkan nilai
kunci sesi yang sama. Pengujian keutuhan pesan menunjukan baha, file
sebelum dienkripsi dan setelah didekripsi menghasilkan nilai md# yang sama,
yang menunjukan baha file tersebut tetap utuh setelah didekripsi.
'. 5lgoritma blofish yang diterapkan dalam sistem keamanan email ini
memiliki tingkat keamanan yang baik, yaitu dengan syarat memiliki nilai
5alanche ffect antara "#-%&$. !asil pengujian Avalanche Effect terhadap
perubahan kunci menghasilkan nilai rata-rata #',&$ dari sepuluh kali
percobaan, dengan nilai terkecil yang didapat adalah "#,#$ dan nilai terbesar
adalah #%,*%$.
56". 5.! S,1,*
#%'. Saran yang dapat diberikan oleh penulis untuk pengembanganlebih lanjut adalah+
. Proses enkripsi-dekripsi dilakukan pada serer sehingga user tidak perlu
melakukan enkripsi-dekripsi.
2. Pembuatan sistem keamanan email berbasis eb dan android.
@.
48
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
64/77
4. DAFTAR PUSTAKA
5lamsyah. '&. &mplementa!i Keamanan E)Mail Dengan Mengg%nakan
gptray. 8ektek 0ahun H222 9o '. Palu
>unaan. '&'. engg%naan Algoritma Diffie)*ellman dalam Melak%kan
ert%karan K%nci. Bandung
!endarsyah, D dan =etantyo, /. '&. &mplementa!i rotokol Diffie)*ellman
Dan Algoritma .C/ 'nt%k Keamanan e!an $M$ . 7ogyakarta
!eruJ 2rKamanJ dan 5ndri, !. '&. &mplementa!i Kriptografi Algoritma Blowfi!h
Dan $kip5ack ada 6aringan Client7$erver, Bandung
:afar, !, S. '&. R ropo!al to Complex DE$ $ec%rity '!ing Diffie *ellman
&n5ectionR. Baghdad
8andal, P, 6. '&. R$%periority of Blowfi!h AlgorithmR. /est Bengal8antoro, 0 dan 5ndri, akariya '&'. $ec%ring E)Mail Comm%nication '!ing
*ybrid Crypto!i!tem on Android)ba!ed Mobile Device!. :akarta
Paar, 6 and :an, PelKl '&&C. 'nder!tanding Cryptography. Bochum+ Springer
Pachghare, ,. ('&&C). Cryptography And &nformation $ec%rity. Delhi + Phi
Pamungkas, 5.5. et al. '&&%. &mplementa!i Algoritma $i!tem Kriptografi MD8"
$*A+" dan .C/ ada Aplika!i Mobile &nternet Berba!i! 6ava. :urnal
Penelitian dan Pengembangan 0elekomunikasi, Bandung
=atih. '&&%. R$t%di Dan &mplementa!i Algoritma Blowfi!h 'nt%k Aplik!i Enkrip!i
Dan Dekrip!i FileR. Bandung
=iKal 8, S. '&&C. R &mplementa!i algoritma kriptografi k%nci 0 p%blik El9amal %nt%k keamanan pengiriman Email R. Surabaya
Schneier, Bruce. CC%. Applied Cryptography" $econd Edition: rotokol!"
Algorthm!" and $o%rce Code in C . :ohn /iley T Sons, 2nc
Sofan, 5J BudiJ dan Susanto '&&%. Aplika!i Kriptografi Dengan Algoritma
Me!!age Dige!t 8 ;Md8
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
65/77
LAMPIRAN
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
66/77
". S#12) C$) I'(%)')*+,- D33)H)%%',*
mort *t!m.#um!ri/mort *@.'ata.*@i!nt.*@onn!/tionmort *@.'ata.*@i!ntmort *t!m.'ata
Pui/ a FormAun/i 'im adat!r *@'atadat!r 'im ta! 'ataTa!
Priat! *u Bitun"oduu(5Va " 5i"nt!"!r% 5Va $ 5i"nt!"!r% > 5Va 5i"nt!"!r% 5VaT!mat7ai La!)
'im 7ai 5i"nt!"!r 7ai = 5i"nt!"!r.odPo
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
67/77
Priat! Fun/tion Prima(5Va n"ka 5i"nt!"!r) 5oo!an 'im i 5i"nt!"!r 'im tanda 5oo!an = Fa!
'im /!k 5i"nt!"!r /!k = 0
n"ka = 1 T7!n tanda = Fa! ! n"ka = 2 T7!n tanda = Tru! ! n"ka 8 2 T7!n i = 2 For i = 2 To n"ka 1 n"ka od i = 0 T7!n /!k ;= 1
nd #!$t i /!k = 0 T7!n tanda = Tru! ! tanda = Fa!
nd
nd R!turn tanda
nd Fun/tion
Priat! *u /ak5i1() 'im i nt!"!r For i = 0 To 1 Prima(a/ak1()) = Tru! T7!n
t$tP.T!$t = La!&.T!$t C i = 1 !
i = 0 nd
#!$t i nd *u
Priat! *u /ak5i2() 'im i nt!"!r For i = 0 To 1 Prima(a/ak2()) = Tru! T7!n T$tD.T!$t = La!+.T!$t C
i = 1 !
i = 0
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
68/77
nd #!$t nd *u
*u *iman/ak() T$tD.T!$t = ,, Or T$tP.T!$t = ,, T7!n !a"!5o$.*7o
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
69/77
L?!r.T!$t = FormLo"in.t$t?!r.T!$t nd *u *u Tami'ata() adat!r = #!< *@'atadat!r(,*LT J FRO tAun/i,%,!r!r=192.16+.14+.1Ku!r=rootKai/k(5Va !nd!r *t!m.OI!/t% 5Va! *t!m.!ntr") Band! 5tn/ak.i/k !.uror = uror.Haituror /ak5i1() /ak5i2() 7au() Tami'ata() *iman/ak() !.uror = uror.Band nd *u
Priat! *u 5utton1>i/k(5Va !nd!r *t!m.OI!/t% 5Va! *t!m.!ntr") Band! 5utton1.i/k Bitun"oduu(Va(T$tD.T!$t)% Va(T!$t5o$2.T!$t)%
Va(T$tP.T!$t)% LBai) 7au() Tami'ata() *iman/ak() nd *u
Priat! *u RdP!n"irim>7!/k!d7an"!d(5Va !nd!r *t!m.OI!/t% 5Va ! *t!m.!ntr") Band!RdP!n"irim.7!/k!d7an"!d 5tn/ak.Vii! = Tru! Tmr?dat!.na!d = Tru! 'ataAun/i.na!d = Fa! T$tD.na!d = Tru!
T$tP.na!d = Tru! T$t5.na!d = Tru! nd *u
Priat! *u RdP!n!rima>7!/k!d7an"!d(5Va !nd!r *t!m.OI!/t% 5Va ! *t!m.!ntr") Band!RdP!n!rima.7!/k!d7an"!d 5tn/ak.Vii! = Fa! Tmr?dat!.na!d = Tru! 'ataAun/i.na!d = Tru! T$tD.na!d = Fa! T$tP.na!d = Fa! T$t5.na!d = Fa!
nd *u
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
70/77
Priat! *u Tmr?dat!>Ti/k(5Va !nd!r *t!m.OI!/t%5Va ! *t!m.!ntr") Band! Tmr?dat!.Ti/k Tami'ata() La!-.T!$t = ,, G #o!ont!nti/k(5Va !nd!r
*t!m.OI!/t% 5Va ! *t!m.Hindoi/k(5Va !nd!r OI!/t% 5Va ! *t!m.!ntr") Band! 'ataAun/i.i/k T$tD.T!$t = 'ataAun/i.urr!ntRo
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
71/77
d!tik
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
72/77
oututFile.*7oi/k(5Va !nd!r *t!m.OI!/t%5Va ! *t!m.!ntr") Band! tn'!/rt.i/k CLitHaktu
LitBB.t!m.!ar()
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
73/77
Lit.t!m.!ar() Lit**.t!m.!ar() Lit*.t!m.!ar() inutHaktu() o$PaTi/k(5Va !nd!r *t!m.OI!/t%5Va ! *t!m.!ntr") Band! Tnimation.Ti/k *tati/ Tit!L!n"t7 nt!"!r Tit!L!n"t7 = Tit!L!n"t7 ; 1 Tit!L!n"t7 od 2 = 1 T7!n La!&.For!oor = oor.E!o< La!6.For!oor = oor.R!d ! La!&.For!oor = oor.R!d
La!6.For!oor = oor.E!o
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
74/77
nd Tit!L!n"t7 = Tit!.L!n"t7() ; 1 T7!n Tit!L!n"t7 = 0 La!&.T!$t = Tit!.*utrin"(0% Tit!L!n"t7) nd *u
Priat! *u Tim!r2>Ti/k(5Va !nd!r *t!m.OI!/t% 5Va ! *t!m.!ntr") Band! Tim!r2.Ti/k La!6.T!$t = ,, G #o
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
75/77
*(i% I J 2) = dataL *(i% I J 2 ; 1) = dataR #!$t #!$t
nd *u Pui/ Fun/tion n/rt(5Va data 5t!()) 5t!() Cara untuk m!akukan !nkrii adaa7 !a"ai !rikut: CJJJJJJJJJJJJL#DAB A 1JJJJJJJJJJJJJJJJJ 'im adL!n"t7 5t! = 5t!(+ (data.L!n"t7 od +)) R!'im Pr!!r! data(data.L!n"t7 ; adL!n"t7 1) data(data.L!n"t7 1) = adL!n"t7
'im i nt32 = 0 H7i! i S data.L!n"t7 Cm!ma/a tia + karakt!r (tia o/k= 64 it) dari anIan" data file maukanC
CJJJJJJJJJJJJL#DAB A 2JJJJJJJJJJJJJJJJJ 'im $L ?nt32 = ((T!(data(i)% ?nt32) SS 24) Or(T!(data(i ; 1)% ?nt32) SS 16) Or (T!(data(i ; 2)% ?nt32)SS +) Or T!(data(i ; 3)% ?nt32)) 'im $R ?nt32 = ((T!(data(i ; 4)% ?nt32) SS 24)Or (T!(data(i ; -)% ?nt32) SS 16) Or (T!(data(i ; 6)%?nt32) SS +) Or T!(data(i ; &)% ?nt32))
CJJJJJJJJJJJJL#DAB A 3 '# 4JJJJJJJJJJJJJJJJJ n/i7!r($L% $R) CJJJJJJJJJJJJL#DAB A -JJJJJJJJJJJJJJJJJ data(i ; 0) = 5t!(($L 88 24) od (5t!.a$Vau! ;1))
data(i ; 1) = 5t!(($L 88 16) od (5t!.a$Vau! ;1)) data(i ; 2) = 5t!(($L 88 +) od (5t!.a$Vau! ; 1)) data(i ; 3) = 5t!(($L 88 0) od (5t!.a$Vau! ; 1)) data(i ; 4) = 5t!(($R 88 24) od (5t!.a$Vau! ;1)) data(i ; -) = 5t!(($R 88 16) od (5t!.a$Vau! ;1)) data(i ; 6) = 5t!(($R 88 +) od (5t!.a$Vau! ; 1)) data(i ; &) = 5t!(($R 88 0) od (5t!.a$Vau! ; 1)) i ;= + nd H7i! R!turn data
nd Fun/tion
Pui/ Fun/tion '!/rt(5Va data 5t!()) 5t!() (data.L!n"t7 od +) S8 0 T7!n T7ro< #!< $/!tion(,'ata L!n"t7 mut ! muti! o+.,) nd
'im i nt32 = 0 H7i! i S data.L!n"t7 'im $L ?nt32 = ((T!(data(i)% ?nt32) SS 24) Or(T!(data(i ; 1)% ?nt32) SS 16) Or (T!(data(i ; 2)% ?nt32)SS +) Or T!(data(i ; 3)% ?nt32))
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
76/77
'im $R ?nt32 = ((T!(data(i ; 4)% ?nt32) SS 24)Or (T!(data(i ; -)% ?nt32) SS 16) Or (T!(data(i ; 6)%?nt32) SS +) Or T!(data(i ; &)% ?nt32))
'!/i7!r($L% $R)
data(i ; 0) = 5t!(($L 88 24) od (5t!.a$Vau! ;1)) data(i ; 1) = 5t!(($L 88 16) od (5t!.a$Vau! ;1)) data(i ; 2) = 5t!(($L 88 +) od (5t!.a$Vau! ; 1)) data(i ; 3) = 5t!(($L 88 0) od (5t!.a$Vau! ; 1)) data(i ; 4) = 5t!(($R 88 24) od (5t!.a$Vau! ;1)) data(i ; -) = 5t!(($R 88 16) od (5t!.a$Vau! ;1)) data(i ; 6) = 5t!(($R 88 +) od (5t!.a$Vau! ; 1)) data(i ; &) = 5t!(($R 88 0) od (5t!.a$Vau! ; 1)) i ;= + nd H7i! R!'im Pr!!r! data(data.L!n"t7 data(data.L!n"t7 1) 1) R!turn data nd Fun/tion Priat! Fun/tion F(5Va $ ?nt!"!r) ?nt!"!r 'im a ?*7ort 'im ?*7ort 'im / ?*7ort 'im d ?*7ort
'im ?nt64
d = ?*7ort(($ nd GBFF)) $ 88= + / = ?*7ort(($ nd GBFF)) $ 88= + = ?*7ort(($ nd GBFF)) $ 88= + a = ?*7ort(($ nd GBFF))
= T!(*(0% a)% ?nt64) ; *(1% ) = od (?nt32.a$Vau! ; 1)
= Xor *(2% /)
= ; *(3% d) = od (?nt32.a$Vau! ; 1)
R!turn T!(% ?nt32) nd Fun/tion
Priat! *7ar!d *u
8/19/2019 Implementasi Blowfish dan Diffie Hellman pada email
77/77
nd *u
Priat! *u n/i7!r(5R! $L ?nt32% 5R! $R ?nt32) CJJJJJJJJJJJJL#DAB A 3JJJJJJJJJJJJJJJJJ 'im $L>1 ?nt32 = $R 'im $R>1 ?nt32 = $L
For i nt32 = 0 To P.L!n"t7 2 1 1% $R>1) $L>1 = $L>1 Xor P(i) $R>1 = F($L>1) Xor $R>1 #!$t
CJJJJJJJJJJJJL#DAB A 4JJJJJJJJJJJJJJJJJ $R = $R>1 Xor P(P.L!n"t7 2) $L = $L>1 Xor P(P.L!n"t7 1) nd *u
Priat! *u '!/i7!r(5R! $L ?nt32% 5R! $R ?nt32) 'im $L>1 ?nt32 = $R 'im $R>1 ?nt32 = $L
For i nt32 = P.L!n"t7 1 To 2 *t! 1 1% $R>1) $L>1 = $L>1 Xor P(i) $R>1 = F($L>1) Xor $R>1 #!$t
$R = $R>1 Xor P(1) $L = $L>1 Xor P(0) nd *und a