Tomasz Sochacki dał Ci bardzo fajnego linka; i tak, jest tam wyjaśniony ten rysunek. Konkretniej, na tym obrazku jest narysowany pojedynczy krok MD5 (gdzie tych kroków jest 16 w każdy z czterech rund, przy czym każda runda ma inną funkcję; na rysunku jest użyta funkcja F, ale są też zdefiniowane funkcje G, H oraz I). Co do samych oznaczeń na rysunku:
- Czerwony kwadrat z plusem w środku to po prostu dodawanie (modulo 2**32).
- Żółte <<<s to obrót bitowy (dla 32-bitowej zmiennej); dla różnych kroków s ma różną wartość.
- Mi to kolejne 32-bitowe fragmenty wiadomości, z której liczone jest MD5.
- Ki to specjalnie dobrane stałe charakterystyczne dla MD5, które de facto są wyliczone funkcją sinus.
- Sama funkcja F(B,C,D) = (B & C) | (~B & D) (użyłem standardowych oznaczeń operacji logicznych na bitach z języków programowania).
Czyli, w zasadzie rysunek przedstawia coś takiego:
A = ((A + F(B, C, D) + Mi + Ki) <<< s) + B (wszystko modulo 2**32)
W linku od Tomasza ten rysunek to funkcja FF (góra strony czwartej, która z jakiegoś powodu jest podpisana jako strona 14). Na dole tejże strony widać użycie funkcji FF, apotem GG, HH, etc w kolejnych rundach.
Przy czym tak szczerze, to domyślam się, że to co napisałem i tak Ci za dużo nie powie. Ale jeśli chodzi o kryptografię, to trochę nie ma rady - trzeba przy tym usiąść i to rozgryźć samemu, i przemyśleć :)
Ad drugie pytanie, czyli materiały:
Przede wszystkim chciałbym polecić kurs na Coursera "Cryptography 1" ze Stanfordu: https://www.coursera.org/learn/crypto
Co do książek, to w zasadzie wszystkie Bruce'a Schneier'a: https://pl.wikipedia.org/wiki/Bruce_Schneier#Publikacje_z_zakresu_kryptografii
Na półce mam jeszcze kilka, ale nie wiem ile z nich jest faktycznie sensowne, więc może poprzestanę na powyższych.
Natomiast dodam, że na turniejach CTF pojawia się sporo zadań z kryptografii, więc czytając artykuły o tym jak dane zadania rozwiązać można się sporo nauczyć. Niezła lista jest oczywiście na CTFTime.org - https://ctftime.org/writeups?tags=crypto&hidden-tags= - ale oprócz tego w naszym rodzimym magazynie Programista w sekcji "Strefa CTF" też pojawiają się od czasu do czasu rozwiązania zadań kryptograficznych.
Przy czym, przydało by się jakiegoś *dobrego* kryptologa o jakieś materiały.