Encriptación
Transcript of Encriptación
ENCRIPTACIÓN
(Cifrado, codificación). La encriptación es el proceso para volver ilegible
información considera importante. La información una vez encriptada sólo puede
leerse aplicándole una clave.
Se trata de una medida de seguridad que es usada para almacenar o transferir
información delicada que no debería ser accesible a terceros. Pueden ser
contraseñas, nros. de tarjetas de crédito, conversaciones privadas, etc.
Ejemplo:
Por ejemplo cuando usted completa un formulario colocando su información
personal (e inclusive el número de alguna de sus tarjetas de crédito) y lo envía a
un servidor Web, usted está transmitiendo los datos vía Internet. Estos datos
pasarán por varios computadores ubicados en distintos lugares del mundo hasta
llegar al destinatario. El peligro es que sus datos puedan ser recogidos en
cualquiera de los equipos por los cuales pasan en el proceso de transmisión y
caer en manos inescrupulosas. El usar un encriptador de mensajes impedirá esta
desagradable situación. Por ejemplo, un correo electrónico encriptado se vería
como sigue:
Mensaje Original :
From : Daniel Gonzalez < [email protected]>
Subject : Mensaje Encriptado
CC:
Bcc: X-attachements: Este es un mensaje encriptado.
Daniel
Mensaje Cifrado :
To : [email protected]
From : Daniel Gonzalez < [email protected]>
Subject : Mensaje Encriptado
CC:
Bcc:
X-attachments: --------BEGIN PGP MESSAGE--------
Versión : 2.6.3i
mQBNAz1WoAAAECANPb0ohl/Jhi8fVeOpgMhtrOOMaRdequ0BvxrXml
Q
frkdls#DSDSHRaaslptekms0ke0yldmcvxtsjwlxzpsgfghwteddklpvnmfjkd
odkeiwwa
bdksiJdhyrtewnslipsNMcutoesjutlesoernrtksyemskdiplesirpownsvthehsk
jjjskslap
qqkwidteYUDjhdlFlsporiutyBeubcvtSFErdhiyoup342dgg7fhh0dhfdfg0dg
00fddd9d
3r0r0sosodfspwepwsjdfmNaMKxcvbdteuwOIDPLSKjhhfyterdghsbasdyn
etsewrsfdj
dIVadZq98dkdfld==
=rm2D
--------END PGP MESSAGE------
Para encriptar información se utilizan complejas fórmulas matemáticas y para
desencriptar, se debe usar una clave como parámetro para esas fórmulas.
El texto plano que está encriptado o cifrado se llama criptograma.
El increíble crecimiento de Internet ha excitado a gente de negocios y
consumidores con la promesa de cambiar el modo de trabajar e incluso de vida.
Sin embargo, paralelo a esta forma nueva forma de hacer transacciones
comerciales, existe una preocupación sobre lo seguro que es Internet,
especialmente cuando se manda información privada o sensitiva en la red.
Tenemos que reconocerlo, existe muchos tipos de información que no queremos
que otros vean, como pueden ser:
Información de tarjetas de crédito.
Números de la seguridad social.
Correspondencia privada.
Datos personales.
Información sensitiva de una compañía o empresa.
Información de datos bancarios.
La seguridad en la red es ofrecida entre ordenadores por Internet mediante una
variedad de métodos. Uno de los modos más básicos y simples que se han
utilizado siempre, es tener esta información privilegiada en dispositivos de
almacenamiento, como pueden ser disquetes, CD o más actualmente DVD. Hoy
en día, este método es insuficiente y por ello los métodos de seguridad más
populares utilizan la encriptación, el cual es el proceso de codificar la información
de tal manera, que solo la persona (u ordenador) con una clave determinada,
puede decodificarla y hacer uso de dicha información.
La encriptación se hace a través de la aplicación de cierto tratamiento a los
códigos ASCII de los mensajes, de manera que el tratamiento inverso será el
único camino práctico para decodificar el mensaje.
¿Cómo se mantiene indescifrable una cadena codificada?.
Se trata de combinar la clave de encriptación con el mensaje de manera que las
probabilidades de decodificar el mensaje, sin conocer la clave, sean virtualmente
infimas, es decir, el tan prolongado el trabajo de desciframiento que no existen
esperanzas próximas. Por ejemplo cuando un cristal ornamental se rompe
violentamente, es casi imposible volver a juntar las piezas para obtener la pieza
original.
Como una cita teórica, uno de los algoritmos de codificación se basa en la función
números primos. Por ejemplo resulta fácil multiplicar dos números primos, sean a
= 11927 y b = 20903, de manera que a • b = c = 249310081. Pero resulta muy
difícil determinar a y b a partir de c. Matemáticamente esto se hace a través del
procedimiento conocido como Descomposición Factorial. En el ejemplo c viene a
ser la codificación, mientras a y b son la clave de decodificación. Esta estrategia
es la base de un ingenioso y sofisticado sistema de encriptación llamado
Criptosistema RSA (en honor a sus autores). de hecho este es el mejor sistema de
encriptación y es posible que sea aplicado en las comunicaciones masivas de
Internet en un futuro. Siguiendo con mí ejemplo, en un caso real, se trata de cifras
de alrededor de 250 dígitos, lo cual teóricamente requiere de millones de años
para descomponer factorialmente. Una anécdota citada en el libro Camino al
Futuro (2ª edición) de Mr. Gates, cuenta que un reto publico de descifrar una clave
de 129 dígitos fue superado al coordinar un trabajo de varias computadoras e
Internet, para finalmente lograr la respuesta en menos de un año. En el reto los
autores predecían que su mensaje jamás sería desvelado. El libro mencionado
hace una exposición más detallada de este tema. Por supuesto, este articulo no
llegará tan lejos.
Procedimientos de Encriptación
La Encriptación tiene dos elementos: Un mensaje, y una clave privada de acceso
entre el emisor y el receptor, con la cual se puede descifrar el mensaje. El
procedimiento de encriptación produce un mensaje o archivo cifrado. Presento dos
procedimientos escritos en Visual Basic, catalogados como verdaderas maneras
de encriptación.
Modelo EncryptionString
EncryptionString, es un clásico sistema el cual toma el mensaje y una clave del
usuario, y a través de una combinación de estos dos parámetros se produce una
cadena codificada. Mantengo la explicación original del método:
Texto a codificar: ENCRYPTION
Caracteres del Texto: E N C R Y P T I O N
Códigos ASCII: 69 78 67 82 89 80 84 73 79 78
Contraseña KEY: K E Y K E Y K E Y K
Caracteres de KEY: 75 69 89 75 69 89 75 69 89 75
Suma de Códigos ASCII: 144 147 156 157 158 169 159 142 168 153
En caracteres: “ œ ? © Ÿ ? ¨ ™� �
Texto codificado: “œ?©Ÿ?¨™ � �
El modo para usar la función EncryptionString es el siguiente:
'//Codifica
TextoCodificado = EncryptString(TextoOriginal, Contraseña, ENCRYPT)
'//Decodifica
TextoOriginal = EncryptString(TextoCodificado, Contraseña, DECRYPT)
La ventaja de esta técnica es que es muy flexible de usar e intuitiva. Sin tener la
máxima seguridad, es muy segura. Escribir un programa para encriptar archivos
resulta bastante simple por aquello de la contraseña. No ocurre lo mismo con el
siguiente procedimiento: ChrTran.
IMÁGENES