Sei sulla pagina 1di 21

UNIVERSIDAD GERARDO BARRIOS

Facultad de Ciencia y Tecnologa


Ingeniera en Sistemas y Redes Informticas
Programacin Computacional IV

MECANISMOS DE ENCRIPTACIN Y
FUNCIONES HASH

Alumnos: Docente:
Bryan Ernesto Orantes Fuentes Inga. Gisela Jazmn Espinoza
Juver Nahm Argueta Ortiz
Jorge Alberto Lovo Reyes
Kevin Rafael Campos Fernndez
Encriptacin
Qu es encriptacin?
Encriptacin es el proceso mediante el cual se codifican los datos de archivos o correos de
manera tal que nadie pueda interceptarlos mientras se encuentren flotando en la web, por lo
que esta encriptacin informtica protege varios tipos de informacin importante; por
ejemplo, nmeros de cuentas bancarias, contraseas y datos de registro.

La encriptacin es el proceso para volver ilegible informacin considerada importante. La


informacin una vez encriptado solo puede leerse aplicando una clave.

Las innovaciones de la encriptacin informtica estn fundamentadas en el hecho de que


brinda un recurso al usuario de reducir su nivel de vulnerabilidad ante la abundancia de
intrusos cibernticos que pretenden tener acceso a informacin privada y confidencial con
el objetivo de llevar a cabo acciones maliciosas que podran poner en riesgo la seguridad de
individuos y empresas. Esta codificacin garantiza que solo quien la aplica puede
descifrarla mediante un clave que se le suministra en el proceso.

Igualmente, sirve para resguardar la informacin guardada en la PC, cuyo fin es


precisamente servir como sitio de almacenamiento de informacin fundamental para sus
dueos. En los casos de laptops o dispositivos mviles, se evita que al perderlos por
descuido o robo otra persona tenga acceso a esos datos, con lo cual se evitan fraudes
bancarios y robos de identidades, entre otras cosas.

Se trata de una medida de seguridad que es usada para almacenar o transferir informacin
delicada que no debera ser accesible a terceros. Pueden ser contraseas, nmeros de
tarjetas de crdito, conversaciones privadas, etc.

La encriptacin hace uso de diversas frmulas matemticas con el propsito de transformar


el texto plano en un criptograma el cual es un conjunto de caracteres que a simple vista no
tiene ningn sentido para el lector. La mayora de los mtodos de encriptacin utilizan

1
una clave como parmetro variable en las mencionadas frmulas matemticas de forma que
a pesar de que un intruso las conozca, no le sea posible descifrar el criptograma si no
conoce la clave, la cual solo se encuentra en posesin de las personas que pueden tener
acceso a la informacin en cuestin. Algunos mtodos utilizan incluso dos claves,
una privada que se utiliza para la encriptacin y otra pblica para la desencriptacin. En
algunos mtodos la clave pblica no puede efectuar la desencriptacin o descifrado, sino
solamente comprobar que el criptograma fue encriptado o cifrado usando la clave
privada correspondiente y no ha sido alterado o modificado desde entonces.

Aclaracin: Encriptacin vs. Cifrado

Al principio se prefera el uso de la palabra "cifrado" en lugar de "encriptacin", debido a


que esta ltima es una mala traduccin del ingls encrypt.

De todas maneras la Real Academia Espaola acept los trminos encriptar y desencriptar
en 2014, por lo que se considera vlido usarlos en la actualidad

La encriptacin no es algo nuevo. Hace 2.500 aos se encriptaban mensajes durante las
campaas militares para que el enemigo no pudiera leerlos, si los interceptaba. Los Aliados
ganaron la Segunda Guerra Mundial (o al menos adelantaron su final uno o dos aos)
gracias a que descifraron el cdigo de la mquina de encriptacin Enigma de los nazis, y
pudieron acceder a sus comunicaciones de alto secreto

2
Encriptacin automtica
Las compaas de software e Internet han reconocido que tienen un problema de
privacidad. Muchas de ellas colaboraron con las agencias de espionaje para permitirles que
espiasen a los usuarios mientras miraban hacia otro lado. Parece que han hecho propsito
de enmienda y han comenzado a cifrar automticamente sus servicios.

Desde hace unos meses, Gmail encripta la recepcin y envo de correos. Facebook, Twitter,
WhatsApp y otras redes sociales tambin hacen lo mismo con el envo de mensajes. iOS
encripta automticamente todos los archivos de los usuarios, y Android permite hacerlo a
partir de Android 5.0 Lollipop. Windows 10 incluye herramientas para llevarlo a cabo.

Ten en cuenta que en el caso de los servicios de Internet, encriptan el envo y recepcin de
datos, el proceso de transporte, pero no lo que almacenas en tu dispositivo. Vamos a
mostrarte cmo completar el proceso de encriptacin en los principales dispositivos.

Mtodos y tcnicas de encriptacin


Gronsfeld: Este mtodo utiliza ms de un alfabeto cifrado para poner en clave el
mensaje y que se cambia de uno a otro segn 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.

Ejemplo:
Palabra: Matemticas

3
Clave: 12345678912

Mtodo de transposicin: El mtodo de transposicin consiste en reordenar los


elementos que forman el texto original, de modo que el criptograma resultante tiene
los mismos elementos pero su nueva colocacin impide que se pueda entender.
Ejemplo:
computacin
Una transposicin muy simple, y por tanto poco efectiva, podra consistir en
escribir el mensaje al revs, con lo que quedara:
nicatupmoc

Mtodo Csar: Este sistema se basa en el mtodo de sustitucin mono alfabtica, es


decir, el proceso de sustitucin se lleva a cabo en cada uno de los elementos del
texto claro.

En el mtodo Csar, a cada letra le corresponde la que est 3 posiciones por delante
en un proceso circular que recorre todo el alfabeto. Por ejemplo, a la letra a le
corresponde la d, a la b la e, y as sucesivamente. Cuando hablamos de
proceso circular nos referimos a que si llegamos al final del alfabeto, por ejemplo la
z, se entiende que volvemos al principio del mismo, por lo que tras contar tres
posiciones a la z le corresponde la letra c, a la y le corresponde la b y a la
x, la a.

4
En trminos ms formales podramos describir al mtodo Csar como
Criptograma(i) = Texto_claro(i) + 3 (mod 26).

(i) es la posicin de las letras y (mod 26) indica que se trata de una suma mdulo
26, en la que 26 es el nmero de letras del alfabeto que utilizamos.

Para entenderlo ms claramente vamos a realizar un sencillo.


Ejemplo:
Texto claro: p a n t a l l a
Criptograma: s d q w d o o d

Observamos que la letra que ms se repite es la d. Acudiendo a datos estadsticos


del lenguaje nos encontramos con que dos de las letras que ms se repiten son las
vocales a y e (tanto en espaol, como en ingls).
Una prueba bsica consiste en ver la diferencia que hay entre el elemento ms
repetido, la d, y estas vocales. En el caso de la a nos da un valor de 3
posiciones de diferencia, y el valor 25 al calcular la diferencia con la letra e. Para
probar si la solucin corresponde a uno de los dos casos ms probables, tan solo
tenemos que aplicar el mismo mtodo, pero restando. Al restar 25 nos da lo
siguiente:
Criptograma: s d q w d o o d
Resta 25: t e r x e p p e

Como vemos, en este caso el intento sera fallido, ya que el proceso nos devuelve un
nuevo texto sin sentido. Si ahora lo intentamos con el valor 3, otro de los probables
segn la frecuencia de las letras, obtenemos la solucin.
Criptograma: s d q w d o o d
Resta 3: p a n t a l l a

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

5
para transmitir dicha clave. Este problema viene a resolverse en los sistemas de
clave pblica la clave de cifrado, pues un tiempo enormemente de ordenador es
necesario para encontrar una transformacin de descifrado a partir de la de cifrado.

DES: DES fue desarrollado por IBM a mediados de los setenta. Aunque tiene un
buen diseo, su tamao de clave de 56 bits es demasiado pequeo para los patrones
de hoy. DES (Data Encryption Standard) es un mecanismo de encriptacin de datos
de uso generalizado. Hay muchas implementaciones de hardware y software de
DES. Este transforma la informacin 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 simtrico.

Ejemplo:
Sea M cierto mensaje con el texto plano siguiente: M = 0123456789ABCDEF,
donde M est en formato hexadecimal. Si transformamos M al sistema binario
obtendremos el siguiente bloque de bits (64): M = 0000 0001 0010 0011 0100 0101
0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 L = 0000 0001 0010 0011
0100 0101 0110 0111 R = 1000 1001 1010 1011 1100 1101 1110 1111

Chaffing & Winnowing: Esta tcnica propuesta por Donald Rivest. Es ms un


intento de esquivar las restricciones a la criptografa en EE.UU. (y otros pases) que
una propuesta razonable debido al tamao de los mensajes resultantes.
El trmino ingls winnowing se tomar como aventar es decir separar el grano de
la paja y el trmino chaffing por el castellano empajar (cubrir o rellenar con paja).
La idea bsica consiste en mezclar la informacin real (grano) con otra de relleno
(paja) de modo que sea imposible separarlas excepto para el destinatario.
Ejemplo:

6
SKIPJACK: Este algoritmo fue descalificado por el gobierno de Estados Unidos.
Algunos detalles sobre el algoritmo en s y sus aplicaciones en la prctica a los
chips Clipper y Capstone. Skipjack fue desarrollado por la NSA inicialmente para
los chips Clipper y Capstone. Su diseo comenz en 1985 y se complet su
evaluacin en 1990.

BFIDO: El mtodo Bfido es un cifrado fraccionario. Es decir que cada letra viene
representada por una o ms letras o smbolos, y donde se trabaja con estos smbolos
ms que con las letras mismas.
Ejemplo

7
WLBYKYAAOTB: Este mtodo altera la frecuencia de los caracteres a diferencia
de lo que ocurre por ejemplo con los cifrados monoalfabticos. Admite algunas
variaciones como por ejemplo dividir la lista en 3,4,, n partes.

Cifrado exponencial: Es un sistema basado en la exponenciacin modular, debido


Pohlig y Hellman (1978). Este mtodo es resistente al criptoanlisis.

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

Mtodo Vigenre: El cifrado de Vigenre utiliza una clave externa para realizar las
sustituciones, con lo que este mismo algoritmo puede dar diferentes criptogramas
para el mismo texto claro en funcin de la clave que utilicemos.

Veamos un sencillo ejemplo para ilustrar este mtodo:


Ejemplo:
Texto claro: s e g u r i d a d
Clave de cifrado: a b c

Para llevar a cabo el cifrado dividimos el texto claro en grupos de tantas letras como
tenga la clave, y a continuacin las hacemos corresponder con las letras de la clave
de cifrado:
Texto claro: s e g u r i d a d
Clave: a b c a b c a b c

El proceso de sustitucin es similar al mtodo Csar, por el que a cada letra del
texto claro le corresponde la que est 3 posiciones despus en el alfabeto. En esta

9
ocasin, el nmero de posiciones que debemos contar viene dado por la posicin
que ocupa en el alfabeto la letra clave que le corresponde. As, cuando la clave sea
la letra a, avanzaremos una posicin, si la clave es b sern dos, y si fuera c
sern 5.
En el ejemplo que nos ocupa, en primer lugar deberamos transformar la letra s
del texto claro segn su clave a, es decir, avanzamos una letra en el alfabeto, el
resultado ser t. En el segundo caso, la letra e segn la clave b dar una g,
porque se avanza dos posiciones.
Texto claro: s e g u r i d a d
Clave: a b c a b c a b c
Criptograma: t g l v t n e c i
Resultado final: t g l v t n e c i

Ahora que conocemos el proceso, vamos a comprobar cmo, cambiando la clave de


cifrado y con el mismo texto claro, obtenemos un criptograma totalmente diferente:
Clave: bcbc
Texto claro: s e g u r i d a d
Clave: b c b c b c b c b c b c
Criptograma: u j i z t n f f f
Resultado final: u j i z t n f f f

Para poder realizar el descifrado la nica condicin es conocer la clave que se ha


utilizado en el proceso, y hacer los pasos a la inversa. Partiendo del criptograma,
tendremos que dividir en grupos segn la clave y, en esta ocasin, restar posiciones
en vez de sumar.

Este mtodo es algo ms seguro que los vistos con anterioridad, debido
principalmente a que el criptograma vara segn una clave externa, no conocida en
principio por un hipottico atacante. Sin embargo se ha demostrado que no resulta
difcil romper este cifrado utilizando tcnicas de criptoanlisis basadas en la
incidencia de coincidencias en el criptograma.

10
Sistemas de clave pblica: Un sistema criptogrfico de clave pblica es tan
seguro como su clave. La distribucin de las claves debe ser manejada sobre
canales altamente seguros. Esto suele consumir mucho tiempo. A veces, tales
canales de seguridad no estn disponibles.
Los sistemas de clave pblica no tienen tal problema en la distribucin de la
clave. En el sistema criptogrfico convencional el cifrado y descifrado estn
ntimamente relacionados. Estos sistemas usan una clave encriptada, E, y una
clave descifrado, D, de manera que no es computacionalmente viable (dentro de
un tiempo razonable) determinar E a partir de D.

De esta forma, E puede ser hecha pblica sin comprometer la seguridad de D.


Esto simplifica el problema de la distribucin de la clave. Cada usuario genera
una clave de cifrado y una de descifrado, la clave de cifrado est hecha pblica
y la clave cifrada se mantiene secreta. As cualquiera puede enviar un mensaje
encriptado a un usuario particular (porque la clave de cifrado es pblica), pero
solo aquellos usuarios pueden descifrar el mensaje (porque la clave de
descifrado es privada). E es llamada una clave pblica y D es llamada una clave
privada.

Firmas digitales: Para que una firma digital sea aceptada como sustituta de una
firma escrita debe ser:
1. Fcil de autentificar (reconocer) por cualquiera.
2. Producible nicamente por su autor.
En los cripto-sistemas de clave pblica el procedimiento es:
El remitente: usa la clave privada para crear un mensaje firmado.
El receptor: Usa la clave pblica del remitente para descifrar el mensaje
o Guarda el mensaje firmado para usarlo en caso de disputas

11
Ventajas e inconvenientes
Si encriptas un dispositivo nadie podr ver lo que contiene. Ten en cuenta que es un sistema
de seguridad mucho ms fuerte que una contrasea en la pantalla de inicio del mvil o el
PC, que slo protege el acceso, pero no los datos. Basta con extraer el disco duro de un PC
y usarlo en otro ordenador para romper la contrasea de acceso de Windows, y hay
herramientas para arrancar el mvil en modo root y acceder a su contenido. La encriptacin
evita esto porque cada fichero, cada dato, estn encriptado.

Sin embargo, si pierdes la contrasea de encriptacin o el disco duro se corrompe o falla,


perders el acceso a todos los datos. Adems en dispositivos con poca potencia de
proceso la encriptacin ralentiza el acceso a los datos, pues deben ser encriptados y
desencriptados en tiempo real.

Valora lo bueno y lo malo pero si apuestas por la privacidad, las ventajas superan
ampliamente a los inconvenientes

12
Funciones Hash
Los hash o funciones de resumen son algoritmos que consiguen crear a partir de una
entrada (ya sea un texto, una contrasea o un archivo, por ejemplo) una salida alfanumrica
de longitud normalmente fija que representa un resumen de toda la informacin 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).

Una funcin hash es mtodo para generar claves o llaves que representen de manera
unvoca a un documento o conjunto de datos. Es una operacin matemtica que se realiza
sobre este conjunto de datos de cualquier longitud, y su salida es una huella digital, de
tamao fijo e independiente de la dimensin del documento original. El contenido es
ilegible.

Estas funciones no tienen el mismo propsito que la criptografa simtrica y asimtrica,


tiene varios cometidos, entre ellos est asegurar que no se ha modificado un archivo en una
transmisin, hacer ilegible una contrasea o firmar digitalmente un documento.

Caractersticas
En definitiva las funciones hash se encargan de representar de forma compacta un archivo o
conjunto de datos que normalmente es de mayor tamao que el hash independientemente
del propsito de su uso.

Este sistema de criptografa usa algoritmos que aseguran que con la respuesta (o hash)
nunca se podr saber cules han sido los datos insertados, lo que indica que es una funcin
unidireccional. Sabiendo que se puede generar cualquier resumen a partir de cualquier dato
nos podemos preguntar si se podran repetir estos resmenes (hash) y la respuesta es que
tericamente si, podra haber colisiones, ya que no es fcil tener una funcin hash perfecta
(que consiga que no se repita la respuesta), pero esto no supone un problema, ya que si se

13
consiguieran (con un buen algoritmo) dos hash iguales los contenidos seran totalmente
distintos.

Requisitos que deben cumplir las funciones hash:


Imposibilidad de obtener el texto original a partir de la huella digital.
Imposibilidad de encontrar un conjunto de datos diferentes que tengan la misma
huella digital (aunque como hemos visto anteriormente es posible que este
requisito no se cumpla).
Poder transformar un texto de longitud variable en una huella de tamao fijo
(como el SHA-1 que es de 160bits).
Facilidad de empleo e implementacin.

Formas de uso
Las funciones hash son muy usadas, una de las utilidades que tiene es proteger la
confidencialidad de una contrasea, ya que podra 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
contrasea que est guardada, por ejemplo, en una base de datos es igual a la que hemos
introducido no se descifra el hash (ya que debera de ser imposible hacerlo) sino que se
aplicar la misma funcin de resumen a la contrasea que especificamos y se comparar el
resultado con el que tenemos guardado (como se hace con las contraseas de los
sistemas Linux).

Otro uso que tiene esta funcin es la de garantizar la integridad de los datos y es algo que
habris 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
funcin usada.

14
Ejemplos funciones Hash

MD5

Es una funcin hash de 128 bits. Como todas las funciones hash, toma unos determinados
tamaos a la entrada, y salen con una longitud fija (128bits). El algoritmo MD5 no sirve
para cifrar un mensaje. La informacin original no se puede recuperar, ya que est
especficamente diseado para que a partir de una huella hash no se pueda recuperar la
informacin. Actualmente esta funcin hash no es segura utilizarla, nunca se debe usar.

Pongamos un ejemplo, la funcin hash MD5 es una de estas funciones de resumen y la


usaremos para resumir el siguiente texto:

Genbeta Dev

Y aplicar la funcin de resumen con el comando especfico que tienen la mayora de


sistemas basados en Linux (md5sum):

pedro@ubuntu:~$ md5sum

Genbeta Dev

b71dada304875838f0263e3ae50c2c49 -

Por lo que la ltima lnea es la del hash, que podis comprobar en un terminal, en una
herramienta online o con una aplicacin con este fin, aunque se puede aplicar en muchos

15
lenguajes de programacin que lo implementan (no solo esta funcin, sino tambin otros
tipos como el SHA que puede admitir distinta longitud).

SHA-1

Es parecido al famoso MD5, pero tiene un bloque de 160bits en lugar de los 128bits del
MD5. La funcin de compresin es ms compleja que la funcin de MD5, por tanto, SHA-
1 es ms lento que MD5 porque el nmero de pasos son de 80 (64 en MD5) y porque tiene
mayor longitud que MD5 (160bits contra 128bits).

SHA-1 es ms robusto y seguro que MD5, pero ya se han encontrado colisiones, por tanto,
actualmente esta funcin hash no es seguro utilizarla, nunca se debe usar.

16
SHA-2

Las principales diferencias con SHA-1 radica en su diseo 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 ms 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:

Tamao de salida 512 por los 160 de SHA-1.


Tamao del bloque, tamao de la palabra y tamao interno que es el doble que
SHA-1.

Como ocurre con todos los cifrados y hash, cuanto ms seguro, ms lento su procesamiento
y uso, debemos encontrar un equilibrio entre seguridad y velocidad.

Encriptacin y contraseas en PHP

17
Desde el principio PHP ha sido un lenguaje de programacin para la construccin de sitios
web. Esa idea permanece en el ncleo del lenguaje, y por eso es tan popular para
la construccin de aplicaciones web. Cuando se cre en los aos 90, el trmino aplicacin
web no exista an, por lo que la proteccin de contraseas para cuentas de usuarios no era
algo en lo que estuviera centrado.

Han pasado muchos aos desde entonces y actualmente es impensable una aplicacin web
que no proteja las cuentas de los usuarios con contraseas. Es fundamental para cualquier
programador hacer que estas contraseas tengan una encriptacin segura y eficiente. PHP
5.5 aadi una nueva librera llamada Hash de contraseas para la encriptacin de
contraseas, con funciones que facilitan la tarea y utilizan los ltimos mtodos ms
eficaces.

Importancia de los hashes seguros


Siempre hay que guardar las contraseas encriptadas mediante un algoritmo de
encriptacin como el algoritmo hashing para hacer imposible a alguien que acceda a una
base de datos conseguir averiguar la contrasea. Esto no es slo para proteger a los usuarios
frente a algn atacante sino tambin frente a los propios empleados de la aplicacin.

Mucha gente utiliza las mismas contraseas para muchas aplicaciones web. Si alguien
accede a la direccin de email y contrasea de un usuario, probablemente pueda hacerlo en
muchas otras aplicaciones.

Los hashes no se crean iguales, se emplean algoritmos muy distintos para crear un hash.
Los dos ms usados en el pasado son MD5 y SHA-1. Los ordenadores de hoy en da
pueden crackear fcilmente estos algoritmos. Dependiendo de la complejidad y longitud de
la contrasea, se puede crackear en menos de una hora con los dos algoritmos nombrados

18
(los ratios son 3650 millones de clculos por segundo con MD5 y 1360 millones por
segundo con SHA-1).

Por eso es importante usar algoritmos complejos. Si el hash es ms largo reduce el riesgo
de colisiones entre contraseas (dos frases generando el mismo hash), pero tambin
conviene que la aplicacin se tome el tiempo necesario para generar el hash. Esto es porque
el usuario apenas notar un segundo o dos ms de tiempo de carga al logearse, pero se
consigue que crackearlo tome muchsimo ms tiempo, en case de que sea posible.

Tambin es necesario protegerse frente a las Rainbow Tables. Las Rainbow Tables, como a
la MD5 que puede verse en este enlace, son tablas de bsqueda inversa para hashes. El
creador de las tablas precalcula los hashes MD5 para palabras comunes, frases, palabras
modificadas y strings aleatorios. La facilidad de crackear un algoritmo MD5 hace posible la
existencia de este tipo de tablas.

Generar este tipo de tablas para un algoritmo complejo tarda mucho ms, pero es posible
tambin. Una medida apropiada es aadir un salt al hash. En este contexto, salt es cualquier
frase que se aade a la contrasea antes de crear el hash. Usando un salt se gana mucho
terreno frente a este tipo de tablas. Se debera crear una Rainbow Table especfica para tu
aplicacin y averiguar cul es el salt en tu aplicacin.

Ejemplo:

19
Importante:

Se utiliza un salt, pero todas las contraseas utilizan el mismo, por lo que si
alguien consigue averiguar una contrasea, o el acceso al cdigo fuente donde
puede mirar el hash, se puede hacer una Rainbow Table aadiendo el salt
descubierto. La solucin es crear un salt aleatorio para cada contrasea que se crea,
y guardar el salt con la contrasea de forma que despus se pueda recuperar.
Se utiliza sha512, un complejo algoritmo que viene con PHP. Sin embargo
tambin puede ser crackeado a un ratio de 46 millones de clculos por segundo.
Aunque es ms lento de crackear que md5 y sha1, todava no es un nivel de
seguridad estable. La solucin es utilizar algoritmos que son todava ms complejos
y emplearlos varias veces. Por ejemplo emplear un algoritmo sha512 10 veces
consecutivamente reducira el intento de hackeo considerablemente.

Las dos soluciones ya vienen por defecto con la librera Hash de contraseas de PHP.

Qu es una sal (salt)?


Una sal criptogrfica es un dato que se utiliza durante el proceso de hash para eliminar la
posibilidad de que el resultado pueda buscarse a partir de una lista de pares precalculados
de hash y sus entradas originales, conocidas como tablas rainbow. Es decir, una sal es un
pequeo dato aadido que hace que los hash sean significantemente ms difciles de
crackear.

20

Potrebbero piacerti anche