Co jest specjalnego


12

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.232/ϕ

Jakie właściwości ma , dzięki czemu jest przydatny w tym kontekście?232/ϕ


Odpowiedzi:


11

AFAIK, takie „magiczne” wartości mają następujące dwie właściwości:

  1. Są w jakiś sposób wyjątkowe i wyglądają losowo.
  2. Mogą wielokrotnie brać udział w operacjach algebraicznych; tzn. nawet po wielokrotnym zastosowaniu określonej operacji (powiedzmy mnożenie lub potęgowanie), wartość „magii” wciąż jest w stanie wygenerować nowe wartoś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 wiele isposobów. (Właściwie iwynosi 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:

W każdej rundzie używana jest inna wielokrotność delta, więc żaden fragment wielokrotności nie zmienia się często. Podejrzewamy, że algorytm nie jest bardzo wrażliwy na wartość delta i musimy jedynie unikać złej wartości. Należy zauważyć, że delta okazuje się nieparzysta z obcięciem lub najbliższym zaokrągleniem, więc nie są potrzebne żadne dodatkowe środki ostrożności, aby zapewnić zmianę wszystkich cyfr sumy.

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:

Aby pokazać, że projektanci nie wybrali celowo diabolicznej wartości stałej, stała jest oparta na pierwiastku kwadratowym z 2.

To wyjaśnienie jest takie samo, jak punkt przedstawiony poniżej w komentarzu Gillesa.


Brzmi rozsądnie. Czy zatem 2 ^ 32 / pi lub 2 ^ 32 / sqrt (2) działałyby równie dobrze?

@Tim: Chyba tak, ale bardzo pomocne jest podwójne sprawdzenie nowych magicznych liczb w kontekście operacji wewnętrznych TEA.
MS Dousti

5
Co więcej, powodem wyboru stałej matematycznej, takiej jak 2 ^ 32 / phi, zamiast losowo generowanej wartości o akceptowalnych właściwościach, jest odrobina pewności, że nie jest to wartość wybrana dla dodatkowych nieujawnionych właściwości - wartość backdoora .
Gilles 'SO - przestań być zły'

2
@Gilles, w rzeczy samej, nazywane są nawet „niczym w moim numerze rękawa” z tego powodu, patrz en.wikipedia.org/wiki/Nothing_up_my_sleeve_number
Henno Brandsma

12

φnφφ{nφ}{nα}α

doπ=2)32/π=1367130551(355doπ)mod2)32=41157doφ=2)32/φ=2654435769n|(ndoφ)mod2)32|2)16n=28657XnXn+kk2)32


1
Sadeq: „mod 1” odnosi się do ułamkowej części wielokrotności - w tym przypadku byłyby to [.62, .24, .85, .47, .09, .71, .33, .94, .56,. 18]. Równoważność w granicach oznacza, że ​​jakikolwiek podinterwał [a, b] z [0, 1] zawiera oczekiwany udział (ba) tych wartości; podczas gdy okazuje się, że ułamkowe części wielokrotności dowolnej liczby niewymiernej są równomiernie rozłożone na [0, 1], te o złotym współczynniku zbliżają się do tego, że nawet rozkład jest szybszy niż jakakolwiek inna liczba; nie „zbijają się” w interwałach jednostek.
Steven Stadnicki

8
π113π{(n+113)π}{nπ}

8
to bardzo fajna właściwość złotego podziału
Suresh Venkat

2
Dziękuję za świetny opis. To było naprawdę wspaniałe! Czy masz jakieś uwagi k[i], zgodnie z definicją w MD5? (Zobacz moją odpowiedź powyżej.)
MS Dousti

2
grzech(nx)xzajaΣzajak[ja]=0
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.