Jumat, 12 November 2010

Sejarah Kriptografi



By Tri Wahyudi

Pendahuluan

Hampir selama 2000 tahun setelah sistem Caesar ditemukan, kriptografi tetap sama. Proses enkripsi dan dekripsi dilaksanakan dengan menggunakan kunci tunggal yang sama, dimana kunci tersebut harus dirahasiakan. Bila kunci tersebut jatuh ke tangan/pihak ketiga, maka teks sandi yang dikirim tersebut akan teranalisa atau terpecahkan. Untuk menjaga hal itu, tidak hanya kunci yang harus dijaga secara rahasia tetapi juga keseluruhan algoritma untuk menjaga agar pihak ketiga tidak mengetahui dari mana harus memulai bila akan memecahkan teks sandi tersebut.

Babak tersebut dinamakan babak paper and pencil yang berlangsung sampai pada awal abad ke-19 dimana metode yang digunakan adalah metode substitusi dan transposisi. Metode substitusi yang berkembang adalah sistem monoalphabetik (caesar) dan sistem polialphabetik (vigenere, beaufort, running key,dsb). Sedangkan metode transposisi yang berkembang adalah sistem route, grill, bidang, dsb. Pada tahun 1917, Gilbert Vernam membuat suatu sistem sandi dimana rangkaian kunci yang digunakan untuk menyandi hanya sekali pakai dan tidak overlapping. Sistem tersebut dinamakan Vernam Cipher atau yang dikenal dengan One Time Key (OTK) atau One Time Pad (OTP). Perlu dicatat bahwa sistem OTP merupkan sistem yang paling kuat dan masih digunakan pada saat ini karena rangkaian kunci yang dihasilkan trully random dimana pembangkitan suatu huruf (bit) kunci dengn huruf (bit) kunci yang lain adalah saling lepas dan tidak mempengaruhi.

Babak berikutnya adalah berkembangnya peralatan mesin sandi mekanik yang berkembang sampai pertengahan abad ke-19. Sejalan dengan berkembangnya teksnologi mekanik seperti rotor, maka bentuk sistem penyandian menjadi semakin kompleks yang dimplementasikan ke dalam mesin sandi mekanik, seperti Jefferson Wheel, M-209 atau HC-36 dan HC-52.

Pada tahun 1949, Calude E. Shannon memperkenalkan Teori Informasi melalui tulisannya yang berjudul "The Communication Theory of Secrecy Systems".
Berdasarkan teori diatas, diasumsikan bahwa kekuatan sistem sepenuhnya terletak pada tingkat kerahasiaan kunci yang ditentukan oleh tingkat kekuatan kriptografis dari algoritmanya. Tingkat kerahasiaan kunci terdiri dari :
a. Perfect Secrecy (kerahasiaan yang sempurna).
Sistem ini benar-benar aman tanpa syarat. Contoh : OTP/OTK dengan trully random key.
b. Practical Secrecy, dimana tingkat kerahasiaan dapat dipertanggungjawabkan secara praktis dan dapat dihitung secara matematis. Dalam hal ini, interval validitas informasi yang disandi dengan sistem tersebut dibuat lebih pendek dari interval waktu yang dibutuhkan untuk memecahkan kode atau sistem sandi tersebut. Contoh : Sistem Stream Cipher dengan pseudo random key generator.

Dengan berkembangnya teksnologi mikro-elektronik pada tahun 1960-an, Sistem Penyandian Shannon mulai diimplementasikan ke dalam bentuk mesin sandi elektronik dengan pembangkit kunci acak. Pada sistem ini kunci yang digunakan untuk menyandi sama dengan kunci yang digunakan untuk membuka sehingga sebelum dilakukan proses komunikasi sandi harus dilakukan pertukaran kunci rahasia (sinkronisasi) terlebih dahulu.

Sekitar tahun 1970-an diperkenalkan Sistem Sandi Blok (Block Cipher) oleh Horst Feistel yang dikenal dengan Sistem Sandi Lucifer. Pada tahun 1972 berdasarkan Sistem Sandi Lucifer dikembangkan Data Encryption Standard (DES) di IBM dengan pimpinan proyek W.L. Tuchman. Setelah lulus uji kekuatan kriptografis oleh NSA, pada tahun 1977 sistem DES diadopsi oleh NBS sebagai sistem sandi standard federal (khusus sektor bisnis dan swasta).

Pada tahun 1976 terjadi sebuah perubahan dan perkembangan yang besar pada dunia kriptografi. Withfield Diffie dan Martin Hellman menulis sebuah artikel yang berjudul “ New Direction in Cryptography “, dimana mereka merancang sebuah algoritma yang diberi nama Kunci Publik Cryptography. Algoritma ini memiliki perbedaan yang mendasar bila dibandingkan dengan teknik-teknik yang biasa dipergunakan oleh algoritma konvensional. Pada kunci publik, kunci yang digunakan untuk proses menyandi berbeda dengan kunci yang digunakan untuk proses menterjemahkannya.

Hal yang unik pada teknik ini adalah kunci enkripsi, algoritma enkripsi maupun algoritma dekripsinya sangat terbuka, dalam arti tidak perlu dirahasiakan atau dapat diketahui oleh banyak pihak.

Selanjutnya mulai tahun 1980-an, kriptanalisis menjadi salah satu area yang paling aktif dalam bidang riset dan penelitian. Bahkan banyak perangkat (teori) matematik yang berguna untuk kegiatan kriptanalisis telah dikembangkan sejalan dengan perkembangan kompleksitas dalam sistem komputasi. Semakin berkembangnya teksnologi mikroelektronik yang telah menghasilkan mikroprosesor dan mikrokontroler dengan kecepatan dan kapasitas yang sangat tinggi, implementasi sistem sandi ke hardware yang semakin canggih pula.

Setelah perkembangan tersebut, sistem-sistem sandi yang ada dikelompokkan ke dalam dua kelompok besar berdasarkan jenis algoritmanya, yaitu algoritma simetrik untuk algoritma-algoritma konvensional dan algoritma asimetrik untuk algoritma-algoritma kunci publik.
Sistem Kriptografi mempunyai lima komponen :
• Berita terang (teks terang ) M
• Berita sandi (Teks Sandi) C
• Kunci K
• Transformasi enkripsi :
Ek : M C, di mana k  K
• Transformasi Dekripsi :
Dk : C K, di mana k  K
Setiap transformasi enkripsi Ek didefinisikan oleh :
• Algoritma enkripsi E
• Kunci Enkripsi k.
Setiap transformasi enkripsi Dk didefinisikan oleh :
• Algoritma enkripsi D
• Kunci Enkripsi k.
Untuk k yang diberikan, Dk merupakan inverse dari Ek sehingga Dk(Ek (M) = M untuk setiap teks terang M. Dalam Sistem kriptografi transformasi Dk dan Ek digambarkan oleh k atau oleh himpunan parameter yang berasal dari k.
Contoh :
Caesar merupakan tipe penyandian substitusi. Teks terang M semua merupakan kata-kata romawi, ekspresi atau kalimat dan lain-lain. Teks sandi juga mempunyai daerah sama dengan teks terang. Daerah kunci K merupakan himpunan bilangan bulat {0, 1, 2, …., 24}
Proses transformasi Enkripsi :
Ek : M C, di mana k  K didefinisikan sebagai “pergeseran sirkular maju setiap huruf oleh posisi k”.

Proses transformasi dekripsi :
Dk : C M, di mana k  K didefinisikan sebagai “pergeseran sirkular mundur setiap huruf oleh posisi k”.

2. Persyaratan Umum Sistem kripto
Sistem kripto harus memenuhi tiga persyaratn umum (pertama kali diformulasikan oleh Kerkhoff, 1835 –1903)
• Transformasi enkripsi dan dekripsi harus efisien untuk semua kunci.
• Sistem tersebut harus mudah digunakan;
• Keamanan sistem seharusnya hanya tergantung pada kerahasiaan kunci dan bukan pada kerahasiaan algoritma E dan D.

3. Sistem Simetrik dan Asimetrik
Sistem kripto dapat dibagi menjadi simetrik dan asimetrik.
Pada sistem simetrik (satu kunci) kunci menyandi dan membuka sama (atau mudah diperoleh dari kunci lainnya). Sistem ini dapat digunakan untuk melindungi file-file pribadi pengguna : setiap pengguna A mempunyai transformasi privat EA dan DA untuk menyandi dan membuka file. Jika pengguna lain tidak bisa mengakses EA dan DA maka kerahasiaan dan keaaslian A dapat terpenuhi.



Sistem Satu kunci dapat digunakan untuk melindungi informasi yang ditransmisikan melalui jaringan komputer: pengirim dan penerima membagi kunci komunikasi rahasia sehingga mereka dapat menyakini kerahasiaan dan keaslian komunikasi yang mereka lakukan, sehingga kedua pihak sama-sama dapat dipercaya.

Jika hal tersebut tidak tercapai yang didapat hanya kerahasiaan: ketika pengirim dan penerima membagi kunci yang sama, tidak mungkin membuktikan berita tersebut asli berasal dari pengirim atau penerima: ini disebut masalah anti penyangkalan (non-repudiation).

Sampai beberapa waktu yang lalu, semua sistem kripto menggunakan satu kunci, sehingga sistem satu kunci sering disebut sebagai Sistem Konvensional (Sistem Klasik).
Sistem kripto asimetrik (dua kunci) pertama kali diperkenalkan pada tahun 1976 oleh Whielfield Diffie dan Martin Hellman. Proses enkripsi dan dekripsi dalam sistem kripto asimetrik menggunakan dua kunci yang berbeda di mana setidaknya salah satu kunci sulit secara perhitungan diperoleh dari kunci lainnya. Hal tersebut dapat diartikan mungkin menyebar salah satu kunci tanpa menyebarkan kunci yang lainnya.

Kerahasiaan dan keaslian diperoleh dengan melindungi Dk untuk kerahasiaan dan Ek untuk keaslian. Dk analog dengan kunci untuk membaca (read-key), dan Ek analog degan kunci untuk menulis (write-key).

Tidak ada komentar:

Posting Komentar