Rys.5. Schemat blokowy algorytmu generowania podkluczy.
Klucz szyfrujacy K ma dlugosc 64 bitow lecz do szyfrowania wykorzystuje sie tylko 56. Z pozostalych osmiu bitow wykorzystywany jest osmy bit, ktory jest bitem parzystosci dodatniej dla 64 bitow klucza. Z 64 bitowego klucza generowanych jest 16 podkluczy Ki kazdy o dlugosci 48 bitow. Sposob generacji przedstawia rys.7. Po permutacji 56 bitow (macierz PC-1) sa one rozdzielone na dwie czesci Ci i Di po 28 bitow. Nastepnie w 16 krokach sa one przesuwane w lewo i laczone w 56 bitowy blok, ktory po permutacji PC-2 daje 48 bitowy klucz, macierz PC-1 i PC-2 przedstawia rys10. Przesuwanie bitow czesci C i D odbywa sie w ten sposob, ze najstarszy bit wchodzi na miejsce najmlodszego itd. Nie w kazdym kroku przesuwana jest taka sama ilosc bitow. Sposob przesuwania przedstawia tabela 1.
Rys.6. Przyklad macierz PC-1 i PC-2.
Tabela 1. ****************************** * Numer kroku * Przesuniecie * ****************************** * 1 * 1 * * 2 * 1 * * 3 * 2 * * 4 * 2 * * 5 * 2 * * 6 * 2 * * 7 * 2 * * 8 * 2 * * 9 * 1 * * 10 * 2 * * 11 * 2 * * 12 * 2 * * 13 * 2 * * 14 * 2 * * 15 * 2 * * 16 * 2 * * 17 * 2 * * 18 * 1 * ******************************