Introducción
Una de estas opciones de seguridad se describe ampliamente en el presente documento iniciando por una descripción del funcionamiento de ROT13, el cual es un método criptográfico clásico, así como la historia de su creación que hace referencia al cifrado César. Se analizan los atributos de este metodo asi como las vulnerabilidades que puede presentar. Se parte de su funcionamiento, el cual se basa en un método matemático que hace uso de una conjunto finito de 26 elementos numéricos que representan el alfabeto latino y se llega a los usos que se le dan a éste en la actualidad. Finalmente se presenta una variante del método, llamada ROT47, la cual aumenta el universo de elementos que se pueden usar, dejando a un lado una de las limitantes de ROT13 que es el uso únicamente de las 26 letras del alfabeto latino.
Mediante la información analizada, se pretende exponer los beneficios que puede traer la aplicación del método criptográfico ROT13, sin dejar a un lado los aspectos críticos del mismo.
Algoritmo ROT13
HistoriaEl ROT13 se originó en el grupo de noticias net.jokes a principios de la década de 1980, en un esfuerzo por proporcionar un medio voluntario para ocultar los chistes que algunos lectores podrían encontrar ofensivos, o simplemente para ofuscar el final de un chiste y evitar que se leyese demasiado pronto. (Los intentos anteriores de categorizar los chistes ofensivos colocándolos en grupos de noticias separados fallaron: los administradores no querían dar a entender que contenían esas publicaciones creando un sitio especial para ellas). El ROT13 fue una solución conveniente debido a su simplicidad.
Como sustituye letras alfabéticas por otras letras, se garantizaba que el ROT13 no causaría problemas con algún software de grupos de noticias que pudiera tener incompatibilidades con caracteres poco usuales. Se eligió ROT-13 en lugar de ROT-N (para cualquier otro valor de N, como el 3 en el cifrado César original) porque 13 es el valor que hace que la codificación y la decodificación sean equivalentes, permitiendo así la comodidad de un mismo comando para cifrar y descifrar. En sentido estricto, el valor 13 funciona así sólo para idiomas como el inglés, que tienen 26 letras en su alfabeto, pero como el alfabeto latino de 26 caracteres está incluido en el juego de caracteres ASCII, el ROT13 es bastante universal, al menos para los idiomas occidentales que pueden usar el ASCII o alguna de sus extensiones.
Aunque los usuarios podían codificar y descodificar los mensajes a mano, el descifrado automático es mucho más cómodo. Los sistemas UNIX tienen una utilidad estándar llamada "tr" (transliterar) que se puede aplicar para hacer una codificación ROT13.
Pronto el descifrado automático se añadió como característica incorporada en las aplicaciones de grupos de noticias. A partir de principios de los 90, el ROT13 también se utilizó en los foros de FidoNet, hasta el punto de que las aplicaciones de correo de Fidonet solían incluir características para cifrar y descifrar automáticamente.
Funcionamiento basado en método matemático
Dado el alfabeto latino (que no tiene Ñ) con 26 letras, le asignamos un número a cada una de modo que A= 1, B = 2, C = 3, … etc, y obtenemos el siguiente conjunto finito de orden ascendente:
N = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 , 18, 19 , 20, 21, 22, 23, 24, 25, 26 }.
Para realizar un cifrado ROT13 sobre el conjunto N, se utiliza la siguiente función:
Por ejemplo para cifrar el texto HOLA, sabemos que H = 8, 0 = 15, L = 12, A = 1. Aplicamos la función para cada letra:
f(8) = 8 + 13 = 21 ≡ U
f(15) = 15 – 13 = 2 ≡ B
f(12) = 12 + 13 = 25 ≡ Y
f(1) = 1 + 13 = 14 ≡ N
El resultado cifrado es UBYN.
Para descifrar lo único que tenemos que hacer es aplicar nuevamente la misma función sobre el texto cifrado, sabemos que U= 21, B = 2, Y = 25, N = 14. Aplicamos la función para cada letra:
f(21) = 21 – 13 = 8 ≡ H
f(2) = 2 + 13 = 15 ≡ O
f(25) = 25 – 13 = 12 ≡ L
f(14) = 14 – 13 = 1 ≡ A
El resultado es el texto original HOLA.
Visto gráficamente:
Esta función resulta ser involutiva porque es su propia inversa, en criptografía se le denomina cifrado recíproco.
Utilidad
ROT13, no ofrece gran seguridad, no es un cifrado de utilidad para tratar información de comercio electrónico o de bancos. Es un cifrado débil que al utilizar un desplazamiento constante, no tiene clave, para el descifrado un atacante simplemente necesita saber que se ha usado ROT13, y aunque no lo supiese el algoritmo podría romperse fácilmente con un análisis de frecuencia o mediante la explotación de palabras patrón.
En la actualidad el ROT13 sigue siendo utilizado con los mismos o similares propósitos que en los 80, como lo hace por ejemplo el grupo de noticias USENET en sus artículos. También suele utilizarse para ocultar el resultado de adivinanzas, alguna información en foros, realizar juegos de letras, exponiendo texto que no se requiere que el lector entienda de forma inmediata, o inclusive se puede evitar expresar opiniones groseras de forma explícita, etc.
Variantes
Existen otros algoritmos que proporcionan diferentes formas de ofuscación pero similares al ROT13. De estos se puede resaltar principalmente el algoritmo ROT47, que a diferencia del ROT13 que sólo maneja letras, en el ROT47 se incluyen números y algunos otros símbolos, evitando las limitantes del ROT13.
El ROT47, utiliza una cantidad de símbolos más amplia, derivados de una codificación de caracteres llamada ASCII. El ASCII asocia letras, dígitos, signos de puntuación y otros caracteres especiales con una serie de números que van del 0 al 127. Visto en ASCII, el ROT13 cubre los códigos 65–90 y 97–122: las letras mayúsculas y minúsculas, respectivamente. En cambio, el ROT47 emplea 94 caracteres, desde el signo de exclamación (!) con código ASCII 33, a la tilde (~) con código ASCII 126, rotándolos con un desplazamiento de 47. El uso de un mayor número de símbolos tiene como finalidad producir más ofuscación que el ROT13, pero el ROT47 es usado menos. Con el uso del algoritmo ROT47 se hace más evidente que el texto ha sido cifrado.
Los mensajes ofuscados con el algoritmo ROT13 podría decodificarse sencillamente, un descifrado automático puede resultar más cómodos, principalmente para el ROT47. Es por eso que el ROT13 y ROT47 se puede implementar fácilmente en lenguajes de programación modernos de muchas formas, dependiendo del lenguaje, como Java, JavaScript, PHP, C, etc.
En Unix se cuenta con el comando “tr” (de transliterar), como se muestra: tr A-Za-z N-ZA-Mn-za-m para ROT13, y para ROT47 se usa: tr '!-~' 'P-~!-O'.Conclusión
Con la realización de está investigación sobre ROT13 es posible concluir que dicho método es muy sencillo de descifrar y se convirtió en un estándar de facto, o sea, es caracterizado por no haber sido consensuada ni legitimada por un organismo de estandarización, pero realmente se trata de un método generalmente aceptado y ampliamente, utilizado hace algunos años por iniciativa propia de un gran número de interesados, de hecho en la internet se popularizó durante un tiempo, debido a que el ROT13 es el cifrado de César que usa el número 13 como estándar de codificación pobre, ya que existen webs que te permiten traducir textos e incluso páginas.
Al igual que el cifrado de César no proporciona seguridad criptográfica real y no se usa para tales fines, de hecho, puede considerarse como un método de cifrado y descifrado bastante débil debido a las características reunidas, como su cifrado simétrico, esto es, para deshacer el ROT13, se aplica el mismo algoritmo, de manera que para cifrar y descifrar se puede utilizar el mismo código.
Esto es comúnmente conocido en matemáticas como una función involutiva ya que dicha función es su propia inversa, es por eso que el conocimiento diverso de funciones así como aplicación de ecuaciones matemáticas es de vital importancia en la elaboración de estos algoritmos de encriptación. Con un poco de práctica, la gente podía llegar a leer un texto codificado en ROT13 directamente, y se puede decir que forma parte de la cultura popular de la red.
Sin embargo, aunque es un algoritmo con características de amplio uso como el ocultamiento de información, respuestas ocultas de adivinanzas, juegos, discreción de palabras, entre otros; para entenderlo se requiere conocer ampliamente su funcionamiento. Su variante, ROT47, ofrece una encriptación similar, pero con el uso de mayor número de símbolos que proporcionan un mensaje con propiedades más amplias en cuanto a su contenido, así como en la encriptación, ya que con más símbolos, resulta más complicada su desencriptación en comparación con el algoritmo ROT13. Si se busca ocultar sencillamente información, estos algoritmos resultan los más eficaces, mientras que se mantenga en secreto qué técnica de encriptación a sido usada.
No hay comentarios.:
Publicar un comentario