SZYFRY BLOKOWE

Alternatywą dla szyfrów strumieniowych są szyfry blokowe, które operują na bloku danych o ustalonej liczbie bitów w celu uzyskania równoważnego, zaszyfrowanego wyjścia. Zamiast generować oddzielny strumień bitów pseudolosowych i łączyć je z tekstem jawnym, szyfry blokowe często wykonują operacje „szyfrowania” na samych danych w postaci zwykłego tekstu, zmieniając kolejność bitów w bloku i łącząc je z innymi bitami, na przykład za pomocą funkcji OR . Alternatywnie, możemy po prostu wziąć duży blok danych i zaszyfrować kolejność bitów, zgodnie z pewnym wzorem permutacji, znanym nadawcy i odbiorcy, ale ponownie utrzymywanym w tajemnicy przed innymi. Kilka przykładów opiera się na szyfrach Feistela, które wielokrotnie przekazują tekst przez tę samą funkcję szyfrującą. Blok danych w postaci zwykłego tekstu jest podzielony na pół. Połowa danych jest obsługiwana przez funkcję F, która dokonuje zmiany kolejności (tasowania) bitów w bloku, zgodnie z „podkluczem” (SK1). Wynik ponownego uporządkowania jest następnie „LUB” z niepoddaną obróbce połową. Połówki są następnie zamieniane i ta sama funkcja zmiany kolejności została zastosowana do drugiej połowy. Należy zauważyć, że funkcja zmiany kolejności jest nadal taka sama, ale jej wpływ na dane może być inny, ponieważ jest kontrolowany przez nowy podklucz (SK2). Proces można powtarzać w kółko. Szyfry Feistela są wygodne do odszyfrowania, ponieważ proces szyfrowania jest po prostu odwrócony, stosując podklucze w odwrotnej kolejności. Funkcje zmiany kolejności są tak dobrane, że ich szczegółowe działanie na danych jest trudne do odszyfrowania bez znajomości podkluczy. W ten sposób funkcje ponownego porządkowania mogą być upublicznione.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *