Madryga

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Madryga (również Algorytm Madrygi) – szyfr blokowy stworzony w 1984 przez W. E. Madrygę, zaprojektowany tak, aby był wygodny w implementacji programowej[1].

Opis algorytmu[edytuj | edytuj kod]

Założeniami projektowymi szyfru były: bezpieczeństwo szyfru musiało się opierać na kluczu a nie na tajności algorytmu; długość szyfrogramu powinna być równa długości szyfrowanego tekstu jawnego; nie powinny występować klucze słabe[1].

Ponieważ szyfr został stworzony tak, aby był wygodny w implementacji programowej, jedyne wykorzystywane w nim operacje to alternatywa wykluczająca oraz rotacje - obie te operacje wykonywane są na bajtach. Sam algorytm składa się z dwóch zagnieżdżonych cykli - cyklu zewnętrznego, który powtarzany jest 8 razy i zawiera cykl wewnętrzny, wykonujący operacje na bajtach tekstu jawnego. Iteracja cyklu wewnętrznego wykonywana jest dla 3-bajtowego (24-bitowego) bloku danych nazwanego ramką roboczą. Ostatni bajt okna jest sumowany modulo 2 z bitami klucza natomiast pierwsze dwa bajty przesuwane są cyklicznie o pewną, zmienną liczbę pozycji. Następnie ramka przesuwana jest o jeden bajt w prawo - jeżeli w pierwszej iteracji przetwarzaliśmy bajty 1, 2, 3 to w następnej będziemy przetwarzać bajty 2, 3, 4[1].

Analiza algorytmu dowiodła, że operacje w nim stosowane nie zapewniają efektu lawinowego podczas szyfrowania oraz, że ilość jedynek i zer w szyfrogramie nie jest równomierna[1].

Przypisy

  1. 1,0 1,1 1,2 1,3 Bruce Schneier: Kryptografia dla praktyków: protokoły, algorytmy i programy źródłowe w języku C. Warszawa: Wydawnictwa Naukowo-Techniczne, 2002, s. 385-387. ISBN 83-204-2678-2.