Yesica Tarno Fonseca - Aranzazu Dorado Alonso

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

  • + edi.dsa edi.dsa 3 years ago
    Interesante vuestra presentacion, pero seria necesario que implementaseis algunas de las funciones que mencionais con el objetivo de ver su comportamiento.
Post a comment
Embed Video
Edit your comment Cancel

Favorites, Groups & Events

Yesica Tarno Fonseca - Aranzazu Dorado Alonso - Presentation Transcript

  1. Funciones de dispersión Yésica Tarno Fonseca Aranzazu Dorado Alonso
  2. 1.-SHA y SHA-1 (Encriptación)
    • El SHA ( Secure Hash Algorithm ) es un algoritmo de resumen seguro desarrollado por el NIST. El SHA-1 es una versión corregida del algoritmo publicada en 1994. El algoritmo es un estándar ANSI.
    • El algoritmo toma un mensaje de menos de 264 bits y genera un resumen de 160 bits. Es más lento que el MD5, pero la mayor longitud de clave lo hace más resistente a ataques de colisión por fuerza bruta y de inversión.
  3. 2.-MD2, MD4 y MD5 (Encriptación)
    • Los tres son algoritmos de resumen de mensajes (el MD viene de Message Digest ) desarrollados por Rivest.
    • Los tres toman un mensaje de longitud arbitraria y generan un resumen de 128 bits. El MD2 está optimizado para máquinas de 8 bits, mientras que el MD4 y MD5 son para arquitecturas de 32 bits. El código para los tres algoritmos se puede encontrar en los RFCs 1319, 1320 y 1321.
  4. 2.1 MD2
    • El MD2 funciona rellenando el mensaje para que tenga una longitud en bytes múltiplo de 16. Sobre ese mensaje se calcula un checksum de 16 bytes que se añade al mensaje y la función de dispersión se aplica al mensaje resultante. El único problema que se le conoce es que si se omite el checksum se pueden obtener colisiones.
  5. 2.2 MD4
    • El MD4 fue desarrollado en 1990 por Rivest. El mensaje se rellena para que su longitud en bits más 448 sea divisible por 512. Una representación de la longitud del mensaje de 64 bits se concatena entonces con el mensaje. El mensaje se procesa iterativamente en bloques de 512 bits y cada bloque es procesado en tres rotaciones distintas. El algoritmo ha sido criptoanalizado y se han encontrado debilidades, de hecho es posible encontrar colisiones en menos de un minuto en máquinas modernas, por lo que el algoritmo se considera a todos los efectos roto.
  6. 2.3 MD5
    • El MD5 fue desarrollado en 1991 por Rivest. Es básicamente el MD4 con mejoras en la seguridad, aunque es más lento que este. El tamaño del resumen y la necesidad del relleno son iguales que en el MD4. Consta de cuatro rotaciones que tienen un diseño ligeramente diferente a las del MD4. El algoritmo ha sido criptoanalizado con técnicas similares a las del MD4 y se han encontrado pseudo-colisiones en la función de compresión, pero no en el algoritmo completo. Adicionalmente, se ha estimado que es posible construir una máquina capaz de atacar el algoritmo por fuerza bruta y encontrar una colisión en 24 días, aunque el coste de la máquina era de 10 millones de dólares en 1994.
  7. 3.-Extracción (fold & unfold)
    • Consiste en tomar ciertos bits de una transformación de la clave.
    • El ejemplo más típico es tomar los k bits centrales del resultado de elevar la clave al cuadrado. En tal caso, el número de posiciones en la tabla debe ser 2k.
  8. 4.-Compresión
    • Consiste en dividir la clave en trozos, y operar con ellos, por ej., haciendo XOR con tales trozos:
    • Sin embargo, permutaciones de las palabras pueden dar lugar a resultados iguales. Así,
    • podemos tomar en lugar de caracteres completos, trozos de 9 bits de las representaciones
    • completas.
  9. 5.-División
    • División : Estas funciones son de la forma H(k) = k MOD r. Es fundamental escoger la r adecuada. En general es suficiente con escoger un valor de r tal que no posea divisores menores que 20, siendo lo ideal que r sea primo.
  10. Otro Ejemplo
    • unsigned int func4(char *cadena) {
    • #define A 0.61803398874989484820
    • double valor, base;
    • int i, lon;
    • valor = 0.0;
    • lon = strlen(cadena);
    • base = 1;
    • for (i = 0; i < lon; i++) {
    • valor = valor +
    • base * (unsigned int)cadena[i];
    • base = base * 2;
    • }
    • return (int)floor(cub_real * modf(valor * A, &base));
    • }
    • floor

+ edi.dsaedi.dsa, 3 years ago

custom

625 views, 0 favs, 0 embeds more stats

Varias Funciones de dispersion

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 625
    • 625 on SlideShare
    • 0 from embeds
  • Comments 1
  • Favorites 0
  • Downloads 0
Most viewed embeds

more

All embeds

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories