Czy md5 może zostać zerwany, aby działać na wielu rdzeniach / wątkach?
Obliczając sumę md5 dużych plików, widzę, że pojedynczy rdzeń procesora przeskakuje do 100% na jakikolwiek czas, pozostawiając wszystkie pozostałe rdzenie bezczynne.
Moje podstawowe rozumienie md5 jest takie, że cały proces jest całkowicie liniowy, w którym wartości są zależne od wszystkich wcześniejszych wartości, i nie możemy nic zrobić, aby uczynić go wielowątkowym. Czy to prawda?
Czy istnieje sposób na rozbicie plików na sekcje, obliczenie<coś> na wielu częściach przy użyciu wielu rdzeni, a następnie połącz je<coś> wartości do końcowego md5?
Biblioteka, której używamy do obliczania sumy md5, wynosihttp://libmd5-rfc.sourceforge.net/ ale przestawiłbym się na inny, gdyby można było rozbić sumę md5 na wiele rdzeni, aby była szybsza.
(Uwaga: zmiana na coś innego niż md5 nie jest kwestią, ani nie można tego zrobić z powodu innych zamkniętych systemów, do których te interfejsy. Nie jest to pytanie o bezpieczeństwo korzystania z md5.)