sábado, 10 de junio de 2017

Mecanismos de Encriptacion y Funciones Hash

¿QUE ES ENCRIPTACION?
Encriptar es una manera de codificar la información para protegerla frente a terceros.
Por lo tanto, la encriptación informática sería la codificación la información de archivos o de un correo electrónico para que no pueda ser descifrado en caso de ser interceptado por alguien mientras esta información viaja por la red.
Es por medio de la encriptación informática como se codifican los datos. Solamente a través de un software de descodificación que conoce el autor de estos documentos encriptados es como se puede volver a decodificar la información.
Por lo que la encriptación informática es simplemente la codificación de la información que vamos a enviar a través de la red (Internet). Para poder descodificarla como dijimos es necesario un software o una clave que sólo conocen el emisor y el receptor de esta información.
La encriptación de la informática se hace cada vez más necesaria debido al aumento de los robos de claves de tarjetas de crédito, número de cuentas corrientes, y en general toda la información que viaja por la red, etc.
Todo esto ha fomentado que se quiera conseguir una mayor seguridad en la transmisión de la información sobre todo a través de Internet. Es por ello que las últimas versiones de los navegadores de Internet ya usan sistemas automáticos de encriptación de datos para que sea más difícil para los hackers robarlos.

En la actualidad existen empresas que se dedican a la encriptación de datos en discos duros enteros, particiones, dispositivos de almacenamiento USB, etc. Las empresas necesitan que su información relevante está a buen recaudo fuera del acceso de terceras personas y es por ello que cada día se está utilizando más la encriptación informática de toda la información de las empresas. 

MECANISMOS DE ENCRIPTACION Gronsfeld: Este método utiliza más de un alfabeto cifrado para poner en clave el mensaje y que se cambia de uno a otro según se pasa de una letra del texto en claro a otra.
Es decir que deben tenerse un conjunto de alfabetos cifrados y una forma de hacer corresponder cada letra del texto original con uno de ellos.

Método de transposición: En nuestro repaso por los métodos clásicos de criptografía, nos centramos en el método de transposición, origen y fundamento de otros sistemas de cifrado más complicados.
El método de transposición consiste en reordenar los elementos que forman el texto original, de modo que el criptograma resultante tiene los mismos elementos, pero su nueva colocación impide que se pueda entender.

Método César: Ahora vamos a conocer uno de los sistemas más clásicos de la Historia de esta disciplina: el método César, cuyo origen se sitúa en el siglo I antes de Cristo.
Este sistema se basa en el método de sustitución mono alfabética, es decir, el proceso de sustitución se lleva a cabo en cada uno de los elementos del texto claro.
En el método César, a cada letra le corresponde la que está 3 posiciones por delante en un proceso circular que recorre todo el alfabeto.

RSA: En los sistemas tradicionales de cifrado debe comunicarse una clave entre el emisor y el receptor del mensaje, el problema aquí es encontrar un canal seguro para transmitir dicha clave. Este problema viene a resolverse en los sistemas de clave pública la clave de cifrado, pues un tiempo enormemente de ordenador es necesario para encontrar una transformación de descifrado a partir de la de cifrado.
 
DES: DES fue desarrollado por IBM a mediados de los setenta. Aunque tiene un buen diseño, su tamaño de clave de 56 bits es demasiado pequeño para los patrones de hoy.
DES (Data Encriptaron Standard) es un mecanismo de encriptación de datos de uso generalizado. Hay muchas implementaciones de hardware y software de DES. Este transforma la información de texto llano en datos encriptados llamados texto cifrado mediante el uso de un algoritmo especial y valor semilla llamado clave. Si el receptor conoce la clave, podrá utilizarla para convertir el texto cifrado en los datos originales. Es un mecanismo de encriptado simétrico.

Chaffing & Winnowing: Esta técnica propuesta por Donald Rivest. Es más un intento de esquivar las restricciones a la criptografía en EE.UU. (y otros países) que una propuesta razonable debido al tamaño de los mensajes resultantes.
El término inglés “winnowing” se tomará como aventar es decir separar el grano de la paja y el término “chaffing” por el castellano empajar (cubrir o rellenar con paja). La idea básica consiste en mezclar la información real (grano) con otra de relleno (paja) de modo que sea imposible separarlas excepto para el destinatario.

SKIPJACK
: Este algoritmo fue descalificado por el gobierno de Estados Unidos. Algunos detalles sobre el algoritmo en sí y sus aplicaciones en la práctica a los chips Clipper y Capstone.
Skipjack fue desarrollado por la NSA inicialmente para los chips Clipper y Capstone. Su diseño comenzó en 1985 y se completó su evaluación en 1990.

BÍFIDO:
El método Bífido es un cifrado fraccionario. Es decir que cada letra viene representada por una o más letras o símbolos, y donde se trabaja con estos símbolos más que con las letras mismas.

WLBYKYAAOTB: Este método altera la frecuencia de los caracteres a diferencia de lo que ocurre por ejemplo con los cifrados mono alfabéticos. Admite algunas variaciones como por ejemplo dividir la lista en 3,4,…, n partes.

Blowfish: Este algoritmo realiza un cifrado simple en 16 ciclos, con un tamaño de bloque de 64 bytes para un total de 448 bits. Aunque hay una fase compleja de la inicialización. El cifrado de datos es muy eficiente en los microprocesadores grandes.

Método Vigenére:
Hasta el momento, en nuestros anteriores ejemplos en los que hemos visto métodos clásicos de cifrado, hemos repasado algoritmos cuyo criptograma no dependía de una clave externa, o que ésta era fija. En el sistema que sigue, el cifrado de Vigenère, observaremos cómo el cifrado va tomando diferentes valores en función de la clave que elijamos.
Tanto en los métodos de sustitución, como en los de transposición, las modificaciones a los que sometíamos el texto claro eran fijas, bien teniendo en cuenta la correspondencia con un segundo alfabeto en el caso de la sustitución, o en barajar las letras en función de un algoritmo preestablecido en las transposiciones.
El cifrado de Vigenère utiliza una clave externa para realizar las sustituciones, con lo que este mismo algoritmo puede dar diferentes criptogramas para el mismo texto claro en función de la clave que utilicemos.

Funciones Hash.
Los hash o funciones de resumen son algoritmos que consiguen crear a partir de una entrada (ya sea un texto, una contraseña o un archivo, por ejemplo) una salida alfanumérica de longitud normalmente fija que representa un resumen de toda la información que se le ha dado (es decir, a partir de los datos de la entrada crea una cadena que solo puede volverse a crear con esos mismos datos).
Estas funciones no tienen el mismo propósito que la criptografía simétrica y asimétrica, tiene varios cometidos, entre ellos está asegurar que no se ha modificado un archivo en una transmisión, hacer ilegible una contraseña o firmar digitalmente un documento.


Características del hash.


En definitiva, las funciones hash se encargan de representar de forma compacta un archivo conjunto de datos que normalmente es de mayor tamaño que el hash independientemente del propósito de su uso.
Este sistema de criptografía usa algoritmos que aseguran que con la respuesta (o hash) nunca se podrá saber cuáles han sido los datos insertados, lo que indica que es una función unidireccional. Sabiendo que se puede generar cualquier resumen a partir de cualquier dato nos podemos preguntar si se podrían repetir estos resúmenes (hash) y la respuesta es que teóricamente si, podría haber colisiones, ya que no es fácil tener una función hash perfecta (que consiga que no se repita la respuesta), pero esto no supone un problema, ya que si se consiguieran (con un buen algoritmo) dos hash iguales los contenidos serían totalmente distintos.
 
 

Caracteristicas Avanzadas de PHP



Manejo de Cookies.

¿Qué es una Cookie?
En informática el término Cookie se refiere que se utiliza para describir un tipo de mensajes que el navegador web y el servidor web intercambian, el propósito principal es identificar o recordar información previa que los usuarios con anticipación han guardado.

Estructura: Las cookies poseen las siguientes características que en teoría deberíamos configurar la momento de crear una cookie.
1. Nombre de la cookie. 2. Valor o conjunto de valores que deseamos recordar bajo un mismo nombre de cookie. 3. Tiempo en el que expira la sesión un valor negativo destruirá la cookie. 4. Ruta en la cual la cookie debe ser recordada. 5. Dominio en el cual la cookie debe ser recordada. 6. Definir si la cookie solo estará disponible para sesiones HTTPS. 7. Definir si la cookie puede o no ser accedida a través de JavaScript, es decir ejecutando un fichero del lado cliente.

Finalidad de las Cookies: Fueron diseñadas como un mecanismo seguro que permitiera recordar información considerada relevante en temas de SEO y Marketing digital, así como la personalización de los sitios web dependiendo de los hábitos de un usuario, recordar los click que previamente ha realizado y poder a través de ello verificar cual es el foco de atención del usuario en actividad.

Manejo de Sesiones de Usuario.

Sesiones en PHP:
Uno de los aspectos importantes a la hora de desarrollar nuestras aplicaciones es contar con un mecanismo que permita iniciar una sesión, es decir permitir el acceso autorizado al sistema a cierto grupo de usuarios, generalmente esto lo podemos conseguir utilizando un formulario de inicio de sesión, pero una vez ingresados los datos, el usuario podrá navegar sin ninguna limitante en la aplicación.

PHP clasifica estas variables de manera especial, ya que son de tipo globales, esto permite que desde cualquier componente de la aplicación se puedan leer las variables de sesión almacenadas en el servidor.

¿Como se controlan las sesiones?
Cuando un cliente inicia sesión en PHP automáticamente se envía al cliente un PHPSESID
que cada vez que se hace una solicitud de un recurso nuevo, se asocia a todas las variables registradas en la PHPSESID correspondiente.

De esta forma si la sesión la configuramos para que expire en un día, yo podré utilizar ese PHPSESID sin estar haciendo login cada vez que quiera acceder, además se podrán escribir variables globales para que sea recuperadas en pasos posteriores, como por ejemplo, los artículos que un usuario agrega al carrito de compra, las visitas que un sitio web ha tenido durante el día, gestionar control de acceso al sistema de manera restringido, controlar diversos niveles de acceso al sistema, usuario, administrador, vendedor, gerente, etc…

Computo 3. Programacion de Evaluaciones


Programación de Evaluaciones





Mecanismos de Encriptacion y Funciones Hash

¿QUE ES ENCRIPTACION? Encriptar es una manera de codificar la información para protegerla frente a terceros. Por lo tanto, la encriptación...