Sandi (kriptografi)

Dalam kriptografi, sandi adalah algoritma untuk melakukan enkripsi dan dekripsi—daftar langkah yang teratur yang dapat diikuti sebagai prosedur. Enkripsi adalah mengubah informasi ke kode. Terkadang 'sandi' bersinonim dengan 'kode', karena sama-sama merupakan langkah untuk mengenkripsi pesan; meskipun, konsepnya lebih ke kriptografi, terutama kriptografi klasik. Kebanyakan sandi modern dapat dikategorikan dalam beberapa cara: Dihitung dalam bentuk blok-blok biasanya dalam besar yang tetap, atau dalam arus.
Kunci yang sama untuk enkripsi dan dekripsi, atau dengan kunci yang berbeda. Jika algoritma simetris, kuncinya hanya boleh diketahui oleh pengirim dan penerima, tidak boleh orang lain. Jika algoritma asimetris, kunci publik diberikan ke pengirim dan hanya akan bisa dibuka dengan kunci privat yang hanya dimiliki boleh diketahui oleh penerima.