Cifrado+o+encriptación.

__**Criptología**__

Bueno en primer lugar, pondré una breve definición sobre la Criptología, y su función:

La **criptología** (del griego krypto: lo oculto, lo escondido y logos: estudio) es el estudio de los [|criptosistemas]. Sus áreas principales de estudio son la [|criptografía] y el [|criptoanálisis], pero también se incluye la [|esteganografía] como parte de esta [|ciencia aplicada].

El procedimiento utilizado para cifrar datos se realiza por medio de un [|algoritmo], al cual se le puede considerar como una [|función matemática]. Por lo tanto, un algoritmo de cifrado es una [|fórmula] para desordenar una información de manera que ésta se transforme en incomprensible, usando un código o clave (en ocasiones, más de una). Los mensajes que se tienen que proteger, denominados texto en claro o [|texto plano], se transforman mediante esta función, y a la salida del proceso de puesta en clave se obtiene el texto cifrado o [|cifrograma]. En muchos casos existe un algoritmo de descifrado encargado de reordenar la información y volverla inteligible, pero no siempre es así. Cuando existen ambas funciones, una para cifrar y otra para descifrar, se dice que el sistema criptográfico es de dos vías o reversible (a partir de un mensaje en claro se puede obtener uno cifrado y a partir de éste se puede obtener el mensaje original), mientras que cuando no existe una función para descifrar, se dice que el sistema es de una sola vía (a partir de un mensaje cifrado no es posible obtener el mensaje en claro que lo generó; la aplicación de esto es, por ejemplo, para el almacenamiento de [|contraseñas]). La transformación de datos provee una posible solución a dos de los problemas de la seguridad en el manejo de datos. El problema de la privacidad y el de la autentificación, evitando que personas no autorizadas puedan extraer información del canal de comunicación o modificar estos mensajes.

[|Fuente]

Ahora una definición de la operación o puerta lógica XOR que es la que vamos a usar:

La puerta lógica **OR-exclusiva**, más conocida por su nombre en inglés //XOR//, realiza la función booleana A'B+AB'. Su símbolo es el más (+) inscrito en un círculo. En la figura de la derecha pueden observarse sus símbolos en [|electrónica]. Su [|tabla de verdad] es la siguiente: Tabla de verdad puerta XOR Se puede definir esta puerta como aquella que da por resultado uno, cuando los valores en las entradas son distintos. ej: 1 y 0, 0 y 1 (en una compuerta de dos entradas). Se obtiene cuando ambas entradas tienen distinto valor.
 * ~ //A// ||~ //B// || **Resultado** ||
 * 0 || 0 || 0 ||
 * 0 || 1 || 1 ||
 * 1 || 0 || 1 ||
 * 1 || 1 || 0 ||

[|**Fuente**]

Ahora pasare a explicar, mediante tablas y con mis propias palabras el procedimiento. En primer lugar he de decir que necesitaran la tabla ASCII que mis compañeros han puesto en esta misma Wiki. Explicare la operación mediante pasos, y con una tabla explicativa. Datos: Pasos: 1º Tenemos el mensaje “Hola” es cual queremos cifrar para que no pueda ser leído por personas no deseadas. 2º La palabra Patata hemos de pasarla a Hexadecimal, con la ayuda de la tabla ASCII. 3º Después de pasarla a Hexadecimal, hemos de pasarla a Binario. 4º Ahora que sabemos la palabra en Binario, hemos de hacer una operación XOR, entre Patata en binario y la contraseña que tenemos, la cual al terminar se repite, formado así un bucle hasta lograr obtener el mismo numero de bits que Hola en binario. Utilizad la tabla que he puesto mas arriba para ayudaros con la operación. 5º El resultado de la operación ha de ser pasado a Hexadecimal. 6º Ahora con ayuda de la tabla ASCII pasaremos nuevamente el mensaje de Hexadecimal, a caracteres ASCII, y ya tenemos la información cifrada. Debería quedar algo así:
 * Palabra – Hola
 * Contraseña – 01101101


 * **Mensaje** |||||||||||||||| **H** |||||||||||||||| **O** |||||||||||||||| **L** |||||||||||||||| **A** ||
 * **Hexadecimal** |||||||| 4 |||||||| 8 |||||||| 4 |||||||| F |||||||| 4 |||||||| C |||||||| 4 |||||||| 1 ||
 * **Binario** || 0 || 1 || 0 || 0 || 1 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || 1 || 1 || 1 || 1 || 0 || 1 || 0 || 0 || 1 || 1 || 0 || 0 || 0 || 1 || 0 || 0 || 0 || 0 || 0 || 1 ||
 * **Clave** || 0 || 1 || 1 || 0 || 1 || 1 || 0 || 1 || 0 || 1 || 1 || 0 || 1 || 1 || 0 || 1 || 0 || 1 || 1 || 0 || 1 || 1 || 0 || 1 || 0 || 1 || 1 || 0 || 1 || 1 || 0 || 1 ||
 * **Resultado** || 0 || 0 || 1 || 0 || 0 || 1 || 0 || 1 || 0 || 0 || 1 || 0 || 0 || 0 || 1 || 0 || 0 || 0 || 1 || 0 || 0 || 0 || 0 || 1 || 0 || 0 || 1 || 0 || 1 || 1 || 0 || 0 ||
 * **Hexadecimal** |||||||| 2 |||||||| 5 |||||||| 2 |||||||| 2 |||||||| 2 |||||||| 1 |||||||| 2 |||||||| C ||
 * **Mensaje Cifrado** |||||||||||||||| % |||||||||||||||| “ |||||||||||||||| ! |||||||||||||||| ' ||

Ya tenemos el mensaje cifrado, aunque es muy posible que me haya equivocado xD Para descifrarlo tan solo tenemos que hacer la operación a la inversa. Ejercicios: Cifra las siguientes palabras: Pollo – Patata – Melón Edito: Valiente mier** de wiki que me ha modificado todo el articulo -.-" Podeis descargar el archivo de verdad aqui: http://www.megaupload.com/?d=IHK09BFN

Me ha modificado todas las tablas, y algunas cosas mas -.-" y encima me equivoco con el nombre del articulo y no me deja editarlo ¬¬