0 calificaciones0% encontró este documento útil (0 votos)
4 vistas4 páginas
Este documento describe diferentes métodos para encriptar contraseñas al almacenarlas en una base de datos, incluyendo cifrado simétrico, cifrado asimétrico, hashing y firmas digitales. Luego explica algoritmos comunes como MD5, SHA-1, SHA-2 y AES, señalando que bcrypt es el método recomendado en PHP 5.5 debido a su seguridad y resistencia a ataques.
Este documento describe diferentes métodos para encriptar contraseñas al almacenarlas en una base de datos, incluyendo cifrado simétrico, cifrado asimétrico, hashing y firmas digitales. Luego explica algoritmos comunes como MD5, SHA-1, SHA-2 y AES, señalando que bcrypt es el método recomendado en PHP 5.5 debido a su seguridad y resistencia a ataques.
Este documento describe diferentes métodos para encriptar contraseñas al almacenarlas en una base de datos, incluyendo cifrado simétrico, cifrado asimétrico, hashing y firmas digitales. Luego explica algoritmos comunes como MD5, SHA-1, SHA-2 y AES, señalando que bcrypt es el método recomendado en PHP 5.5 debido a su seguridad y resistencia a ataques.
Jesús Emmanuel Número de Control: 21180306 Maestra: Imelda Deyanira Hernandez Martinez Instituto Tecnologico de San Luis Potosi Actividad Encriptación
Qué es la encriptación de Contraseñas:
La encriptación de contraseñas es un proceso de seguridad que se utiliza para proteger las contraseñas de los usuarios al almacenarlas en una base de datos. La idea es tomar la contraseña original, convertirla en una forma ilegible, y luego almacenarla en la base de datos. Cuando un usuario intenta iniciar sesión en su cuenta, la contraseña que ingresa se cifra utilizando el mismo proceso y se compara con la versión cifrada almacenada en la base de datos. Si las contraseñas coinciden, el usuario es autenticado y se le concede acceso a la cuenta. La encriptación de contraseñas es importante porque protege las contraseñas de los usuarios en caso de que la base de datos sea comprometida. Si los atacantes logran acceder a la base de datos, no podrán leer las contraseñas directamente porque están cifradas. Sin embargo, es importante destacar que no todas las formas de cifrado son igualmente seguras, y que algunos algoritmos pueden ser vulnerables a ataques de fuerza bruta o de diccionario. Por esta razón, es importante que los desarrolladores utilicen algoritmos de cifrado fuertes y implementen otras medidas de seguridad, como el hashing de contraseñas y la salación, para aumentar la seguridad de las contraseñas almacenadas en la base de datos.
Descripción general de los algoritmos para encriptación de contraseñas:
Existen varios sistemas de encriptación de datos, cada uno con sus propias características y niveles de seguridad. A continuación, describiré algunos de los más comunes:
1. Cifrado simétrico: Es un método de encriptación en el que se utiliza la misma
clave para cifrar y descifrar los datos. La clave es compartida entre el emisor y el receptor de los datos. El cifrado simétrico es rápido y eficiente, pero presenta problemas de seguridad si la clave se ve comprometida. 2. Cifrado asimétrico: También conocido como criptografía de clave pública, es un método de encriptación en el que se utiliza un par de claves, una pública y una privada, para cifrar y descifrar los datos. La clave pública se puede compartir libremente, mientras que la clave privada debe mantenerse secreta. El cifrado asimétrico es más seguro que el cifrado simétrico, pero también es más lento. 3. Hashing: Es un método de encriptación en el que se toma una entrada de datos y se aplica una función matemática unidireccional para producir una salida de longitud fija, llamada hash. El hashing se utiliza comúnmente para almacenar contraseñas en una base de datos. Cuando un usuario ingresa su contraseña, se calcula el hash de la contraseña ingresada y se compara con el hash almacenado en la base de datos. Si los hashes coinciden, se autentica al usuario. 4. Firma digital: Es un método de encriptación que se utiliza para garantizar la autenticidad y la integridad de un mensaje. Se utiliza una clave privada para firmar digitalmente el mensaje, y se utiliza la clave pública correspondiente para verificar la firma. Las firmas digitales se utilizan comúnmente en transacciones financieras y en documentos legales.
Explicación de los algoritmos para la encriptación de contraseñas:
Los algoritmos de encriptación de contraseñas son métodos matemáticos que
convierten una contraseña en una forma ilegible para que pueda ser almacenada de manera segura en una base de datos. A continuación, se describen algunos de los algoritmos más comunes para encriptación de contraseñas:
1. MD5: Es un algoritmo de hashing que toma una contraseña y la convierte en una
cadena de 128 bits. A pesar de ser ampliamente utilizado en el pasado, MD5 es considerado actualmente inseguro debido a que es vulnerable a ataques de colisión. 2. SHA-1: Es un algoritmo de hashing que toma una contraseña y la convierte en una cadena de 160 bits. Aunque SHA-1 se considera más seguro que MD5, también es vulnerable a ataques de colisión. 3. SHA-2: Es una familia de algoritmos de hashing que incluye SHA-256, SHA-384 y SHA-512. Estos algoritmos son más seguros que MD5 y SHA-1, y se utilizan comúnmente para encriptar contraseñas. 4. AES: Es un algoritmo de encriptación simétrica que utiliza una clave para cifrar y descifrar datos. AES se utiliza comúnmente para proteger la privacidad de los datos en aplicaciones de mensajería y correo electrónico.
En cuanto al hash de contraseñas de PHP 5.5, se utiliza un algoritmo de hashing seguro
y adaptativo conocido como "bcrypt". Bcrypt utiliza una función de encriptación adaptativa que se puede ajustar para que sea más lenta o más rápida, lo que la hace resistente a los ataques de fuerza bruta. Además, bcrypt agrega una "sal" aleatoria a cada contraseña antes de encriptarla, lo que lo hace aún más difícil de descifrar. El hash de contraseñas de PHP 5.5 se ha demostrado ser altamente seguro y se recomienda su uso para proteger las contraseñas de los usuarios en aplicaciones web.