BAB II TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB I PENDAHULUAN 1.1 Latar Belakang

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

APLIKASI ENKRIPSI PENGIRIMAN FILE SUARA MENGGUNAKAN ALGORITMA BLOWFISH

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

IMPLEMENTASI ALGORITMA BLOWFISH UNTUK ENKRPSI DAN DEKRIPSI BERBASIS WEB

BAB 2 TINJAUAN PUSTAKA

APLIKASI PENGAMANAN DOKUMEN OFFICE DENGAN ALGORITMA KRIPTOGRAFI BLOWFISH

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

RANCANG BANGUN APLIKASI ENKRIPSI DATABASE MYSQL DENGAN ALGORITMA BLOWFISH

IMPLEMENTASI ALGORITMA BLOWFISH UNTUK ENKRPSI DAN DEKRIPSI BERBASIS JAVA SWING

PERANGKAT LUNAK UNTUK PROSES ENKRIPSI DESKRIPSI MESSAGE DENGAN ALGORITMA BLOWFISH. Ary Fathany Kristiawan 1) Rudy Setiawan 2)

Aplikasi Kriptografi File Menggunakan Metode Blowfish dan Metode Base64 pada Dinas Kependudukan dan Pencatatan Sipil Kota Tangerang Selatan

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Studi Perbandingan Cipher Block Algoritma Blowfish dan Algoritma Twofish

Elliptic Curve Cryptography (Ecc) Pada Proses Pertukaran Kunci Publik Diffie-Hellman. Metrilitna Br Sembiring 1

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN Latar Belakang

Analisis Performansi Algoritma AES dan Blowfish Pada Aplikasi Kriptografi

Penerapan Algoritma Blowfish untuk Membuat Sebuah Model Kriptosistem dan Menganalisis Kinerja Algoritma Blowfish dengan Simulasi Data Terbatas

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

TINJAUAN PUSTAKA. Protokol

BAB 2 LANDASAN TEORI

BAB Kriptografi

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

IMPLEMENTASI HASH FUNCTION DALAM MESSAGE DIGEST 5 (MD5)

OPTIMASI METODE BLOWFISH UNTUK MENGAMANKAN PASSWORD PADA KRIPTOGRAFI

STUDI PERBANDINGAN ALGORITMA SIMETRI BLOWFISH DAN ADVANCED ENCRYPTION STANDARD

Menggunakan Algoritma Kriptografi Blowfish

STUDI PERBANDINGAN CIPHER BLOK ALGORITMA BLOWFISH DAN ALGORITMA CAMELLIA

BAB II LANDASAN TEORI

Kriptografi. A. Kriptografi. B. Enkripsi

BAB 2 LANDASAN TEORI

Vol. 3, No. 2, Juli 2007 ISSN PERANAN KRIPTOGRAFI DALAM KEAMANAN DATA PADA JARINGAN KOMPUTER

RC4 Stream Cipher. Endang, Vantonny, dan Reza. Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 40132

Kriptografi Kunci Rahasia & Kunci Publik

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

+ Basic Cryptography

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

Universitas Sumatera Utara BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

JURNAL DASI ISSN: Vol. 11 No. 2 Juni 2010

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

BAB 2 LANDASAN TEORI

Pembangkitan Nilai MAC dengan Menggunakan Algoritma Blowfish, Fortuna, dan SHA-256 (MAC-BF256)

ANALISIS PERBANDINGAN KINERJA ALGORITMA BLOWFISH DAN ALGORITMA TWOFISH PADA PROSES ENKRIPSI DAN DEKRIPSI

Kriptografi Modern Part -1

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

2016 IMPLEMENTASI DIGITAL SIGNATURE MENGGUNAKAN ALGORITMA KRIPTOGRAFI AES DAN ALGORITMA KRIPTOGRAFI RSA SEBAGAI KEAMANAN PADA SISTEM DISPOSISI SURAT

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

PENGAMANAN DATA MENGGUNAKAN METODA ENKRIPSI SIMETRI DENGAN ALGORITMA FEAL

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

SISTEM KRIPTOGRAFI. Mata kuliah Jaringan Komputer Iskandar Ikbal, S.T., M.Kom

BAB 2 LANDASAN TEORI

ENKRIPSI DENGAN MENGGUNAKAN METODE ELGAMAL PADA PERANGKAT MOBILE

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BAB I PENDAHULUAN. Universitas Sumatera Utara

MESSAGE DIGEST 5 YANG MENGGUNAKAN APLIKASI KRIPTOGRAFI DAN FUNGSI HASH

Oleh: Benfano Soewito Faculty member Graduate Program Universitas Bina Nusantara

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

BAB 2 LANDASAN TEORI

IMPLEMENTASI ALGORITMA TEA DAN FUNGSI HASH MD4 UNTUK ENKRIPSI DAN DEKRIPSI DATA

BAB I PENDAHULUAN 1.1 Latar Belakang

Pengembangan Aplikasi Steganografi pada Citra dengan Metode Blowfish dan Sequential Colour Cycle

BAB II TINJAUAN PUSTAKA. Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message).

BAB I PENDAHULUAN. Pengiriman informasi yang dilakukan dengan mengirimkan data tanpa melakukan

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom

BAB 1 PENDAHULUAN Latar Belakang

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal

OPTIMASI ENKRIPSI PASSWORD MENGGUNAKAN ALGORITMA BLOWFISH

Penggunaan Digital Signature Standard (DSS) dalam Pengamanan Informasi

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

BAB II. Dasar-Dasar Kemanan Sistem Informasi

Tegar Meda Rahman

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

RUANG LINGKUP KRIPTOGRAFI UNTUK MENGAMANKAN DATA Oleh: Budi Hartono

ALGORITMA ELGAMAL UNTUK KEAMANAN APLIKASI

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Kompleksitas Waktu Algoritma Kriptografi RC4 Stream Cipher

Perhitungan dan Implementasi Algoritma RSA pada PHP

Integrasi Kriptografi Kunci Publik dan Kriptografi Kunci Simetri

BAB 1 PENDAHULUAN Latar Belakang

BAB III ANALISIS DAN DESAIN SISTEM

Algoritma Enkripsi dan Dekripsi Blowfish Advance CS Sebagai Sistem Keamanan Data

BAB 2 LANDASAN TEORI

KEAMANAN DATA DENGAN METODE KRIPTOGRAFI KUNCI PUBLIK

BAB II LANDASAN TEORI

ALGORITMA MESSAGE DIGEST 5 (MD5) DALAM APLIKASI KRIPTOGRAFI

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

Transkripsi:

BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Perkembangan teknologi saat ini memungkinkan pengiriman data dari satu pihak ke pihak lainnya menjadi lebih cepat dan mudah. Namun perkembangan teknologi ini juga membuka celah celah 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. Untuk mengatasi hal ini banyak cara yang digunakan untuk mengamankan data, salah satunya adalah dengan menggunakan kriptografi. Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan. Kriptografi adalah sebuah ilmu menyandikan dan mengacak suatu pesan untuk menjaga keamanan dari isi pesan tersebut. Kriptografi diperlukan untuk menghindari pihak yang tidak berhak mengetahui isi dari pesan yang dikirimkan tersebut. Dengan adanya kriptografi, isi dari pesan akan diacak sedemikian rupa menggunakan algoritma kriptografi tertentu sehingga akan menghasilkan sebuah pesan yang acak yang tidak dapat dibaca sebelum isi pesan yang sebenarnya kembali dimunculkan menggunakan algoritma kriptografi tersebut. (Schneier, 1996) Pesan asli sebelum dienkripsi disebut plain text.sedangkan pesan yang sudah diacak disebut cipher text. Proses pengubahan plain text menjadi cipher text disebut dengan enkripsi, sedangkan proses pengubahan cipher text kembali menjadi plain text disebut dengan dekripsi. Plain Text Enkripsi Cipher Text Dekripsi Plain Text Gambar 2.1 Proses Enkripsi -Dekripsi (Scheiner,1996) Tujuan penggunaan kriptografi adalah dalam menjaga keamanan data dalam aspek- aspek berikut : 7

8 1. Confidentiality (kerahasiaan) : Menjaga isi informasi agar hanya dapat dilihat oleh pihak yang berhak. 2. Data integrity (integritas data) : Menjamin keaslian data selama pengiriman. 3. Authentication (otentikasi) : Mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (userauthentication) dan mengidentifikasi kebenaran sumber pesan (data originauthentication) (Tilborg, 2000). 4. Non-repudiation (penyangkalan): Mencegah entitas yang berkomunikasi melakukan penyangkalan, sehingga pengirim pesan tidak dapat menyangkal telah melakukan pengiriman pesan atau penerima pesan tidak dapat menyangkal telah menerima pesan. (Hendarsyah dan Wardoyo 2011) Jenis algoritma berdasarkan kuncinya dibagi atas : Algoritma simetri dan algoritma asimetri. Algoritma simetri menggunakan satu kunci rahasia yang sama 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 private key yang digunakan untuk mendekripsikan pesan. Contoh algoritma asimetris adalah DES, AES, RC4, Blowfish, dan lain- lain, sedangkan algoritma asimetris contohnya RSA, Elgamal, Diffie Hellman, dan lain lain (Stallings, 2005) 2.2 Pertukaran Kunci DIffie Hellman Pertukaran kunci Diffie Hellman (DH), diusulkan oleh Whitfield Diffie dan Martin Hellman pada tahun 1976, adalah skema algoritma asimetris yang pertama kali diterbitkan dalam literatur terbuka.penemuan ini juga dipengaruhi oleh karya Ralph Merkle.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 C, 2009) Kita dapat memberikan public key ke manapun tujuan yang kita inginkan, melalui telepon, internet, keyserver, dan sebagainya. (alamsyah, 2011). Kunci rahasia yang telah didistribusikan kemudian digunakan untuk enkripsi dan dekripsi.fungsi algoritma ini sendiri terbatas pada pertukaran nilai rahasia. (Stallings, 2005)

9 Algoritma Diffie-Hellman tergantung untuk efektivitas pada kesulitan menghitung logaritma diskrit.(stalling, 2005) Cara kerja dari algoritma ini adalah sebagai berikut: 1. Sepakati sebuah bilangan prima yang besar, yaitu p. Lalu pilih bilangan integer yang tidak melebihi dari nilai p, yaitu g, yang biasa disebut bilangan basis atau generator. Kedua bilangan tersebut dapat diketahui secara publik. 2. Pengirim memilih sebuah bilangan acak, x, bilangan ini tidak boleh diketahui oleh pihak lain. 3. Pengirim memilih sebuah bilangan acak, y, bilangan ini tidak boleh diketahui oleh pihak lain. 4. Pengirim menghitung A = g x mod p. Bilangan A ini dapat diketahui secara publik. 5. Penerima menghitung B = g y mod p. Bilangan B ini dapat diketahui secara publik. 6. Pengirim memberikan nilai A kepada penerima, dan sebaliknya penerima memberikan nilai B kepada pengirim. 7. Pengirim menghitung Ka = B x mod p. 8. Penerima menghitung Kb = A y mod p. Berdasarkan hukum aljabar nilai Kasama dengan Kbatau bisa disebut: Ka = Kb = K. Nilai K adalah kunci yang akan digunakan pada proses enkripsi dan dekripsi. Pembuktian Ka = Kb = K : Ka= Kb B x mod p = A y mod p (g y mod p) x mod p = (g x mod p) y mod p (g y ) x mod p = (g x ) y mod p g yx mod p = g xy mod p Untuk lebih jelasnya protokol pertukaran kunci Diffie Hellman ditunjukan pada bagan berikut:

10 Gambar 2.2 Protokol Pertukaran Kunci Diffie Hellman (Stallings,2005) Keamanan dari Diffie-Hellman pertukaran kunci terletak pada kenyataan bahwa, relatif mudah untuk menghitung eksponensial modulo prima, sementara itu sangat sulit untuk menghitung logaritma diskrit. Hal tersebut akan bertambah sulit jika dipilih bilangan prima yang besar. (Stallings, 2005) Algoritma ini tidak hanya terbatas pada 2 pengguna saja. Jumlah pengguna yang ingin menggunakan pertukaran kunci menggunakan algoritma Diffie- Hellman ini tidak dibatasi. Hal ini hanya berlaku jika memenuhi 2 prinsip yang harus dilakukan: 1. Bilangan p dan g yang telah disetujui oleh semua anggota. 2. Setiap anggota harus melakukan pertukaran data yang diperlukan oleh anggota lainnya sehingga semua data dapat didapatkan secara merata: g abc.n (Gunawan M, 2012) Penggunaan Algoritma Diffie-Hellman dalam pertukaran kunci dapat dilakukan secara aman dan efektif dalam pemrosesan jika dibandingkan dengan algoritma RSA yang cenderung lebih lama dalam pemrosesan algoritmanya. Algoritma Diffie-Hellman lebih memfokuskan dalam perubahan nilai kunci dan proses matematis dalam penentuan kunci akhir yang sama. Sedangkan Algoritma RSA lebih memfokuskan pada saat enkripsi dan dekripsi. (Gunawan M, 2012) Algoritma simetri seperti DES dan juga Blowfish mempunyai kelemahan yaitu jika kunci dapat disadap maka pesan dapat dipecahkan. Algoritma Diffie- Hellman hanya berfungsi untuk melakukan generate terhadap kunci sehingga

11 membutuhkan algoritma enkripsi untuk lebih mengamankannya. Menggunakan perpaduan algoritma simetri dan Diffie Hellmann akan membuat keamanan yang lebih kuat. (Jafar, 2011) 2.3 Algoritma Blowfish Blowfish merupakan algoritma simetri yang tergolong dalam metode block cipher. Ada dua tipe dasar algoritma simetris: block cipher dan stream cipher. Sebuah block cipher memproses block byte (biasanya 64 atau 128 bit) pada satu waktu. Sebuah stream cipher memproses satu byte atau bahkan satu bit pada suatu waktu. (Thorsteinson and Ganesh, 2003) Blowfish dibuat oleh seorang Cryptanalyst bernama Bruce Schneier, yang merupakan Presiden perusahaan Counterpane Internet Security.Inc, dandipublikasikan tahun 1994. Algoritma ini digunakan pada komputer yang mempunyai microprocessorbesar (32-bit keatas dengan cache data yang besar).(schneier, 1996) Karateristik Blowfish adalah sebagai berikut: 1. Merupakan block cipher dengan 64 bit block 2. Panjang kunci merupakan variable dengan panjang kunci hingga 448 bit 3. Mengenkripsi data pada microprocessor 32 bit dengan rata rata 18 clock cycle per byte, lebih cepat dari DES dan IDEA. 4. Tidak mempunyai hak paten dengan harga yang gratis. 5. Dapat berjalan pada memori kurang dari 5 K. 6. Mempunyai struktur yang sederhana dan implementasi yang mudah. (Pachghare, 2009) 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 putaran.setiap putaran terdiri dari permutasi kuncidependent dan substitusi

12 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.(schneier, 1996) Blowfish menggunakan subkunci yang besar.kunci tersebut harus dihitung sebelum enkripsi atau dekripsi data. 1. Bentuk inisial P-array sebanyak 18 buah (P1,P2,..P18) masingmsing bernilai 32-bit. Array P terdiri dari delapan belas kunci 32-bit subkunci: P1,P2,.,P18 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 S2,0,S2,1,..,S2,255 S3,0,S3,1,..,S3,255 S4,0,S4,1,..,S4,255 Blowfish adalah sebuah jaringan Feistel yang terdiri dari 16 putaran. Inputannya adalah elemen data 64 bit. Cara untuk melakukan enkripsi adalah sebagai berikut: 1. Pertama - tama plaintext yang akan dienkripsi diasumsikan sebagai masukan, plain text tersebut diambil sebanyak 64-bit, dan apabila kurang dari 64-bit maka tambahkan bitnya, supaya dalam operasi nanti sesuai dengan datanya. 2. Hasil pengambilan tadi dibagi 2, 32-bit pertama disebut XL, 32-bit yang kedua disebut XR. 3. Selanjutnya lakukan operasi berikut: For i = 1 to 16: XL = XL XOR Pi XR = F(XL) XOR XR Tukar XL dan XR 4. Setelah iterasi ke-enam belas, tukar XL dan XR lagi untuk melakukan undo pertukaran terakhir. Lalu lakukan XR = XR XOR P17

13 XL = XL XOR P1 5. Proses terakhir satukan kembali XL dan XR sehingga menjadi 64-bit kembali (Scheiner 1996) Gambar 2.3 Jaringan Feistel Algoritma Blowfish (Scheiner 1996) Fungsi F adalah sebagai berikut: Bagi XL menjadi empat bagian 8-bit: a,b,c dan d. F(XL) = ((S1,a + S2,b mod 2 32 ) XOR S3,c) + S4,d mod 2 32.

14 Gambar 2.4 Fungsi F Pada Algoritma Blowfish (Scheiner 1996) Cara 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 Blowfish, metodanya adalah sebagai berikut: 1. Pertama-tama inisialisasi P-array dan kemudian empat S-box secara berurutan dengan string yang tetap. String ini terdiri digit hexadesimal dari Pi. 2. XOR P1 dengan 32 bit pertama kunci, XOR P2 dengan 32 bit kedua dari kunci dan seterusnya untuk setiap bit dari kunci (sampai P18). Ulangi terhadap bit kunci sampai seluruh P-array di XOR dengan bit kunci. 3. Enkripsi semua string nol dengan algoritma Blowfiah dengan menggunakan subkunci seperti dijelaskan pada langkah (1) dan (2). 4. Ganti P1 dan P2 dengan keluaran dari langkah (3) 5. Enkripsi keluaran dari langkah (3) dengan algoritma Blowfish dengan subkunci yang sudah dimodifikasi. 6. Ganti P3 dan P4 dengan keluaran dari langkah (5). 7. Lanjutkan proses tersebut, ganti seluruh elemen dari P-array, dan kemudian seluruh keempat S-box berurutan, dengan keluaran yang berubah secara berlanjut dari algoritma Blowfish (Scheiner 1996)

15 Blowfish mempunyai throughput, kecepatan, dan konsumsi memori yang lebih baik dibandingkan algoritma cipher block lainnya seperti AES, DES, dan 3DES. (Mandal, 2012) Algoritma Blowfish belum ditemukan kelemahan yang berarti hanya adanya weak key dimanadua entri dari S-box mempunyai nilai yang sama. Belumada cara untuk mengecek weak key sebelum melakukankey expansion, tetapi hal ini tidak berpengaruh terhadaphasil enkripsi. Hasil enkripsi dengan algoritma Blowfish sangat tidak mungkin dan tidak praktis untuk di terjemahkan tanpabantuan kunci. (Sutanto, 2009) Blowfish merupakan salah satu solusi yang baik untuk mengatasi masalah keamanan dan kerahasiaan data yang pada umumnya diterapkan dalam saluran komunikasi dan file. Algoritma Blowfish dapat diimplementasikan dengan bahasa apapun (selain C) namun harus disesuaikan cara penulisan maupun tipe-tipe datanya. (Ratih, 2006) 2.4 Electronic Mail (Email) Electronic mail atau yang sering disingkat email merupakan aplikasi TCP/IP yang saat ini banyak digunakan. Surat elektronik sudah mulai dipakai di tahun 1960-an. Pada saat itu Internet belum terbentuk, yang ada hanyalah kumpulan mainframe yang terbentuk sebagai jaringan. Mulai tahun 1980-an, surat elektronik sudah bisa dinikmati oleh khalayak umum.email adalah pesan yang terdiri atas kumpulan string ASCII dalam format RFC 822 yang dikembangkan thn 1982. (Yudhistira, 2011; Syaiful, 2010) Protokol yang biasanya digunakan pada email adalah Simple Mail Transfer Protokol (SMTP), Post Office Protokol 3 (POP3), dan Internet Message Access Protokol (IMAP). Protokol yang digunakan untuk mengirim email adalah SMTP, sedangkan protokol yang digunakan untuk mengunduh email adalah POP3 dan IMAP. (Mantoro,2012) Proses enkripsi memperlambatpengiriman email. Namun tidakmenggannggu, karena email tidak membutuhkan waktu yang real time seperti chatting.(rizal, 2009)

16 2.5 Fungsi Hash MD-5 Fungsi hash satu arah memiliki banyak nama yaitu: fungsi pembanding, fungsi penyusutan, intisari pesan, sidik jari, message integrity check (MIC) atau pemeriksa keutuhan pesan dan manipulation detection code (MDC) atau pendektesi penyelewengan kode (Scheiner, 1996 ) Fungsi hash satu arah dibuat berdasarkan ide tentang fungsi pemampatan. Fungsi hash adalah sebuah fungsi atau persamaan matematika yang mengambil input dengan panjang variabel (preimage) dan merubahnya menjadi panjang yang tetap (biasanya lebih pendek), keluarannya biasa disebut nilai hash. MD-5 adalah salah satu aplikasi yang digunakan untuk mengetahui bahwa pesan yang dikirim tidak ada perubahan sewaktu berada di jaringan. Jika ada perubahan nilai pada file yang diuji dengan md5, maka file tersebut telah berubah. (Sofwan, 2006) Message Digest 5 (MD-5) adalah salah satu penggunaan fungsi hash satu arah yang paling banyak digunakan. MD-5 merupakan fungsi hash kelima yang dirancang oleh Ron Rivest. MD-5 memproses teks masukan ke dalam blok-blok bit sebanyak 512 bit, kemudian dibagi ke dalam 32 bit sub blok sebanyak 16 buah. Keluaran dari MD-5 berupa 4 buah blok yang masing-masing 32 bit yang mana akan menjadi 128 bit yang biasa disebut nilai hash. 2.6 Avalanche Effect Avalanche effect adalah salah satu indikator baik atau tidaknya algoritma yang digunakan tersebut. Dalam penelitian Pamungkas et. al. (2006), mengutip dari buku Applied Cryptography karya Bruce Schneier mengatakan bahwa suatu avalanche effect dikatakan baik jika perubahan bit yang dihasilkan berkisar antara 45% -60%, dan akan sangat baik bila perubahan bit yang dihasilkan berkisar 50% atau separuhnya. Adapun rumus untuk mendapatkan nilai avalanche effect adalah sebagai berikut (Scheiner,1996): Avalanche Effect(AE) = bit berubah bit total x 100%