Enkripsi
Di bidang kriptografi, enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Dikarenakan enkripsi telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya organisasi-organisasi tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang menggunakan enkripsi. Di pertengahan tahun 1970-an, enkripsi kuat dimanfaatkan untuk pengamanan oleh sekretariat agen pemerintah Amerika Serikat pada domain publik, dan saat ini enkripsi telah digunakan pada sistem secara luas, seperti Internet "e-commerce", jaringan Telepon bergerak dan ATM pada bank.
Enkripsi dapat digunakan untuk tujuan keamanan, tetapi teknik lain masih diperlukan untuk membuat komunikasi yang aman, terutama untuk memastikan integritas dan autentikasi dari sebuah pesan. Contohnya, "Message Authentication Code" (MAC) atau "digital signature". Penggunaan yang lain yaitu untuk melindungi dari analisis jaringan komputer.
Sebuah cipher adalah sebuah algoritme untuk menampilkan enkripsi dan kebalikannya dekripsi, serangkaian langkah yang terdefinisi yang diikuti sebagai prosedur. Alternatif lain ialah "encipherment". Informasi yang asli disebut sebagai "plaintext", dan bentuk yang sudah dienkripsi disebut sebagai "chiphertext". Pesan "chipertext" berisi seluruh informasi dari pesan "plaintext", tetapi tidak dalam format yang didapat dibaca manusia ataupun komputer tanpa menggunakan mekasnisme yang tepat untuk melakukan dekripsi.
"Cipher" pada biasanya memiliki parameter dari sebagian dari informasi utama, disebut sebagai kunci. Prosedur enkripsi sangat bervariasi tergantung pada kunci yang akan mengubah rincian dari operasi algoritme. Tanpa menggunakan kunci, "chiper" tidak dapat digunakan untuk dienkirpsi ataupun didekripsi.
Pada penggunaan non teknis, sebuah "secret code" merupakan hal yang sama dengan "cipher". Berdasar pada diskusi secara teknis, bagaimanapun juga, "code" dan "cipher" dijelaskan dengan dua konsep. "Code" bekerja pada tingkat pemahaman, yaitu, kata atau frasa diubah menjadi sesuatu yang lain. "Cipher", dilain pihak, bekerja pada tingkat yang lebih rendah, yaitu, pada tingkat masing-masing huruf, sekelompok huruf, pada skema yang modern, pada tiap-tiap bit. Beberapa sistem menggunakan baik "code" dan "cipher" dalam sistem yang sama, menggunakan "superencipherment" untuk meningkatkan keamanan.
Menurut sejarahnya, kriptografi dipisah menjadi dikotomi "code" dan "cipher", dan penggunaan "code" memiliki terminologi sendiri, hal yang sama pun juga terjadi pada "cipher": ""encoding", "codetext", "decoding"" dan lain sebagainya. Bagaimanapun juga, "code" memiliki berbagai macam cara untuk dikembalikan, termasuk kerapuhan terhadap kriptoanalisis dan kesulitan untuk mengatur daftar kode yang susah. Oleh karena itu, "code" tidak lagi digunakan pada kriptografi modern, dan "cipher" menjadi teknik yang lebih dominan.
Ada banyak sekali variasi pada tipe enkripsi yang berbeda. Algoritme yang digunakan pada awal sejarah kriptografi sudah sangat berbeda dengan metode modern, dan "cipher" modern dan diklasifikasikan berdasar pada bagaimana "cipher" tersebut beroperasi dan "cipher" tersebut menggunakan sebuah atau dua buah kunci.
Sejarah "Cipher" pena dan kertas pada waktu lampau sering disebut sebagai "cipher" klasik. "Cipher" klasik termasuk juga "cipher" pengganti dan "cipher" transposisi. Pada awal abad 20, mesin-mesin yang lebih mutakhir digunakan untuk kepentingan enkripsi, mesin rotor, merupkan skema awal yang lebih kompleks.
Metode enkripsi dibagi menjadi algoritme "kunci simetris" dan algoritme "asymmetric key". pada algoritme "symmetric key" (misalkan, DES dan AES), pengirim dan penerima harus memiliki kunci yang digunakan bersama dan dijaga kerahasiaanya. Pengirim menggunkan kunci ini untuk enkripsi dan penerima menggunakan kunci yang sama untuk dekripsi. Pada algoritme "kunci asimetris" (misalkan, RSA), terdapat dua kunci terpisah, sebuah "public key" diterbitkan dan membolehkan siapapun pengirimnya untuk melakukan enkripsi, sedangkan sebuah "private key" dijaga kerahasiannya oleh penerima dan digunakan untuk melakukan dekripsi.
Cipher "kunci simetris" dapat dibedakan dalam dua tipe, tergantung pada bagaimana "cipher" tersebut bekerja pada blok simbol pada ukuran yang tetap ("block ciphers"), atau pada aliran simbol terus-menerus ("stream ciphers").