Enkripsi cipher adalah berbagai enkripsi di mana kunci digunakan untuk melindungi informasi yang dikodekan. Secara umum, ada dua metode enkripsi sandi—metode blok dan metode aliran. Ini menentukan bagaimana cipher diterapkan pada pesan asli. Selain dua metode itu, ada dua gaya juga. Sebuah cipher baik simetris atau asimetris tergantung pada apakah pesan tersebut memerlukan cipher dekripsi yang sama atau berbeda.
Pesan terenkripsi telah menjadi pokok kerahasiaan manusia sejak peradaban awal. Metode telah datang dan pergi untuk menjaga surat-surat penting tetap aman, tetapi sebagian besar adalah semacam enkripsi sandi. Metode menggunakan kunci yang telah dirancang sebelumnya untuk menyandikan dan mendekode pesan telah menyita kehidupan banyak orang. Pada hari-hari awal, kunci ini rumit hanya berdasarkan teknologi rendah pengguna; sekarang ada superkomputer yang tidak melakukan apa-apa selain mengenkripsi dan mendekripsi pesan.
Block cipher dan stream cipher merupakan mayoritas jenis cipher. Sebuah cipher blok mengkodekan informasi dalam ukuran blok yang telah ditentukan. Jika cipher dirancang untuk mengkodekan 200 karakter, maka itulah yang dilakukannya. Jika pesan lebih panjang, pesan harus dipecah menjadi beberapa bagian, dan jika lebih pendek, diperlukan karakter pengisi. Karakter padding adalah karakter yang membuat pesan lebih panjang; itu bisa apa saja mulai dari aliran karakter tunggal hingga bermacam-macam huruf dan spasi secara acak.
Stream cipher adalah inovasi di era komputer. Gaya enkripsi sandi ini menghasilkan dan mengadaptasi string penyandiannya saat berfungsi. Metode enkripsi ini menggunakan keadaan mesin saat ini yang melakukan enkripsi untuk menghasilkan cipher.
Metode ini terus berubah agar sesuai dengan keadaan sistem saat ini. Stream cipher hampir tidak bisa dipecahkan selama dua hal tidak terjadi; kode tidak dapat berulang dan tidak ada orang yang mencegat pesan yang dapat mengetahui isinya. Jika kode berulang, adalah mungkin untuk memecahkan urutan dengan sedikit usaha karena penanda tertinggal di cipher. Jika pencegat mengetahui salah satu isi pesan, mereka dapat memodifikasi pesan tanpa membukanya.
Dalam cipher simetris, kunci yang digunakan untuk mengkodekan pesan sama dengan kunci yang digunakan untuk memecahkan kode pesan. Sandi ini sederhana dan mudah dibuat, tetapi kuncinya dalam bahaya saat berpindah dari satu lokasi ke lokasi lain untuk decoding. Selain itu, jika salah satu lokasi penyimpanan kunci dikompromikan, maka seluruh cipher akan rusak.
Enkripsi sandi asimetris menggunakan dua kunci, satu yang mengkodekan pesan dan satu lagi yang mendekode pesan. Ini adalah landasan enkripsi kunci publik. Sebuah pesan dibuat dari dua kunci, satu publik dan satu pribadi. Dalam hal ini, kunci berinteraksi untuk memungkinkan orang tertentu membuka kunci pesan tanpa mengetahui kunci enkripsi yang sebenarnya.