2018/05/20

Forzando Brutalmente MD5 - parte 1 - cpu


¿Venís de leer la intro


Optimizaciones en la implementación


  • Como las claves miden menos de 56 bytes, no hace falta encadenar.
  • Como las claves miden siempre lo mismo, el pad se calcula una sola vez.
  • Se puede hacer loop unroll.

Hack rumbo a SIMD


  • MD5 es un algoritmo de 32 bits y la arquitectura predominante en server/desktop/laptop es 64 bits.
  • Se pueden calcular dos hashes simultáneos.
  • Cada hash demora lo mismo, pero son dos a la vez.

Video

  • https://www.youtube.com/channel/UCKsHdgvwvmCNnGD1Az8SSUQ

Código


  • https://github.com/cpantel/Forzando-Brutalmente-MD5/tree/master/v1_cpu
  • https://github.com/cpantel/Forzando-Brutalmente-MD5/tree/master/v1_cpu_unroll
  • https://github.com/cpantel/Forzando-Brutalmente-MD5/tree/master/v2_hack
Seguí con la parte 2

No hay comentarios:

Publicar un comentario