Opis algorytmu DES.

  • (Kodowanie)

  • Rys.1. Schemat blokowy algorytmu DES.

  • Algorytm zostal przedstawiony pod katem implementacji go na procesor TMS320C25. Schemat blokowy algorytmu DES przedstawia rysunek 1. Algorytm koduje dane w porcjach po 64 bity. Kazdy 64-bitowy blok podlega na wejsciu permutacji wedlug macierzy IP, nastepnie strumien bitow zostaje podzielony na czesci L0 i R0 po 32 bity kazda. Obie czesci sa poddawane kolejnym transformacjom w 16 cyklach przy uzyciu specjalnego klucza K. Wyjscia Li i Ri kolejnych krokow sa obliczane wedlug bloku Li-1 i Ri-1 oraz klucza Ki. Krok ostatni rozni sie od pozostalych, oba bloki L16 i K16 sa laczone w jeden 64- bitowy blok i poddane odwrotnej permutacji przez macierz IP-1. Macierz permutacji IP oraz IP-1 przedstawia rysunek 2 . Kazdy element macierzy wskazuje na poszczegolne bity z 64-bitowego bloku wejsciowego poczawszy od bitow najmlodszych . Na przyklad, po permutacji IP bit 64 najstarszy jest na pazycji 58 nastepny na 50 itp. wedlug rysunku 2.

    Rys.2. Przykladowe macierze prermutacji IP i odwrotna IP.

    Funkcja f(Ri-1,Ki) z rys.1 jest kombinacja prawego bloku Ri-1 i podklucza Ki, patrz algorytm DES . Wejsciem i wyjsciem tej funkcji jest blok 32-bitowy.