Está en la página 1de 4

QUE SON LAS FUNCIONES HASH

Una función criptográfica hash- usualmente conocida como “hash”- es un algoritmo


matemático que transforma cualquier bloque arbitrario de datos en una nueva serie de
caracteres con una longitud fija. Independientemente de la longitud de los datos de
entrada, el valor hash de salida tendrá siempre la misma longitud.
Una función hash es método para generar claves o llaves que representen de manera
unívoca a un documento o conjunto de datos.
Esta función no tiene 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 DE LOS HASH
En definitiva las funciones hash se encargan de representar de forma compacta un archivo
o 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 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 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.
Ejemplos y formas de uso
Las funciones hash son muy usadas, una de las utilidades que tiene es proteger la
confidencialidad de una contraseña, ya que podría estar en texto plano y ser accesible por
cualquiera y aun así no poder ser capaces de deducirla. En este caso, para saber si una
contraseña que está guardada, por ejemplo, en una base de datos es igual a la que hemos
introducido no se descifra el hash sino que se aplicará la misma función de resumen a la
contraseña que especificamos y se comparará el resultado con el que tenemos guardado.
Pongamos un ejemplo, la función hash MD5 es una de estas funciones de resumen y la
usaremos para resumir el siguiente texto:
Genbeta Dev
Y aplicaré la función de resumen con el comando específico que tienen la mayoría de
sistemas basados en Linux (md5sum):

pedro@ubuntu:~$ md5sum
Genbeta Dev
b71dada304875838f0263e3ae50c2c49 -

Por lo que la última línea es la del hash, que podéis comprobar en un terminal, en una
herramienta online o con una aplicación con este fin, aunque se puede aplicar en muchos
lenguajes de programación que lo implementan.
Asegurar la integridad de la información
Otro uso que tiene esta función es la de garantizar la integridad de los datos y es algo que
habréis visto muchas veces, por ejemplo en algunas webs que proporcionan descargas de
archivos grandes, por ejemplos software, dando junto a su vez el resumen del archivo y
la función usada.
Firma digital
Firmar un documento no es algo novedoso, pero la firma digital si lo es un poco más y
nos ayuda a verificar la identidad del emisor de un mensaje.
El método más simple de firma digital consiste en crear un hash de la información enviada
y cifrarlo con nuestra clave privada (de nuestro par de claves de la criptografía asimétrica)
para que cualquiera con nuestra clave pública pueda ver el hash real y verificar que el
contenido del archivo es el que hemos mandado nosotros.
Ejemplos de funciones Hash
MD5
Es una función hash de 128 bits. Como todas las funciones hash, toma unos determinados
tamaños a la entrada, y salen con una longitud fija (128bits). El algoritmo MD5 no sirve
para cifrar un mensaje. La información original no se puede recuperar, ya que está
específicamente diseñado para que a partir de una huella hash no se pueda recuperar la
información. Actualmente esta función hash no es segura utilizarla, nunca se debe usar.
SHA-1
Es parecido al famoso MD5, pero tiene un bloque de 160bits en lugar de los 128bits del
MD5. La función de compresión es más compleja que la función de MD5, por tanto,
SHA-1 es más lento que MD5 porque el número de pasos son de 80 (64 en MD5) y porque
tiene mayor longitud que MD5 (160bits contra 128bits).
SHA-1 es más robusto y seguro que MD5, pero ya se han encontrado colisiones, por tanto,
actualmente esta función hash no es segura utilizarla, nunca se debe usar.
SHA-2
Las principales diferencias con SHA-1 radica en en su diseño y que los rangos de salida
han sido incrementados. Dentro de SHA-2 encontramos varios tipos, el SHA-224, SHA-
256, SHA-384 y SHA-512. El más seguro, es el que mayor salida de bits tiene, el SHA-
512, que tiene 80 rondas (pasos), como el SHA-1 pero se diferencia de éste en:
Tamaño de salida 512 por los 160 de SHA-1.
Tamaño del bloque, tamaño de la palabra y tamaño interno que es el doble que SHA-1.
Como ocurre con todos los cifrados y hash, cuanto más seguro, más lento su
procesamiento y uso, debemos encontrar un equilibrio entre seguridad y velocidad.
Software
Si quieres comprobar o realizar la función hash a un archivo o texto, podréis encontrar el
md5sum y el sha1sum por defecto instalados en sistemas operativos Linux. Si utilizas un
sistema operativo Microsoft Windows podéis bajar el Snap MD5 que es un todo en uno
(tiene para MD5 y para SHA-1).
CERTIFICADOS DE AUTENTICACIÓN
Tiene como finalidad garantizar la identidad del ciudadano al realizar una transacción
telemática. El Certificado de Autenticación asegura que la comunicación electrónica se
realiza con la persona que dice que es. El titular podrá a través de su certificado acreditar
su identidad frente a cualquiera ya que se encuentra en posesión del certificado de
identidad y de la clave privada asociada al mismo. Este certificado, puede ser utilizado
también como medio de identificación para la realización de un registro fuerte que
permita la expedición de certificados reconocidos por parte de entidades privadas, sin
verse estas obligadas a realizar una fuerte inversión en el despliegue y mantenimiento de
una infraestructura de registro.

QUE ES OPENSSL

OPENSSL es un proyecto de software libre basado en SSLeay, desarrollado por Eric


Young y Tim Hudson.

Consiste en un robusto paquete de herramientas de administración y bibliotecas


relacionadas con la criptografía, que suministran funciones criptográficas a otros paquetes
como OpenSSH y navegadores web. Sirve para cifrar los datos que se transmiten desde
el servidor o al servidor con el fin de que si una cadena de datos fuese interceptada por
un hacker mientras se transmite dichos datos son ilegibles ya que el hacker debería
desencriptar esa información para poder sacar algún dato útil.

QUE ES UN CERTIFICADO SSL

Un certificado SSL sirve para brindar seguridad al visitante de su página web, una manera
de decirles a sus clientes que el sitio es auténtico, real y confiable para ingresar datos
personales. Las siglas SSL responden a los términos en inglés (Secure Socket Layer), el
cual es un protocolo de seguridad que hace que sus datos viajen de manera íntegra y
segura, es decir, la transmisión de los datos entre un servidor y usuario web, y en
retroalimentación, es totalmente cifrada.

El que los datos viajen cifrados, nos referimos a que se emplean algoritmos matemáticos
y un sistema de claves que sólo son identificados entre la persona que navega y el
servidor. Al tener un certificado SSL confiable, nuestros datos están encriptados, en ese
momento podemos asegurar que nadie puede leer su contenido. Todo esto nos lleva a
entender que la tecnología que brinda un certificado SSL es la transmisión segura de
información a través de internet, y así confirmar que los datos están libres de personas no
deseadas. Para poder utilizar un certificado SSL, en su página web, es de vital importancia
que el servidor de Internet que usted contrató, soporte SSL.

Un certificado SSL implementa el modelo preferido de seguridad en web, contiene claves


digitales que protegen la integridad de sus datos al momento de enviar y recibir. Los
servidores que corren SSL crean una vía con un cifrado único para las sesiones privadas
a través que Internet, la clave pública del servidor está al alcance de cualquier persona.
Es por eso que utilizan una clave pública y una clave privada: La clave pública es para
cifrar la información, la clave privada para descifrarla.