THIS is an early work-in-progress, it will not work (except for the first transform).
What works so far:
- MD5 basic functions F,G,H,I (i think is optimized enaugh)
- Selecting basic functions using a indirect call using ROM table (i think so)
- 32-Bit addition + circular shifting function
- getting shifting amount from ROM table
- first transform of MD5 works, i compared results
a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
What is missing so far:
- A Permutation (deciding that sequence)
a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
c=FF(c,d