La Criptografía y su Desarrollo (Parte 1º)

Alberto Lasa - Blockchain/Crypto
5 min readJan 31, 2019

--

La aparición de la escritura en la evolución humana fue el origen de la criptografía. A través de ella se pueden plasmar nuestros sentimientos, acciones planificadas, hecho ocurridos, etc. Pero a diferencia de la transmisión oral de persona a persona, la escritura tiene un alto componente de riesgo en cuanto al desvelamiento de información confidencial. Los mensajes pronto fueron interceptados y leídos por terceras personas no autorizadas para ello. ¿Cómo se podía resolver esta situación?

La respuesta fue el “cifrado” de los mensajes. Al texto original sin cifrar se le denomina “texto en claro”, y al texto resultante del proceso de cifrado “texto cifrado”. Lo que se guarda y envía es el texto cifrado, de esta manera los ladrones de los mensajes obtienen un mensaje sin aparente sentido. Pero… ¿Cómo se cifran y descifran los mensajes?

El primer sistema de cifrado formal lo encontramos en Esparta, hacia el siglo V a.C. Se trata del primer método sistemático de cifrado del que tenemos constancia. Este consistía en un cilindro al que se le enrollaba una tira de cuero y después se escribía el mensaje sobre el cuero. Al desenrollarse solo quedaba una tira de cuero con letras sin sentido alguno. Para volver a recrear el mensaje original se necesitaba otro cilindro con el mismo diámetro. En este caso el diámetro es el patrón (clave) que permite pasar de un texto en claro a otro cifrado y viceversa.

Sin embargo, el método de cifrado más famoso apareció en el Imperio Romano con Julio César. Como consecuencia de ello, se le ha llamado el “Método César”. En este caso, el patrón de cifrado consiste en mover cada letra un determinado número de espacios en el alfabeto.

Los dos métodos de cifrado anteriores ilustran las dos grandes técnicas de cifrado existentes:

1) TRANSPOSICIÓN o PERMUTACIÓN: Cambiar la posición de los caracteres del texto en claro para obtener un texto cifrado.

2) SUSTITUCIÓN: Asociar un carácter a otro distinto del alfabeto, e intercambiarlos para cifrar el mensaje.

  • En cualquier caso se debe conocer el patrón de cifrado usado, para que dos partes puedan comunicarse en claro y protegerse de miradas indiscretas :)

Las dos técnicas anteriores pueden aplicarse conjuntamente para lograr una mayor robustez (dificultad de cifrado y descifrado).

En el caso de la sustitución, si a cada letra le corresponde un único símbolo cifrado (otro carácter, número o símbolo) como en el caso del método César, se le denomina método “monoalfabético”. Siendo esta técnica muy insegura (poca robustez), y hoy en día es un método nada recomendable.

El “Criptoanálisis” es la disciplina o ciencia que se encarga de intentar descifrar un mensaje sin tener su patrón de cifrado (clave), y a las personas especializadas en esta disciplina se les denomina “criptoanálistas”. La suma de la “Criptografía” (diseño de claves) y el criptoanálisis configuran la ciencia de la “Criptología”.

Desde la caída del Imperio Romano hasta la llegada del Renacimiento, los criptoanálistas árabes (actual Irak), descubrieron que en cada lengua las letras tienen una frecuencia común de aparición en un texto dado. Y por tanto, bastaba con contabilizar el número de veces que se repetía un determinado carácter para deducir el verdadero carácter subyacente cifrado. Este es el motivo de la debilidad de los métodos monoalfabéticos y de su “Ruptura de cifrado”. Como consecuencia de ello aparecieron los métodos “polialfabéticos”, ya que no se podía delegar toda la criptografía a la transposición. Polialfabético no significa “distintas lenguas”, se pueden generar distintos alfabetos en base a uno original gracias a la permutación. Lo vemos más abajo.

¿Qué es la Sustitución Polialfabética?

Como su nombre indica, consiste en un método de cifrado por sustitución que utiliza varios alfabetos. Con esta técnica se enmascara o suaviza las estadísticas del lenguaje original del mensaje. Ya que cada carácter es representado por varias letras de los otros alfabetos utilizados. Haciendo que las letras con frecuencia alta en el texto en claro, disminuyan el valor de esa frecuencia en el criptograma (texto cifrado). A sí mismo, las letras con frecuencia baja en el mensaje original aumentarán su valor de frecuencia en el criptograma. Esto da como resultado un texto cifrado mucho más uniforme (llano) estadísticamente hablando (distribución uniforme discreta). Cuanto más alfabetos se usen, más robusto será el cifrado.

Un ejemplo es el “Cifrado de Vigenère”. En la siguiente tabla cada línea es el mismo alfabeto pero desplazado un lugar, resultando en la practica un nuevo alfabeto por orden. La persona encargada de cifrar debe emplear el mensaje original y una clave, en base a estas dos cosas junto con la tabla se crea el mensaje cifrado.

Ejemplo:

  • Mensaje: “Mundo”.
  • Clave: “stgh”

El resultado cifrado es “entdg”. El procedimiento es sencillo, para averiguar cada carácter cifrado buscas la intersección de la fila con la columna correspondientes al mensaje y la clave respectivamente. Si el mensaje es más largo que la clave, esta se recorre tanta veces como haga falta. Por ejemplo, para la letra “o” de “mundo” buscamos la intersección de “o” con “s”, dando como resultado el carácter cifrado “g”.

Esta sustitución polialfabética será más robusta en cuanto más larga sea la clave usada en el cifrado.

Llegados a este punto surge un nuevo concepto, el de “clave criptográfica”. En el siguiente artículo hablaremos de la “Criptografía de Clave Privada Simétrica o Secreta”.

Espero que te haya sido de utilidad este artículo, muchas gracias por tu lectura. Saludos. Aaaaa!!!!! Si te ha gustado dame un aplauso ;)

Sígueme también en:

  • YouTube:

https://www.youtube.com/channel/UCGArGu3QXNolrJ63qGSrw6w

  • Twitter:

https://twitter.com/LasaAlberto

--

--

Alberto Lasa - Blockchain/Crypto

Programación de Smart Contracts y Dapps sobre Ethereum: Solidity, Truffle, Web3.js, Node.js, Angular, React, JavaScript, TypeScript, Google Cloud, etc..