¿Qué es un algoritmo de cifrado?

El cifrado es la ciencia de hacer que un texto sea ilegible para pasarlo de forma segura y secreta al destinatario previsto, que utiliza una clave para descifrar el mensaje. Un algoritmo de cifrado es una serie definida de pasos para cifrar datos. El texto original se denomina texto sin formato y, una vez que se le ha aplicado el algoritmo de cifrado, se denomina texto cifrado. El algoritmo de cifrado puede denominarse cifrado y, a menudo, se le da un nombre. Por ejemplo, hay un algoritmo de cifrado llamado Blowfish y otro llamado AES (Advanced Encryption Standard), por ejemplo.

Un algoritmo de cifrado puede depender de la sustitución, como en un cifrado de sustitución, o de la transposición, como en un cifrado de transposición. Los ejemplos de cifrados tempranos que se conocen se basaron en algoritmos de cifrado simples. Por ejemplo, Julio César usó un cifrado que implicaba una sustitución en la que cambió las letras del alfabeto de modo que una A estuviera representada por una D, una B estuviera representada por una E, y así sucesivamente. Dado que hay 26 letras en el alfabeto, se pueden crear 25 cifrados de este tipo; la 26 tendría A en lugar de A, lo cual no es muy secreto. La clave de este cifrado se puede considerar como el número de lugares desplazados.

Sin embargo, no es necesario que un algoritmo de cifrado utilice letras. Puede usar números y otros símbolos como sustitutos de letras. En el cuento «The Gold Bug», Edgar Allen Poe utilizó un cifrado de sustitución en el que el algoritmo de cifrado implica este tipo de sustitución, utilizando símbolos.

53##+305))6*;4826)4#.)4#);806*;48+8¶60))85;;]8*;:#*8+83(88)5*+;46(;88*96*?;8)*#(;485);5*+2:*#(;4956*2(5*-4)8¶8*;4069285);)6+8)4##;1(#9;48081;8:8#1;48+85;4)485+528806*81(#9;48;(88;4(#?34;48)4#;161;:188;#?;

Si uno resolviera este cifrado, vería que Poe no asignó los símbolos a las letras de manera ordenada con A = 1, B = 2, etc. De esta manera, el algoritmo de cifrado es un poco más complicado que el algoritmo de cambio de alfabeto. Si averigua una letra en un cambio de alfabeto, puede derivarlas todas fácilmente. Sin embargo, con el algoritmo de Poe, sabiendo que A = 5, no te dice nada sobre B o cualquier otra letra.
Los algoritmos de cifrado que se utilizan en las aplicaciones modernas, como la seguridad de las transacciones con tarjetas de crédito en Internet, son mucho más complejos. Las claves pueden tener hasta 256 bits o más. Si van a ser descifrados, solo será con la ayuda de computadoras. Sin embargo, si se obtuviera la clave de cifrado, el texto cifrado podría leerse inmediatamente.