2.4 Mniej podstawowe testy
Test Maurera Podstawą działania testu Maurera jest zauważenie faktu, że ciągu utworzonego dobrym generatorem nie powinno dać się znacząco skompresować bez utraty informacji. Zamiast naprawdę kompresować dane, w teście Maurera oblicza się wartość funkcji, która jest miarą długości skompresowanego ciągu. Test ten jest narzędziem uniwersalnym, ponieważ nadaje się do wykrywania wielu spośród dość ogólnej klasy defektów. Należą do niej również te wykrywane przez wyżej opisane proste testy. Jak to jednak zwykle bywa, ceną jaką musimy za to zapłacić jest konieczność dostarczenia długiej serii danych z generatora. Nie powinno to jednak nastręczać zbyt wielkich kłopotów, jeśli tylko mamy do dyspozycji wydajny generator.
Test błądzenia przypadkowego definiuje się następująco: cząstka porusza się skokowo po węzłach zadanej siatki w stochastyczny sposób. Siatka ta jest ograniczona dwoma liniami pochłaniającymi i dwoma odbijającymi o takiej samej długości. Dlatego też liczba cząstek pochłoniętych przez jedną jak i przez drugą linię powinna być równa. Dość często odrzucał on generatory, które przechodziły poprzednie testy. Okazuje się, że np. generator LFSR nie przeszedł tego testu.
3.1 Data Encryption Standard
DES (Data Encryption Satndard) jest symetrycznym algorytmem szyfrującym co oznacza, że ten sam klucz służy do szyfrowania jak i do deszyfrowania wiadomości. Jego szczegółowy opis został celowo opublikowany. Miało to na celu przekonanie, że jego bezpieczeństwo nie tkwi w tajności metody, a jedynie klucza oraz poddanie jego konstrukcji weryfikacji niezależnych specjalistów. DES został zaprojektowany tak, by jego implementacje sprzętowe działały o wiele szybciej niż software’owe, które są bardziej podatne na ataki. Obecnie DES można zbudować w jednym układzie VLSI, który może osiągać wydajność 1 GB/sek.
DES szyfruje bloki danych po 64 bity co odpowiada ośmiu 7-bitowym znakom ASCII z ósmym bitem parzystości. Klucze są również 64-bitowe z ośmioma bitami parzystości. Efektywna długość klucza wynosi więc 56 bitów i to właśnie było powodem dyskusji o rzekomej słabości tego algorytmu. Wieloletnie użytkowanie i badania potwierdziły jednak jego skuteczność, choć jak do tej pory nie istnieje matematyczna teoria dowodząca poprawności DESa.
DES składa się z 16 rund, podczas każdej z nich wykonywane są te same obliczenia na wynikach poprzedniej rundy. W kolejnych rundach wykorzystuje się podklucze utworzone z klucza 64-bitowego. Dodatkowo na początku i końcu szyfrowania dokonuje się permutacji danych. Nie ma to żadnego wyraźnego celu kryptograficznego, ale jest bardzo łatwe w implementacji sprzętowej po prostu należy odpowiednio poprowadzić przewody.
Bardziej skomplikowane jest generowanie podkluczy. Najpierw usuwamy 8 bitów parzystości z oryginalnego klucza. Potem tworzonych jest 16 różnych kluczy