Algoritma kriptografi adalah algoritma yang berfungsi untuk melakukan tujuan dari ilmu kriptografi itu sendiri. Algoritma kriptografi terdiri dari 2 bagian fungsi, yaitu :
- ENKRIPSI (encryption), dan
- DEKRIPSI (decryption).
Shannon mengatakan bahwan Algoritma kriptografi harus memiliki kekuatan untuk melakukan konfusi dan difusi.
- KONFUSI (confusion). Mengaburkan hubungan antara plaintext dan ciphertext. Cara palingmudah untuk melakukan konfusi adalah menggunakan substitusi. Konfusi menimbulkan kesulitan dalam usaha musuh untuk mencari keteraturan dan pola statistik antara plaintext dan ciphertext.
- DIFUSI (difusion), Menyebarkan redudansi plaintext dengan menyebarkan masukan ke seluruh ciphertext. Caa yang paling mudah untuk dapat melakukan difusi adalah dengan menggunakan metode transposisi. Jika menggunakan difusi, akan dibutuka waktu ang lebih lama untk emecakan sandi rahasia ini.
Sehingga dapat digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritma sandi harus memperhatikan kualitas layanan dari keseluruhan sistem dimana dia diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri. Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa.
Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi :
- ALGORITMA KUNCI SIMETRIS.
- ALGORITMA KUNCI ASIMETRIS.
Berdasarkan arah implementasi dan pembabakan zamannya dibedakan menjadi :
- ALGORITMA SANDI KLASIK.
- ALGORITMA SANDI MODERN
Berdasarkan kerahasiaan kuncinya dibedakan menjadi :
- ALGORITMA SANDI KUNCI RAHASIA
- ALGORITMA SANDI KUNCI PUBLIK