Cifrar

Ajustar Compartir Imprimir Citar
Algoritmo para encriptar y descifrar información
La figura de Edward Larsson se parece a la que encontró en el Kensington Runestone. También incluye el estilo de escritura de blackletter no relacionado y cipher de cerdo.

En criptografía, un cifrado (o cifrado) es un algoritmo para realizar el cifrado o descifrado, una serie de pasos bien definidos que se pueden seguir como un procedimiento. Un término alternativo menos común es cifrado. Cifrar o codificar es convertir información en cifrado o código. En el lenguaje común, "cifrado" es sinónimo de "código", ya que ambos son un conjunto de pasos que encriptan un mensaje; sin embargo, los conceptos son distintos en criptografía, especialmente en criptografía clásica.

Los códigos generalmente sustituyen cadenas de caracteres de diferente longitud en la salida, mientras que los cifrados generalmente sustituyen la misma cantidad de caracteres que se ingresan. Hay excepciones y algunos sistemas de cifrado pueden usar un poco más o menos caracteres cuando se emiten en comparación con el número que se ingresó.

Códigos operados por sustitución de acuerdo con un gran libro de códigos que vinculaba una cadena aleatoria de caracteres o números a una palabra o frase. Por ejemplo, "UQJHSE" podría ser el código para "Proceder a las siguientes coordenadas." Cuando se utiliza un cifrado, la información original se conoce como texto sin formato y la forma cifrada como texto cifrado. El mensaje de texto cifrado contiene toda la información del mensaje de texto sin formato, pero no está en un formato legible por un humano o una computadora sin el mecanismo adecuado para descifrarlo.

La operación de un cifrado generalmente depende de una pieza de información auxiliar, llamada clave (o, en el lenguaje tradicional de la NSA, una variable criptográfica). El procedimiento de cifrado varía según la clave, lo que cambia el funcionamiento detallado del algoritmo. Se debe seleccionar una clave antes de usar un cifrado para cifrar un mensaje. Sin el conocimiento de la clave, debería ser extremadamente difícil, si no imposible, descifrar el texto cifrado resultante en texto sin formato legible.

La mayoría de los cifrados modernos se pueden categorizar de varias maneras

Etimología

El sistema numérico romano era muy engorroso, en parte porque no existía el concepto de cero. El sistema de numeración árabe se extendió desde el mundo árabe a Europa en la Edad Media. En esta transición, la palabra árabe para cero صفر (sifr) se adoptó en el latín medieval como cifra, y luego en el francés medio como cifre. Esto finalmente condujo a la palabra inglesa cipher (ortografía minoritaria cypher). Una teoría sobre cómo el término llegó a referirse a la codificación es que el concepto de cero era confuso para los europeos, por lo que el término pasó a referirse a un mensaje o comunicación que no se entendía fácilmente.

El término cifrado también se usó más tarde para referirse a cualquier dígito arábigo, o al cálculo con ellos, por lo que codificar texto en forma de números arábigos es literalmente convertir el texto en "cifrados& #34;.

Códigos Versus

En uso no técnico, un "código (secreto)" típicamente significa un "cifrado". Sin embargo, dentro de las discusiones técnicas, las palabras "código" y "cifrado" hacen referencia a dos conceptos diferentes. Los códigos funcionan al nivel del significado, es decir, las palabras o frases se convierten en otra cosa y esta fragmentación generalmente acorta el mensaje.

Un ejemplo de esto es el código telegráfico comercial que se utilizó para acortar los mensajes telegráficos largos que resultaron de la celebración de contratos comerciales mediante intercambios de telegramas.

Otro ejemplo lo ofrecen los cifrados de palabras completas, que permiten al usuario reemplazar una palabra completa con un símbolo o carácter, al igual que los japoneses utilizan los caracteres Kanji (que significa caracteres chinos en japonés) para complementar su idioma. ex "El veloz zorro marrón salta sobre el perro perezoso" se convierte en "El marrón rápido 狐 salta 上 el perezoso 犬".

Los cifrados, por otro lado, funcionan en un nivel más bajo: el nivel de letras individuales, pequeños grupos de letras o, en esquemas modernos, bits individuales y bloques de bits. Algunos sistemas usaban códigos y cifrados en un solo sistema, usando supercifrado para aumentar la seguridad. En algunos casos, los términos códigos y cifrados también se utilizan como sinónimos de sustitución y transposición.

Históricamente, la criptografía se dividió en una dicotomía de códigos y cifrados; y la codificación tenía su propia terminología, análoga a la de los cifrados: "codificación, texto en código, descodificación" etcétera.

Sin embargo, los códigos tienen una variedad de inconvenientes, incluida la susceptibilidad al criptoanálisis y la dificultad de administrar un libro de códigos engorroso. Debido a esto, los códigos han caído en desuso en la criptografía moderna y los cifrados son la técnica dominante.

Tipos

Existe una variedad de diferentes tipos de encriptación. Los algoritmos utilizados anteriormente en la historia de la criptografía son sustancialmente diferentes de los métodos modernos, y los cifrados modernos se pueden clasificar según cómo funcionan y si utilizan una o dos claves.

Histórica

(feminine)

Los cifrados históricos de lápiz y papel utilizados en el pasado a veces se conocen como cifrados clásicos. Incluyen cifrados de sustitución simples (como ROT13) y cifrados de transposición (como Rail Fence Cipher). Por ejemplo, "BUEN PERRO" se puede cifrar como "PLLX XLP" donde "L" sustituye a "O", "P" para "G" y "X" para "D" en el mensaje Transposición de las letras "GOOD DOG" puede resultar en "DGOGDOO". Estos cifrados y ejemplos simples son fáciles de descifrar, incluso sin pares de texto sin formato-texto cifrado.

Los cifrados simples fueron reemplazados por cifrados de sustitución polialfabéticos (como el Vigenère) que cambiaron el alfabeto de sustitución para cada letra. Por ejemplo, "BUEN PERRO" se puede cifrar como "PLSX TWF" donde "L", "S" y "W" sustituye a 'O'. Incluso con una pequeña cantidad de texto sin formato conocido o estimado, los cifrados de sustitución polialfabéticos simples y los cifrados de transposición de letras diseñados para el cifrado con lápiz y papel son fáciles de descifrar. Sin embargo, es posible crear un cifrado seguro de lápiz y papel basado en un bloc de notas de un solo uso, pero se aplican las desventajas habituales de los blocs de notas de un solo uso.

A principios del siglo XX, se inventaron máquinas electromecánicas para cifrar y descifrar mediante transposición, sustitución polialfabética y una especie de "aditivo" sustitución. En las máquinas de rotor, varios discos de rotor proporcionaron una sustitución polialfabética, mientras que los tableros de conexiones proporcionaron otra sustitución. Las llaves se cambiaron fácilmente cambiando los discos del rotor y los cables del clavijero. Aunque estos métodos de cifrado eran más complejos que los esquemas anteriores y requerían máquinas para cifrar y descifrar, se inventaron otras máquinas, como la British Bombe, para descifrar estos métodos de cifrado.

Moderno

Los métodos de cifrado modernos se pueden dividir según dos criterios: por tipo de clave utilizada y por tipo de datos de entrada.

Por tipo de clave, los cifrados utilizados se dividen en:

En un algoritmo de clave simétrica (p. ej., DES y AES), el remitente y el receptor deben tener una clave compartida configurada de antemano y mantenida en secreto para todas las demás partes; el remitente usa esta clave para el cifrado y el receptor usa la misma clave para el descifrado. El cifrado de Feistel utiliza una combinación de técnicas de sustitución y transposición. La mayoría de los algoritmos de cifrado de bloques se basan en esta estructura. En un algoritmo de clave asimétrica (por ejemplo, RSA), hay dos claves separadas: se publica una clave pública y permite que cualquier remitente realice el cifrado, mientras que se mantiene una clave privada secreto por el receptor y permite que sólo esa persona realice el descifrado correcto.

Los cifrados se pueden distinguir en dos tipos según el tipo de datos de entrada:

Tamaño de clave y vulnerabilidad

En un ataque matemático puro (es decir, sin ninguna otra información que ayude a descifrar un cifrado) dos factores cuentan sobre todo:

Dado que el efecto deseado es la dificultad computacional, en teoría uno elegiría un algoritmo y el nivel de dificultad deseado, por lo tanto, decidiría la longitud de la clave en consecuencia.

Puede encontrar un ejemplo de este proceso en Longitud de clave, que utiliza múltiples informes para sugerir que un cifrado simétrico con 128 bits, un cifrado asimétrico con claves de 3072 bits y un cifrado de curva elíptica con 256 bits tienen dificultades similares en presente.

Claude Shannon demostró, usando consideraciones de teoría de la información, que cualquier cifrado teóricamente indescifrable debe tener claves que sean al menos tan largas como el texto sin formato, y que se usen solo una vez: bloc de notas de un solo uso.