Pytanie teoretyczne: czy w HMAC zwiększanie długości klucza w nieskończoność powoduje wzrost poziomu bezpieczeństwa?
Nie. Maksymalna długość klucza jaki jest dostępny to rozmiar bloku funkcji, której używasz, wszystko ponad to jest obcinane.
@hauleth Gdyby to było obcinane to jeżeli jako funkcji skrótu użyjemy np. 128-bitowej MD5, to jeżeli wygenerujemy kod HMAC dając na wejście klucz 200 bitowy czy 300-bitowy to nie powinno być różnicy wynikowym kodzie HMAC a jednak są różne.
@Erwin14 przez "obcinane" mam na myśli, że aplikujesz funkcję skrótu na klucz by "skrócić" ją do wymaganej długości. Więc jak dasz sobie 1024 bity to nie ma różnicy, bo całość i tak będzie tylko tak bezpieczna jak użyta funkcja skrótu.
Mam jeszcze drugie pytanie. Mamy jakiś plik. Generujemy dla niego funkcję skrótu np. MD5 albo SHA256. Następnie zmieniamy 1 bit tamtego pliku i generujemy teraz skrót dla tego zmienionego pliku.
Dlaczego mimo że pliki się różnią tylko 1 bitem to skróty ich wyglądają zupełnie inaczej?
Kryptograficzne funkcje skrótu są specjalnie tak projektowane, by osiągnąć https://en.wikipedia.org/wiki/Avalanche_effect