Tiger es una función de hash diseñada por Ross Anderson y Eli Biham en 1996, en previsión de eficiencia para plataformas de 64 bits. El tamaño de la función es de 192 bits, aunque hay versiones de 128 y 169 bits de la misma, llamadas Tiger/128 y Tiger/160, que devuelven versiones truncadas de la versión Tiger/192.
Se usa frecuentemente en árboles de hash, llamados a veces árboles de hash de Merkle, denominándose entonces TTH (Tiger Tree Hash). TTH es usado por redes P2P, comoDirect Connect y Gnutella. Tiger tenía la posibilidad de ser incluido en el estándar OpenPGP, aunque ha sido abandonado en favor de RIPEMD-160.
Tiger está diseñado usando el paradigma Merkle-Damgård. La función de compresión usa una combinación de operaciones mezcladas con XOR y adición/substración, rotaciones y búsqueda en la S-Box.
Se está desarrollando una versión de Tiger, llamada Tiger2.
Los 192 bits (24 bytes) de Tiger son a menudo representados como 48 dígitos hexadecimales. Los siguientes ejemplos muestran entradas ASCII y sus correspondientes hash Tiger:
Tiger ("The quick brown fox jumps over the lazy dog") = 6d12a41e72e644f017b6f0e2f7b44c6285f06dd5d2c5b075
Tiger2 ("The quick brown fox jumps over the lazy dog") = 976abff8062a2e9dcea3a1ace966ed9c19cb85558b4976d8
Incluso un pequeño cambio en el mensaje resultará (con una probabilidad abrumadora) en un hash completamente distinto, por ejemplo, cambiando d por c:
Tiger ("The quick brown fox jumps over the lazy cog") = a8f04b0f7201a0d728101c9d26525b31764a3493fcd8458f
Tiger2 ("The quick brown fox jumps over the lazy cog") = 09c11330283a27efb51930aa7dc1ec624ff738a8d9bdd3df
La cadena vacía arroja el siguiente hash:
Tiger ("") = 3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3
Tiger2 ("") = 4441be75f6018773c206c22745374b924aa8313fef919f41
verificación por redundancia cíclica1 (CRC) es un código de detección de errores usado frecuentemente en redes digitales y en dispositivos de almacenamiento para detectar cambios accidentales en los datos.1 Los bloques de datos ingresados en estos sistemas contiene un valor de verificación adjunto, basado en el residuo de una división de polinomios; el cálculo es repetido, y la acción de corrección puede tomarse en contra de los datos presuntamente corruptos en caso de que el valor de verificación no concuerde; por lo tanto se puede afirmar que este código es un tipo de función que recibe un flujo de datos de cualquier longitud como entrada y devuelve un valor de longitud fija como salida.- ................................................:http://es.wikipedia.org/w/index.php?title=Especial:Libro&bookcmd=download&collection_id=8ab9869c94abbcaf92c1a7de142891bb5bb91b6a&writer=rdf2latex&return_to=Verificaci%C3%B3n+por+redundancia+c%C3%ADclica
VERIFICACIÓN DE REDUNDANCIA CÍCLICA Y DOBLE PARIDAD (6B)
Cíclica:
- La verificación de redundancia cíclica se basa en la división binaria en lugar de sumar los bits juntos para conseguir una paridad determinada.
- se añade una secuencia de bits redundantes –> CRC – final de la unidad de datos
- los datos resultantes serán divisibles exactamente por un número binario
§ También denominados códigos cíclicos o polinómicos. Su uso está muy extendido porque pueden implementarse en hardware con mucha facilidad y son muy potentes.
WHIRLPOOL es una función de hash diseñada por Vincent Rijmen y Paulo S. L. M. Barreto. El hash ha sido recomendado por el proyecto NESSIE y ha sido adoptado por la Organización Internacional de Estandarización (ISO) y la Comisión Electrotécnica Internacional (IEC) como parte del estándar internacional ISO/IEC 10118-3.
WHIRLPOOL fue desarrollado después del algoritmo de cifrado por bloques Square. WHIRLPOOL es una construcción Miyaguchi-Preneel basada en una modificación delAdvanced Encryption Standard. Dado un mensaje de un tamaño menor de 2256 bits, devuelve un hash de 512 bits.
Los autores han declarado que WHIRLPOOL no está patentado (ni lo estará). Puede ser usado libremente para cualquier propósito y las implementaciones de referencia son dedominio público.
El algoritmo WHIRLPOOL ha tenido dos revisiones desde la especificación original (año 2000). En la primera revisión, en el 2001, la S-Box generada de manera aleatoria con buenas propiedades criptográficas se cambió a una cuyas propiedades fueron mejoradas y era más sencilla de implementar en hardware. En la segunda revisión, en 2003, la matriz de difusión fue cambiada.
En lo siguientes ejemplos, versión original de WHIRLPOOL será llamada WHIRLPOOL-0 y la primera revision WHIRLPOOL-1.
Los hashes de 512 bits (64 bytes) se representan como 128 caracteres hexadecimales. En estos ejemplos se muestran entradas de 43 bytes ASCII y su correpondiente hash de WHIRLPOOL:
WHIRLPOOL-0("The quick brown fox jumps over the lazy dog") = 4F8F5CB531E3D49A61CF417CD133792CCFA501FD8DA53EE368FED20E5FE0248C 3A0B64F98A6533CEE1DA614C3A8DDEC791FF05FEE6D971D57C1348320F4EB42D
WHIRLPOOL-1("The quick brown fox jumps over the lazy dog") = 3CCF8252D8BBB258460D9AA999C06EE38E67CB546CFFCF48E91F700F6FC7C183 AC8CC3D3096DD30A35B01F4620A1E3A20D79CD5168544D9E1B7CDF49970E87F1
WHIRLPOOL("The quick brown fox jumps over the lazy dog") = B97DE512E91E3828B40D2B0FDCE9CEB3C4A71F9BEA8D88E75C4FA854DF36725F D2B52EB6544EDCACD6F8BEDDFEA403CB55AE31F03AD62A5EF54E42EE82C3FB35
Incluso un pequeño cambio hará que (con una probabilidad de 1-10-154) el resultado de la función sea completamente distinto, por ejemplo, cambiando d por c:
WHIRLPOOL-0("The quick brown fox jumps over the lazy cog") = CB2CB5F1697A6D8C6609998965F97C243B53A29EB973AEC8D388E893C0E7DD9B 6CCA934FE67151300120D409C6F0982923B9D15AA5CA8356BDAF2F97F50351BC
WHIRLPOOL-1("The quick brown fox jumps over the lazy cog") = 64D675832795AED30DCD926DBA32F4E0ED95B067D1C563400C4B600721EA100F 5BC5EBFB9DAB55AA159CB5C52DFF57CF54443D031EF7F38268E0A059450BB9D1
WHIRLPOOL("The quick brown fox jumps over the lazy cog") = DCE81FC695CFEA3D7E1446509238DAF89F24CC61896F2D265927DAA70F2108F8 902F0DFD68BE085D5ABB9FCD2E482C1DC24F2FABF81F40B73495CAD44D7360D3
El hash de la cadena vacía es:
WHIRLPOOL-0("") = B3E1AB6EAF640A34F784593F2074416ACCD3B8E62C620175FCA0997B1BA23473 39AA0D79E754C308209EA36811DFA40C1C32F1A2B9004725D987D3635165D3C8
WHIRLPOOL-1("") = 470F0409ABAA446E49667D4EBE12A14387CEDBD10DD17B8243CAD550A089DC0F EEA7AA40F6C2AAAB71C6EBD076E43C7CFCA0AD32567897DCB5969861049A0F5A
WHIRLPOOL("") = 19FA61D75522A4669B44E39C1D2E1726C530232130D407F89AFEE0964997F7A7 3E83BE698B288FEBCF88E3E03C4F0757EA8964E59B63D93708B138CC42A66EB3
No hay comentarios:
Publicar un comentario