El arte de la criptografía, o la comunicación en código, se puede dividir en tres categorías amplias: criptografía de clave pública, que es un código que usa una clave para el cifrado y una clave separada para el descifrado; funciones hash, que se basan en conversiones matemáticas para cifrar permanentemente la información; y criptografía de clave secreta, que es un código que utiliza la misma clave tanto para el cifrado como para el descifrado de los datos transmitidos. La última categoría deriva su nombre del hecho de que tanto el remitente como el receptor deben mantener su clave en secreto para evitar que los mensajes sean interceptados con éxito por un tercero.
La criptografía de clave secreta, también conocida como cifrado simétrico, se puede dividir en dos tipos principales, según el tipo de esquema de codificación utilizado. Los cifrados de flujo, por ejemplo, permiten que el remitente y el receptor actualicen y cambien constantemente la clave secreta; los cifrados de bloque, por otro lado, codifican consistentemente un bloque de datos a la vez. Además, los cifrados de flujo de sincronización automática se alimentan del volumen anterior de datos, a diferencia de los cifrados de flujo síncronos, que funcionan con una clave que es independiente del volumen y la progresión del mensaje.
Hay cuatro modos principales de operación de cifrado de bloques de criptografía de clave secreta. El modo de libro de códigos electrónico (ECB) corresponde al nivel más básico de cifrado; El encadenamiento de bloques de cifrado (CBC) incorpora una capa de retroalimentación de emisor-receptor en la ecuación ECB; Cipher Feedback (CFB) permite cifrar los datos a un nivel de carácter mucho más pequeño; y Output Feedback (OFB) emplea un algoritmo de codificación independiente aún más complejo para evitar que dos bloques de datos se codifiquen de la misma manera idéntica.
Con todo, la criptografía de clave secreta es un paraíso para los matemáticos, que puede volverse más complejo tanto por las complejidades del algoritmo que lo rige como por la frecuencia con la que se cambia ese algoritmo o clave. Una aplicación cotidiana que hace uso de la criptografía de clave secreta es la transmisión continua de contenido de televisión de pago a un suscriptor de cable o satélite. A medida que la piratería de estas señales ha aumentado, también lo han hecho los esfuerzos de las empresas de cable y satélite para actualizar y descargar constantemente nuevas claves de codificación para las tarjetas inteligentes dentro de cada receptor.
Se utilizó una forma compleja de criptografía de clave secreta para proteger la línea telefónica de la era de la Guerra Fría que conectaba directamente la Casa Blanca y el Kremlin. Conocido como One-Time Pad (OTP), generó un conjunto muy grande de números aleatorios que se usarían solo una vez como clave de decodificación. Se dice que este tipo de cifrado es imposible de romper cuando se usa correctamente.