Realizacja algorytmu DES na TMS320C10
Rys.8. Dwa tryby pracy algorytmu DES ECB i OFB.
Wykonywanie program realizujacego algorytm DES na procesorze TMS320C10 mozna podzielic na kilka etapow. Pierwszym z nich jest podprogram DESKEY ktory sluzy do wprowadzenia klucza oraz sprawdzenia poprawnosci transmisji klucza poprzez bit parzystosci. Nastepnym krokiem jest generowanie 16 podkluczy wraz generowaniem macierzy permutacji PC-1 i PC-2. Przygotowanie podkluczy nastepuje przed szyfrowniem lub deszyfracja w celu zwiekszenia szybkosci kodowania. Po tych czynnosciach nastepuje wybranie trybu kodowania lub dekodowania, utworzenie permutacji IP, obliczanie funkcji f(Ri-1,Ki) oraz wyjsc blokow S1(S8. Na koncu nastepuje praksztalcenie przez permutacje IP-1 i podanie zakodowanego bloku 64 bitow na wyjscie.
Tabela 2.
Tabela 2 przedstawia ile pamieci zajmuje kod programu oraz czas wykonywania programu w cyklach rozkazowych i milisekundach. Dane dotycza standartowego algorytmu DES z 64 bitowym wejsciem oraz przy cyklu rozkazowym 200ns. Przy wykorzystaniu 100% czasu procesora szybkosc przetwarzania wynosci 42.5kbity/s.
Wymagana pamiec danych to 64 lokacje dla podluczy oraz 51 dla operacji przejsciowych. Jezeli program ma byc wykonywany wspolbieznie to wymagania pamieci znacznie wzrastaja.
6. Kodowanie mowy.
Procesor TMS320C10 i algorytm DES wykorzystywane sa w wiekszosci do kodowania mowy. Dzieki szczegolnym wlasciwosciom jego rozkazow wykonywanie niektorych operacji znacznie sie upraszcza co przyspiesza proces kodowania.
W telekomunikacji czesto stosuje sie kombinacje roznych algorytmow w zaleznosci od rodzaju danych co zwieksza bezpieczenstwo przesylanych informacji. Taka kombinacje przedstawia rysunek 10. Natomiast tabela 3 przedstawia szybkosci pracy innych algorytmow wraz z czasem wykorzystania procesora w porownaniu z algorytmem DES.
- LPC - Linear Predictive Code,
- REPL - Residual Excited Linear Predictive vocoder,
- APC - Adaptive Predictive Coding,
- SBC - Sub-Band Coding,
- ADPCM - Adaptive Differential PCM (CCITT algorithm, not bit-by-bit compatibile),
- ADPCM-CCITT - CCITT ADPCM (bit-by-bit compatibile).
Podsumowanie.
Z powyzszego opracowania wynika, ze algorytm DES moze byc z powodzeniem implementowany na procesor TMS320C10. Osiagana szybkosc kodowania 42kbity/s przy 200ns cyklu rozkazowego jest wystarczajaca do szfrowania sygnalu mowy. Algorytm DES ma zastosowanie takze przy kodowaniu informacji przesylanych poprzez modemy, a zastosowany w polaczeniu z kompresja danych znacznie zwieksza skutecznosc kodowania.
Wazna zaleta cyfrowych sposobow kodowania za posrednictwem specjalizowanych procesorow jest mozliwosc laczenia ich w duze systemy lub implementacja do innych systemow przetwarzania informacji.