Kriptoanalisis
Kriptoanalisis (dari bahasa Yunani "kryptós", "tersembunyi", dan "analýein", "melepaskan") adalah disiplin ilmu mengenai metode membaca pesan terenkripsi (tersandi), tanpa mengetahui informasi rahasia atau kunci yang seharusnya digunakan untuk membaca pesan tersebut. Dalam bahasa sehari-hari, kriptoanalisis bisa dikatakan ilmu memecahkan sandi. Disiplin ilmu yang digunakan pada kriptografi antara lain matematika, linguistik, logika, dan ilmu komputer.
Kunci (kriptografi)
Dalam mendesain suatu sistem keamanan digital, demi keamanan harus diasumsikan bahwa para penyerang telah mengetahui algoritme yang digunakan. Hal ini disebut Prinsip Kerckhoff — ""hanya kerahasiaan kuncilah yang menjamin keamanan"". Sejarah kriptografi telah membuktikan bahwa sangat sulit untuk merahasiakan algoritme enkripsi. Hal ini disebabkan karena kebanyakan algoritme telah dikenal dan digunakan oleh banyak pihak. Sedangkan kunci lebih mudah dirahasiakan, karena berisi lebih sedikit informasi, memiliki banyak kemungkinan, dan mudah diganti, jika kunci tersebut dicurigai telah bocor. Jadi, keamanan sebuah sistem enkripsi amat tergantung pada kerahasiaan kunci yang digunakan.