Algoritma Sandi
Algoritma sandi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Algoritma tersebut harus memiliki kekuatan untuk melakukan :
· konfusi/pembingungan (confusion), dari teks terang sehingga sulit untuk direkonstruksikan secara langsung tanpa menggunakan algoritma dekripsinya.
· difusi/peleburan (difusion), dari teks terang sehingga karakteristik dari teks terang tersebut hilang. sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritmas sandi harus memperhatikan kualitas layanan/Quality of Service atau QoS dari keseluruhan sistem dimana dia diimplementasikan.
Algoritma sandi yang baik adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritmanya. Teknik dan metode untuk menguji baik atau buruknya adalah kripnalisa.
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
• kunci-asimetris/asymetric-key
• kunci-simetris/symetric-key, sering disebut juga algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik
• kunci-asimetris/asymetric-key
Berdasarkan arah implementasi dan pembabakan jamannya dibedakan menjadi :
• algoritma sandi klasik classic cryptography
• algoritma sandi modern modern cryptography
• algoritma sandi klasik classic cryptography
• algoritma sandi modern modern cryptography
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
• algoritma sandi kunci rahasia secret-key
• algoritma sandi kunci publik publik-key
• algoritma sandi kunci rahasia secret-key
• algoritma sandi kunci publik publik-key
Algoritma sandi kunci-simetris.
Skema algoritma sandi akan disebut kunci-simetris apabila untuk setiap proses enkripsi maupun dekripsi data secara keseluruhan digunakan kunci yang sama. Skema ini berdasarkan jumlah data per proses dan alur pengolahan data didalamnya dibedakan menjadi dua kelas, yaitu block-cipher dan stream-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. Pada umumnya, block-cipher memproses teks terang dengan blok yang relatif panjang lebih dari 64 bit, untuk mempersulit penggunaan pola-pola serangan yang ada untuk membongkar kunci.
Untuk menambah kehandalan model algoritma sandi ini, dikembangkan pula beberapa tipe proses enkripsi, yaitu :
· ECB, Electronic Code Book
· CBC, Cipher Block Chaining
· OFB, Output Feed Back
· CFB, Cipher Feed Back
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.
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