Penerpan Algoritma Kriptografi WAKE pada Aplikasi Chatting & Internet Monitor Berbasis LAN
Naskah Publikasi
diajukan oleh Ryan Maulana A 07.12.2377
Kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2012
APPLYING WAKE CRYPTOGRAPHY ALGORITHM TO CHATTING & INTERNET MONITOR LAN NETWORK BASED
PENERAPAN ALGORITMA KRIPTOGRAFI WAKE PADA APLIKASI CHATTING & INTERNET MONITOR
Ryan Maulana A Jurusan Sistem Informasi STMIK AMIKOM YOGYAKARTA
ABSTRACT
In order to Improving security that occurred when the user is doing chating in, then the need for a security method is by using one of the cryptographic algorithm that is WAKE (Word Auto Encryption), this algorithm itself uses 128-bit key, and a table 256 x 32 bits. In the algorithm, this algorithm uses XOR, AND, OR and Shift Right, before data is sent or transmitted, data is first encrypted with the encryption process. Thus, data is transmitted in the form of encrypted and unreadable text. In this situation, even though hackers can tap communication, but hackers can not know the communication that occurs, because the data is successfully intercepted a hacker is data in the form of encoded (encrypted) so it can not be read. At the receiver, encrypted text returned to the original text with the decryption process Purpose the research is the way / step how to implement the method WAKE (Word Auto Key Encryption) on the application chatting, studying the discharging 'connectivity is given by winsock on Visual Basic so that can implements it with create chatting applications. From the results of the discussion concerning the application of cryptography WAKE Chatting on the application and after completing several stages of data collection, identify problems, create solutions to solve the problem by adding a cryptographic facility, making the design, implementation of the chat application that uses cryptographic system WAKE as a safety tool messages at each interchange, which aims to reduce the risk of irresponsible parties aimed at the destruction, change, knowing the contents of the message from the user in order to satisfy users who demand their privacy is maintained. Keyword: Word Auto Key Encryption (WAKE)
1.
Pendahuluan Di zaman teknologi informasi ini, aplikasi chatting sering digunakan untuk saling
tukar-menukar pesan antar pengguna komputer. Bahkan fasilitas chatting seakan menjadi kebutuhan sehari-hari bagi penggunanya walaupun dalam keadaan sibuk mereka tetap sempat untuk menggunakan fasilitas chatting ini karena hampir semua aspek teknologi informasi memberikan fasilitas chatting. Hal itu bisa di lihat dari banyaknya peminat fasilitas chatting di seluruh dunia contohnya pengguna fasilitas yahoo messenger, facebook tetapi tidak semua kalangan menggunakan fasilitas koneksi internet baik yang di rumah, kantor dan instansi – instansi pemerintah, berdasar akan hal itu maka penulis bertujuan membuat aplikasi chatting yang berbasis LAN(Local Area Network), sehingga kegiatan chatting bisa berlangsung. Walaupun komunikasi yang terjadi akan berjalan secara offline tetap diperlukan pengamanan yang lebih karena bila saluran komunikasi yang digunakan kurang aman, maka hacker (penyerang) akan dengan mudah membobol saluran yang ada dan menyadap semua komunikasi yang terjadi karena hal itu dapat menyebabkan kerugian besar . Untuk mencegahnya dapat digunakan salah satu algoritma kriptografi. Sebelum data dikirim atau ditransmisikan, data terlebih dahulu disandikan dengan proses enkripsi. Dengan demikian data ditransmisikan dalam bentuk teks tersandi dan tak terbaca. Pada keadaan ini, walaupun hacker dapat menyadap komunikasi, hacker tidak dapat mengetahui isi komunikasi yang terjadi, karena data yang berhasil disadap hacker adalah data dalam bentuk tersandi (terenkripsi) sehingga tidak dapat dibaca. Di tempat penerima, teks tersandi dikembalikan lagi menjadi teks semula dengan proses dekripsi. 2. Landasan Teori Kriptografi (Cryptography) berasal dari bahasa yunani,terdiri dari dua suku kata yaitu kripto dan graphia.Kripto artinya menyembunyikan, sedangkan graphia artinya tulisan. Kriptografi adalah ilmu yang mempelajari teknik – teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasian data, keabsahan data, integritas data, serta autentikasi data. Tetapi tidak semua aspek keamanan 1
informasi dapat diselesaikan dengan kriptografi” . Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan. Ketika suatu pesan dikirim dari suatu tempat ke tempat lain, isi pesan tersebut mungkin dapat disadap oleh pihak lain yang tidak berhak untuk mengetahui isi pesan tersebut. Untuk menjaga pesan, maka pesan tersebut dapat diubah menjadi sebuah kode yang tidak dapat dimengerti pihak lain
1
Dony Ariyus, Kriptografi Keamanan Data dan Komunikasi. hal 9.
Enkripsi adalah sebuah Proses penyandian yang melakukan perubahan sebuah kode (pesan) dari yang bisa dimengerti (plainteks) menjadi sebuah kode yang tidak bisa dimengerti (chiperteks). Sedangkan proses kebalikannya untuk mengubah ciperteks menjadi plainteks disebut deskripsi. Proses enkripsi dan deskripsi memerlukan suatu 2
mekanisme dan kunci tertentu” . 2.1. Strem Chiper Stream cipher adalah jenis algoritma enkripsi simetri. Stream cipher dapat dibuat sangat cepat sekali, jauh lebih cepat dibandingkan dengan algoritma block cipher yang manapun. Algoritma block cipher secara umum digunakan untuk unit plaintext yang besar sedangkan stream cipher digunakan untuk blok data yang lebih kecil, biasanya ukuran bit. Proses enkripsi terhadap plaintext tertentu dengan algoritma block cipher akan menghasilkan ciphertext yang sama jika kunci yang sama digunakan. Dengan stream cipher, transformasi dari unit plaintext yang lebih kecil ini berbeda antara satu dengan 3
lainnya, tergantung pada kapan unit tersebut ditemukan selama proses enkripsi” . Satu stream cipher menghasilkan apa yang disebut suatu keystream (suatu barisan
bit
yang
digunakan
sebagai
kunci).
Proses
enkripsi
dicapai
dengan
menggabungkan keystream dengan plaintext biasanya dengan operasi bitwise XOR. Pembentukan keystream dapat dibuat independen terhadap plaintext dan ciphertext, menghasilkan apa disebut dengan synchronous stream cipher, atau dapat dibuat tergantung pada data dan enkripsinya, dalam hal mana stream cipher disebut sebagai self-synchronizing. Kebanyakan bentuk stream cipher adalah synchronous stream 4
ciphers” . Konsentrasi dalam stream ciphers pada umumnya berkaitan dengan sifat-sifat teoritis yang menarik dari one-time pad. Suatu one-time pad, kadang-kadang disebut Vernam cipher, menggunakan sebuah string dari bit yang dihasilkan murni secara random. Keystream memiliki panjang sama dengan pesan plaintext; string random digabungkan dengan menggunakan bitwise XOR dengan plaintext untuk menghasilkan ciphertext. Karena keystream seluruhnya adalah random, walaupun dengan sumber daya komputasi tak terbatas seseorang hanya dapat menduga plaintext jika dia melihat ciphertext. Metode cipher seperti ini disebut memberikan kerahasiaan yang sempurna (perfect secrecy). Metode stream cipher yang umum digunakan adalah RC4. Satu hal yang menarik bahwa mode operasi tertentu dari suatu block cipher dapat men-transformasikan 2
Ibid. hal13. Yusuf Kurniawan, Kriptografi Keamanan Internet dan Jaringan Komunikasi, hal 10. 4 Ibid. 3
secara efektif hasil operasi tersebut ke dalam satu keystream generator dan dalam hal ini, block cipher apa saja dapat digunakan sebagai suatu stream cipher; seperti dalam DES, CFB atau OFB. Akan tetapi, stream ciphers dengan desain khusus biasanya jauh 5
lebih cepat” . 2.2. WAKE (Word Auto Key Encryption) Metode WAKE merupakan salah satu algoritma stream cipher yang telah digunakan secara komersial. WAKE merupakan singkatan dari Word Auto Key Encryption. Metode ini ditemukan oleh David Wheeler pada tahun 1993. Metode WAKE menggunakan kunci 128 bit dan sebuah tabel 256 x 32 bit. Dalam algoritmanya, metode ini menggunakan operasi XOR, AND, OR dan Shift Right. Metode WAKE ini telah digunakan pada program Dr. Solomon Anti Virus. 6
Proses utama WAKE terdiri dari ” : a. Proses pembentukan tabel S-Box (Substitution Box), berfungsi untuk membentuk tabel S-Box sebesar 256 x 32 bit. Isi dari tabel S-Box ini akan digunakan pada proses pembentukan kunci. b. Proses pembentukan kunci, berfungsi untuk membangkitkan bit-bit kunci yang akan digunakan pada proses enkripsi dan dekripsi. c.
Proses enkripsi, berfungsi untuk menyandikan (encoding) pesan.
d. Proses dekripsi, berfungsi untuk mengembalikan cipher menjadi teks asli kembali. Inti dari metode WAKE terletak pada proses pembentukan tabel S-Box dan proses pembentukan kunci. Tabel S-Box dari metode WAKE bersifat fleksibel dan berbeda-beda untuk setiap putaran. (Schneier, 1996). 3.
Metode Penelitian Metode Penelitian atau cara dalam penyelidikan secara sistematis yang
bertujuan untuk memberikan informasi guna menyelesaikan masalah berdasar pada objek yang di teliti yaitu penerapan kriptografi WAKE(Word Auto Key Encryption) pada aplikasi chatting, setalah melakukan penelitian di dapati bahwa dengan menerapkan kriptografi
WAKE
pada
aplikasi
chatting
akan
meningkatkan
level
keamanan
data/informasi saat kegiatan chatting berlangsung hal itu dilakukan untuk menghindari masalah yang bisa di timbulkan oleh pihak – pihak tidak bertanggung jawab, karena pihak – pihak tersebut bisa saja melakukan gangguan pada sistem aplikasi chatting bisa dengan cara mencuri, merubah, mengurangi, menambah pesan para user saat sedang 5 6
Ibid. hal 11. http://www.cix.co.uk/~klockstone/wake.htm,tgl 8 agustus 2011.
melakukan chatting. Adapun langkah – langkah penelitian yang telah dilakukan akan dibahas di bawah. 3.1. Langkah – Langkah Penelitian 3.1.1.Perumusan Masalah Permintaan akan aplikasi chatting yang aman di saat seperti ini sangat tinggi terlebih lagi karena fasilitas chatting sekarang ini digunakan bukan hanya sebagai tool untuk mencari kesenangan tetapi sudah meluas ke transaksi bisnis juga, sehingga para user benar – benar menuntut data/informasi yang saling di pertukarkan saat melakukan kegiatan chatting benar – benar aman tanpa mengalami perubahan, pengurangan ataupun penambahan dari pihak yang tidak berkepentingan. 3.1.2.Pengumpulan Data 3.1.2.1.
Metode Wawancara
Metode wawancara dilakukan untuk mengumpulkan informasi dari para pengguna fasilitas aplikasi chatting, hal apa saja yang sangat mengganggu saat sedang melakukan chatting, dan dari hasil wawancara di temukan bahwa masalah keamanan data/informasi yang saling di pertukarkan memang sangat penting karena menyangkut privacy, di lakukannya metode wawancara karena menimbang biaya yang relatif murah. 3.1.2.2.
Studi Pustaka
Pada teknik ini adalah untuk mendapatkan dan mengumpulkan data melalui buku bacaan, skripsi – skripsi terdahulu, dan situs website yang berhubungan dengan objek penelitian
dengan
tujuan
melakukan
perbandingan
dan
juga
sebagai
bahan
pembelajaran tentang program untuk pembuatan aplikasi yang akan dibuat. 3.1.2.3.
Perancangan
Metode perancangan adalah tahap selanjutnya untuk menentukan rancangan bentuk dasar aplikasi, bagaimana menerapkan kriptografi WAKE pada aplikasi, pada tahap ini akan dihasilkan rancangan komponen – komponen pembentuk aplikasi dari rancangan proses yang di tunjukkan melalui gambaran pemodelan yang digunakan, rancangan algoritma kriptografi WAKE, dan rancangan interface aplikasi. 3.1.2.4.
Pengkodean
Pada tahap ini bertujuan menerjemahkan hasil dari perancangan sebelumnya yang berupa rancangan proses, komponen – komponen pembentuk aplikasi, dan algoritma kriptografi WAKE yang telah di buat, menjadi sebuah bentuk program yang dimengerti oleh mesin komputer.
3.1.2.5.
Pengujian
Proses pengujian dilakukan untuk mengetahui apakah aplikasi yang telah berhasil di bangun sesuai dengan tujuan awal pebuatan yaitu aplikasi chatting dengan tool keamanan kriptografi, apakah proses yang berjalan sudah berjalan semestinya, dan output yang dihasilkan sesuai dengan keinginan berdasarkan input yang telah dilakukan, pengujian di lakukan pada semua aspek utama aplikasi. Hal ini harus dilakukan demi menjamin tidak ada lagi kesalahan atau error pada aplikasi yang di buat. 4. Implementasi dan Pembahasan 4.1. Implementasi Pada bab akan dijelaskan bagaimana penerapan kriptografi wake pada aplikasi chatting di implementasikan, kriptografi wake adalah salah satu kriprografi stream chipper yang bisa di terapkan dengan cepat walaupun dalam pembuatan algoritmanya lebih kompleks. Aplikasi chatting merupakan program yang digunakan antara dua komputer atau lebih pada suatu jaringan komputer, agar dapat berkomunikasi, aplikasi Chatting ini hanya dapat digunakan dalam jaringan dari sebuah LAN (Local Area Networks) yang bentuk / konfigurasi untuk menyambungkan antar komputer menggunakan komponen winsock yang sudah ikut terinstal ketika menginstal program Visual Basic 6. Dalam aplikasi chatting ini terdapat 9 form utama yaitu, form login, form set ipServer, form chatting, form list friend, form proses enkripsi & proses deskripsi, form upload file & download file, dan untuk aplikasi server ada form tambahan yaitu activity internet monitor dan fasilitas kick user. 4.1.1.Implemnetasi Kriptografi Tahap implementasi kriptografi dilakukan dengan menerapkan hasil rancangan kriptografi pada bagian sebelumnya dengan pembuatan source code agar bisa di mengerti oleh mesin komputer, source code yang telah di buat di masukkan kedalam modul encrypdescryp pada aplikasi chatting yang di buat dengan visual basic. Kriptografi yang di gunakan ialah kriptografi wake yang mempunyai 4 bagian penting dalam algoritmanya yaitu : 1. Algoritma proses pembentukan tabel S-Box 2. Algoritma proses pembentukan kunci 3. Algoritma proses enkripsi 4. Algoritma proses deskripsi
a. Algoritma Proses Pembentukan Tabel S-Box Proses pembentukan tabel S-Box memerlukan input kunci 16 karakter ascii atau 128 bit biner, sehingga tabel S-Box pada metode WAKE adalah berbeda untuk input kunci yang berbeda. Algoritma proses pembentukan tabel S-Box adalah sebagai berikut : Option Explicit 'Variabel S-BOX Public TT(7) As String Public T(256) As String 'Kunci WAKE - dalam biner ‘Option Explicit ‘Variebel s-box Public TT(7) As String Public T(256) As String 'Kunci WAKE - dalam biner Public strPlain As String Public strCipher As String Public strKunci As String Public nPutaran As Integer 'Bentuk Output - Biner / Heksa Public strB As String ‘Proses s-box Public Sub ProsesSBox(pcKunci As String) Dim X As String Dim Z As String Dim N As Integer Dim Temp As String 1. Inisialisasi nilai TT[0] - T[7] TT(0) = FHexToBiner("726a8f3b") TT(1) = FHexToBiner("e69a3b5c") TT(2) = FHexToBiner("d3c71fe5") TT(3) = FHexToBiner("ab3c73d2") TT(4) = FHexToBiner("4d3a8eb3") TT(5) = FHexToBiner("0396d6e8") TT(6) = FHexToBiner("3d4c2f7a") TT(7) = FHexToBiner("9ee27cf3 2. Inisialisasi nilai awal untuk T[0] - T[3] Pecah kunci (128 bit) menjadi 4 kelompok X = "" For N = 1 To Len(pcKunci)
X = X & FormatS(FDecToBiner(Asc(Mid(pcKunci, N, 1))), "0", 8) Next N T(0) = Mid(X, 1, 32) T(1) = Mid(X, 33, 32) T(2) = Mid(X, 65, 32) T(3) = Mid(X, 97, 32) 3. Untuk N = 4 to 255, lakukan proses berikut For N = 4 To 255 'X = T[n-4] + T[n-1] X = FAddBiner(T(N - 4), T(N - 1), 32) 'T[n] = X>>3 XOR TT[X AND 7] T(N) = FOpBiner("XOR", FShiftRight(X, 3), TT(FBinerToDec(FOpBiner("AND", X, "111"))), 32) Next N 4. Untuk N = 0 to 22, lakukan proses berikut For N = 0 To 22 'T[n] = T[n] + T[n+89] T(N) = FAddBiner(T(N), T(N + 89), 32) Next N 5. Set nilai untuk variabel di bawah ini X = T(33) Z = FOpBiner("OR", T(59), FHexToBiner("01000001"), 32) Z = FOpBiner("AND", Z, FHexToBiner("FF7FFFFF"), 32) X = FAddBiner(FOpBiner("AND", X, FHexToBiner("FF7FFFFF"), 32), Z, 32) 6. Untuk T[0] ... T[255] For N = 0 To 255 'X = (X And FF7FFFFF) + Z X = FAddBiner(FOpBiner("AND", X, FHexToBiner("FF7FFFFF"), 32), Z, 32) 'T[n] = T[n] AND 00FFFFFF XOR X T(N) = FOpBiner("XOR", FOpBiner("AND", T(N), FHexToBiner("00FFFFFF"), 32), X, 32) Next N 7. Inisialisasi nilai untuk beberapa variabel berikut T(256) = T(0) X = FOpBiner("AND", X, FDecToBiner(255), 32) 8. Untuk T[0] ... T[255] For N = 0 To 255 'Temp = (T[n XOR X] XOR X) AND 255 Temp = T(FBinerToDec(FOpBiner("XOR", FDecToBiner(N), X, 32))) Temp = FOpBiner("XOR", Temp, X, 32) Temp = FOpBiner("AND", Temp, FDecToBiner(255), 32) 'T[n] = T[Temp] T(N) = T(FBinerToDec(Temp))
'T[X] = T[n+1] T(FBinerToDec(X)) = T(N + 1)
b. Algoritma Proses Pembentukan Kunci Proses pembentukan kunci pada metode wake adalah sebanyak n putaran. Banyak putaran (besar n) ditentukan oleh user. Hasil pembentukan kunci berbeda untuk setiap putaran. Algoritma proses pembentukan kunci adalah sebagai berikut : Public Sub GetWakeKEY(pcKunci As String, pnPutaran As Integer) Dim A() As String Dim B() As String Dim C() As String Dim D() As String Dim N As Integer Dim X As String ReDim A(pnPutaran) ReDim B(pnPutaran) ReDim C(pnPutaran) ReDim D(pnPutaran) 1. Inisialisasi nilai awal untuk A[0], B[0], C[0], D[0] ' Pecah kunci (128 bit) menjadi 4 kelompok X = "" For N = 1 To Len(pcKunci) X = X & FormatS(FDecToBiner(Asc(Mid(pcKunci, N, 1))), "0", 8) Next N A(0) = Mid(X, 1, 32) B(0) = Mid(X, 33, 32) C(0) = Mid(X, 65, 32) D(0) = Mid(X, 97, 32) 2. Putaran kunci For N = 1 To pnPutaran A(N) = FungsiM(A(N - 1), D(N - 1)) B(N) = FungsiM(B(N - 1), A(N)) C(N) = FungsiM(C(N - 1), B(N)) D(N) = FungsiM(D(N - 1), C(N)) Next N 'Bit Kunci strKunciBiner = D(N - 1) End Sub 'FUNGSI M(X,Y) DARI REGISTER A, B, C DAN D
Public Function FungsiM(pX As String, pY As String) As String Dim Temp As String Dim Temp1 As String 'Temp1 = X + Y Temp1 = FAddBiner(pX, pY, 32) 'Temp = Temp1 Shift >> 8 kali Temp = FShiftRight(Temp1, 8) 'Temp1 = (X + Y) And 255 Temp1 = FBinerToDec(FOpBiner("AND", Temp1, "11111111")) 'Temp1 = T[(X + Y) And 255)] Temp1 = T(Val(Temp1)) 'di-XOR T(X + Y) Temp = FOpBiner("XOR", Temp, Temp1, 32) 'Kembalikan nilai FungsiM = Temp End Function
c. Algoritma Proses Enkripsi Proses enkripsi pada metode WAKE adalah melakukan operasi XOR dari plaintext (32 bit) dan kunci (32 bit) untuk menghasilkan ciphertext (32 bit). Algoritma proses enkripsi adalah sebagai berikut : Public Sub WAKEEncryption(pcEnkripsi As String) Dim X As String Dim X1 As String Dim X2 As String Dim N As Integer Dim cHasil As String 'Text Enkripsi strPlain = pcEnkripsi 'Text-enkripsi dalam bentuk biner X = "" For N = 1 To Len(strPlain) X = X & FormatS(FDecToBiner(Asc(Mid(strPlain, N, 1))), "0", 8) Next N X1 = "": X2 = "": cHasil = "" For N = 1 To Len(X) Step 8 'Kunci X1 = Mid(strKunciBiner, (N Mod 32), 8) 'Hasil - XOR dengan kunci X2 = FOpBiner("XOR", Mid(X, N, 8), X1, 8)
'Simpan ke karakter cHasil = cHasil & Chr(FBinerToDec(X2)) Next N 'Return Cipher Text strCipher = cHasil End Sub
d. Algoritma Proses Dekripsi Proses dekripsi pada metode WAKE adalah melakukan operasi XOR dari ciphertext (32 bit) dan kunci (32 bit) untuk menghasilkan plaintext (32 bit). Algoritma proses dekripsi adalah sebagai berikut : Public Sub WAKEDecryption(pcDekripsi As String) Dim X As String Dim X1 As String Dim X2 As String Dim N As Integer Dim cHasil As String 'Text Dekripsi strCipher = pcDekripsi 'Text-Dekripsi dalam bentuk biner X = "" For N = 1 To Len(strCipher) X = X & FormatS(FDecToBiner(Asc(Mid(strCipher, N, 1))), "0", 8) Next N X1 = "": X2 = "": cHasil = "" For N = 1 To Len(X) Step 8 'Kunci X1 = Mid(strKunciBiner, (N Mod 32), 8) 'Hasil - XOR dengan kunci X2 = FOpBiner("XOR", Mid(X, N, 8), X1, 8) 'Simpan ke karakter cHasil = cHasil & Chr(FBinerToDec(X2)) Next N 'Return Plain Text strPlain = cHasil End Sub
5.
KESIMPULAN Dari hasil pembahasan mengenai penerapan kriptografi WAKE pada aplikasi
Chatting dan setelah menyelesaikan beberapa tahap yaitu pengumpulan data, mengidentifikasi masalah, membuat solusi untuk memecahkan masalah yaitu dengan menambahkan fasilitas kriptografi, membuat rancangan, implementasi sistem aplikasi chatting yang menggunakan sistem kriptografi wake sebagai tool pengaman pesan yang saling di pertukarkan, yang bertujuan untuk mengurangi resiko adanya pihak yang tak bertanggung jawab yang bertujuan merusak, merubah, mengetahui isi pesan dari para user demi memuaskan user yang menuntut privacy mereka tetap terjaga, maka dapat diambil kesimpulan sebagai berikut : 1. Aplikasi chatting dapat di koneksikan melalui beberapa komputer yang terhubung melalui jaringan Local Area Network. 2. Aplikasi Chatting mampu melakukan proses enkripsi dan deskripsi pesan untuk meningkatkan keamanan pesan. 3. Semakin banyak putaran dari proses pembentukan kunci, maka keamanan data akan semakin terjamin. 4. Penerapan Kriptografi WAKE pada aplikasi chatting membutuhkan waktu yang cukup lama karena harus membuat proses algoritmanya terlebih dahulu. 5. Aplikasi chatting belum di lengkapi dengan verifikasi untuk kegiatan login user, kick user, private chat. 6. Bentuk dasar dari tiap form masih sangat standar/biasa 7. Aplikasi chatting sangat ringan tidak membutuhkan kapasitas memori yang besar.
DAFTAR PUSTAKA
Ariyus, Doni. 2006. Kriptografi Keamanan Data dan Komunikasi. Yogyakart. Penerbit : Graha Ilmu Kurniawan, Yusuf. 2004. Kriptografi Keamanan Internet dan Jaringan Komunikasi. Bandung : Informatika Bandung WAKE. http://www.cix.co.uk/~klockstone/wake.htm, diakses pada tanggal 23 Januari 2012