Criptografía II - Encriptado por transposición -
Generalidades
En el Capítulo anterior, ya explicábamos el origen de esta ciencia, que hoy en día es tan necesaria para la tecnología.
Además indicábamos anteriormente que el cifrado se realizaba mediante una combinación sucesiva del método por sustitución (conservar la posición de las letras pero cambiándolas por otros símbolos) y por transposición (alterar el orden de las letras pero manteniendo la letra original), de la cual ya fue explicado el método por sustitución en el capítulo Criptografía I. En consecuencia en este capítulo explicaremos el método por transposición.
Mecanismo del algoritmo
- Tomar un carácter en el archivo
- Cambiar de posición el carácter al cual apuntábamos anteriormente
Del cambio surge esta situación:
- En la nueva posición se encuentra otro carácter ( incluyendo el espacio ) y no podemos eliminarlo ,ya que sino el archivo no podría volver a su estado original. En esta situación debemos sustituir el carácter que se ubica en la nueva posición con el anteriormente tomado, pero almacenando el nuevo carácter y cambiándolo en la posición del primer elemento.
- Esta situación se produce 2 veces en un mismo bucle, por cuestión de velocidad. Espero haber explicado bien el funcionamiento de este método, en todo caso vean el ejemplo de abajo.
Veamos un ejemplo
Tomemos un texto corto, por ejemplo:
"Hola"
1) Apunta al primer carácter
Hola
2) En este ejemplo el cambio de posición es de 2 lugares, entonces llevamos la " H " en la posición de la " l ".
_oHa
3) En esta situación necesitamos almacenar la letra " H " en una variable temporal, tomar la " l " y cambiarla en la posición de la primera letra, es decir en la posición de la letra " H ". Luego tomar la " H " y ponerla en el lugar de la " l ". Este proceso es similar al método del ordenamiento burbuja.
loHa
Y así sucesivamente, el segundo paso es fácil de deducir, se toma la " o " y se la cambia con la " a ".
Al final el texto nos debería quedar como eso:
laHo
No se crea que sea muy fácil de desencriptar un texto con este método, ya que acá solo expusimos un muy pequeño ejemplo, que tan solo distanciaba las letras de a 2 lugares.
Programas en C
Bueno, y ahora la implementación en C.
Nombre | Fichero | Fecha | Tamaño | Contador | Descarga |
---|---|---|---|---|---|
Encript_2.c | Encript_2.zip | 2002-03-01 | 4850 bytes | 457 |