Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
Aplikasi Enkripsi E-Mail dengan PGP Menggunakan PHP Raka Yusuf1, Andri Winata2 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Mercu Buana Jl. Raya Meruya Selatan, Kembangan, Jakarta, 11650 E-mail:
[email protected],
[email protected] Abstrak-- Dengan seiringnya kemajuan teknologi yang berkembang sangat cepat saat ini maka kemungkinan diperlukan suatu aplikasi tentang enkripsi yang mempermudah user agar menjaga kerahasiaan data yang dikirimkan dimana biasanya user langsung dapat men-download data lampirannya. Sehingga membutuhkan aplikasiaplikasi, seperti halnya yaitu dengan menggunakan aplikasi PGP (Pretty Good Privacy) untuk enkrip dan dekrip data lampiran maka pengguna dapat lebih aman. Setidaknya pengguna bisa menggunakannya saat mereka membutuhkan. Seperti kita ketahui, aplikasi ini juga akan sangat berguna dalam kehidupan kita sehari-hari, di mana aplikasi File Enkripsi Dengan Menggunakan PHP diperoleh aplikasi yang akan mempermudah seseorang untuk memperoleh kerahasiaan data pada email. Kata kunci: web-based cryptography, Enkripsi deksripsi email, PGP. I. PENDAHULUAN Electronic mail (email) sudah digunakan orang sejak awal terbentuknya Internet pada sekitar tahun 1969 dan merupakan salah satu fasilitas yang ada pada saat itu. Sesuai dengan perkembangan internet, penggunaan email ini juga semakin membesar walaupun pada saat ini persentasinya sudah turun karena adanya sebuah fasilitas baru di internet yang dikenal sebagai Web. Salah satu alasan kenapa email dipakai orang karena memberikan cara yang mudah dan cepat dalam mengirimkan sebuah informasi. Selain itu dengan email dapat juga informasi yang ukurannya kecil sampai ke file yang ukurannya besar. Namun sifat email yang memanfaatkan penghantar elektronik tak sepenuhnya dimaksudkan sebagai medium pribadi karena menyimpan potensi bahaya penyalahgunaan yang bukan saja menjengkelkan tetapi juga dapat bersifat fatal. Ketika kita mengirimkan suatu email, maka email tersebut disampaikan ke suatu sistem komputer yang mungkin kita tidak mengetahui administratornya. Dari komputer tersebut disampaikan ke sistem komputer lain, dan yang lainnya, dan lainnya, sampai kepada penerima yang dituju. Pada beberapa link di rantai ini, email kita dapat dibaca oleh siapa saja yang diinginkan system administrator, atau oleh suatu biro penyelidikan yang sedang mencurigai suatu aktivitas kejahatan, atau berbagai kemungkinan lainnya. Tetapi
secara ringkasnya adalah ketika kita mengirimkan suatu email, kita tidak mengetahui siapa yang membaca pesan itu, penerima yang diharapkan ataupun barangkali orang lain. Kerahasiaan email terancam bukan oleh para hacker, melainkan para system administrator sendiri. Para system administrator terkadang bosan tidak tahu apa yang harus dikerjakan selain membaca-baca email orang. Mereka dapat melakukannya tanpa sedikit pun meninggalkan jejak. Cara mengatasi hal ini adalah dengan mengenkripsi email anda. GNU Privacy Guard (GnuPG, atau GPG) adalah sistem enkripsi key public. GnuPG adalah suatu re-implementasi GNU dari program PGP (Pretty Good Privacy) Phil Zimmerman’s [10]. II. LANDASAN TEORI A. Rekayasa Perangkat Lunak (RPL) Pemodelan dalam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan mempengaruhi perkerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut. Model proses perangkat lunak merupakan deskripsi yang disederhanakan dari proses perangkat lunak yang dipresentasikan dengan sudut pandang tertentu. Namun model proses perangkat lunak masih menjadi objek penelitian, namun pada saat ini terdapat banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak [6]. B. Metodologi Rekayasa Perangkat Lunak Pemodelan dalam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan mempengaruhi perkerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut. Model proses perangkat lunak masih menjadi objek penelitian, namun pada saat ini terdapat banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak. Salah satu model yang digunakan dalam pengembangan rekayasa lunak adalah model Waterfall [2]. Gambar 1 memperlihatkan rangkaian aktivitas proses dalam model Waterfall: 1. Penentuan dan analisis kebutuhan 2. Sistem dan desain perangkat lunak 3. Implementasi dan uji coba unit 4. Integrasi dan uji sistem 5. Operasi dan pemeliharaan
385
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
Penentuan dan analisis kebutuhan
Sistem dan desain perangkat lunak
Implement asi dan uji coba unit
Integrasi dan uji sistem
Operasi dan pemelihar aan
Gambar 1 Model Waterfall. C. Teori UML (Unified Modeling Language) [1]UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented) [3]. UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software [11]. D. Kriptografi [5]Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita (bruce Schneier Applied Cryptography). Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data [7]. Tidak semua aspek keamanan informasi ditangani oleh kriptografi. Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu: 1. Kerahasiaan 2. Integritas data 3. Autentikasi 4. Non-repudiasi
E. Algoritma Sandi Algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan (dikemukakan oleh Shannon) [8]: Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu yang berisi elemen teks terang /plaintext dan yang berisi elemen teks sandi/ciphertext. Enkripsi dan dekripsi merupakan fungsi transformasi antara himpunan-himpunan tersebut. Apabila elemen-elemen teks terang dinotasikan dengan P, elemen-elemen teks sandi dinotasikan dengan C, sedang untuk proses enkripsi dinotasikan dengan E, dekripsi dengan notasi D. Enkripsi: E(P) = C Dekripsi: D(C) = P atau D(E(P)) = P Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi: Kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik kunciasimetris/asymetric-key. Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi: 1. Algoritma sandi klasik classic cryptography 2. Algoritma sandi modern modern cryptography Berdasarkan kerahasiaan kuncinya dibedakan menjadi: 1. Algoritma sandi kunci rahasia secret-key 2. Algoritma sandi kunci publik publik-key F. Algoritma sandi kunci-simetris Beberapa contoh algoritma yang menggunakan kunci-simetris: DES - Data Encryption Standard blowfish twofish MARS IDEA 3DES - DES diaplikasikan 3 kali AES - Advanced Encryption Standard, yang bernama asli rijndael Block-Cipher Block-cipher adalah skema algoritma sandi yang akan membagi-bagi teks terang yang akan dikirimkan dengan ukuran tertentu (disebut blok) dengan panjang t, dan setiap blok dienkripsi dengan menggunakan kunci yang sama. Stream-Cipher Stream-cipher adalah algoritma sandi yang mengenkripsi data persatuan data, seperti bit, byte, nible atau per lima bit (saat data yang di enkripsi berupa data Boudout). Setiap mengenkripsi satu satuan data di gunakan kunci yang merupakan hasil pembangkitan dari kunci sebelum.
386
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
G. Algoritma Sandi Kunci-Asimetris Skema ini adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Skema ini disebut juga sebagai sistem kriptografi kunci publik karena kunci untuk enkripsi dibuat untuk diketahui oleh umum (public-key) atau dapat diketahui siapa saja, tapi untuk proses dekripsinya hanya dapat dilakukan oleh yang berwenang yang memiliki kunci rahasia untuk mendekripsinya, disebut private-key. H. Fungsi Hash Kriptografi Fungsi hash Kriptografis adalah fungsi hash yang memiliki beberapa sifat keamanan tambahan sehingga dapat dipakai untuk tujuan keamanan data. Umumnya digunakan untuk keperluan autentikasi dan integritas data. Fungsi hash adalah fungsi yang secara efisien mengubah string input dengan panjang berhingga menjadi string output dengan panjang tetap yang disebut nilai hash. I. Sifat-Sifat Fungsi Hash Kriptografi Tahan preimej (Preimage resistant): bila diketahui nilai hash h maka sulit (secara komputasi tidak layak) untuk mendapatkan m dimana h = hash(m). Tahan preimej kedua (Second preimage resistant): bila diketahui input m1 maka sulit mencari input m2 (tidak sama dengan m1) yang menyebabkan hash(m1) = hash(m2). Tahan tumbukan (Collision-resistant): sulit mencari dua input berbeda m1 dan m2 yang menyebabkan hash(m1) = hash(m2). J. Algoritma-Algoritma Fungsi Hash Kriptografi Beberapa contoh algoritma fungsi hash Kriptografi: 1. MD4 2. MD5 3. SHA-0 4. SHA-1 5. SHA-256 6. SHA-512 7. K. Enkripsi Salah satu hal yang penting dalam komunikasi menggunakan computer untuk menjamin kerahasian data adalah enkripsi. Enkripsi dalah sebuah proses yang melakukan perubahan sebuah kode dari yang bisa dimengerti menjadi sebuah kode yang tidak bisa dimengerti (tidak terbaca). Enkripsi dapat diartikan sebagai kode atau chiper. Sebuah sistem pengkodean menggunakan suatu table atau kamus yang telah didefinisikan untuk mengganti kata dari informasi atau yang merupakan bagian dari informasi yang dikirim. L. Hypertext Preprocessor (PHP) [9]PHP adalah pemrograman web atau scripting language yang didesain untuk web. PHP dibuat pertama kali oleh satu orang yaitu Rasmus Lerdorf, yang pada awalnya dibuat untuk menghitung jumlah pengunjung pada situsnya. Diawal januari 2001, PHP telah dipakai lebih dari 5 juta domain di seluruh dunia
dan terus bertambah karena kemudahan aplikasi PHP ini dibandingkan dengan bahasa server side yang lain. PHP adalah salah satu bahasa Server side yang didesain khusus untuk aplikasi web. PHP dapat disisipkan diantara bahasa HTML, dan bahasa server side, maka bahasa PHP akan dieksekusi di server sehingga yang dikirimkan ke browser adalah “hasil jadi” dalam bentuk HTML dan kode PHP anda tidak akan terlihat. M. PGP (Pretty Good Privacy) [4]PGP adalah suatu metode penyandian informasi yang bersifat rahasia sehingga jangan sampai diketahui oleh orang yang tidak berhak. Informasi ini bisa berupa e-mail yang sifatnya rahasia, nomor kode kartu kredit, atau pengiriman dokumen rahasia perusahaan melalui internet. PGP menggunakan metode kriptografi yang disebut “public-key encryption”; yaitu suatu metode kriptografi yang sangat sophisticate. Beberapa istilah yang sering digunakan: 1. Cryptography/encryption 2. Conventional cryptography 3. Encrypt/encipher 4. Decrypt/decipher 5. Ciphertext/cipher 6. Plaintext 7. Key/kunci 8. Public-key crypto 9. Algorithm/algoritma 10. Passphrase 11. Public-key 12. Secret key 13. ASCII armor/radix-64 Prinsip Kerja PGP Prinsip kerja PGP adalah sebagai berikut: 1. PGP, seperti yang telah dijelaskan sebelumnya, menggunakan teknik yang disebut public-key encryption dengan dua kode. Kode-kode ini berhubungan secara intrinsik, namun tidak mungkin untuk memecahkan satu dan yang lainnya. 2. Bila suatu ketika kita membuat suatu kunci, maka secara otomatis akan dihasilkan sepasang kunci yaitu public-key and secret key. Kita dapat memberikan public-key ke manapun tujuan yang kita inginkan, melalui telephone, internet, keyserver, dsb. Secret key yang disimpan pada mesin kita dan menggunakan messager decipher akan dikirimkan ke kita. Jadi orang yang akan menggunakan public-key kita (yang hanya dapat didekripsi oleh oleh secret key kita), mengirimkan messages kepada kita , dan kita akan menggunakan secret key untuk membacanya. 3. Kenapa menggunakan dua kunci ?. Karena dengan conventional crypto, di saat terjadi transfer informasi kunci, suatu secure channel diperlukan. Dan jika kita memiliki suatu secure channel, mengapa kita menggunakan crypto? Namun
387
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
dengan public-key system, tidak akan menjadi masalah siapa yang melihat kunci milik kita, karena kunci yang dilihat orang lain adalah yang digunakan hanya untuk enkripsi dan hanya kita sebagai pemilik yang mengetahui secret key; yaitu key yang berhubungan secara fisik dengan komputer kita yang dapat melakukan proses dekripsi dengan public-key yang ada dan kemudian kita masukan lagi passphrase. Jadi seseorang mungkin dapat mencuri passphrase yang kita ketikkan, namun ia dapat membaca hanya jika ia dapat mengakses komputer kita. III. ANALISIS DAN PERANCANGAN A. Analisis Dalam analisis enkripsi PGP ialah menggunakan kriptografi simetri dan kriptografi kunci-publik. Oleh karena itu penulis memilih membuat aplikasi perancangan file enkripsi pada e-mail yang dapat merahasiakan isi file yang dikirim yaitu PGP. Dalam pembuatan aplikasi enkripsi PGP penulis mengalami kesulitan. Karena, penulis harus mencari materi dan software dari PGP. Perancangan aplikasi enkripsi PGP dengan menggunakan PHP ini ditujukan bagi pengguna Internet yang khususnya untuk mengirim e-mail agar terjaga kerahasiaannya. Serta memudahkan pengguna untuk mendapat hasil yang diinginkan. Dalam merancang aplikasi ini penulis merasakan kekurangannya, diantaranya: 1. Data recovery dari swap file bisa kehilangan private key dan pass-phase. 2. PGP merupakan program freeware dan open source, maka siapa saja bisa mengambil source code dan menyisipkan semacam program kecil yang kemudian disebarkan kembali secara umum. 3. B. Perancangan Pada bagian ini akan dijelaskan secara rinci perancangan aplikasi file enkripsi PGP dengan menggunakan PHP. Lihat Gambar 2. Tahapan Interface Email Client 1. Inisialisasi Objektif dari tahap ini adalah mendefinisikan kebutuhan yang relevan dan dapat diaplikasikan dalam evolusi arsitektur internet. Dalam tahap ini perlu adanya edukasi dan penyebaran informasi yang memadai untuk mempersiapkan seluruh data yang diperlukan dalam perancangan. 2. Mendefinisikan Sistem PGP Objektif dari tahap ini adalah mendefinisikan status sistem PGP, mendokumentasi, melakukan analisa resiko, dan mencanangkan perubahan yang relevan dari hasil analisa resiko. Pendefinisian PGP didenifisikan oleh flowchart dan dapat dilihat pada Gambar 2. Untuk lebih lanjut lihat keterangan dibawah ini: 1. Start
2.
3.
4.
5. 6.
7.
388
Tahapan pertama harus melakukan start untuk rangkaian persiapan pembuatan tahapan proses eksekusi. Password Password disini digunakan agar user dapat melakukan pengiriman pesan seperti sama pada email lainnya. Buat password Jika user belum mempunyai id dan password user, maka user harus mengisi form yang sudah tersedia di dalam aplikasi ini. Login Pada tahapan ini user memasukan id dan password untuk dapat mengggunakan fasilitas yang ada di dalamnya. Isi alamat e-mail User harus mengisi alamat e-mail yang dituju. Masukan lampiran
Gambar 2 Flowchart Pengiriman Pesan Melakukan pengambilan file berupa *.txt yang akan dikirim. Enkripsi isi lampiran dengan PGP Melakukan enkripsi file. Ada dua cara mengenkripsi arsip (file) yang akan dikirim: a. Melalui windows explorer b. Melalui program PGPmail
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
Jika lampiran sudah dipilih maka lampiran tersebut langsung di enkrip lalu dapat menerima key lampiran yang gunanya agar dapat membuka lampiran tersebut. 8. Kirim pesan Jika key lampiran dan pesan sudah siap, maka email sudah bisa dapat langsung dikirim ke alamat yang dituju. Jika batal mengirim maka halaman tulis pesan akan kembali kosong. 9. Pesan dan key lampiran terkirim Jika pesan berhasil terkirim, maka isi pesan berikut key lampiran akan sampai ke alamat email yang dituju. 10. End Tahapan ini adalah akhir dari penyelesaian rangkaian proses pengiriman pesan.
3.
4.
5. 3. Mendefinisikan Sistem Dekripsi Lampiran Objektif dari tahap ini adalah mendefinisikan system dekripsi lampiran berdasarkan hasil analisa resiko dan prediksi terhadap kemungkinan terburuk. Pendefinisian yang diharapkan didenifisikan oleh flowchart dan dapat dilihat pada Gambar 3.
Melihat isi e-mail dengan cara harus mempunyai id dan password sama seperti ketika mengirim pesan. Masukan key lampiran Key lampiran yaitu berupa kode ASCII. Kode tersebut dimasukan ke dalam menu dekrip untuk dapat melakukan dekompres file, jika tidak terdapat key maka user tidak dapat membuka lampiran tersebut. Setelah memasukan key lampiran, user dapat langsung mengetahui nama file yang dikirim dan dapat langsung di-download oleh penerima. Hasil dekompres lampiran Setelah memasukan key lampiran, user dapat langsung mengetahui nama file yang dikirim dan dapat langsung di-download oleh penerima. End Tahapan ini adalah akhir dari penelesaian rangkaian proses deskripsi lampiran.
Pemodelan Diagram Alir Data Masukan (Input) dan keluaran (output) data yang terjadi dalam sistem informasi, penulis gambarkan aliran datanya dalam Diagram Aliran Data (DAD) yang meliputi Diagram Konteks, DAD level 0, dan DAD level 1. 1. Diagram Konteks Diagram Konteks, digunakan merepresentasikan suatu sistem secara garis besar atau (global) dimana dapat terlihat dengan jelas data yang masuk dan keluar, berikut ini adalah penggambaran dengan diagram konteks untuk perancangan data pada Gambar 4 Diagram Konteks dibawah ini:
Gambar 3 Flowchart Dekripsi Lampiran
Gambar 4 Diagram Konteks Aplikasi.
Dari Gambar 3.2 flowchart ini terlihat bahwa ada kesamaan dari flowchart pengiriman pesan. Tetapi yang membedakannya adalah pada saat pengeksekusian lampiran. Dari pengeksekusian lampiran, yaitu memasukan key lampiran untuk dapat membuka isi dari lampiran tersebut. Untuk lebih lanjut lihat keterangan dibawah ini: 1. Start Tahapan pertama harus melakukan start untuk rangkaian persiapan pembuatan tahapan proses eksekusi. 2. Menerima isi e-mail
2. Diagram Alir Data Level 0 Digram Alir Data (DAD) Level Nol, digunakan untuk perancangan data secara detail (rinci) di mana pada diagram tersebut menunjukkan proses-proses data yang akan berlangsung, dapat dilihat pada Gambar 4. Dari Gambar 4, dapat dijelaskan bahwa aliran data dimulai dari administrator yang mengelola data (input, delete, dan cari), kemudian data tersebut disimpan.
389
Seminar Nasional Pengaplikasian Telematika SINAPTIKA 2010 – ISSN 2086-8251
Tabel 3 Tabel Lampiran
Gambar 4 Diagram Alir Data Level 0 IV. IMPLEMENTASI DAN PENGUJIAN A. Implementasi Sistem Implementasi Prototype dari Aplikasi Enkripsi PGP Dengan Menggunakan PHP ini dirancang menggunakan PGP 9.10 dan PHP, dalam PGP 9.10 tabel-tabel basis data tersebut disimpan dalam format (*.txt). 1. Implementasi Email Implementasi email menggunakan PHP dan PGP diimplementasikan pada halaman user. Karena aplikasi ini, yang menggunakannya hanya user. Proses Login Halaman login berisi form input username dan password yang digunakan untuk proses verifikasi. Jika pada saat melakukan login tidak bernilai error maka diperbolehkan untuk masuk halaman, jika tidak maka sistem akan menolak. Index Pada halaman terdapat beberapa menu yang dapat dipilih oleh admin. Diantaranya pesan masuk, print, kirim pesan, pesan terkirim, dan logout. Enkripsi Lampiran Dengan PGP Pada halaman ini yang dapat dipilih oleh mengenkripsi data lampiran Dekripsi Lampiran Dengan PGP Pada halaman ini yang dapat dipilih oleh mendekripsi data lampiran. Logout Pada menu ini user gunanya untuk keluar dari aplikasi yang sudah digunakan. Implementasi Basisdata Atribut Pada model data vector, setiap data memiliki data atribut terkait yang banyak jumlahnya (paling tidak lebih dari satu ). Data-data atribut ini, baik secara fisik maupun logik, sebenarnya ditampung dalam tabeltabel relasional yang terpisah dari data spasialnya tabel-tabel yang ada basisdatanya yaitu, tabel user dan tabel lampiran. Tabel 2 Tabel User
V. PENUTUP Kesimpulan yang dapat diambil dalam perancangan aplikasi enkripsi PGP dengan menggunakan PHP ini adalah sebagai berikut: 1. Terdapat empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu kerahasian, integritas data, autentikasi, dan non repudiasi. 2. PGP menggunakan metode kriptografi yang disebut “public-key encryption”; yaitu suatu metode kriptografi yang sangat sophisticate (berpengalaman). 3. Pada enkrip dan dekrip data hanya dapat berjalan sempurna pada format data *.txt, sedangkan pada format data lain belum bisa tereksekusi. 4. Menu yang tersedia, disesuaikan dengan fungsi atau tugasnya. Sehingga tampilan menu untuk masing-masing bagian akan berbeda antara satu dengan lainnya. 5. Keterkaitan antar PHP dan PGP direpresentasikan dalam sistem basis data. Dalam hal ini integrasi antar sistem diwujudkan berupa penggunaan basis data. VI. DAFTAR PUSTAKA [1] Badriyah, Tessy, Skom. MT. UML Class Diagram. Jakarta: PT. Elex Media Komputindo, 2007. [2] Fariza, Arna. Unified Modeling Language. Jakarta: 2008. [3] Fowler, Martin. 2005. UML Distilled Edisi 3, Panduan Singkat Bahasa Pemodelan Objek Standar. Yogyakarta: Penerbit Andi. [4] Hermawan, Benny. 1994. PGP (Pretty Good Privacy). Jakarta [5] Munir, Rinaldi. 2001. Kriptografi. Jakarta [6] Pressman, Roger S. 2002. Rekayasa Perangkat Lunak Buku 1. Yogyakarta: Penerbit Andi. [7] Sobari, Rahmat. 2005. Kriptografi. Jakarta. Penerbit Universitas Indonesia. [8] Sukmawan, Budi. 2000. Keamanan Data Dan Metode Enkripsi. Penerbit Puguh [9] Syukur, Ade Mark. 1999. Aplikasi Dengan Bahasa Pemrograman PHP. Jakarta Penerbit Gunadarma. [10] http://www.pgp.com/ [11] http://www.omg.org
390