W małym algorytmie szyfrowania :
Różne wielokrotności stałej magicznej służą do zapobiegania prostym atakom opartym na symetrii rund. Stała magiczna, 2654435769 lub 9E3779B9 16, jest wybrana jako , gdzie ϕ jest złotym współczynnikiem.
Jakie właściwości ma , dzięki czemu jest przydatny w tym kontekście?
cr.crypto-security
MS Dousti
źródło
źródło
Odpowiedzi:
AFAIK, takie „magiczne” wartości mają następujące dwie właściwości:
Podobny przypadek możesz znaleźć w MD5 . Rozważ następującą linię:
k[i] := floor(abs(sin(i + 1)) × (2 pow 32))
Tutaj
sin(i + 1)
ma generować magiczne wartości; które są wyjątkowe, wyglądają losowo i mogą działać na wielei
sposobów. (Właściwiei
wynosi 0..63).Edycja: Czytając oryginalny artykuł na temat TEA , rozumie się, że odpowiedź udzielona przez „Stevena Stadnickiego” jest poprawna. Zauważ, że stała magiczna to nazwa delta:
Ponieważ stosuje się tylko 32 wielokrotności delta (po jednej na każdą rundę), nie jest dziwne, że algorytm nie jest bardzo wrażliwy na jakąkolwiek konkretną deltę. (Aby uzyskać więcej informacji, zobacz odpowiedź Stevena Stadnickiego).
Edycja 2: Nawiasem mówiąc, MD4 używa pierwiastków kwadratowych z 2 (0x5a827999) i 3 (0x6ed9eba1) jako stałych „magicznych” w swoich operacjach. Sekcja 5.4.4 książki Bezpieczeństwo sieci: prywatna komunikacja w publicznym świecie dobrze to wyjaśnia:
To wyjaśnienie jest takie samo, jak punkt przedstawiony poniżej w komentarzu Gillesa.
źródło
źródło
k[i]
, zgodnie z definicją w MD5? (Zobacz moją odpowiedź powyżej.)