Aplikasi Keamanan Pengiriman Data pada Jaringan Local Area Network (LAN) Berbasis Algoritma Kriptografi Kombinasi Blowfish dan Twofish

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

NOVAN DWIANTO

10103848

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG


(2)

iii Assalaamu’alaikum Wr.Wb.

Segala puji dan syukur penyusun panjatkan kehadirat Allah SWT karena berkat rahmat dan karunia-Nya penyusun dapat menyelesaikan Skripsi yang diberi judul APLIKASI KEAMANAN PENGIRIMAN DATA PADA JARINGAN LOCAL AREA NETWORK (LAN) BERBASIS ALGORITMA KRIPTOGRAFI KOMBINASI BLOWFISH DAN TWOFISH”.Banyak uluran tangan, bantuan dan bimbingan yang penulis terima dari berbagai pihak sejak dari tahap permulaan sampai tahap penyelesaian penyusunan Skripsi ini, oleh karena itu penulis menyampaikan rasa terima kasih yang sebesar-besarnya kepada :

1. Kedua orang tua (Bapak & Ibu) yang telah memberikan dukungan baik secara materi maupun spiritual

2. Yth. Bapak Dr. Ir. Eddy Suryanto Soegoto, M.Sc, selaku Rektor Universitas Komputer Indonesia.

3. Yth. Bapak Prof.Dr.Ir. H. Ukun Sastraprawira, M,Sc, Selaku Dekan Fakultas Teknik Dan Ilmu Komputer Universitas Komputer Indonesia. 4. Yth. Ibu Mira Kania Sabaraiah,S.T, M.T, Selaku Ketua Jurusan Teknik

Informatika Universitas Komputer Indonesia.

5. Yth. Ibu Dian Dharmayanthi, S.T Selaku Dosen Wali IF-4

6. Yth. Bapak Budhi Irawan, S.si, MT, Selaku Dosen Pembimbing yang telah banyak memberikan masukan dalam pembuatan Skripsi ini.


(3)

iv

8. Keluarga besar MAPALIGI UNIKOM, thank’s A lot for the support 9. Rekan – rekan Jurusan Informatika angkatan 2003, ayo maju…..!!!

10.Rekan – rekan satu bimbingan dan perjuangan, akan selalu teringat kisah perjuangan kita bro….!

11.Semua pihak yang telah membantu penulis, dengan berat hati tidak bisa disebutkan satu persatu.

Semoga segala bantuan yang telah diberikan kepada penulis mendapat balasan yang setimpal dari Allah SWT. Demikian laporan ini penulis susun dengan harapan dapat bermanfaat bagi penulis khususnya dan bagi seluruh pembaca umumnya.

Bandung, Februari 2009


(4)

v LEMBAR JUDUL

LEMBAR PENGESAHAN

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI... v

DAFTAR TABEL ... ix

DAFTAR GAMBAR ... x

DAFTAR SIMBOL ... xiii

DAFTAR LAMPIRAN ... xv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Identifikasi Masalah ... 3

1.3 Maksud Dan Tujuan ... 3

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 4

1.6 Sistematika Penulisan ... 6

BAB II LANDASAN TEORI ... 7

2.1 Keamanan Jaringan Komputer ... 7


(5)

vi

2.3 Kriptografi Klasik Dan Kriptografi Modern ... 16

2.3.1 Kriptografi Klasik ... 16

2.3.2 Kriptografi Modern ... 18

2.4 Jenis – jenis Algoritma Kriptografi ... 19

2.4.1 Algoritma Simetris ... 19

2.4.2 Algoritma Asimetris ... 20

2.5 Blok Chiper dan Stream Chipe ... 20

2.5.1 Blok Chiper ... 20

2.5.1.1 Mode Operasi Blok Chiper ... 21

2.5.2 Stream Chiper ... 25

2.5.3 Desain Chiper ... 26

2.6 Blowfish... 26

2.6.1 Deskripsi Blowfish ... 26

2.6.2 Algoritma Blowfish ... 28

2.6.3 Keamanan Blowfish... 31

2.7 Twofish ... 32

2.7.1 Deskripsi Twofish ... 32

2.7.2 Algoritma Twofish ... 33

2.7.3 Proses Whitening ... 37


(6)

vii

3.1.2 Kebutuhan Perangkat ... 43

3.1.2.1 Perangkat Keras ... 43

3.1.2.2 Perangkat Lunak ... 43

3.1.3 Analisis Data ... 44

3.1.4 Analisis Pengiriman Data Dan Keamanan Jaringan ... 44

3.1.5 Analisis Pengguna ... 46

3.2 Langkah – Langkah Penyelesaian ... 46

3.2.1 Pengiriman File / Data ... 46

3.2.2 Penerimaan File / Data ... 47

3.3 Perancangan Sistem ... 47

3.4 Perancangan Proses ... 52

3.4.1 Flowchart Proses Enkripsi dan dekripsi Blowfish ... 53

3.4.2 Flowchart Proses Enkripsi dan dekripsi Twofish ... 57

3.5 Perancangan Interface Aplikasi Kriptografi ... 61

3.5.1 Interface Aplikasi Enkripsi dan Dan Kirim ... 61

3.5.1 Interface Aplikasi Dekripsi ... 63

BAB IV IMPLEMENTASI APLIKASI ... 66

4.1 Pengujian Sistem ... 66

4.1.1 Pengujian Alpha ... 66


(7)

viii

4.3 Pengujian Aplikasi ... 76

4.3.1 Uji Coba Enkripsi Dan Kirim ... 77

4.3.2 Uji Coba Dekripsi ... 82

BAB V KESIMPULAN DAN SARAN ... 86

5.1 Kesimpulan ... 86

5.2 Saran ... 86


(8)

i

PADA JARINGAN

LOCAL AREA NETWORK (LAN)

BERBASIS ALGORITMA KRIPTOGRAFI

KOMBINASI

BLOWFISH

DAN

TWOFISH

Oleh

NOVAN DWIANTO

10103848

Keamanan data adalah sesuatu yang sangat penting didalam sebuah jaringan

komputer, salah satunya adalah jaringan

Local Area Network (LAN).

Di dalam sebuah

jaringan memungkinkan untuk melakukan sebuah pertukaran data antara satu dan

yang lainnya serta memungkinkan juga untuk melakukan penyelewengan data yang

dilakukan oleh pihak – pihak yang tidak berhak untuk menerima data tersebut.

Dalam

dunia keamanan komputer dikenal sebuah teknik kriptografi sebagai keamanan data.

Didalam kriptografi modern saat ini dikenal algoritma

Blowfish

dan

Twofish

yang

telah teruji keamanannya oleh beberapa kriptanalis

.

Algoritma kriptografi

Blowfish

merupakan algoritma kunci simetrik

chipper blok

dengan panjang blok tetap sebesar

64

bit

. Sedangkan algoritma

Twofish

merupakan algoritma kunci simetrik yang

mempunyai panjang blok tetap sebesar 128

bit

. Maka dari itu penulis bermaksud

untuk melakukan kombinasi antara algoritma

Blowfish

dan

Twofish

dalam enkripsi

maupun dekripsi.


(9)

ii

AT LOCAL AREA NETWORK ( LAN)

BASE ON ALGORITHM CRYPTOGRAPHY

COMBINATION OF BLOWFISH AND TWOFISH

By

NOVAN DWIANTO

10103848

Data security is something that of vital importance in a computer network, one of

them is Local Area of Network ( LAN). In a conducive network to conduct a transfer

of data among one and the other and also enable also to conduct deviation of data

conducted side by side which have no business to accept the data. In the world of

computer security recognized by a technique of cryptography as data security. In

modern cryptography is in this time recognized by algorithm of Blowfish and Two

fish which have been tested by its security by some cryptanalyst. algorithm of

Cryptography Blowfish represent symmetrical key algorithm [of] block chipper with

block length remain to equal to 64 beet. While algorithm of Two fish represent

symmetrical key algorithm which have block length remain to equal to 128 beet.

Hence from that writer have an eye to conduct combination among algorithm of

Blowfish and of Two fish in and also encrypt or decrypt

.


(10)

1 1.1 Latar Belakang

Perkembangan teknologi yang begitu pesat, khususnya dibidang teknologi informasi yang memungkinkan manusia dapat berkomunikasi dan saling bertukar informasi atau data. Seiring dengan kemajuan teknologi informasi maka sangatlah diperlukan sebuah sekuritas atau keamanan terhadap kerahasiaan sebuah informasi atau data yang saling dipertukarkan. Dalam hal ini komunikasi atau pertukaran data yang menggunakan layanan media jaringan komputer Local Area Network (LAN) , karena dengan menggunakan media jaringan komputer Local Area Network (LAN) dapat berbagi atau bertukar data antara seorang user dengan

user yang lain dalam satu areal yang terkoneksi jaringan komputer Local Area Network (LAN). Oleh karena itu didalam dunia informatika dikenal dengan cabang ilmu yang mempelajari tentang cara-cara pengamanan data atau lebih dikenal dengan istilah Kriptografi.

Didalam keamanan jaringan komputer khususnya jaringan komputer Local Area Network (LAN). Memungkinkan untuk berbagi dan sharing document

penting dengan user yang lainnya. Maka untuk mengamankan document atau data yang bersifat penting dan mengatasi hal – hal diatas diperlukannya sebuah cara untuk mengamankan suatu data atau informasi dengan menggunakan teknik kriptografi. Saat ini sudah banyak berkembang algoritma kriptografi yang mendukung untuk mengamankan suatu data atau informasi yang kita punya dari


(11)

orang atau pihak yang tidak berhak untuk mengakses data atau informasi tersebut. Didalam ilmu kriptografi modern dikenal dengan algoritma kriptografi Blowfish

dan Twofish, keduanya dirancang oleh orang yang sama yaitu Bruce Schneier. Namun keduanya berasal dari masa yang berbeda. Blowfish merupakan algoritma yang lebih tua, ia dirancang pada tahun 1993, sedangkan Twofish tahun 1997.

kedua algoritma tersebut termasuk dalam kategori kunci Chiper Blok yang banyak digunakan pada saat ini. Kedua algoritma ini beroperasi pada blok

bit dan kedua algoritma ini banyak digunakan karena merupakan algoritma kunci simetri yang kuat terhadap serangan. Seperti yang diungkapkan oleh Bruce Scheneier [SCH95] dalam sebuah jurnal yaitu Dr Dobb’s Journal yang berjudul Encryption Algorhitm-One Year Later diungkapkan bahwa Blowfish memiliki keunggulan dari beberapa algoritma kriptografi lainnya dari segi keamanan serta telah dianalisa dan diuji oleh beberapa Cryptanalyst kedalam beberapa sistem.

Dari latar belakang diatas penulis mencoba untuk membahas mengenai algoritma kriptografi Blowfish dan Twofish, dengan mengambil tema “APLIKASI KEAMANAN PENGIRIMAN DATA PADA JARINGAN LOCAL AREA NETWORK

(LAN) BERBASIS ALGORITMA KRIPTOGRAFI KOMBINASI BLOWFISH

DAN TWOFISH”. Dalam tema skripsi ini membahas mengenai keamanan dalam pengiriman data melalui media jaringan Local Area Network (LAN) dengan menggunakan algoritma Blowfish dan Twofish.


(12)

1.2 Identifikasi Masalah

Identifikasi masalah dalam penulisan tugas akhir ini adalah bagaimana membangun aplikasi sebuah keamanan data dengan menggunakan algoritma kriptografi Blowfish dan Twofish pada saat proses enkripsi suatu data yang akan digunakan untuk keamanan pada saat pengiriman data melalui media jaringan

Local Area Network (LAN).

1.3 Maksud Dan Tujuan

Maksud dari penulisan Tugas akhir ini adalah membuat sebuah aplikasi untuk kemanan pengiriman data dengan menggunakan algoritma kriptografi Blowfish dan

Twofish.

Sedangkan tujuan dari penulisan Tugas Akhir ini adalah membuat aplikasi yang relatif aman didalam pengiriman suatu data pada jaringan Local Area Network (LAN).

1.4 Batasan Masalah

Adapun batasan masalah yang dapat dilakukan agar pembahasan ini lebih terarah, yaitu :

1. Algoritma kriptografi yang digunakan pada proses enkripsi dan dekripsi data adalah Blowfish 64 bit dan Twofish 128 bit.

2. Perangkat lunak (Software) yang digunakan dalam perancangan aplikasi adalah Visual Basic 6.0.

3. Hardware atau perangkat keras yang digunakan untuk pembuatan aplikasi ini adalah satu buah paket komputer dengan spesifikasi sebagai berikut:


(13)

a. Pentium III 800 Mhz b. RAM 128 MB c. Hardisk 10 GB

d. Kabel UTP (Unshielded Twisted Pair) dan konektor RG 45

4. Jenis data yang akan diuji enkripsi serta dekripsi yaitu jenis fileTxt, Doc, JPG, Mp3 dan Mpeg.

5. Pengujian aplikasi di uji pada sebuah jaringan Local Area Network (LAN), dengan model hubungan Peer to peer.

6. Sistem operasi yang digunakan pada saat pengujian aplikasi yaitu menggunakan sistem operasi berbasis Windows XP.

1.5 Metodologi Penelitian

Metode yang digunakan untuk membahas kriptografi Blowfish dan Twofish

ini adalah meliputi studi literatur dan pengumpulan data serta melakukan uji coba dari kriptografi Blowfish dan Twofish itu sendiri. Studi literatur digunakan untuk mempelajari dan memperdalam materi dasar dan terapan baik yang berkaitan dengan landasan teori maupun aplikasi. Pengumpulan data dilakukan dengan mengumpulkan data yang dibutuhkan dalam perancangan aplikasi. Perancangan Aplikasi yang dibangun sesuai dengan batasan yang telah ditentukan dengan menggunakan pendekatan terstruktur model “Classic Life Cycle” atau waterfall :


(14)

Gambar 1.1 Diagram waterfall

Keterangan Paradigma Waterfall sebagai berikut : 1. Tahap Analisis

Kegiatan-kegiatan yang dilakukan pada tahap analisis ini yaitu mengumpulkan data dan menganalisa sistem.

2. Tahap Desain

Kegiatan-kegiatan yang dilakukan pada tahap desain ini yaitu melakukan proses desain terhadap hasil yang didapat dari tahap analisis.

3. Tahap Pengkodean / coding

Kegiatan-kegiatan yang dilakukan pada tahap pengkodean ini yaitu memulai dalam pembuatan program untuk membangun suatu sistem.

4. Tahap Ujicoba / testing

Pada tahap ujicoba ini berisikan hal-hal yang mencakup pengujian program yang sudah dibuat.

5. Tahap Pemeliharaan / maintenance

Pada tahap pemeliharaan ini berisikan hal pemeliharaan perangkat lunak (software) yang sudah tersedia agar dapat berjalan dengan baik.

Analisis

Coding

Testing

Desain


(15)

1.6 Sistematika Penulisan

Untuk memberikan gambaran yang jelas mengenai penyusunan Tugas akhir ini, maka ditetapkan sistematika penulisan sebagai berikut:

BAB I PENDAHULUAN

Bab ini berisi latar belakang, identifikasi masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi tentang teori-teori yang melandasi dari permasalahan yang sedang dibahas.

BAB III ANALISIS DAN PERANCANGAN APLIKASI

Bab ini menjelaskan mengenai analisa dan rancangan dari aplikasi yang akan dirancang berdasarkan teori.

BAB IV IMPLEMENTASI APLIKASI

Bab ini berisi tahap implementasi dari sebuah aplikasi serta pengujian dari aplikasi yang telah dibuat.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang di dapat selama penulisan laporan tugas akhir dari pembahasan masalah, selain itu juga berisi saran untuk perbaikan dan menindak lanjuti hasil penelitian.


(16)

7 2.1 Keamanan jaringan Komputer

Keamanan data atau informasi adalah sesuatu hal yang sangat penting dalam suatu jaringan komputer, karena pada suatu jaringan komputer memungkinkan kita untuk dapat saling bertukar data atau informasi. Untuk menjaga keamanan dalam pertukaran data atau informasi maka dibutuhkannya suatu sistem keamanan yang dapat menjaga keutuhan dari data tersebut dari serangan atau gangguan dari pihak – pihak yang tidak berhak untuk mengakses data atau informasi tersebut. Dalam hal ini keamanan jaringan yang sedang dibahas merupakan jaringan kom-puter Local Area Network (LAN), dengan menggunakan teknik keamanan kripto-grafi.

2.1.1 Local Area Network (LAN)

Kebutuhan akan komunikasi untuk komputer muncul pada tahun 1940-an dan 1950-an yang merupakan konsep dasar dari sebuah jaringan computer. Tahun 1960-an lahir konsep timesharing, dimana pengguna dihubungkan kekomputer melalui suatu dumb terminal.

Pada tahun 1970-an, teknologi IC (Integrated Circuit) dan mikroprosesor mulai berkembang sehingga memungkinkan munculnya komputer pribadi yang dapat dipasang di rumah-rumah. Dengan adanya perkembangan teknologi tersebut dapat mengubah cara pandang orang terhadap komputer. Tahun 1980-an muncul


(17)

teknologi jaringan lokal (Local Area Network-LAN) yang memiliki kemampuan berkomunikasi dengan komputer lainnya.

2.1.2 Model Hubungan Peer-to-Peer

Model jaringan komputer Peer-to-Peer merupakan model jaringan yang ti-dak memiliki sebuah file server atau sumber daya yang terpusat. Didalam hubun-gan Peer-to-Peer ini, seluruh komputer adalah sama, yaitu mempunyai kemam-puan yang sama untuk memakai sumber daya yang tersedia didalam jaringan (Budhi Irawan – Jaringan Komputer). Berikut dibawah ini pada gambar 2.1 me-rupakan gambaranm dari model hubungan jaringan Peer-to-Peer :


(18)

2.2Teori Dasar Kriptografi

Kriptografi dalam sejarahnya tercatat telah dipergunakan oleh bangsa Mesir 4000 tahun lalu. Kriptografi (Cryptography) berasal dari dua kata yaitu “Crypto & graphy” yang dalam sudut bahasa “Crypto” dapat diartikan rahasia (secret) dan

“graphy” dapat diartikan tulisan (writing) jadi Kriptografi (Cryptography) dapat diartikan sebagai suatu ilmu atau seni untuk mengamankan pesan agar aman dan dilakukan oleh “Cryptographer”. Secara umum adalah ilmu dan seni untuk men-jaga kerahasiaan berita [bruce Schneier - Applied Cryptography]. Selain penger-tian tersebut terdapat pula pengerpenger-tian ilmu yang mempelajari teknik-teknik mate-matika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data [A. Menezes, P. van Oorschot and S. Vanstone - Handbook of Applied Cryptography]. Orang yang me-lakukan enkripsi terhadap suatu pesan atau praktisi kriptogragi disebut “Crypto-grapher”. Sebuah pesan yang tidak disandikan atau dienkripsi disebut sebagai

plaintext atau disebut juga sebagai cleartext. Sedangkan pesan yang telah disandi-kan dengan sebuah algoritma kriptografi disebut sebagai ciphertext. Proses untuk mengubah plaintext ke chipertext disebut encryption atau encipherment. Sedang proses mengubah chipertext ke plaintext disebut decryption atau decipherment. Pada gambar 2.2 digambarkan diagram proses enkripsi dan dekripsi, dengan gam-bar sebagai berikut :


(19)

Gambar 2.2 diagram proses enkripsi dan dekripsi

Fasilitas untuk mengkonversikan sebuah plaintext ke ciphertext atau sebaliknya disebut Cryptographic system atau Cryptosystem dimana sistem tesebut terdiri dari algoritma–algorima tertentu yang tergantung pada sistem yang digunakan. Algoritma kriptografi (cryptographic algorithm) disebut cipher yang merupakan persamaan matematik yang digunakan dalam proses enkripsi dan deskripsi dimana proses tersebut diatur oleh satu atau lebih kunci kriptografi. Kunci-kunci tersebut secara umum digunakan untuk proses pengenkripsian dan pendekripsian tidak per-lu identik, tergantung sistem yang digunakan. Dengan kata lain tugas utama dalam kriptografi adalah untuk menjaga plaintext (data asli) maupun key (kunci) tetap terjaga kerahasiaannya.

Proses enkripsi dan deskripsi secara matematis diterangkan sebagai berikut : EK (M) = C (Proses Enkripsi) (2.1) DK (C) = M (Proses Deskripsi) (2.2) Keterangan :

EK : Enkripsi. DK : Dekripsi.

M : Message (Pesan sebelum dienkripsi). C : Cipher (Pesan setelah dienkripsi).


(20)

Berikut adalah istilah – istilah yang digunakan dalam ilmu kriptografi :

a. Plaintext adalah pesan asli yang akan dienkripsi yang biasa disimbolkan den-gan (M).

b. Chipertext adalah sebuah pesan yang telah dienkripsi atau disandikan dan dis-imbolkan dengan (C).

c. Enkripsi adalah proses untuk merubah plaintext menjadi chipertext disimbol-kan dengan (E).

d. Dekripsi adalah proses untuk merubah chipertext menjadi plaintext, atau meru-bah sebuah data yang tersandikan menjadi data asli. Disimbolkan dengan (D). e. Key / kunci adalah sebuah bilangan yang dirahasiakan dalam suatu proses

en-kripsi dan deen-kripsi.

Secara matematis, proses enkripsi merupakan pengoperasian fungsi E (enkrip-si) menggunakan e (kunci enkrip(enkrip-si) pada M (plaintext) sehingga dihasilkan C (ci-phertext), notasinya :

Ee(M) – C (2.3)

Sedangkan untuk proses dekripsi, merupakan pengoperasian fungsi D (dekripsi) menggunakan d (kunci dekripsi) pada C (ciphertext) sehingga dihasilkan M

(plaintext), notasinya :

Dd(C) = M (2.4)

Sehingga dari dua hubungan diatas berlaku :

Dd(Ee(M)) = M (2.5)

Tujuan dari adanya enkripsi adalah untuk meningkatkan keamanan data tetapi ju-ga berfungsi untuk :


(21)

1. Melindungi data agar tidak dapat dibaca oleh orang-orang yang tidak berhak.

2. Mencegah agar orang-orang yang tidak berhak, menyisipkan atau mengahapus data.

Sedangkan tujuan dari sistem kriptografi adalah sebagai berikut :

1. Confidentiality

Memberikan kerahasiahan pesan dan menyimpan data dengan menyembu-nyikan informasi lewat teknik-teknik enkripsi.

2. Message Integrity

Memberikan jaminan untuk tiap bagian bahwa pesan tidak akan mengala-mi perubahan dari saat ia dibuat sampai saat ia dibuka.

3. Non-repudiation

Memberikan cara untuk membuktikan bahwa suatu dokumen datang dari seseorang apabila ia mencoba menyangkal memiliki dokumen tersebut.

4. Authentication

Memberikan dua layanan. Pertama mengidentitifikasi keaslian suatu pesan dan memberikan jaminan keontentikannya. Kedua untuk menguji identitas seseorang apabila ia akan memasuki sebuah sistem.


(22)

Terdapat tiga kategori enkripsi yaitu :

1. Kunci enkripsi rahasia / private, dalam hal ini terdapat sebuah kunci yang digunakan untuk mengenkripsi dan juga sekaligus mendeskripsikan informasi.

2. Kunci enkripsi public, dalam hal ini terdapat dua kunci yang digunakan, satu untuk proses enkripsi, satu lagi untuk proses deskripsi.

3. Fungsi one-way, dimana informasi dienkripsi untuk menciptakan “signature” dari informasi asli yang bisa digunakan untuk keperluan autentifikasi.

Dalam Cryptosystem menurut teknik enkripsinya dapat digolongkan menjadi dua buah, yaitu :

1. Symmetric Cryptosystem ( Enkripsi Konvensional)

Dalam symmetric cryptosystem, kunci yang digunakan dalam proses enkripsi dan dekripsi adalah sama atau pada prinsipnya identik. Kunci ini pun bisa ditu-runkan dari kunci lainnya. Oleh karena itu sistem ini sering disebut secret-key ciphersystem.

Jumlah kunci yang dibutuhkan umumnya adalah :

nC2= n.(n-1) (2.6)

--- 2 Dimana n adalah banyaknya pengguna.

Kunci yang menggunakan teknik enkripsi ini harus betul-betul dirahasiakan, berikut dibawah ini merupakan penjelasan dari proses enkripsi konvensional yang digambarkan pada gambar 2.3 :


(23)

Gambar 2.3 proses enkripsi konvensional

2. Assymmetric Cryptosystem (Enkripsi public-key)

Dalam Assymmetric cryptosystem, kunci yang digunakan terdapat dua buah. Satu kunci yang dapat dipublikasikan disebut kunci publik (public key), satu lagi kunci yang harus dirahasiakan disebut kunci privat (private key).

Secara sedehana proses tersebut diterangkan sebagai berikut : a. A mengirimkan pesan kepada B.

b. A menyandikan pesannya dengan menggunakan kunci publik B.

c. Bila B ingin membaca pesan dari A, ia harus menggunakan kunci privat-nya untuk mendekripsikan pesan yang tersandikan itu.

Dibawah ini merupakan penjelasan dari proses enkripsi public key pada gambar 2.4 berikut ini :


(24)

2.2.1 Kriptanalisis

Cryptanalysis atau analisis sandi adalah ilmu untuk mendapatkan plaintext

pesan tanpa harus mengetahui kunci secara wajar [Yusuf kurniawan – kriptografi keamanan internet dan jaringan komunikasi]. Pemecahan sandi rahasia yang ber-hasil akan mengber-hasilkan plaintext atau kunci. Analisis sandi juga dapat menemu-kan kelemahan dalam kriptosistem, dengan kata lain analisis sandi merupamenemu-kan ke-balikan dari kriptografi. Usaha analisis sandi disebut juga dengan attack (seran-gan). Asumsi dasar dalam analisis sandi diungkapkan pertama kali oleh Dutchman A Kerckhoffs pada abad ke – 19, yaitu bahwa kerahasiaan harus terletak pada kunci. Kerckhoffs mengasumsikan bahwa analisis sandi mempunyai detil lengkap algoritma kriptografi dan implementasinya.

Lars Knudsen menggolongkan berbagai macam jenis pemecahan algoritma : 1. Total break, seorang analis berhasil menemukan kunci, K yang digunakan

untuk melindungi data – data, sedemikian sehingga Dk (C)= P.

2. Global deduction, analis sandi mendapatkan algoritma alternative, A, yang ekivalen dengan Dk (C), tanpa mengetahui K.

3. Instance (local)deduction, analis sandi mendapatkan plaintext atau chiper-text yang disadap.

4. Information deduction, analis sandi memperoleh beberapa informasi men-genaikunci atau plaintext.


(25)

Terdapat beberapa cara untuk mengukur kompleksitas serangan, yaitu :

1. Data Complexity, yaitu jumlah data yang diperlukan sebagai input attack. 2. Processing Complexity, lama waktu yang tersedia untuk melakukan attack. 3. Storage Requipments, jumlah memori yang dibutuhkan untuk melakukan

attack.

2.3 Kriptografi Klasik Dan Kriptografi Modern

2.3.1 Kriptografi klasik

Kriptografi klasik merupakan kriptografi yang berbasis karakter, sebutan kriptografi klasik merupakan kriptografi yang dipakai pada jaman romawi. Sejak jama romawi yang dipimpin oleh Yulius Caesar telah menggunakan teknik krip-tografi ini yang sekarang dianggap kuno dan sangat mudah untuk dibobol. Dalam kriptografi klasik jaman romawi masih menggunakan pena dan kertas saja karena belum terdapat komputer pada saat itu. Kriptografi klasik tergolong kedalam krip-tografi kunci simetrik.

Teknik kriptografi yang digunakan pada kriptografi klasik yaitu : 1. Teknik subtitusi

Teknik subtitusi merupakan penggantian setiap karakter plaintext dengan ka-rakter lain. Didalam teknik subtitusi kriptografi klasik terdapat beberapa isti-lah, diantaranya yaitu :

a. Monoalfabet, merupakan setiap karakter chipertext mengganti satu macam karakter pada plaintext.


(26)

b. Polyalfabet, setiap karakter chipertext dapat mengganti lebih dari satu macam karakter plaintext.

c. Monograf / unilateral, satu enkripsi dilakukan terhadap satu karakter

plaintext.

d. Polygraf / multilateral, satu enkripsi dilakukan terhadap lebih dari satu karakter plaintext sekaligus.

Chipper subtitusi yang paling lama dikenal dengan nama subtitusi Yulius Caesar. Berikut dibawah ini merupakan contoh dari subtitusi, Dalam hal ini kun-cinya adalah jumlah pergeseran huruf (yaitu k = 3) :

Tabel substitusi:

pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Plaintext (pesan yang akan ditulis) : KRIPTOGRAFI

Maka chipertext (pesan yang telah dienkripsi) menjadi : NULSWRJUDIL

2. Teknik Transposisi

Pada cipher transposisi, plainteks tetap sama, tetapi urutannya diubah. Den-gan kata lain, algoritma ini melakukan transpose terhadap rangkaian karakter di dalam teks. Nama lain untuk metode ini adalah permutasi, karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut. Untuk meng-enkripsi pesan, plaintext ditulis secara horizontal dengan lebar kolom tetap, misal selebar 6 karakter (kunci k = 6), sedangkan chipertext dibaca secara vertikal.


(27)

Plaintext : ILMU KRIPTOGRAFI DUA Maka Chipertext : ILMUKR

IPTOGR AFIDUA

Maka chipertext dibaca vertikal menjadi : IIALPFMTIUODKGURRA

2.3.2 Kriptografi Modern

Kriptografi modern merupakan kriptografi yang sering digunakan di era komputer modern sekarang ini. Kriptografi modern dalam pengoperasiannya be-roperasi pada bit, dan kunci, plaintext, chipertext diproses dalam rangkaian bit. Perkembangan kriptografi modern didorong karena penggunaan komputer digital untuk keamanan suatu data atau pesan.

Dalam kriptografi modern, pesan dalam rangkaian bit dipecah menjadi be-berapa blok. Seperti contoh dibawah ini dalam pemecahan bit kedalam blok :

Plaintext : 110010100010

Bila dibagi kedalam blok 4 – bit maka menjadi 1100 1010 0010

Maka setiap blok menyatakan bilangan 0 sampai dengan 15, menjadi : 12 10 2


(28)

2.4 Jenis – jenis Algoritma Kriptografi 2.4.1 Algoritma Simetris

Algoritma simetris (symmetric algorithm) adalah suatu algoritma dimana kun-ci enkripsi yang digunakan sama dengan kunkun-ci dekripsi sehingga algoritma ini dis-ebut juga sebagai single-key algorithm.

Sebelum melakukan pengiriman pesan, pengirim dan penerima harus me-milih suatu kunci tertentu yang sama untuk dipakai bersama, dan kunci ini harus-lah rahasia bagi pihak yang tidak berkepentingan sehingga algoritma ini disebut juga algoritma kunci rahasia (secret-key algorithm). Yang termasuk dalam algoritma kunci simetri adalah OTP, DES, RC2, RC4, RC5, RC6, IDEA, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5, Kasumi dan lain – lain.

Berikut kelebihan dari algoritma simetris :

a. Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetris. b. Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem

real-time.

Berikut kelemahan dari algoritma simetris :

a. Untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci ter-sebut.

b. Permasalahan dalam pengiriman kunci itu sendiri yang disebut “keydistribution problem”


(29)

2.4.2 Algoritma Asimetris

Algoritma asimetris (asymmetric algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma ini menggunakan dua kunci yakni kunci publik (public key) dan kunci privat (pri-vate key). Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan.yang termasuk dalam algorit-ma kunci asimetri adalah ECC, LUC, RSA, El Gaalgorit-mal dan DH.

Berikut kelebihan algoritma asimetris :

a. Masalah keamanan pada distribusi kunci dapat lebih baik

b. Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih se-dikit.

Kelemahan dari algoritma asimetris :

a. Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris b. Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang

dibandingkan dengan algoritma simetris.

2.5 Blok Chiper Dan Stream Chiper

2.5.1 Blok Chiper

Chipper blok adalah algoritma kriptografi yang beroperasi dalam bentuk blok bit. Proses enkripsi dilakukan dalam blok bit plaintext menggunakan kunci yang berukuran sama dengan ukuran blok plaintext. Pada algoritma ini akan mengha-silkan chipertext yang sama dengan blok plaintext.


(30)

2.5.1.1 Mode Operasi Blok Chiper

Pada algoritma kriptografi yang beroperasi pada blok dikenal dengan bebe-rapa mode operasi, yaitu :

1. Electronic Code Book (ECB)

Pada mode Electronic Code Book (ECB) sebuah blok input pada plaintext di-enkripsi secara individual dan independen menjadi blok chipertext. Secara matematis proses enkripsi dan dekripsi pada mode ECB yaitu :

Proses enkripsi : Ci = Ek (Pi) (2.7)

dan proses dekripsi : Pi = Dk (Ci) (2.8)

Dalam hal ini Pi dan Ci merupakan blok plaintext dan chipertext ke – i. Berikut dibawah ini penjelasan dari skema enkripsi dan dekripsi pada mode ECB yang dijelaskan pada gambar 2.5 :

Gambar 2.5 skema enkripsi dan dekripsi pada mode ECB


(31)

2. Chipper Blok Chaining (CBC)

Pada mode operasi CBC, hasil dari proses enkripsi dari blok sebelumnya mempengaruhi hasil enkripsi selanjutnya, atau enkripsi sebelumnya menjadi

feedback pada enkripsi blok saat itu., jadi tiap blok ciphertext bergantung bukan hanya pada blok plaintext-nya tapi bergantung pula pada blok-blok plaintext

sebelumnya. Sehingga untuk plaintext yang sama, belum tentu menghasilkan ci-phertext yang sama pula. Secara matematis proses enkripsi dan dekripsi dapat dinyatakan sebagai berikut :

Proses Enkripsi Ci = EK(Pi⊕Ci-1) (2.9)

Proses dekripsi Pi = DK(Ci) ⊕Ci-1 (2.10)

Berikut dibawah ini merupakan skema dari mode operasi CBC, yang di-gambargakan pada gambar 2.6 :

Ek Ek

⊕ ⊕

Enkripsi :

Kunci K

Pi 1

Ci 1 Ci

Pi

Dk Dk

⊕ Kunci K

Pi 1 Pi

Ci Ci 1

Ci 1

Dekripsi :


(32)

3. Chiper Feed Back (CFB)

Jika pada mode CBC, plaintext sebesar n bit diproses dalam sekali waktu (menggunakan sebuah n bit cipher blok), beberapa aplikasi mengharuskan r bit plaintext untuk dienkripsi terlebih dahulu dan ditransmisikan bebas delay, untuk r < n (biasanya r = 1 atau r = 8); dalam kasus ini CBF digunakan. Da-lam mode ini juga melibatkan penggunaan initializing vector (IV). Secara ma-tematis proses enkripsi dan dekripsinya dinyatakan sebagai berikut :

Proses enkripsi :

Ci= Pi ⊕MSBm( EK(Xi)) (2.11) Xi+1= LSBm-n(Xi) || Ci (2.12)

Proses dekripsi :

Pi= Ci ⊕MSBm( DK(Xi)) (2.13) Xi+1= LSBm-n(Xi) || Ci (2.14)

Keterangan:

Xi = isi antrian dengan X1 adalah IV E = fungsi enkripsi

K = kunci

M = panjang blok enkripsi N = panjang unit enkripsi


(33)

|| = operator penyambungan (concatenation) MSB = Most Significant Byte

LSB = Least Significant Byte

Gambar 2.7 dibawah ini merupakan penjelasan dari mode operasi CFB :

Gambar 2.7 skema enkripsi dan dekripsi mode operasi CFB

4. Output Feed Back (OFB)

Pada mode OFB bekerja mirip dengan mode CFB, kecuali n – bit dari hasil enkripsinya. Secara matematis proses enkripsi dan dekripsi pada mode OFB n - bit dapat dinyatakan sebagai berikut :

Proses enkripsi :

Ci= Pi ⊕MSBm( EK(Xi)) (2.15) Xi+1= LSBm-n(Xi) || MSBm( EK(Xi)) (2.16)


(34)

Proses dekripsi :

Pi= Ci ⊕MSBm( DK(Xi)) (2.17) Xi+1= LSBm-n(Xi) || MSBm( EK(Xi)) (2.18)

Gambar 2.8 dibawah ini merupakan penjelasan dari mode operasi OFB :

Gambar 2.8 skema enkripsi dan dekripsi mode operasi OFB

2.5.2 Stream Chiper

Stream Chiper adalah chipper yang berasal dari hasil XOR antara setiap bit plaintext dengan setiap bit kuncinya. jadi format data berupa aliran dari bit untuk kemudian mengalami proses enkripsi dan dekripsi.


(35)

2.5.3 Desain Chiper

Terdapat dua buah prinsip dasar dalam mengghasilkan Chiper yang aman, yaitu :

1. Confusion yaitu mengaburkan hubungan antara plaintext dan chipertext. ca-ra yang dapat dilakukan dalam prinsip confusion adalah dengan substitusi. 2. Diffusion yaitu menghilangkan redudansi plaintext dengan menyebarkan

masukan keseluruh chipertext. Diperlukan waktu yang lama dalam meme-cahkan sandi rahasia ini, cara yang dilakukan dalam prinsip diffusion yaitu transposisi dan permutasi.

2.6 Blowfish

2.6.1 Deskripsi Blowfish

Blowfish atau "OpenPGP.Cipher.4" merupakan enkripsi yang termasuk dalam golongan Symetric Cryptosystem, metoda enkripsinya mirip dengan DES (DES-like Cipher) ditemukan oleh seorang Cryptanalyst bernama Bruce Schneier Presiden perusahaan Counterpane Internet Security, Inc (Perusahaan konsultan tentang kriptografi dan keamanan Komputer) dan dipublikasikan tahun 1994. Di-buat untuk digunakan pada komputer yang mempunyai microprocesor besar (32-bit keatas dengan cache data yang besar).

Blowfish dikembangkan untuk memenuhi kriteria desain yang cepat dalam implementasinya dimana pada keadaan optimal dapat mencapai 26 clock cycle per byte, dimana dapat berjalan pada memori kurang dari 5 KB, sederhana dalam al-goritmanya sehingga mudah diketahui kesalahannya, dan keamanan yang variabel


(36)

dimana panjang kunci bervariasi (minimum 32 bit, maksimum 448 bit, Multiple 8

bit, default 128 bit). Blowfish dioptimasikan untuk berbagai aplikasi dimana kunci tidak sering berubah, seperti pada jaringan komunikasi atau enkripsi secara oto-matis. Dalam pengimplementasiannya dalam komputer bermicroprosesor 32-bit

dengan cache data yang besar (Pentium dan Power PC) Blowfish terbukti jauh le-bih cepat dari DES. Tetapi Blowfish tidak cocok dengan aplikasi dengan peruba-han kunci yang sering atau sebagai fungsi hash satu arah seperti pada aplikasi

packet switching. Blowfish pun tidak dapat digunakan pada aplikasi kartu pintar (smart card) karena memerlukan memori yang besar.

Blowfish termasuk dalam enkripsi block Cipher 64-bit dangan panjang kunci yang bervariasi antara 32-bit sampai 448-bit.Algoritma Blowfish terdiri atas dua bagian :

1. Key-Expansion

Berfungsi merubah kunci (Minimum 32-bit, Maksimum 448-bit) menjadi beberapa array subkunci (subkey) dengan total 4168 byte.

2. Enkripsi Data

Terdiri dari iterasi fungsi sederhana (Feistel Network) sebanyak 16 kali pu-taran. Setiap putaran terdiri dari permutasi kunci-dependent dan substitusi kunci- dan data-dependent. Semua operasi adalah penambahan (addition) dan XOR pada variabel 32-bit. Operasi tambahan lainnya hanyalah empat penelusuran tabel (table lookup) array berindeks untuk setiap putaran.


(37)

2.6.2 Algoritma Blowfish

Blowfish merupakan algoritma kriptografi kunci simetrik chiper blok den-gan panjang blok tetap sepanjang 64 bit. Blowfish menerapkan teknik kunci yang berukuran sembarang. Ukuran kunci yang dapat diterima adalah sepanjang 32 bit

sampai 448 bit, dengan ukuran default sebesar 128 bit.

Blowfish adalah algoritma yang menerapkan jaringan Feistel (Feistel Net-work) yang terdiri dari 16 putaran. Input adalah elemen 64-bit,X.Untuk alur algo-ritma enkripsi dengan metoda Blowfish dijelaskan sebagai berikut :

1. Bentuk inisial P-array sebanyak 18 buah (P1,P2,...P18) masing-msing bernilai 32-bit.

Array P terdiri dari delapan belas kunci 32-bit subkunci :

P1,P2,...,P18 (2.19)

2. Bentuk S-box sebanyak 4 buah masing-masing bernilai 32-bit yang memiliki masukan 256.

Empat 32-bit S-box masing-masing mempunyai 256 entri :

S1,0,S1,1,...,S1,255 (2.20)


(38)

S3,0,S3,1,...,S3,255 (2.22)

S4,0,S4,1,...,S4,255 (2.23)

3. Plaintext yang akan dienkripsi diasumsikan sebagai masukan, Plaintext

tersebut diambil sebanyak 64-bit, dan apabila kurang dari 64-bit maka kita tambahkan bitnya, supaya dalam operasi nanti sesuai dengan datanya.

4. Hasil pengambilan tadi dibagi 2, 32-bit pertama disebut XL, 32-bit yang kedua disebut XR.

5. Selanjutnya lakukan operasi XL = XL xor Pi dan XR = F(XL) xor XR

6. Hasil dari operrasi diatas ditukar XL menjadi XR dan XR menjadi XL.

7. Lakukan sebanyak 16 kali, perulangan yang ke-16 lakukan lagi proses penukaran XL dan XR.

8. Pada proses ke-17 lakukan operasi untuk XR = XR xor P17 dan XL = XL xor P18.

9. Proses terakhir satukan kembali XL dan XR sehingga menjadi 64-bit kembali.


(39)

Di bawah ini merupakan gambar dari struktur algoritma blowfish, yang digambarkan pada gambar 2.9 :

⊕ ⊕

F

P1 32 bit

32 bit

P16

64 bit

Diulang 14 Iterasi lagi

F

P18 P17

Xor

Xor 32 bit

64 bit

P2


(40)

Di bawah ini merupakan gambar dari skema fungsi F dari algoritma blowfish,

yang digambarkan pada gambar 2.10 :

S box 1 S box 2 S box 3 S box 4

8 bits 8 bits 8 bits 8 bits

32 bits 32 bits 32 bits 32 bits

Gambar 2.10 skema fungsi F pada Algoritma Blowfish

2.6.3 Keamanan Blowfish

Sampai saat ini algoritma Blowfish belum ditemukan kelemahan yang berarti hanya adanya weak key dimana dua entri dari S-box mempunyai nilai yang sama. Belum ada cara untuk mengecek weak key sebelum melakukan key expansion, tetapi hal ini tidak berpengaruh terhadap hasil enkripsi. Hasil enkripsi dengan algoritma Blowfish sangat tidak mungkin dan tidak praktis untuk di terjemahkan tanpa bantuan kunci. Sampai kini belum ada Cryptanalysis yang dapat membongkar pesan tanpa kunci yang enkripsi oleh Blowfish. Agar aman dari pembongkaran pesan maka dalam algoritmanya harus menggu-nakan 16 putaran agar pesan tersebut tidak dapat dibongkar. Algoritma Blowfish pun


(41)

da-pat digabungkan dengan algoritma-algoritma enkripsi yang lain dalam pengkripsian se-buah pesan untuk lebih menjamin isi dari pesan tersebut.

John Kelsey mengembangkan sebuah metode serangan yang dapat meme-cahkan Blowfish dengan tiga putaran, tetapi tidak dapat mengembangkan lebih dari itu. Penyerangan ini mengeksploitasi fungsi F. Vikramjit Singh Chabra juga telah mencari cara yang efisien untuk mengimplementasikan mesin pencarian kunci dengan cara lempang (brute force).

Serge Vaudenay melakukan pemeriksaan terhadap Blowfish dengan kotak-S diketahui dan putaran sebanyak r. Proses pemeriksaan yang dilakukan dengan se-rangan diferensial dapat menghasilkan P-array dengan 28r+1 chosen plainteks

[SCH95]. Untuk kunci lemah tertentu yang menghasilkan kotak-S yang buruk, se-rangan yang sama hanya membutuhkan 24r+1 chosen plainteks untuk menghasil-kan P-array. Kemungkinan untuk mendapatkan kunci lemah ini sendiri adalah 1 berbanding 214. Tanpa diketahuinya kotak-S yang digunakan, serangan ini dapat mendeteksi lemah tidaknya kunci yang digunakan, tetapi tidak dapat menentukan kunci.

2.7 Twofish

2.7.1 Deskripsi Twofish

Pada tahun 1972 dan 1974, US the National Bureau of Standards (sekarang bernama the National Institute of Standards and Technology, atau NIST) menge-luarkan publikasi pertama untuk sebuah standar enkripsi, yang menghasilkan


(42)

al-goritma data Encryption Standard (DES) [NBS77], yang tidak dapat disangkal sebagai algoritma kriptografi yang sangat terkenal dan sangat berhasil.

Twofish merupakan 128-bit block sandi/cipher yang bisa menerima panjang varibel kunci/key sebesar 256 bit. Cipher tersebut berasal 16-round jaringan Feit-sel dengan fungsi bijektif F yang dilanjutkan dengan empat key-dependent 8-by-b-bit S-boxes, satu fixed 4-by-4 maximum distance separable matrix over GF(28), satu pseudo-Hadamard transform, satu rotasi bitwise dan satu desain key sche-dule. Suatu implementasi Twofish yang dioptimalkan mengenksripsi pada Pen-tium Pro dengan 17,8 siklus clock per byte, dan pada smartcard akan men-genksripsi pada 1660 siklus clock per byte. Twofish dapat diimplemetsikan pada pada perangkat keras dengan 14000 gerbang. Design round function dan penjad-walan kunci mengakibatkan adanya trade off antara kecepatan, ukuran software, waktu setup key, jumlah gerbang dan memory.

2.7.2 Algoritma Twofish

Twofish menggunakan struktur Feistel 16-round dengan whitening tamba-han dalam input dan outputnya. Satu-satunya elemen yang bukan Feistel adalah rotasi 1 bit. Rotasi tersebut dapat dipindahkan ke fungsi F untuk menciptakan

output berjalan.

Plaintext dipecah menjadi empat buah word 32-bit. Pada whitening input, keempat word itu di XOR-kan dengan empat key word. Dan di ikuti dengan ke enam belas round. Dalam tiap round, dua word di kiri digunakan sebagai input


(43)

dibawah ini merupakan gambar dari struktur algoritma Twofish yang dikutip dari sebuah jurnal yang berjudul “Implementation of the Twofish chiper using FPGA devices” yang ditulis oleh Pawel Chodoweic, Kris Gaj :

Gambar 2.11 Struktur Algoritma Twofish

Langkah-langkah algoritma twofish adalah sebagai berikut:

1. Masukan satu blok plainteks adalah 128 bit. Satu blok tersebut dibagi menjadi 4 buah sub-blok yang masing-masing sepanjang 32 bit (A, B, C, dan D).

2. Masing-masing sub-blok tersebut melalui proses whitening dengan meng-Xor-kan dengan kunci K0, K1, K2, dan K3.


(44)

R0,i = Pi ⊕ Ki → i= 0…3 (2.24)

Proses pada input whitening :

R0,i = Pi XOR Ki → i= 0…3 (2.25)

(Fr,0, Fr,1)= F (Rr,0,Rr,1,r) (2.26) Rr+1,0 = ROR (Rr,2 XOR Fr,0,1) (2.27)

Rr+1,1 = ROL (Rr,3,1) XOR Fr,1 (2.28)

Rr+1,2 = Rr,0 (2.29)

Rr+1,3 = Rr,1 (2.30) Proses pada output whitening :

Ci=R16 (i+2) mod 4 XOR Ki+4 → i= 0…3 (2.31)

Langkah-langkah 1 putaran adalah sebagai berikut:

1. 2 buah 32 bit yang kiri (A dan B) merupakan input dari fungsi g (yang merupa-kan bagian dari fungsi f), yang salah satunya (B) di geser ke kiri sejauh 8 bit dahulu.

2. Fungsi g memiliki 4 buah kotak substitusi yang dibangkitkan oleh kunci. 3. Keluaran fungsi kotak substitusi dilakukan percampuran linear menggunakan

kotak Most Distance Separable

4. Keluaran fungsi g dimasukkan ke fungsi transformasi pseudo-Hadamard, ke-mudian ditambahkan dengan 2 buah 32 bit dari kunci.

5. Dua buah 32 bit hasil kemudian di xorkan dengan C dan D. Hasil xor dengan C digeser ke kanan sejauh 1 bit. Dan untuk D sebelum dixorkan digeser ke kiri sejauh 1 bit.


(45)

6. 2 buah 32 bit kiri dan kanan dipertukarkan (A dan B dipertukarkan dengan C dan D).

Fungsi F adalah permutasi yang bergantung pada kunci dengan nilai 64 bit. Fungsi ini menerima 3 argumen, dua buah 32 bit R0 dan R1, dan nomor putaran untuk menentukan subkunci mana yang dipakai. R0 akan diserahkan ke fungsi g yang akan mengembalikan T0. R1 akan digeser sejauh 8 bit yang kemudian di be-rikan juga ke fungsi g yang akan mengembalikan T1. Hasil T0 dan T1 kemudian dikombinasikan ulang menggunakan transformasi pseudo-Hadamard, yang kemu-dian ditambahkan dengan dua buah 32 bit dari kunci.

T0 = g(R0); (2.32)

T1 = g(shiftLeft(R1,8)); (2.33)

F0 = (T0+T1+K2r+8) mod 232; (2.34)

F1 = (T0+2T1+K2r+9) mod 232; (2.35)

F0 dan F1 adalah hasil dari F, yang masing – masing sepanjang 32 bit. Hasil kelu-aran ini nantinya akan dipertukarkan dan dimasukkan kembali ke putkelu-aran selan-jutnya. Gambar 2.12 Dibawah ini merupakan skema dari fungsi F pada algoritma


(46)

⊕ ⊕

⊕ ⊕

⊕ ⊕

⊕ ⊕

Gambar 2.12 Skema Fungsi F pada Algoritma Twofish

Fungsi g merupakan jantung dari keseluruhan algoritma twofish. 32 bit masu-kan X dari fungsi F dipecah menajdi 4 buah yang masing - masing sepanjang 8 bit. Setiap 8 bit kemudian diproses dengan kotak S yang bersesuaian. Setiap kotak S bersifat bijektif, yaitu menerima 8 bit dan mengeluarkan 8 bit pula. 4 buah 8 bit hasil keluaran kemudian dikalikan dengan matriks Most Distance Separable

(MDS) 4x4. Hasil pengalian kemudian diartikan sebagai 32 bit, yang merupakan keluaran dari fungsi g, yang kemudian akan dikembalikan kembali ke fungsi F.

2.7.3 Proses Whitening

Whitening adalah suatu teknik yang terdapat dalam algoritma kriptografi Two-fish dengan cara meng-XOR-kan 128-bit sub-kunci sebelum sebelum round per-tama (input whitening) dan 128-bit setelah round terakhir (output whitening). Da-lam struktur algoritma Twofish terdapat input whitening yang merupakan


(47)

masuk-kan dari kunci yang dipakai dan di XOR-masuk-kan, sedangmasuk-kan untuk output whitening

merupakan hasil keluaran whitening terhadap kunci setelah melakukan whitening

round terakhir. .

2.7.4 Keamanan Twofish

Studi mengenai keamanan dan kriptanalisis algoritma Twofish sudah banyak dilakukan. Walaupun begitu semua studi ini dilakukan terhadap algoritma Twofish

yang sudah disederhanakan atau diperlemah.

Untuk Twofish dengan lima putaran, tanpa proses whitening pada awal dan ak-hir proses dibutuhkan 222,5 pasangan chosen plainteks dan 251 usaha. Metode kriptanalisis untuk Twofish ini masih terus dikembangkan. Tetapi tidak ada me-tode kriptanalisis untuk Twofish dengan jumlah putaran di atas sembilan buah. Selain dengan serangan chosen plainteks, telah dilakukan juga kriptanalisis den-gan seranden-gan related-key. Metode kriptanalisis yang dilakukan adalah serangan

chosen-key parsial pada Twofish dengan 10 putaran tanpa proses whitening pada awal dan akhir proses. Untuk melakukan proses kriptanalisis ini harus disiapkan pasangan kunci-kunci yang berhubungan. Kemudian pilih 20 dari 32 byte dari se-tiap kunci. Dua puluh byte yang dipilih berada di bawah kendali kriptanalisis. Se-dangkan dua belas byte sisanya tidak dikatahui, tetapi kriptanalisis dapat menge-tahui bahwa keduanya adalah sama untuk kedua kunci. Proses yang harus dilaku-kan sebanyak 264 chosen plainteks untuk setiap kunci yang dipilih dan dilakukan sekitar 234 usaha, untuk mendapatkan 12 byte kunci yang belum diketahui. Se-lain stustudi di atas, dilakukan juga serangan terhadap algoritma yang telah


(48)

di-kurangi jumlah putarannya dengan penyederhanaan fitur-fitur tertentu, seperti:

Twofish dengan kotak-S statis, Twofish tanpa rotasi 1 bit, dan yang lainnya. Tetapi hasil studi ini menunjukkan bahwa kriptanalisis tidak dapat memecahkan Twofish

walaupun dengan penyederhanaan-penyederhanaan yang telah dilakukan [SCH01].


(49)

40

3.1

Analisis

Analisis adalah penguraian dari suatu pembahasan, dalam hal ini pembahasan

mengenai aplikasi keamanan pengiriman data pada jaringan

Local Area Network

(LAN), yang berguna untuk mengetahui apa saja yang dapat dijadikan isi dari sebuah

aplikasi dan perangkat yang dapat digunakan dalam perancangan aplikasi yang akan

dibuat.

3.1.1 Analisis permasalahan

Dalam pembahasan kriptografi yang sedang penulis bahas yaitu mengenai

mengamankan pengiriman sebuah data pada jaringan

Local Area Network

(LAN)

dengan menggunakan algoritma kriptografi

Blowfish dan Twofish

, atau kombinasi

kedua algoritma tersebut dalam aplikasi kriptografi. Berikut dibawah ini analisa

rancangan dari permasalahan yang sedang di bahas yang dijelaskan pada gambar 3.1 :


(50)

Gambar 3.1

analisis permasalahan

Dari gambar 3.1 diatas dapat dijelaskan sebagai berikut :

1.

Proses 1 (Enkripsi

Blowfish

) :

a.

Plaintext

X

,

merupakan

file

yang akan dienkripsi

b.

Enkripsi

plaintext

X, menggunakan enkripsi

Blowfish

dan memasukkan kunci

1 (kunci yang digunakan pada saat enkripsi

Blowfish

)


(51)

2.

Proses 2 (Enkripsi

Twofish

) :

a.

Plaintext

Y, merupakan hasil enkripsi (

chipertext

X) dari

plaintext

X

b.

Enkripsi

plaintext

Y

,

menggunakan enkripsi

Twofish

dan memasukkan kunci

2 (kunci yang digunakan pada saat enkripsi

Twofish

)

c.

Chipertext

Y

,

merupakan hasil enkripsi dari

plaintext

Y (

chipertext

X)

3.

Proses 3 (Dekripsi

Twofish

) :

a.

Chipertext

Y

,

merupakan hasil enkripsi

Twofish

yang akan didekripsi

b.

Dekripsi

Twofish,

menggunakan dekripsi

Twofish

dengan menggunakan kunci

2 (kunci yang digunakan pada saat enkripsi

Twofish

)

c.

Plaintext

Y (

chipertext

X)

,

merupakan hasil dekripsi dari

chipertext

Y

4.

Proses 4 (Dekripsi

Blowfish

) :

a.

Chipertext

X

(plaintext

Y

),

merupakan hasil enkripsi

Blowfish

yang akan

didekripsi

b.

Dekripsi

Blowfish,

menggunakan dekripsi

Blowfish

dengan menggunakan

kunci1 (kunci yang digunakan pada saat enkripsi

Blowfish

)


(52)

3.1.2

Kebutuhan Perangkat

Berikut dibawah ini perangkat yang dapat mendukung dalam perancangan

aplikasi yang akan dirancang, yaitu :

3.1.2.1

Perangkat Keras

Perangkat keras yang dibutuhkan dalam pembuatan aplikasi kriptografi adalah

sebagai berikut :

1.

Pentium III 800 Mhz

2.

RAM 128 MB

3.

Hardisk

10 GB

4.

Sebagai alat koneksi jaringan memakai Kabel UTP (

Unshielded Twisted Pair

)

dan konektor RG 45

3.1.2.2

Perangkat Lunak

Perangkat lunak atau

software

yang digunakan dalam program aplikasi

kriptografi adalah :

1.

Visual Basic

6.0 (perancangan aplikasi)

2.

Windows

XP (sistem operasi)


(53)

3.1.3 Analisis Data

Analisis data merupakan tahap dimana dilakukannya analisis terhadap data-data

apa saja yang diolah dalam sistem atau prosedur sebuah aplikasi, dalam hal ini data

yang akan di enkripsi pada aplikasi kriptografi adalah berupa

file Txt, Doc,

Jpg, Mp3

dan Mpeg

.

3.1.4 Analisis pengiriman data dan keamanan Jaringan

Pada permasalahan yang sedang dibahas yaitu mengenai aplikasi keamanan

pengiriman data menggunakan jaringan

Local Area Network

(LAN). Jadi proses

transfer

data dari komputer satu ke komputer lain menggunakan sistem jaringan

Local Area Network

(LAN). Dalam hal ini dengan adanya keamanan jaringan

komputer dengan menggunakan algoritma kriptografi

Blowfish

dan

Twofish

dapat

melindungi pada saat transaksi pengiriman data pada jaringan

Local Area Network

(LAN). Keamanan data pada suatu jaringan

Local Area Network

(LAN) adalah

sesuatu yang sangat penting, karena untuk menghindari data yang kita kirim di

gunakan oleh orang – orang yang tidak berhak atau berkepentingan.

Ditinjau dari masalah yang dihadapi, maka perlu dibangun suatu aplikasi

keamanan pengiriman data dengan menggunakan algoritma kriptografi

Blowfish

dan

Twofish

pada saat mengirimkan data melalui jaringan

Local Area Network

(LAN)

.

Berikut dibawah ini merupakan gambaran dari pengiriman data melalui jaringan

Local Area Network

(LAN) dan permasalahan yang memungkinkan terjadi pada

media jaringan

Local Area Network

(LAN):


(54)

Gambar 3.2

pengiriman data

melalui jaringan

Local Area Network

(LAN)

Dari gambar 3.2 diatas dapat dijelaskan sebagai berikut

:

Gambar 3.2 diatas adalah menjelaskan bagaimana melakukan pengiriman

sebuah data dari komputer A dan B melalui media jaringan

Local Area Network

(LAN)

,

dalam gambar 3.2 diatas menjelaskan bagaimana melakukan pengiriman data

melalui media jaringan

Local Area Network

(LAN). Untuk melakukannya diperlukan

sebuah data yang akan dikirim dengan dienkripsi serta memasukkan kunci terlebih

dahulu, kemudian dikirimkan menurut alamat tujuan yang akan dikirim, dan

penerima dari data yang terenkripsi tersebut dapat mendekripsi data tersebut jika

mengetahui kunci yang dipakai, maka dari itu penggunaan kunci sebelumnya harus

disepakati dan diketahui oleh pengirim dan penerima.


(55)

3.1.5 Analisis Pengguna

Latar belakang pengguna yang akan memakai program aplikasi yang akan

dibuat, terbagi menjadi dua pengguna yaitu pengirim pesan dan penerima pesan, serta

memiliki kriteria pengguna sebagai berikut :

1.

Memiliki kemampuan dasar dalam pengoperasian komputer

2.

Mengenal sistem kriptografi

3.

Mengenal jaringan

Local Area Network

(LAN)

3.2

Langkah – Langkah Penyelesaian

Dari permasalahan diatas, maka penulis mencoba untuk membuat sebuah aplikasi

yang berguna untuk mengamankan sebuah data pada saat pengiriman data melalui

media jaringan

Local Area Network

(LAN) dengan menggunakan kombinasi

algoritma kriptografi

Blowfish

dan

Twofish

. Langkah – langkah simulasi dalam

penyelesaian masalah diatas yaitu :

3.2.1

Pengirim

File /

Data

Orang yang mengirim

file

, akan melakukan langkah – langkah sebagai berikut :

1.

memilih suatu

file

yang akan dienkripsi dan dikirim

2.

Memasukkan kunci 1 dan kunci 2yang akan menjadi kunci pada saat proses

enkripsi


(56)

4.

Mengkoneksikan jaringan

5.

Mengirim

file

enkripsi kombinasi

blowfish

dan

twofish

3.2.2

Penerima

File

/ Data

Berikut langkah – langkah yang akan dilakukan oleh penerima pesan atau

file

,

yaitu :

1.

Mengkoneksikan jaringan

2.

Mengambi

file

enkripsi (

blowfish

dan

twofish

) yang akan di dekripsi

3.

Memasukkan kunci 2 dan kunci 1

untuk melakukan proses dekripsi

4.

Melakukan dekripsi

3.3

Perancangan Sistem

Perancangan sistem merupakan bagian dari metodologi pengembangan suatu

perangkat lunak yang dilakukan setelah melalui tahapan analisis. Perancangan

bertujuan untuk memberikan gambaran secara terperinci. Perancangan sistem

merupakan tahap lanjutan dari analisis sistem, dimana pada perancangan sistem

digambarkan rancangan sistem yang akan dibangun sebelum dilakukan pengkodean

kedalam suatu bahasa pemrograman.

Dalam perancangan

system

ini menggunakan

tool

UML (

Unified Modelling

Language

) sebagai rancangan dari sebuah model

system

yang akan dibangun.

Perancangan UML (

Unified Modelling Language

) ini mencakupi perancangan

use

case, sequence

diagram

, class

diagram

dan

activity

diagram.


(57)

1.

Use case

diagram

Dalam

use case

menggambarkan interaksi seorang aktor dari sebuah

system

yang

akan dibangun. Gambar 3.3 dibawah ini merupakan diagram rancangan

use case

:

Gambar 3.3

Diagram

Use Case

2.

Sequence

Diagram

Diagram yang menggambarkan langkah – langkah yang dilakukan oleh

actor

maupun system. Gambar 3.4 dan 3.5 dibawah ini merupakan rancangan dari


(58)

Gambar 3.4

Diagram

Sequence

enkripsi dan kirim


(59)

3.

Class

Diagram

Menggambarkan keadaan suatu

system

(

atribbut

), dan memberikan pelayanan

untuk menyelesaikan keadaan tersebut (metoda). Gambar 3.6 dibawah ini

merupakan gambaran dari sebuah

class

diagram :


(60)

4.

Activity

Diagram

Menggambarkan alir dari system yang sedang dirancang. Gambar 3.7 dan 3.8

dibawah ini merupakan bentuk dari

activity

diagram yang akan dirancang :

Gambar 3.7

Activity

diagram pengiriman

file

enkripsi

! " #

!

$ % !

$ # % !


(61)

3.4

Perancangan Proses

Tujuan perancangan proses adalah tahap untuk memperbaiki atau meningkatkan

efisiensi kerja sistem. Tahap ini sangat penting dalam menentukan baik atau tidaknya

hasil perancangan sistem yang diperoleh. Tahap perancangan proses dapat

digambarkan sebagai perancangan untuk membangun suatu sistem dan

mengkonfigurasikan komponen-komponen perangkat lunak dan perangkat kerasnya

sehingga menghasilkan sistem yang lebih baik bagi

user

. Proses yang dirancang

diuraikan menjadi beberapa bagian yang dapat membentuk sistem tersebut menjadi

satu komponen.


(62)

3.4.1

Flowchart

Proses Enkripsi dan dekripsi

Blowfish

A.

Flowchart

Enkripsi

Blowfish

Pada gambar 3.9 dibawah ini merupakan gambar dari proses enkripsi

Blowfish

:


(63)

dari gambar 3.9 diatas berhubungan dengan gambar 2.9 struktur algoritma

Blowfish

pada BAB II, dapat diperoleh keterangan sebagai berikut :

1.

Memulai proses enkripsi (

plaintext

) dengan x=64 bit

2.

X dibagi menjadi 2, XL (x

left

=32 bit) dan XR (x

right

=32 bit)

3.

i = 0 merupakan inisial perputaran yang dimulai dari 0

4.

Melanjutkan proses selanjutnya, yaitu operasi XL = XL xor Pi dan XR = F(XL)

xor XR

5.

Menukar hasil dari XL dan XR (XL= XR dan XR=XL)

6.

Melakukan perulangan sebanyak 16 kali perulangan, dan melakukan kembali

penukaran XL dan XR (i = i+ 1)

7.

Pada proses ke-17 lakukan operasi untuk XR = XR xor P17 dan XL = XL xor

P18.

8.

Menggabungkan kembali XL dan XR (sehingga menjadi x=64 bit)

9.

Menghasilkan

chipertext

dengan x=64 bit


(64)

B.

Flowchart

Dekripsi

Blowfish

Pada gambar 3.10 dibawah ini merupakan gambar dari proses dekripsi

Blowfish

:


(65)

dari gambar 3.10 diatas dapat diperoleh keterangan sebagai berikut :

1.

Memulai proses dekripsi (

chipertext)

x= 64 bit (xL= 32

bit

dan xR=32

bit

)

2.

Menggabungkan XL dan XR (sehingga menjadi x=64 bit)

3.

Pada proses ke-17 lakukan operasi untuk XR = XR xor P17 dan XL = XL xor

P18.

4.

Menukar hasil nilai XL dan XR (XL= XR dan XR=XL)

5.

i = 0 merupakan inisial perputaran yang dimulai dari 0

6.

Melakukan perulangan sebanyak 16 kali perulangan, dan melakukan kembali

penukaran XL dan XR (i= i + 1)

7.

Melanjutkan proses selanjutnya, yaitu operasi XL = XL xor Pi dan XR =

F(XL) xor XR

8.

Menggabungkan kembali XL dan XR (sehingga menjadi x=64 bit)

9.

Menghasilkan

Plaintext

dengan x=64 bit


(66)

3.4.2 Flowchart proses enkripsi dan dekripsi

Twofish

A. Enkripsi

Twofish

Pada gambar 3.11 dibawah ini merupakan gambar dari proses enkripsi

Twofish

:


(67)

Dari gambar 3.11 diatas dapat diperoleh keterangan sebagai berikut :

1.

memulai proses enkripsi (

plaintext

) dengan ukuran blok 128 bit

2.

blok

plaintext

dibagi menjadi 4 bagian

3.

input whitening

ke 4 bagian tersebut di XOR kan dengan 4 buah kata dari

kunci yang diekspansi

4.

diulang hingga 16 putaran (i= i + 1), pada setiap putaran kedua kata yang

pertama sebagai masukan dari fungsi F, kata ke tiga dilakukan operasi XOR

dan dirotasikan kekanan sebanyak 1 bit,kata ke empat dirotasikan kekanan 1

bit dan dilakukan rotasi XOR pada keluaran kedua fungsi F

5.

menukarkan hasil ROR dan ROL

6.

output whitening

hasil keluaran dan melakukan operasi XOR dengan 4 buah

kata dari kunci yang diekspansi

7.

menggabungkan hasil ROR dan ROL, membatalkan proses penukaran pada

pertukaran terakhir.

8.

Menghasilkan

chipertext


(68)

B. Dekripsi

Twofish

Pada gambar 3.12 dibawah ini merupakan gambar dari proses dekripsi

Twofish

:


(69)

dari gambar 3.12 diatas dapat diperoleh keterangan sebagai berikut :

1.

memulai proses dekripsi (

chipertext

) dengan ukuran blok 128 bit

2.

menukarkan hasil ROR dan ROL

3.

whitening

hasil keluaran dan melakukan operasi XOR dengan 4 buah kata dari

kunci yang diekspansi

4.

menggabungkan hasil ROR dan ROL, membatalkan proses penukaran pada

pertukaran terakhir.

5.

diulang hingga 16 putaran (i=i+ 0), pada setiap putaran kedua kata yang

pertama sebagai masukan dari fungsi F, kata ke tiga dilakukan operasi XOR

dan dirotasikan kekanan sebanyak 1 bit,kata ke empat dirotasikan kekanan 1

bit dan dilakukan rotasi XOR pada keluaran kedua fungsi F

6.

whitening

ke 4 bagian tersebut di XOR kan dengan 4 buah kata dari kunci

yang diekspansi

7.

blok

plaintext

dibagi menjadi 4 bagian

8.

menghasilkan plaintext blok = 128 bit

9.

selesai


(70)

3.5

Perancangan

Interface

Aplikasi Kriptografi

3.5.1

Interface

Aplikasi Enkripsi dan kirim

Gambar

3.13

dibawah ini merupakan rancangan dari tampilan atau

interface

dari

aplikasi enkripsi yang akan dibuat adalah :


(71)

Dibawah ini merupakan keterangan dari gambar 3.13 diatas, yaitu :

1.

Frame

atas, merupakan judul atau nama program aplikasi yang akan dibuat

2.

Menampilkan alamat dan nama

file

3.

Kunci 1 (enkripsi

blowfish

)

4.

Kunci 2 (enkripsi

twofish

)

5.

Port

, jalur yang digunakan

6.

IP

address

tujuan

7.

Button_

pilih file

,

berfungsi untuk memanggil proses memilih

file

yang akan

diproses

8.

Button_start

koneksi, berfungsi untuk memanggil proses koneksi jaringan

9.

List

koneksi, untuk mengetahui koneksi jaringan

10.

Button

kirim, memanggil fungsi proses enkripsi

blowfish

dan

twofish

11.

Progress blowfish

, merupakan

progress

dari enkripsi

blowfish

12.

Progress twofish

, merupakan

progress

dari enkripsi

twofish

13.

Progress

kirim, merupakan

progress

dari kirim enkripsi

14.

Button_Reset

, berfungsi untuk memanggil proses reset semua yang telah di

inputkan

15.

Button_About

, berfungsi untuk memanggil form about yang berisi mengenai

petunjuk program

16.

Button_Exit

, berfungsi untuk keluar dari program


(72)

18.

Waktu proses enkripsi

blowfish,

untuk

menampilkan waktu proses enkripsi

blowfish

19.

Waktu proses enkripsi

twofish,

menampilkan waktu proses enkripsi

twofish

20.

Waktu kirim, untuk mengetahui waktu pengiriman

file

21.

Icon

proses, untuk mengetahui

icon file

yang akan diproses

22.

IP

Address,

untuk menampilkan IP

Address

dari computer

3.5.2

Interface

Aplikasi Dekripsi

Gambar

3.14

dibawah ini merupakan rancangan dari tampilan atau

interface

dari

aplikasi dekripsi yang akan dibuat adalah :


(73)

Dibawah ini merupakan keterangan dari gambar 3.13 diatas, yaitu :

1.

Frame

atas, merupakan judul atau nama program aplikasi yang akan dibuat

2.

List

koneksi, untuk mengetahui koneksi jaringan

3.

Port

, jalur yang digunakan

4.

Button_start

koneksi, berfungsi untuk memanggil proses koneksi jaringan

5.

Menampilkan alamat dan nama

file

6.

Kunci 1 (enkripsi

blowfish

)

7.

Kunci 2 (enkripsi

twofish

)

8.

Button_

Ambil file

,

berfungsi untuk memanggil proses memilih

file

yang akan

diproses

9.

Button

dekripsi, memanggil fungsi proses dekripsi

twofish

dan

blowfish

10.

Progress twofish

, merupakan

progress

dari enkripsi

twofish

11.

Progress blowfish

, merupakan

progress

dari enkripsi

blowfish

12.

Button_Reset

, berfungsi untuk memanggil proses reset semua yang telah di

inputkan

13.

Button_About

, berfungsi untuk memanggil form about yang berisi mengenai

petunjuk program

14.

Button_Exit

, berfungsi untuk keluar dari program


(74)

16.

Waktu proses dekripsi

twofish,

untuk

menampilkan waktu proses enkripsi

twofish

17.

Waktu proses enkripsi

blowfish,

menampilkan waktu proses enkripsi

blowfish

18.

Icon

proses, untuk mengetahui

icon file

yang akan diproses

19.

IP

Address,

untuk menampilkan IP

Address

dari computer


(75)

66

4.1 Pengujian Sistem

Pengujian

system

merupakan tahap selanjutnya setelah Program atau aplikasi

perangkat lunak selesai dalam pembuatannya. Pengujian

system

yang dilakukan

meliputi dua tahapan, yaitu pengujian

Alpha

dan

Betha

. Pengujian tersebut dilakukan

untuk mengevaluasi hasil

system

yang dibuat.

4.1.1 Pengujian

Alpha

Pengujian

Alpha

merupakan pengujian fungsional

yang digunakan untuk

menguji

system

yang telah dibuat dengan metode pengujian

black box

. Pengujian

black box

terfokus pada persyaratan fungsional perangkat lunak.

Dibawah ini merupakan tahapan dari pengujian fungsional yang akan

dilakukan, yaitu :

a.

Rencana Pengujian

Rencana pengujian yang akan dilakukan pada aplikasi keamanan pengiriman

data ini selengkapnya terlihat pada tabel 4.1 dibawah ini :


(76)

Tabel 4.1

Rencana pengujian program aplikasi keamanan pengiriman data

Item Uji

Detail Pengujian

Jenis Uji

Enkripsi /

kirim

file

memilih

file

yang akan di enkripsi dengan

menggunakan

algoritma

blowfish

dan

twofish

dengan memasukkan kunci ,

memasukkan IP tujuan pengiriman

Black box

Dekripsi

Mengambil

file

hasil enkripsi yang telah

dikirimkan

dan

mendekripsikannya

berdasarkan kunci enkripsi

Black box

b.

Uji Coba dan hasil pengujian

Berdasarkan uji coba dan hasil pengujian yang dilakukan Pengujian yang

dilakukan meliputi pengujian Enkripsi, Kirim

file

, koneksi, dan Dekripsi.

Berikut ini merupakan pengujian-pengujian yang dilakukan.

1.

Pengujian Proses Enkripsi

Dibawah ini merupakan tabel pengujian dari proses Enkripsi pada data normal

yang akan dijelaskan pada tabel 4.2 :

Tabel 4.2

Pengujian Proses Enkripsi / kirim (data normal)

Kasus dan Hasil Uji (Data Normal)

Data Masukan

File

kirim, kunci 1, kunci 2, IP tujuan

Yang diharapkan

memilih

file

yang akan diproses dan memasukkan kunci

yang dipakai pada saat proses enkripsi dan mengirim

serta menampilkan pesan yang menandakan berhasil

dalam proses

Pengamatan

Semua tampilan dapat berjalan dan berhasil


(77)

Dibawah ini merupakan tabel pengujian dari data salah, yang dijelaskan pada tabel

4.3 :

Tabel 4.3

Pengujian Proses Enkripsi (data salah)

Kasus dan Hasil Uji (Data salah)

Data Masukan

File

kirim, kunci 1, kunci 2, IP tujuan : kosong

Yang diharapkan

Akan ditampilkan kesalahan pada tahap yang terlewatkan.

Pengamatan

Menampilkan pesan kesalahan tahap

Kesimpulan

Dapat menampilkan pesan kesalahan

2.

Pengujian Proses Dekripsi

Dibawah ini merupakan tabel pengujian dari proses dekripsi dari

file

enkripsi yang

telah dikirim pada proses normal yang akan dijelaskan pada tabel 4.4 :

Tabel 4.4

Pengujian Proses Dekripsi

file

(data normal)

Kasus dan Hasil Uji (Data Normal)

Data Masukan

File

enkripsi, kunci

2, kunci 1

Yang diharapkan

Mengambil

file

yang telah dienkripsi serta memasukkan

kunci 2 dan kunci1 yang dipakai pada saat enkripsi.

Dilakukan secara berurut maka akan menampilkan pesan

yang menandakan berhasil dalam proses

Pengamatan

Menampilkan keberhasilan dari proses


(1)

84

Dari tabel 4.11diatas dapat diperoleh sebuah grafik sebagai berikut :

69 69,5 70 70,5 71 71,5 72

Waktu dekripsi (Detik)

Txt Doc Jpg Mp3 Mpeg Jenis File

Waktu Dekripsi

Gambar 4.22 Grafik waktu dekripsi Blowfish

Dibawah ini merupakan contoh pengujian proses dekripsi file enkripsi pada file Doc, yang di jelaskan sebagai berikut :


(2)

85

Gambar 4.24 Pesan Dekripsi Berhasil


(3)

86

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil pembelajaran dan pengujian yang dilakukan oleh penulis dalam Laporan Tugas Akhir ini, maka dapat ditarik beberapa kesimpulan sebagai berikut :

1. Algoritma Twofish lebih cepat dalam prosesnya dibandingkan Algoritma Blowfish

2. Penggunaan kunci merupakan sesuatu yang sangat penting dalam proses enkripsi dan dekripsi, sehingga dibutuhkan suatu kerahasiaan dalam pemakaian kuncinya

3. Kombinasi Algoritma Blowfish dan Twofish terbukti dapat mengamankan pengiriman data pada jaringan Local Area Network (LAN), selama kunci yang dipakai tidak diketahui oleh pihak yang tidak berkepentingan

5.2 Saran

Dalam penggunaan kunci diusahakan mudah diingat dan disepakati oleh kedua belah pihak. Dalam aplikasi keamanan pengiriman data pada jaringan local Area Network yang telah dibuat ini, mungkin terdapat kekurangan sehingga diharapkan akan ada pengembangan atau perbaikan dari aplikasi kriptografi ini.


(4)

87

DATAR PUSTAKA

[1] Schneier, Bruce. 1993 "Description of a new variable lenght key, 64-bit"

[2] Schneier, Bruce. 1995 "The Blowfish Encryption Algorithm-One Year Later” Dr Dobbs Journals

[3] Schneier, Bruce. 2001. The Twofish Encryption Algorithm - Block encryption for the 21st century. Dr. Dobb’s Journal

[4] Pawel Chodoweic, Kris Gaj .1999 "Implementation of the Twofish chiper using FPGA devices".

[5] Schneier, Bruce,John Kelsey, Doug Whiting, David Wagner, Chris Hall,Niels Ferguson;. 1998 "Twofish : A 128-bit block chiper".

[6] Syafari, Anjar ."sekilas tentang enkripsi Blowfish", www.ilmukomputer.com,2003-2007. [7] Kurniawan.Y "kriptografi keamanan internet dan jaringan komunikasi" informatika

Bandung, 2004

[8] Randy a. "studi dan perbandingan algoritma blowfish dan twofish",

laboratorium dan rekayasa komputasi, program studi teknik informatika ITB [9] Octamanullah, M. "perbandingan algoritma kunci simetrik blowfish dan twofish" [10] Irawan, Budhi. "Jaringan Komputer", Graha Ilmu Yogyakarta, 2005

[11] www.counterpane.com/blowfish.htm [12] www.counterpane.com/twofish.htm [13] www.planetsourcecode.com


(5)

LAMPIRAN C

BIODATA PENYUSUN


(6)

116

Biodata Penyusun

I. Data Pribadi

Nama : Novan Dwianto

Jenis Kelamin : Laki - laki

Tempat Tanggal Lahir : Indramayu, 6 November 1985

Alamat : Jln. Raya Losarang RT 03 RW 01 Kab Indramayu

Telepon : 0234 - 505093

Handphone : 081321363990 / 022 92262403

II. Latar Belakang Pendidikan Formal Tahun 1991 - 1997 : SDN Krimun II Tahun 1997 - 2000 : SLTPN I Losarang Tahun 2000 - 2003 : SMUN 1 Kandanghaur

Tahun 2003 - Sekarang : Universitas Komputer Indonesia, Bandung