2018/06/05

Forzando Brutalmente MD5 - parte 2 - SIMD


¿Venís de leer la intro y la parte 1?


El tema


Lo anterior es Single Instruction Single Data

El hack parece ser SIMD, Single Instruction Multiple Data, pero por que usé operaciones lógicas, si hubieran operaciones aritméticas no funcionaría por el carry en las sumas y en las multiplicaciones pisaría una "pista" a la otra.

Esto viene históricamente de FPU, MMX, SSEx, AVX


Aplicando paralelismo no podemos calcular más rápido pues las operaciones que se aplican dependen de las anteriores. Lo que si podemos hacer es varios hashings a la vez.

Links útiles

  • https://software.intel.com/sites/landingpage/IntrinsicsGuide/#

Videos

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

Código

  • https://github.com/cpantel/Forzando-Brutalmente-MD5/tree/master/v3_avx2
  • https://github.com/cpantel/Forzando-Brutalmente-MD5/tree/master/v3_avx2_unroll
Seguí con la parte 3