KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Allah SWT yang telah
melimpahkan rahmat dan hidayah-Nya kepada kami sehingga kami dapat menyelesaikan
tugas Proposal, sebagai salah satu syarat dalam menempuh mata kuliah Analisis Dan Perancangan Sistem. Proposal ini kami susun dengan judul “Sistem
Keamanan Data Komputer dengan Metode Key Cryptography”.
Dengan terselesainya tugas penyusunan proposal ini kami berharap
sekiranya proposal ini dapat memberikan manfaat pada pengembangan penerapan teknologi
informasi. Kritik dan saran yang membangun untuk perbaikan proposal ini akan kami
terima dengan senang hati.
Makassar, November 2012
STUDI SISTEM KEAMANAN DATA
DENGAN METODE KEY CRYPTOGRAPHY
I. PENDAHULUAN
Kemajuan di bidang teknologi informasi telah memungkinkan
institusi-institusi pendidikan atau lainnya melakukan interaksi dengan konsumen
melalui jaringan komputer. Kegiatan-kegiatan tersebut tentu saja akan
menimbulkan resiko bilamana informasi yang sensitif dan berharga tersebut
diakses oleh orang-orang yang tidak berhak. Aspek keamanan data sebenarnya meliputi
banyak hal yang saling berkaitan, tetapi khusus dalam tulisan ini penulis akan
membahas tentang enkripsi dan keamanan proteksi data dengan metode key cryptography.
Saat ini telah banyak beredar program khusus proteksi data
baik freeware, shareware, maupun komersial yang sangat baik. Pada umumnya
program tersebut tidak hanya menyediakan satu metoda saja, tetapi beberapa
jenis sehingga kita dapat memilih yang menurut kita paling aman. Salah satu
metode enkripsi adalah public key
criptography. Sampai saat ini penulis memperhatikan telah banyak program
proteksi data yang telah diterbitkan pada majalah Mikrodata ataupun Antivirus,
tetapi jarang sekali yang cukup baik sehingga dapat dipercaya untuk melindungi
data yang cukup penting.
Terlepas dari aman atau tidak, penulis sangat menghargai
kreatifitas programmer-programmer di negara kita, sehingga penulis selalu
tertarik jika ada artikel tentang program proteksi data di majalah ini,
meskipun (sekali lagi) sangat jarang metoda-metoda tersebut dapat memberikan
proteksi yang baik terhadap data kita. Dari pengamatan penulis kekuatan dari
metoda-metoda enkripsi adalah pada kunci (dari password yang kita masukkan)
sehingga walaupun algoritma metoda tersebut telah tersebar luas orang tidak
akan dapat membongkar data tanpa kunci yang tepat. Walaupun tentunya untuk
menemukan metoda tersebut diperlukan teori matematika yang cukup rumit. Tetapi
intinya disini ialah bagaimana kita mengimplementasikan metoda-metoda yang
telah diakui keampuhannya tersebut didalam aplikasi kita sehingga dapat
meningkatkan keamanan dari aplikasi yang kita buat.
Memang untuk membuat suatu metoda enkripsi yang sangat kuat
(tidak dapat dibongkar) adalah cukup sulit. Ada satu peraturan tidak tertulis
dalam dunia cryptography bahwa untuk dapat membuat metoda enkripsi yang baik
orang harus menjadi cryptanalysis (menganalisa suatu metoda enkripsi atau
mungkin membongkarnya) terlebih dahulu. Salah satu contohnya adalah Bruce
Schneier pengarang buku Applied Crypthography yang telah menciptakan metoda
Blowfish dan yang terbaru Twofish. Bruce Schneier (dan sejawatnya di
Counterpane) telah banyak menganalisa metoda-metoda seperti 3-Way, Cast, Cmea,
RC2, RC5, Tea, Orix, dll dan terbukti metoda yang ia buat yaitu Blowfish (yang
operasi ciphernya cukup sederhana bila dibandingkan dengan DES misalnya) sampai
saat ini dianggap salah satu yang terbaik dan tidak bisa dibongkar dan juga
sangat cepat. Bahkan untuk menciptakan Twofish ia dan timnya di Counterpane
menghabiskan waktu ribuan jam untuk menganalisanya dan sampai saat-saat
terakhir batas waktu penyerahan untuk AES (15 Juni 1998) ia terus
menganalisisnya dan menurutnya sampai saat inipun ia masih terus menganalisis
Twofish untuk menemukan kelemahannya.
Tabel 1. Performance
Metoda-metoda Enkripsi
Metoda
|
Rutin Penulis
|
Rutin Barton
|
Faktor
(
x )
|
(
Kbytes/detik)
|
|||
Blowfish
|
6063,06
|
26,33
|
230,3
|
IDEA
|
1458,44
|
913,91
|
1,6
|
RC2
|
1867,76
|
640,37
|
2,9
|
RC4
|
9416,20
|
6429,49
|
1,5
|
RC5
|
5760,37
|
1907,91
|
3,0
|
RC6
|
4291,85
|
812,30
|
5,3
|
GOST
|
3524,44
|
-
|
-
|
Safer
|
1234,77
|
-
|
-
|
Skipjack
|
-
|
497,45
|
-
|
Dari tabel di atas terlihat performance dari
metoda-metoda ekripsi yang telah di-port ke dalam Delphi rata-rata cukup baik
bila di-optimize dengan benar, bahkan ada diantaranya yang lebih cepat
(dicompile dengan Delphi 3.0, dengan directive {$O+;$R-;$Q-}) dibandingkan
rutin C-nya yang dicompile dengan Borland C/C++ 5.2 (BCC32 dari Borland C++
Builder, dengan option optimize for speed,-O2), contohnya adalah Blowfish dan
RC4. Faktor penting dalam optimasi dengan Delphi 32 bit (Delphi 2.x, 3.x, 4.0
tampaknya menggunakan metoda optimasi yang sama) adalah penggunaan variabel 32
bit (Integer/LongInt/LongWord), karena tampaknya Delphi ini dioptimasikan untuk
operasi 32 bit. Contohnya adalah rutin Idea yang menggunakan beberapa variabel
Word (16 bit) dalam proses ciphernya, ketika penulis mengganti
variabel-variabel ini dengan Integer dan me-mask beberapa operasi yang perlu
sehingga hasilnya masih dalam kisaran Word, akan meningkatkan performance
kurang lebih 40%. Demikian juga dengan RC4 yang dalam tabel permutasinya
menggunakan type Byte (8 bit) penulis mengganti dengan Integer, kecepatannya
meningkat drastis. Walaupun demikian, dengan cara ini terjadi peningkatkan
overhead penggunaan memori, seperti pada RC4 dari tabel 256 byte menjadi 256*4
= 1024 byte. Tetapi karena kita memakainya untuk implementasi software saja dan
saat ini harga memori cukup murah jadi tidak terlalu menjadi masalah. Faktor
lain dalam optimasi adalah menghindari pemanggilan fungsi/procedure dalam blok
enkripsi utama, karena pemanggilan fungsi/procedure akan menyebabkan overhead
yang sangat besar. Hal lain yang perlu dihidari adalah penggunaan loop (for,
while, repeat) sehingga memungkinkan kode program dieksekusi secara paralel,
terutama pada prosesor superscalar seperti Pentium atau yang lebih baru.
Perlu juga diketahui bahwa ada diantara
metoda-metoda enkripsi tersebut yang dipatenkan seperti Idea, Seal, RC5, RC6,
Mars atau mungkin tidak diperdagangkan/disebarkan secara bebas (trade secret)
seperti RC2, RC4. Dan ada juga yang bebas digunakan seperti Blowfish, Twofish,
Sapphire II, Diamond II, 3-Way, Safer, Cast-256, dll., walaupun tentu saja
secara etika kita harus tetap mencantumkan pembuatnya/penciptanya pada program
kita.