Generacja podkluczy Ki.


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      * 
  ******************************