La mejor manera de pensar en SHA-256 es como un grupo de funciones hash criptográficas. Una función hash , también conocida como resumen o huella digital, funciona como una firma especial para un archivo de texto o datos. Debido a que solo admite operaciones criptográficas unidireccionales, no se puede leer ni descifrar. Esto hace posible emplear hashing para aplicaciones como la validación de archivos, firmas digitales, mensajes seguros y otros.
¿Cómo funciona SHA-256?
- Para usar SHA-256, primero se debe convertir un archivo o texto a binario, después de lo cual se deben establecer los valores hash iniciales y las constantes redondas, se debe crear un programa de mensajes, se deben comprimir los valores finales y, finalmente, una concatenación de strings. debe estar terminado para combinar todos los bits.
- Uno de los algoritmos hash más seguros y más utilizados es SHA-256. Se puede usar para codificar y alterar datos de forma irreversible, lo que garantiza que la entrada no se pueda deducir de la salida del algoritmo SHA-256, que tiene una longitud de 256 bits.
¿Sigue en uso SHA-256?
- Los usos actuales de SHA-256 siguen siendo útiles e incluyen strings de bloques, criptomonedas, certificados de capa de conexión segura (SSL) y más.
- SHA-256 se usa en aplicaciones de blockchain y criptomonedas para minería, prueba de trabajo y creación de direcciones de criptomonedas. El minero debe pasar por un proceso para generar valores hash para bloques recién producidos, y ese proceso incluye SHA-256. De manera similar, la clave pública necesaria para generar nuevas direcciones de Bitcoin debe cumplir con SHA-256.
- Se utiliza un tipo de tecnología de seguridad llamada certificado SSL para crear una conexión cifrada entre un cliente y un servidor. Los sitios web y los servicios web pueden comunicarse de forma segura gracias a él. Ciertos componentes criptográficos de la certificación SSL utilizan SHA-256, el estándar actual de la industria.
Keccak-256
Keccak-256, una función criptográfica, es parte de Solidity (SHA-3 Family). Esta función calcula el hash de una entrada en una salida de longitud fija, lo que genera un hash singular de 32 bytes a partir de cualquier número de entradas. Esta función hash criptográfica solo se puede usar en una dirección y no se puede revertir.
¿Cómo funciona Keccak-256?
Proporcione una string como entrada, como «Namaste Duniya», luego envíela a través de una función hash usando keccak256. Esto conduciría a:
Namaste Duniya -> keccak-256 (función hash) -> 8a0fe4fd16bb35fbecde2e774008fb7f92a8568a680f3fa93d0948bcfbf68dc3
La string «Namaste Duniya» no es lo mismo que «namaste duniya». Si hacemos hash «namaste duniya», obtendremos un resultado totalmente diferente.
namaste duniya -> keccak-256 (función hash) -> 544ff8f09d34fdfbfa5a8dcb9d7d57deb6c862026cb8b655cfd7bf9c192e4d21
Incluso la más mínima alteración o modificación de la string tiene un impacto significativo en el resumen de hash. No importa cuánta información se proporcione, el resultado siempre será el mismo.
¿Cuáles son los casos de uso de Keccak-256?
Estos son algunos casos de uso para ello:
- Ethereum usa Keccak-256 en un motor de consenso llamado Ethash.
- Firma criptográfica de pequeño tamaño (al firmar el hash en lugar de una entrada más grande).
- Para extraer una identificación única y determinista de una colección de datos.
SHA-256 frente a Keccak-256
A continuación se muestran algunas de las diferencias entre SHA-256 y Keccak-256.
No. S. | SHA-256 | Keccak-256 |
---|---|---|
1. | SHA-256 es la implementación del estándar SHA-2 con una clave de 256 bits. | Keccak256, una función criptográfica, es parte de Solidity (Familia SHA-3). |
2. | El SHA-256 es más débil que el Keccak-256. | El keccak-256 es mucho más fuerte que el SHA-256. |
3. | Calcula el hash SHA-256 de la entrada. | Calcula el hash Keccak-256 de la entrada. |
4. | sha256(bytes de memoria) devuelve (bytes32). | keccak256(bytes de memoria) devuelve (bytes32). |
5. | La string de bloques de Bitcoin hace un uso extensivo de SHA-256, incluso cuando identifica hashes de transacciones y cuando los mineros realizan minería de prueba de trabajo. | Ethereum usa Keccak-256 en un motor de consenso llamado Ethash. |
Publicación traducida automáticamente
Artículo escrito por ayushrajrock99 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA