S-Box

S-Box ( pole podstawień ), angielski termin oznaczający tabelę podstawień używaną w algorytmie szyfrowania symetrycznego . S-Box przyczynia się do „zamieszania” (termin użyty przez Claude Shannon ), czyniąc oryginalne informacje niezrozumiałymi. S-Boxy umożliwiają przełamanie liniowości struktury szyfrowania, a ich liczba zmienia się w zależności od algorytmów. DES ma na przykład osiem tabel o wymiarach 16x4 elementów.

Tablica podstawień na ogół przyjmuje zmienną m bitów jako dane wejściowe i generuje dane wyjściowe składające się z n bitów, dane wejściowe i wyjściowe niekoniecznie mają ten sam rozmiar. Tabele są często definiowane z góry, ale zdarza się, że są generowane przez algorytm (np. W Blowfish ). Wartości obecne w S-Boxach muszą być dobrane w taki sposób, aby uniknąć ataków przy użyciu różnych środków, takich jak użycie zakrzywionych funkcji . W przypadku DES udowodniono, że tablice zostały zaprojektowane tak, aby wytrzymać kryptoanalizę różnicową (technika, która zostanie opublikowana dopiero wiele lat później).

Przykład

Oto S-Box (S 5 ) wzięty z algorytmu DES . 4-bitowe wyjście jest uzyskiwane z 6-bitowego wejścia. Dzielimy te 6 bitów na dwie części: dwa bity na końcach i pozostałe cztery bity (w środku). Dwa bity wskazują wiersz, a środkowe bity wskazują odpowiednią kolumnę. Na przykład wpisując „011011” dzielimy na „ 0 1101 1 ”. Daje to wiersz „01” i kolumnę „1101”. Wynik tabeli to „1001”.

S 5 4 bity na środku wejścia
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Bity zewnętrzne 00 0010 1100 0100 0001 0111 1010 1011 0110 1000 0101 0011 1111 1101 0000 1110 1001
01 1110 1011 0010 1100 0100 0111 1101 0001 0101 0000 1111 1010 0011 1001 1000 0110
10 0100 0010 0001 1011 1010 1101 0111 1000 1111 1001 1100 0101 0110 0011 0000 1110
11 1011 1000 1100 0111 0001 1110 0010 1101 0110 1111 0000 1001 1010 0100 0101 0011

Zobacz też

Powiązane artykuły

Linki zewnętrzne