Top Banner

of 30

Implementasi Blowfish dan Diffie Hellman pada email

Jul 08, 2018

Download

Documents

Rae Raph Israel
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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

    email 

    ".= 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