PGP sebagai Pengaman E-Mail Anda

Joko Yuliantoro & Onno W. Purbo
Computer Network Research Group ITB

Apa itu PGP ?
	PGP (Pretty Good Privacy) adalah program enkripsi yang memiliki tingkat keamanan cukup tinggi dengan menggunakan “private-public key” sebagai dasar autentifikasinya. Program PGP yang dibuat oleh Phill Zimmermann ini memiliki 2 versi yaitu  “USA version” dan “International version”. PGP versi USA hanya bisa digunakan di wilayah USA dan oleh warganegara USA saja. Versi USA ini menggunakan algoritma RSA (yang telah menjadi hak paten) dalam enkripsinya. Sedangkan versi International menggunakan algoritma MPILIB yang diciptakan khusus oleh Phill Zimmermann sendiri. PGP versi Internasional bisa digunakan oleh seluruh orang di dunia. Sebagai pembeda, PGP versi Internasional membubuhkan akhiran ‘i’ pada nomor versi PGP. Sebagai contoh, nomor versi PGP terakhir adalah 2.6.2 untuk USA version dan 2.6.3i untuk International version.  Beberapa tahun belakangan ini, penggemar dan pengguna PGP semakin meningkat sehingga PGP telah menjadi standar de-facto program enkripsi untuk electronic mail. 
Pada dasarnya, PGP merupakan program yang digunakan untuk mengenkripsi satu atau lebih dokumen. Dengan PGP tersebut, hanya orang-orang tertentu saja yang bisa membaca file-file enkripsi tersebut. Bagaimana PGP sebagai program enkripsi dokumen bisa digunakan untuk pengiriman e-mail? Sebenarnya, program PGP mengenkripsi isi mail yang kita tulis menjadi sebuah file. File tersebut dibaca oleh program mail yang kemudian dikirimkan ke tujuan. Penerima e-mail harus menyimpan mail tersebut ke dalam sebuah file. File tersebut didekripsi sehingga isi mail aslinya akan terlihat. Jadi, mail yang dikirimkan adalah dalam bentuk terenkripsi sehingga tidak bisa dibaca dengan mudah oleh orang-orang yang tidak memiliki akses membaca mail tersebut.

   			PGP 

          Isi e-mail			           Isi e-mail			   Program Mail
   sebelum dienkripsi		     setelah dienkripsi	            (Eudora, Pegasus, dll)

	Sender side

	Recipient side

          Isi e-mail			            Isi e-mail			    Program Mail
    setelah didekripsi		      sebelum didekripsi	            (Eudora, Pegasus, dll)

			PGP

Gambar 1. 
Proses pengiriman e-mail dengan menggunakan PGP

Mengapa enkripsi perlu dilakukan?
	Usaha-usaha penyadapan proses penyampain e-mail melalui Internet semakin hari semakin meluas. Terlebih setelah masuknya transaksi dunia bisnis ke dunia Internet yang tentunya memerlukan tingkat kerahasiaan tertentu. Ambil contoh, Anda ingin membeli sebuah barang melalui e-mail ke sebuah toko. Anda menuliskan nomor kartu kredit sebagai jaminan pembayaran pada e-mail yang Anda kirimkan. Pada akhir bulan, tiba-tiba Anda dikejutkan dengan melonjaknya nilai tagihan pada kartu kredit Anda yang disebabkan oleh pembelian-pembelian barang yang tentunya tidak pernah Anda lakukan. Hal ini sangat mungkin terjadi akibat penyadapan isi e-mail yang Anda kirimkan ke toko tersebut. Setelah sang penyadap telah mengetahui identitas kartu kredit Anda, dengan leluasa dia melakukan transaksi menggunakan kartu kredit Anda sebagai jaminan . 
	Jika Anda ingin menghindari kejadian di atas atau Anda menginginkan privacy saat mengirimkan e-mail, proses enkripsi menjadi salah satu solusi utama! Selain itu, jika Anda ingin file-file yang Anda miliki tidak bisa dibaca oleh orang lain kecuali oleh Anda sendiri dan orang-orang yang Anda percaya maka proses enkripsi menjadi perlu.

Bagaimana memperoleh program PGP?
	Program PGP “International version” merupakan shareware dan dapat didownload dari beberapa ftp server sebagai berikut :

    ftp://ftp.ifi.uio.no/pub/pgp/		(primary)
    ftp://ftp.ox.ac.uk/pub/crypto/pgp/
    ftp://ftp.dsi.unimi.it/pub/security/crypt/PGP/
    ftp://ftp.informatik.uni-hamburg.de/pub/virus/crypt/pgp/

	Program PGP tersedia dalam berbagai platform seperti MS-Dos, Macintosh, Unix, VMS, OS/2, Atari, dlsb. Untuk platform MS-Dos sendiri, terdapat dua jenis yaitu pgp263i.zip (16 bit) dan pgp263ix.zip (32 bit). Untuk versi 32 bit, terdapat perbedaan pada kecepatan proses enkripsi dan pembuatan key dibandingkan dengan versi 16 bit. 

Dasar-dasar PGP
	Sebelum menggunakan program PGP, ada baiknya kita tinjau terlebih dahulu konsep yang digunakan oleh PGP. Hal ini bertujuan agar istilah-istilah dalam PGP dipahami dengan baik sehingga tidak terjadi kesalahan dalam implementasi PGP itu sendiri.

	Seperti yang telah disinggung di awal makalah, PGP menggunakan “private-public keys” sebagai dasar otorisasinya. Setiap kali kita membuat kunci, PGP akan menciptakan dua buah kunci yaitu Private key dan Public key yang merupakan sebuah pasangan yang bersesuaian. Private key adalah kunci yang hanya diketahui oleh kita sendiri. Public key adalah kunci yang kita beritahukan kepada orang-orang yang kita percaya. Public key digunakan sebagai dasar proses pengenkripsian dokumen-dokumen yang hanya bisa dibuka oleh orang yang memiliki private key yang bersesuaian. 
Sebagai contoh : Adi memiliki 2 buah kunci yaitu kunci A (terdiri dari  private key A dan public key A) dan kunci B (terdiri dari private key B dan public key B). Kemudian, Hanna akan mengirimkan sebuah e-mail rahasia kepada Adi. Hanna telah memperoleh public key B dari Adi sendiri. Setelah itu, Hanna menjalankan program PGP untuk mengenkripsi e-mail yang akan dikirimkannya ke Adi dengan menggunakan public key B. Ketika  Adi menerima e-mail dari Hanna, ia mempergunakan program PGP untuk dekripsinya. PGP akan menanyakan private key yang bersesuaian yaitu private key B. Jadi, Adi hanya bisa mendekripsi isi e-mail tersebut dengan menggunakan private key B saja.
	Kita bisa mengumpulkan beberapa public key dari orang-orang yang membagikan public key-nya. Dengan mengumpulkan beberapa public key, kita bisa mengirimkan sebuah e-mail yang dienkripsi ke beberapa orang secara langsung. Untuk memperkaya koleksi public key yang kita miliki, kita bisa melakukan tukar-menukar public key dengan orang lain.  Ada cara lain untuk mendapatkan public key yaitu melalui public key server. Kita bisa mengambil public key dari orang-orang yang kita inginkan melalui public key server ini. Hanya saja, server tersebut tidak menjamin validasi dari key tersebut. Salah satu resources yang cukup baik untuk public key server adalah http://www.ifi.uio.no/pgp/keyservers.html. Homepage tersebut menjadi pointer menuju public key server di berbagai negara.
	Pada paragraf di atas, terdapat kata-kata “tidak menjamin validasi dari key tersebut”. Apa artinya? Sebenarnya, kita bisa membuat public key sebanyak yang kita kehendaki dengan nama yang berbeda. Bisa saja kita membuat public key dengan username Bill Clinton dan alamat e-mail <thepresident@whitehouse.gov>. Dengan demikian, mail-mail rahasia yang ditujukan ke Presiden Bill Clinton bisa kita baca. Tetapi, apakah semudah itu? Tentu saja tidak . Pembuatan dan penambahan public key sebaiknya dan sangat dianjurkan diikuti dengan certification dan signature. 
PGP memerlukan beberapa file tambahan yang berperan penting pada proses autentifikasi. File tersebut ada 4 buah, yang bernama (default) : secring.pgp, pubring.pgp, secring.pgp (cadangan), dan randseed.bin. File pubring.pgp adalah file yang berisi koleksi public key milik kita. File secring.pgp adalah file yang berisi private key milik kita. File secring.pgp (cadangan) adalah file cadangan yang berisi private key milik kita. File secring.pgp yang asli akan dibandingkan dengan cadangannya saat melakukan perintah “pgp -kc”. Selain itu, file cadangan tersebut bertujuan supaya bila terjadi sesuatu dengan file secring.pgp yang asli sehingga tidak bisa dibaca, kita masih memiliki cadangan. Ketiga file ini seharusnya tidak diperlihatkan ataupun diberikan kepada orang lain. Seluruh kunci untuk membuka akses PGP terdapat di sana. Bila file-file ini jatuh ke tangan orang lain, kemungkinan tertembusnya enkripsi PGP menjadi jauh lebih besar.

Instalasi PGP
	Hal yang pertama kali dilakukan tentu saja mengambil program PGP melalui FTP ke salah satu FTP Server di atas. Penulis mengambil program PGP dengan platform MS-Dos yang bernama pgp263i.zip dan kemudian mengekstraknya dengan menggunakan program Unzip atau Winzip. Pada saat proses ekstraksi berlangsung, tentukan letak direktori yang akan ditempati oleh program PGP tersebut. Dalam contoh kali ini, penulis menggunakan direktori C:\pgp sebagai tempat penyimpanan program PGP. Setelah diekstrak, pada direktori c:\pgp akan muncul 5 buah file yaitu : readme.1st ; readme.usa ; setup.doc; pgp263ii.zip; pgp263ii.asc. File pgp263ii.zip diekstrak dengan menggunakan program Unzip atau Winzip dengan direktori yang sama  yaitu C:\pgp.  Nah, setelah ekstraksi di atas, program PGP siap dikonfigurasi.
	Hasil lengkapnya dapat dilihat seperti dibawah ini :

Directory of C:\PGP

.            			<DIR>        	04-20-97  7:21a .
..	             		<DIR>        	04-20-97  7:21a ..
README     	1ST        20,901  		04-24-96  7:34p README.1ST
README   	USA        2,602  		04-24-96  7:34p README.USA
SETUP    	DOC        15,355  	04-24-96  6:59p SETUP.DOC
PGP263II 	ZIP       298,081  		04-25-96  9:01a PGP263II.ZIP
PGP263II 	ASC           295  		04-25-96  9:02a PGP263II.ASC
MD5SUM   	EXE        18,856  		01-11-96 10:50p MD5SUM.EXE
PGPSORT  	EXE        18,196  		09-04-95  8:10p PGPSORT.EXE
PGP      		EXE       237,631  	04-25-96  8:17a PGP.EXE
CONFIG   	TXT         5,155  		01-18-96 11:49a CONFIG.TXT
DE       		HLP         5,735  		01-02-96  2:58p DE.HLP
EN       		HLP         4,279  		01-02-96  2:57p EN.HLP
ES       		HLP         4,659  		01-02-96  2:56p ES.HLP
FR       		HLP         4,779  		01-02-96  2:58p FR.HLP
KEYS     	ASC        14,499  		04-25-96  8:22a KEYS.ASC
LANGUAGE 	TXT       108,033  	01-18-96 12:54p LANGUAGE.TXT
PGP      		HLP         2,072  		01-12-96  4:01p PGP.HLP
DOC            		<DIR>        	04-20-97  7:30a DOC
        16 file(s)          761,128 bytes
         3  dir(s)      26,345,472 bytes free

	Langkah selanjutnya adalah kita mengkonfigurasi program PGP tersebut melalui file config.txt. Berikut contoh config.txt  yang dikonfigurasi dan dipersingkat :

#
# PGP 2.6.3i Configuration file
#
MyName = "Joko Yuliantoro"
Language = en
CharSet = cp850
TMP = "c:\temp"
# Pager = "list"
ArmorLines = 0
# Armor = on          	# Use -a flag for ASCII armor whenever applicable
# TextMode = on       	# Attempt to use -t option where applicable
# ClearSig = off      	# Use ASCII armor even for unencrypted signed messages
# KeepBinary = on     	# Decrypt will not delete intermediate .pgp file
# Verbose = 2         	# Verbose diagnostic messages
# Verbose = 0         	# Be quiet
# Compress = off      	# Suppress compression to aid debugging
# ShowPass = on       	# Echo password when user types it
# Interactive = on    	# Interactively prompt the user when adding keys (-ka)
# EncryptToSelf = on  	# Encrypt all messages with your own public key
# AutoSign = off      	# Don't sign new userids
# Legal_Kludge = off  	# Use backwards-compatible format

BakRing = "c:\temp\secring.pgp"
Completes_Needed = 1
Marginals_Needed = 2
Cert_Depth = 2
# TZFix = 0

# Paths to keyrings and seed file for random generator.
PubRing = "c:\pgp\pubring.pgp"
SecRing = "c:\pgp\secring.pgp"
RandSeed = "c:\pgp\randseed.bin"

# Add optional comment to ASCII armor output.
# Comment = "Requires PGP version 2.6 or later."

	Option-option yang cukup penting pada file config.txt tersebut adalah :

Language :	Bahasa yang digunakan pada mode ‘help’. Defaultnya adalah ‘en’ (English).
CharSet :	Himpunan karakter yang digunakan untuk mengenkripsi file. Default untuk MS-Dos adalah ‘cp850’.
ArmorLines :	Mendefinisikan berapa banyak baris dalam satu buah paket. Jika kita ingin membuat file yang dienkripsi menjadi beberapa bagian, kita bisa definisikan berapa banyak baris untuk setiap satu bagian. Jika nilainya diset ‘0’ (nol) maka file enkripsi tidak dibagi-bagi.
BakRing :	Tempat dimana file secring.pgp cadangan diletakkan. Jika diarahkan ke drive A, maka setiap saat program PGP dijalankan, disket yang berisi file secring.pgp cadangan tersebut harus selalu berada di drive A.
Cert_Depth :	Menyatakan tingkat “introducers” yang bisa memberikan jaminan bahwa public key orang lain yang diberikan kepada kita adalah asli. Sebagai contoh, kita percaya kepada jaminan yang diberikan oleh Tati. Tati percaya sepenuhnya kepada jaminan yang diberikan oleh Budi. Budi percaya kepada jaminan dari Didi. Nah, kita percaya kepada jaminan yang diberikan oleh Didi jika nilai Cert_Depth adalah 3. Jika nilai Cert_Depth adalah 2 maka kita tidak akan percaya public key yang telah dijamin oleh Didi. Dalam hal ini, Tati adalah “introducer” tingkat 1, Budi adalah tingkat 2 dan Didi adalah tingkat 3. Apabila nilai Cert_Depth kita set menjadi 0 (nol) maka saat kita menerima public key orang lain, kita harus menerima langsung dari pemilik public key dan memberikan sendiri jaminan terhadap public key tersebut.
Pubring :	Direktori tempat menyimpan dan nama file yang berisi koleksi public key miliki kita
Secring :	Direktori tempat menyimpan dan nama file yang berisi private key.
RandSeed :	Direktori tempat menyimpan dan nama file yang berisi hasil proses random generator saat kita menciptakan key.

	Setelah file config.txt selesai diedit dan disimpan, maka selanjutnya kita mengkonfigurasi parameter TZ dan path untuk program PGP. TZ ini kependekan dari Time Zone dan untuk WIB digunakan nilai GMT-7. Jika parameter TZ tidak diset maka PGP tidak akan beroperasi. Ada dua cara untuk mengkonfigurasi parameter tersebut. Cara pertama, kita langsung ketikkan perintah “set TZ=GMT-7” dan “set path=c:\pgp;%path%” pada prompt DOS. 

C:\>SET TZ=GMT-7  			[Enter]
C:\>SET PATH=C:\PGP;%PATH% 	[Enter]

	Cara kedua, kita tambahkan kedua perintah di atas pada file AUTOEXEC.BAT sehingga setiap kali booting, komputer akan otomatis mengkonfigurasi parameter di atas.

	Jika langkah-langkah di atas telah selesai dilakukan, maka instalasi program PGP telah selesai dan siap digunakan.

Penggunaan PGP

	PGP memiliki banyak argumen yang mendefinisikan setiap fungsi yang berbeda-beda. Untuk melihat keseluruhan argumen yang tersedia, gunakan perintah “pgp -h”.
	Pertama-tama yang kita lakukan dalam menggunakan PGP ini menciptakan key, baik itu public key maupun itu private key. Perintah untuk menciptakan key baru adalah “pgp -kg”. Berikut ini adalah step-step untuk menciptakan key baru dengan huruf cetak tebal adalah huruf-huruf yang kita ketikkan.

C:\PGP>pgp -kg
Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
(c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-03-04
International version - not for use in the USA. Does not use RSAREF.
Current time: 1997/04/20 06:50 GMT

Pick your RSA key size:
    1)   512 bits- Low commercial grade, fast but less secure
    2)   768 bits- High commercial grade, medium speed, good security
    3)  1024 bits- "Military" grade, slow, highest security
Choose 1, 2, or 3, or enter desired number of bits: 3

Generating an RSA key with a 1024-bit modulus.

You need a user ID for your public key.  The desired form for this
user ID is your name, followed by your E-mail address enclosed in
<angle brackets>, if you have an E-mail address.
For example:  John Q. Smith <12345.6789@compuserve.com>
Enter a user ID for your public key:
Joko Yuliantoro <joko@itb.ac.id>

You need a pass phrase to protect your RSA secret key.
Your pass phrase can be any sentence or phrase and may have many
words, spaces, punctuation, or any other printable characters.

Enter pass phrase: rahasia dong
Enter same pass phrase again: rahasia dong
Note that key generation is a lengthy process.

We need to generate 560 random bits.  This is done by measuring the
time intervals between your keystrokes.  Please enter some random text
on your keyboard until you hear the beep:
 560 .  ketik sembarang huruf , tidak perlu harus membentuk kata-kata, yang penting jumlah total dari huruf-huruf tersebut sebesar 560 buah. Sangat tidak dianjurkan mengetikkan huruf dengan menekan terus-menerus tombol keyboard. PGP menghitung  jeda antara pengetikan sebuah huruf dengan huruf yang lain. Bila Anda tekan terus menerus, maka polanya menjadi tetap.

0 * -Enough, thank you.
..........................**** .****
Pass phrase is good.  Just a moment....
Key signature certificate added.
Key generation completed.

C:\PGP>

	Proses menciptakan key selesai! Hasilnya bisa dilihat dengan menggunakan perintah “pgp -kvc”.

C:\PGP>pgp -kvc
Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
(c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-03-04
International version - not for use in the USA. Does not use RSAREF.
Current time: 1997/04/20 07:37 GMT

Key ring: 'c:\pgp\pubring.pgp'
Type Bits/KeyID    Date       User ID
pub  1024/9F5BC789 1997/04/20 Joko Yuliantoro <joko@itb.ac.id>
            Key fingerprint = B0 98 60 55 99 8F 5E 97  A7 D6 E3 1F 7E 40 EC 76
1 matching key found.

C:\PGP>

	Dengan demikian kita telah memiliki sebuah key dengan MPILIB key 1024 bit. Selanjutnya kita bisa mengekstrak public key kita sehingga bisa kita bagikan kepada orang-orang yang kita percaya. Perintah ekstraksi public key adalah “pgp -kxa userid keyfile”.

C:\PGP>pgp -kxa joko pubkey
Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
(c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-03-04
International version - not for use in the USA. Does not use RSAREF.
Current time: 1997/04/20 08:51 GMT

Extracting from key ring: 'c:\pgp\pubring.pgp', userid "joko".

Key for user ID: Joko Yuliantoro <joko@itb.ac.id>
1024-bit key, key ID 9F5BC789, created 1997/04/20

Transport armor file: pubkey.asc

Key extracted to file 'pubkey.asc'.

C:\PGP>type pubkey.asc
Type Bits/KeyID    Date       User ID
pub  1024/9F5BC789 1997/04/20 Joko Yuliantoro <joko@itb.ac.id>

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3ia

mQCNAzNagi4AAAEEALElR37C5A8X6g2wubF9Db0ngQKsOAUsCH+tgCLuJ0ajyiD1
DO6p/PoE4qB2W+bvt5bg+F2FwEssDBPv0fbCKIzqjhI2txR9c/sUEkpLTZgX4dIN
NWb5yTXqFQop8yLOd0hVvzXpogFDAOasRhCKXyw0PSaSfKeZhhY2iNqfW8eJAAUR
tCBKb2tvIFl1bGlhbnRvcm8gPGpva29AaXRiLmFjLmlkPokAlQMFEDNagi8WNoja
n1vHiQEBO2sD/1OJkFGfHY5wV2MsF4Agbyfbz6rUnKgnhhoGWX4YUEksz37NUsQf
MPcHbHfL+S4Zy5b3rFnWTWtpxh8y4YjBcw98ZWUBw0TBohKyImrPGRv0G3dJT6rE
B/j6PiN0Ko4ofSkkSI3DqiqNqYHnmPWU35NReEOUmwSWUUQjTymPSGoL
=141+
-----END PGP PUBLIC KEY BLOCK-----

C:\PGP>

	Nah, file yang berisi public key adalah ‘pubkey.asc’ dan siap dikirimkan melalui e-mail atau dikopikan ke disket. 
	Bagaimana menambahkan public key yang kita terima ke dalam koleksi public key yang kita miliki? Gunakan perintah “pgp -ka keyfile”.

C:\PGP>pgp -ka binokey.asc
Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
(c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-03-04
International version - not for use in the USA. Does not use RSAREF.
Current time: 1997/04/20 09:11 GMT

pub  1024/373CACCD 1997/04/20  Bino Oetomo <bino@ywcn.or.id>

Checking signatures...
pub  1024/373CACCD 1997/04/20 Bino Oetomo <bino@ywcn.or.id>
sig!      373CACCD 1997/04/20  Bino Oetomo <bino@ywcn.or.id>

Keyfile contains:
   1 new key(s)

One or more of the new keys are not fully certified.
Do you want to certify any of these keys yourself (y/N)? y

Key for user ID: Bino Oetomo <bino@ywcn.or.id>
1024-bit key, key ID 373CACCD, created 1997/04/20
Key fingerprint = B0 DB 15 E5 55 C2 A3 47  24 10 A9 23 B2 DB DB 7F
This key/userID association is not certified.
  Questionable certification from:
  Bino Oetomo <bino@ywcn.or.id>

Do you want to certify this key yourself (y/N)? y

Looking for key for user 'Bino Oetomo <bino@ywcn.or.id>':

Key for user ID: Bino Oetomo <bino@ywcn.or.id>
1024-bit key, key ID 373CACCD, created 1997/04/20
            Key fingerprint = B0 DB 15 E5 55 C2 A3 47  24 10 A9 23 B2 DB DB 7F

READ CAREFULLY:  Based on your own direct first-hand knowledge, are
you absolutely certain that you are prepared to solemnly certify that
the above public key actually belongs to the user specified by the
above user ID (y/N)? y

You need a pass phrase to unlock your RSA secret key.
Key for user ID: Joko Yuliantoro <joko@itb.ac.id>
1024-bit key, key ID 9F5BC789, created 1997/04/20

Enter pass phrase: rahasia dongPass phrase is good.  Just a moment....
Key signature certificate added.

Make a determination in your own mind whether this key actually
belongs to the person whom you think it belongs to, based on available
evidence.  If you think it does, then based on your estimate of
that person's integrity and competence in key management, answer
the following question:

Would you trust "Bino Oetomo <bino@ywcn.or.id>"
to act as an introducer and certify other people's public keys to you?
(1=I don't know. 2=No. 3=Usually. 4=Yes, always.) ? 4

C:\PGP>

	Untuk melihat koleksi public key milik kita, gunakan kembali perintah “pgp -kvc”. Dengan demikian, kita telah memiliki dua public key yaitu public key milik kita dan public milik bino@ywcn.or.id.
	Bagaimana cara mengenkripsi mail yang hendak dikirimkan? Salah satu cara adalah menjalankan prosedur seperti Gambar 1. Kita buat isi mail kita ke dalam sebuah file teks. Kita enkripsi dengan menggunakan PGP. Kita perintahkan program e-mail untuk membaca dan mengirimkan file yang telah dienkripsi. Sesampainya di tujuan, penerima menyimpan isi mail yang masih terenkripsi ke dalam bentuk file. Penerima menjalankan program PGP untuk mendekripsi file tersebut. Hasil akhirnya adalah isi mail awal.
	Sebagai contoh, Bino mengirimkan mail ke kita yang isi mailnya dalam bentuk PGP adalah sebagai berikut :

-----BEGIN PGP MESSAGE-----
Version: 2.6.3ia

hIwDFjaI2p9bx4kBBACJ18DnvB9r0FD1CYoKPcPu5MGlgXB+ymi0WswCGTUrRncu
cmr95EmE+2nApJ+cwDYFMWXC2gy+zuh+uTclkD3nNkBpcyiEmfOeDbzCk/VSe9q+
25YIACfXQy2vD+jZ1r9VoUI1TQxdYsvXooo9iS4mtCuW6t3QTi+GBtcuPjH6sqYA
AAGG8lmor/f2/RPgt06h+jtOBmMFE/pQM6Ad0SNdM6nE/u5ypSJiiYCt5OuxkhRq
masBbFRSLku+YFFKfbWAEbgDMlXel4HngPjEh5c0SF/QVtvzJ5w1HYnyxJoTh2IT
5stTn9bRSCKTiP75H/0CFjPbWlQfIquv/9QdJSuOQ7eLeX57uEdG3tDd5jtd53m5
uYBA+YwPyKXDr8sOMlP1GqpaNZIUImg+py2nUUDSwxxVJhuyESE2F8NbiECA9LVy
ygasK8r+XkjoB6zojN+Bp8D/PsmhCDET9pc5pVv3Y1X+XrjuTtMwlCeU9l3Z2YEH
yeh5h59zh2q1gffhi0DlazKtb1H4kor3fzfsZMaYVi+8NxidQ8Gmb85Mvng4Iusz
DfTA1VHdvPkVPM8oR13DteR30YRqCG8C14Hy2Fw/MATofQbJbJ+UgeRBVen38W8e
jUlsE2bysIiFWUUPuKwK4kc3FojJw5Dx/VV7sFTykCXQo68KUTkN+O/6I4xJxjbS
nDBhqQvUHp9i
=Albb
-----END PGP MESSAGE-----

	Mail ini masih dalam bentuk enkripsi. Kita terima dengan menggunakan program mail (Eudora, Pegasus, dll) kemudian kita simpan ke file “mail.asc”. Kita dekripsi mail tersebut dengan perintah “pgp keyfile” 

C:\PGP>pgp mail.asc
Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses.
(c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-03-04
International version - not for use in the USA. Does not use RSAREF.
Current time: 1997/04/20 11:04 GMT

File is encrypted.  Secret key is required to read it.
Key for user ID: Joko Yuliantoro <joko@itb.ac.id>
1024-bit key, key ID 9F5BC789, created 1997/04/20

You need a pass phrase to unlock your RSA secret key.
Enter pass phrase:  rahasia dongPass phrase is good.  Just a moment......
File has signature.  Public key is required to check signature.
.
Good signature from user "Bino Oetomo <bino@ywcn.or.id>".
Signature made 1997/04/20 10:45 GMT using 1024-bit key, key ID 373CACCD

Plaintext filename: mail

C:\PGP>type mail

Halo Jok ......
Ini nomor kode transaksi kita dengan orang Jepang sama user name dan
password console di komputer sentral :

        Kode     : 476-B345-F54-C
        Username : pakne
        Password : jompa jampu

Sampe ketemu besok

- bino -

C:\PGP>

	Proses dekripsi telah selesai dengan munculnya file ‘mail’ yang dapat dimengerti. Dari contoh di atas, terlihat jelas bahwa file yang dikirimkan adalah file yang terenkripsi. Jika ada orang yang bisa membaca isi mail tersebut, sia-sia saja karena isi mail yang dikirimkan tidak memiliki arti bagi manusia. 
	Dengan demikian, Anda telah siap mengirimkan mail pertama Anda yang terenkripsi oleh PGP. Ada beberapa macam penerapan PGP selain untuk enkripsi e-mail tetapi penjelasan secara detil tidak disatukan dengan tulisan ini. Sebagai contoh, MIT telah mengeluarkan PGPfone versi beta pada tanggal 11 Juli 1996. Program PGPfone ini bertujuan untuk menambah fungsi “secure telephone” ke komputer atau notebook. PGPfone menggunakan “speech-compression” dan algoritma kriptografi yang canggih untuk mengamankan jalur telepon yang Anda gunakan.
	Selain cara penggunaan di atas, terdapat beberapa software siap pakai yang bertujuan meringkas beberapa fungsi PGP dan mempermudah proses “redirecting” input-ouput program PGP dengan input-output program lain. Software-software tersebut tersedia bebas dan bersifat shareware. Salah satu URL yang bagus untuk software-software di atas adalah http://www.ifi.uio.no/pgp/utils.shtml.

	Selamat ber-PGP ria !!!