Bimacipta

Skema Enkripsi Sapphire II

 

Skema Enkripsi Sapphire II

Oleh : Budi Sukmawan, Maret 1999


Deskripsi

Sapphire II diciptakan oleh Michael Paul Johnson pada tahun 1994 yang merupakan pengembangan dari Sapphire Stream Cipher original. Pada dasarnya metoda enkripsi ini mirip dengan RC4 tetapi menggunakan plainteks dan cipherteks feedback, sehingga lebih mudah digunakan secara aman. Perbedaan lain adalah operasinya yang lebih kompleks dan menggunakan indeks yang lebih banyak yaitu lima buah indeks sedangkan RC4 hanya dua buah indeks. Dengan kompleksnya operasi dan saling berkaitan operasi sebelum dan sesudahnya (sehingga tidak memungkinan dieksekusi secara paralel) maka kecepatan enkripsi/dekripsi dari Sapphire II tidak akan akan secepat RC4 (kurang lebih hanya sepertiganya). Kelebihan dari metoda ini adalah dapat digunakan sebagai generator bilangan pseudorandom (mestinya setiap metoda enkripsi dapat digunakan untuk hal ini), dapat juga digunakan sebagai hash generation. Panjang kunci seperti juga pada RC4 dapat mencapai 256 byte (2048 bit). Penulis belum menemukan analisa kekuatan dari metoda ini, tetapi kemungkinan akan sekuat RC4. Seperti juga pada umumnya stream cipher metoda ini sangat mudah digunakan karena dapat memproses per byte data yang diberikan.

Aplikasi

Untuk aplikasi dari metoda ini penulis membuat sebuah program berbasis baris perintah (command line) menggunakan bahasa Pascal yang dapat dikompail dengan Turbo Pascal 7.0 untuk aplikasi 16 bit DOS dan Delphi 2.x dan 3.x untuk aplikasi 32 bit DOS box Windows 9x/NT. Program ini sudah dikondisikan dengan compiler directive untuk kompilasi dengan Turbo Pascal atau Delphi sehingga secara otomatis akan menghasilkan aplikasi 16 bit atau 32 bit. Data yang diproses dengan aplikasi 16 bit dan 32 bit dapat saling dipertukarkan karena menggunakan struktur data yang sama, sehingga tidak ada masalah kompatibilitas. Program terdiri dari 4 buah modul yaitu scrypt.pas sebagai program utama, sapphire.pas berisi rutin metoda Sapphire II, scrutl.pas berisi rutin utiliti dan lzrw1kh.pas berisi rutin kompresi. Untuk mengkompail program ini penulis sudah menyediakan batch file yaitu compil.bat sehingga proses kompilasi lebih mudah, dengan batch file ini akan dihasilkan scryptd.exe bila dikompail dengan Turbo Pascal dan scyptw.exe bila dikompail dengan Delphi 32 bit. Compil.bat ini memerlukan beberapa penyesuaian dengan lingkungan PC anda untuk itu baca dulu keterangan didalam batch file ini. Untuk keterangan penggunaan dari program ini dapat dilihat pada readme.txt. Kekurangan dari program ini adalah belum dapat dikompail dengan Delphi 4.0 karena terdapat masalah pada fungsi ReadKey yang selalu menghasilkan karakter yang tidak benar dan sampai saat ini penulis belum menemukan pemecahannya. Untuk itu bila ada pembaca yang dapat memerikan masukan mengenai masalah ini akan penulis terima dengan senang hati. Kelebihan dari aplikasi ini adalah telah dilengkapi dengan proses kompresi data, walaupun rasio kompresinya tidak begitu baik tetapi sangat cepat. Kelebihan lain adalah dapat menggunakan file kunci (key file), yaitu kunci berupa file. File kunci ini bisa berupa sembarang file teks atau biner atau file yang dihasilkan dengan option /g. Dengan menggunakan file kunci ini maka kita tidak perlu menggingat-ingat kata kunci tetapi menggunakan file kunci ini yang disimpan misalnya di dalam disket. Kekurangan dari file kunci ini adalah bila file tersebut rusak maka kita akan kehilangan data yang telah dienkripsi karena tidak mungkin merekonstruksi ulang file kunci (juga kata kunci) menggunakan informasi yang ada didalam header file enkripsi, karena data ini disimpan dalam bentuk bilangan 32 bit yang dihasilkan dari xor bilangan 32 bit (LongInt) ke-1 sampai ke-5 dari hash 160 bit menggunakan Sapphire II. Untuk menghindari hilang/rusaknya file kunci maka file ini perlu dibuat salinannya dan kemudian disimpan ditempat yang aman.

Penutup

Seperti dikatakan oleh pakar cryptography Bruce Schneier, membuat sebuah aplikasi cryptography yang aman adalah sangat sulit dan lebih mudah untuk untuk membuat kesalahan. Walaupun metoda enkripsi yang digunakan sangat kuat tetapi bila penerapan dalam aplikasinya terdapat kesalahan maka seluruh sistem menjadi lemah dan tidak berguna. Maka walaupun penulis telah memeriksanya berulang-ulang tidak tertutup kemungkinan aplikasi ini pun tidak luput dari kesalahan yang memungkinkan adanya lubang keamanan. Oleh sebab itu pembaca dapat memeriksa sendiri kode sumbernya dan memberitahukan penulis bila menemukan adanya celah yang dapat dimanfaatkan untuk membongkar file yang telah dienkripsi.

Akhir kata semoga tulisan ini menambah perbendaharaan aplikasi enkripsi yang dapat digunakan secara aman dan bermanfaat bagi pembaca sekalian.

Kepustakaan

- Michael Paul Johnson, "The Sapphire II Stream Cipher", 1994.


kodowanie html5 css, projektowanie stron internetowych , PSD2HTML, PSD HTML, proste strony www, cięcie PSD, tworzenie stron www, webdesign,