Professional Documents
Culture Documents
(PL) Układy Programowalne W Kryptografii
(PL) Układy Programowalne W Kryptografii
Programowalne ukady
przetwarzania sygnaw
i informacji technika cyfrowa
w multimediach i kryptografii
W dzisiejszych czasach trudno sobie wyobrazi dziedzin szeroko rozumianej telekomunikacji, w ktrej cyfrowe przetwarzanie sygnaw DSP (Digital Signal Processing) nie miaoby zasadniczego
znaczenia. Odnosi si to do wszystkich warstw systemu telekomunikacyjnego: od urzdze przetwarzajcych obrazy, dwiki, dane
alfanumeryczne na sygnay (i odwrotnie), przez sieci telekomunikacyjne przenoszce i komutujce te sygnay, a po systemy urzdze, zapewniajcych dostarczanie rnorakich treci, zwanych powszechnie usugami. Mona tu wymieni takie przykady, jak: modemy telefoniczne, systemy cyfrowego szerokopasmowego dostpu
abonenckiego DSL (Digital Subscriber Line), dostpu radiowego,
rozpoznawanie mowy i mwcw, telewizja cyfrowa wysokiej rozdzielczoci, telefonia komrkowa i satelitarna czy zwizana z wikszoci wymienionych systemw kryptografia. Trzeba podkreli,
e tak szerokie zastosowanie techniki cyfrowej w telekomunikacji
znalazo zastosowanie dopiero w momencie opanowania technologii wytwarzania na wielk skal scalonych ukadw specjalizowanych ASIC (Application Specific Integrated Circuits). Coraz wiksz
popularnoci w tym zakresie ciesz si procesory sygnaowe mikrokomputery skonstruowane specjalnie do cyfrowego przetwarzania sygnaw. Obecnie z procesorami sygnaowymi w wielu zastosowaniach mog konkurowa ukady programowalne i reprogramowalne.
Dynamiczny rozwj cyfrowych technik telekomunikacyjnych daje
si zauway zwaszcza w systemach multimedialnych. Oglnie
mona powiedzie, e telekomunikacyjny system multimedialny to
zesp rodkw technicznych i procesw, umoliwiajcych przekaz
i prezentacj wiadomoci za pomoc przynajmniej dwch, wzajemnie zsynchronizowanych, rodkw przekazu, takich jak: mowa, muzyka, ruchomy obraz, tekst, grafika itp. Powszechnie jest on utosamiany z takimi usugami, jak: wideotelefonia, wideokonferencja, wideo na danie (lub prawie na danie), telepraca, teleedukacja,
telezakupy itd. W takim systemie wyrnia si trzy podstawowe elementy funkcjonalne: serwer usug multimedialnych, terminale multimedialne oraz sie dostpu do usug. Zadaniem sieci jest przeniesienie sygnaw dotyczcych usug oferowanych przez serwery
do terminali, a take wymiana danych midzy serwerami. Paszczyzna transportowa takiej sieci jest na og bardzo dobrze rozwinita
i przystosowana do przenoszenia sygnaw cyfrowych z du szybkoci. Najczciej s w niej stosowane kable wiatowodowe
i szybkie techniki transmisyjne: SDH, ATM, Frame-Relay itp. Najbardziej krytycznym elementem tego systemu jest abonencka sie dostpowa, przenoszca sygnay multimedialne od wzw sieci transportowej do terminalu i na odwrt. Ze wzgldu na istniejc infrastruktur kablow tej sieci (najczciej symetryczna para
przewodw miedzianych, tzw. skrtka), stao si konieczne opracowanie systemw umoliwiajcych transmisj cyfrow do (i od) abonenta z du szybkoci.
PRZEGLD TELEKOMUNIKACYJNY
ROCZNIK LXXVI
nr 89/2003
409
Jak wida, zakres zastosowa ukadw cyfrowych w telekomunikacji bdzie coraz wikszy i niedobrze byoby, gdyby w rozwoju tej
techniki i jej ogromnych rynkowych moliwoci nie uczestniczyy firmy polskie. Zrozumienie tych szans jest szczeglnie istotne w dobie
rewolucyjnego rozwoju technologii ukadw programowalnych [26].
Dotychczasowe sukcesy polskich firm w komercyjnych aplikacjach
techniki cyfrowej w telekomunikacji potwierdzaj t tez. Doskonaym przykadem moe tu by firma ADB Polska, zaoona przed piciu laty przez pracownikw naukowych Politechniki Zielonogrskiej.
Z duym powodzeniem opracowuje ona i sprzedaje w milionach
sztuk rwnie na rynki zagraniczne urzdzenia telewizji cyfrowej.
W artykule opisano podstawowe waciwoci ukadw programowalnych oraz moliwoci ich zastosowania w przetwarzaniu sygnaw i informacji. Omwiono przykady eksperymentalnych i przemysowych aplikacji multimedialnych oraz realizacje algorytmw kryptograficznych. Przedstawiono now ofert na rynku cyfrowych
ukadw telekomunikacyjnych produkty wirtualne. Wskazano take na ogromne znaczenie syntezy logicznej w tych zastosowaniach.
O Rys. 1. Struktura CPLD. Oznaczenia: PIA (Programmable Interconnect Array) matryca poczeniowa, SPLD prosta struktura PLD
typu PAL
410
O Rys. 2. Struktura FPGA. Oznaczenia: PIP (Programmable Interconnect Point) programowalne punkty poczeniowe, RC (Routing
Channels) trakty poczeniowe, I/O bloki wejciowo-wyjciowe, LB
(Logic Blocks) bloki logiczne
Praktycznie wszystkie obecnie produkowane ukady programowalne s wyposaone w reprogramowalne matryce pamiciowe.
Najczciej s stosowane dwa rodzaje matryc: z komrkami pamici SRAM (Static RAM) i trwaej EEPROM, a coraz rzadziej PROM lub
EPROM. Ukady reprogramowalne CPLD i FPGA oferuje na wiecie
kilku producentw. S to zarwno ukady z matrycami SRAM, jak
i EEPROM. Nieulotne matryce EEPROM charakteryzuj si ograniczon liczb dopuszczalnych cykli reprogramowania, zazwyczaj od
100 do 1000, gwarantuj natomiast dugi czas przechowywania zapisanych w nich konfiguracji (do 100 lat) bez zasilania.
W aplikacjach wymagajcych duej pojemnoci logicznej s stosowane przede wszystkim struktury FPGA, w ktrych rol elementu
pamiciowego spenia komrka pamici nietrwaej SRAM. Po kadorazowym wczeniu zasilania niezbdne jest wprowadzenie danych o konfiguracji, czyli tzw. inicjalizacja konfiguracji matrycy. Proces rekonfiguracji we wszystkich ukadach FPGA przebiega podobnie, przy czym w zalenoci od typu ukadu czas inicjalizacji
struktury waha si od 1ms (ukady serii AT6000) a do 320 ms (ukady FLEX10K). Dziki wykorzystaniu standardowych interfejsw szeregowych SDI (Serial Data Interface) w ukadach FPGA oraz JTAGISP w ukadach CPLD, dane konfiguracyjne mona zaadowa do
PRZEGLD TELEKOMUNIKACYJNY
ROCZNIK LXXVI
nr 89/2003
struktury programowalnej za pomoc lokalnego sterownika lub specjalnego interfejsu programujcego. Strumie danych konfiguracyjnych jest zwykle przechowywany w standardowej pamici staej
o dowolnej organizacji lub w specjalnej pamici szeregowej.
Ze wzgldu na waciwoci matryc pamiciowych, do stosowania
w aplikacjach rekonfigurowalnych s predestynowane ukady
FPGA.
Gwnym celem rekonfiguracji systemu jest dostosowanie struktury funkcjonalnej, dostpnej w ramach jego architektury podstawowej, do wymaga realizowanych algorytmw. W przypadku realizacji algorytmw, ktre nie mieszcz si w caoci w strukturze systemu, istnieje konieczno ich rozoenia na sekwencje podzada
realizowanych kolejno w odpowiednich konfiguracjach. Warunkiem
niezbdnym do realizacji caego algorytmu jest zdolno systemu
rekonfigurowalnego do wymiany danych konfiguracyjnych wraz
z przekazaniem wynikw uzyskanych w biecej konfiguracji do
kontynuowania oblicze w nastpnej konfiguracji. Taki sposb rekonfiguracji systemu podczas jego dziaania jest wyrniany terminem run-time.
Obecnie stosuje si kilka metod rekonfiguracji ukadw FPGA
[40]. Najprostszym implementacyjnie, ale niezbyt efektywnym sposobem rekonfiguracji, jest zmiana konfiguracji (tzw. kontekstu) caej
struktury programowalnej. Polega ona na szeregowym wprowadzeniu strumienia nowych danych konfiguracyjnych. Wad tej metody
jest konieczno przerwania pracy caego ukadu, co w konsekwencji moe obniy wydajno caego systemu. Ukady wyposaone
w taki mechanizm rekonfiguracji s nazywane jednokontekstowymi.
Wikszo obecnie produkowanych ukadw FPGA mona uwaa
za ukady jednokontekstowe o rnych czasach rekonfiguracji.
Bardziej efektywnym sposobem rekonfiguracji jest rekonfiguracja
czciowa. Jest ona moliwa pod warunkiem przerwania pracy ukadu, podobnie jak w przypadku ukadw jednokontekstowych, chocia dziki moliwoci wymiany tylko niezbdnej czci danych konfiguracyjnych redni czas rekonfiguracji moe by zalenie od
przyjtego sposobu przydziau zada znacznie krtszy.
Do najbardziej znanych ukadw rekonfigurowalnych nale
struktury AT40K/KA/KAL, AT6000 oraz FPSLIC AT94 (wszystkie
wymienione rodziny s to ukady FPGA, produkowane przez firm
Atmel [13]) oraz Virtex/Virtex II i Virtex E (produkowane przez firm
Xilinx).
Ogromn zalet ukadw AT40K/KA/KAL oraz AT6000 jest moliwo ich czciowej rekonfiguracji bez koniecznoci wyczania
pozostaej, nie poddawanej rekonfiguracji, czci ukadu. Uzyskanie
tak dobrego efektu uytkowego jest moliwe dziki zaawansowanemu mechanizmowi wymiany danych konfiguracyjnych CacheLogic,
w ktry wyposaono wszystkie ukady obydwu rodzin.
Zupenie inn architektur i nieco inne walory uytkowe maj
ukady AT94, nazywane w nomenklaturze producenta take FPSLIC
(Field Programmable System Level Integrated Circuit). Integruj one
bowiem w jednej strukturze rekonfigurowaln matryc FPGA oraz 8bitowy mikrokontroler RISC. Budowa, waciwoci (w tym moliwo czciowej rekonfiguracji) i podstawowe parametry matryc rekonfigurowalnych s identyczne jak dla matryc stosowanych w ukadach AT40K. Moliwoci uytkowe ukadw AT94K znacznie
zwiksza fakt zintegrowania w ich strukturze szybkiego mikrokontrolera o architekturze RISC, ktrego wydajno dochodzi do 40 MIPS.
Szczegowy opis architektury ukadw FPSLIC mona znale m.
in. w artykule [40].
Do stosowania w aplikacjach nie wymagajcych czciowej rekonfiguracji struktury ukadu doskonale nadaj si ukady z rodzin
Virtex oraz APEX, ktre nale obecnie do grupy najwyej zaawansowanych technologicznie ukadw FPGA. O ich duych zaletach
decyduj m. in. mechanizmy sprztowej implementacji pamici rnego typu (w tym FIFO oraz DualPort FIFO), moliwo czenia blokw logicznych w bloki funkcjonalne bez wykorzystywania lokalnych zasobw poczeniowych, a take krtki czas rekonfiguracji.
Jednak nie tylko z tych powodw ukady FPGA maj przewaajce zalety w implementacjach algorytmw DSP. Decydujcym czynnikiem w coraz powszechniejszym zastosowaniu ukadw FPGA do
syntezy ukadw DSP jest ich specyficzna, ziarnista i potokowa
struktura wewntrzna. Zalety tej struktury objawiaj si ju na poziomie najprostszych ale wyjtkowo typowych w DSP ukadw
mnoenia skalarnego z akumulacj. Na rys. 3 pokazano uproszczon struktur mnoenia szeregowego, realizowanego w jednowymia-
PRZEGLD TELEKOMUNIKACYJNY
ROCZNIK LXXVI
nr 89/2003
rowej matrycy systolicznej. Kade ogniwo tego ukadu mona bezporednio zrealizowa w pojedynczych komrkach struktur FPGA,
a niezaleno tej struktury od liczby bitw przetwarzanych sw jest
dodatkow zalet decydujc o wydajnoci i skalowalnoci realizowanych algorytmw. Ukady szeregowego mnoenia bitowego znajduj zastosowanie w realizacjach filtrw typu FIR [26], [36].
Komrkowa budowa struktur FPGA, a w szczeglnoci moliwo grupowania czsto wykorzystywanych blokw tablic odwzorowa (tablic prawdy) LUT (Look Up Table) w wielowyjciowe pamici, znakomicie uatwia realizacj ukadw arytmetyki rozproszonej
DA (Distributed Arithmetic) [26]. Struktur ukadu DA pokazano na
rys. 4. Zalet architektury DA jest wygodna i efektywna implementacja w strukturach FPGA. Przeprowadzone eksperymenty [36] wskazuj, e rwnolege i rozproszone ukady mnoce implementowane w strukturach FPGA s 6 razy szybsze przy zaledwie 2,5-krotnym
zwikszeniu zasobw sprztowych.
Rekonfigurowalne ukady FPGA, ktre zapocztkoway now er
w dziedzinie projektowania ukadw DSP, stanowi rwnie doskonae medium implementacyjne do realizacji algorytmw szyfrujcych w rnych zastosowaniach, takich jak protokoy bezpieczestwa komunikacji w sieciach, ochrona i potwierdzanie autentycznoci informacji i dokumentw oraz do realizacji maszyn wyszukujcych klucze w kryptoanalizie.
Gwnym atutem ukadw rekonfigurowalnych jako medium konstrukcyjnego jest ich zdolno adaptacyjna, polegajca na moliwoci dostosowania architektury logicznej do typu, ksztatu i waciwoci realizowanych funkcji. Do efektywnego wykorzystania
moliwoci tych ukadw, zarwno pod wzgldem optymalizacji logicznej, jak te parametrw fizycznych (szybko, moc, powierzchnia) jest potrzebna gruntowna znajomo funkcji i wasnoci implementowanych algorytmw. rodkiem do osignicia tak okrelonego celu jest wiedza o sposobach odwzorowywania podstawowych
operacji i funkcji algorytmu w struktur podstawow matrycy rekonfigurowalnej oraz wybr logicznej reprezentacji danych, odpowiedniej do specyfikacji algorytmu architektury.
Wikszo algorytmw szyfrowania mona przedstawi za pomoc grafu przepywu danych, ktry jest zbudowany zaledwie z kilku rnych komponentw, realizujcych mniej lub bardziej zoone
operacje arytmetyczne i funkcje logiczne. Poniej przedstawiono list najczciej stosowanych operacji i funkcji.
M Proste operacje arytmetyczne, takie jak dodawanie i odejmowanie.
M Operacje na krtkich sowach binarnych o nietypowych dugociach.
411
M Operacje mnoenia mnoenie oglne (dowolne wartoci operandw), mnoenie modularne, mnoenie z obciciem wyniku, mnoenie przez sta, mnoenie z uyciem kodowania nadmiarowego
operandw etc.
M Rwnolege operacje logiczne.
M Sekwencje operacji logicznych.
M Tablice odwzorowa LUT, np. nieliniowe typu S-box.
M Operacje rotacji i przesunicia.
Dla kadej z wymienionych operacji mona wyznaczy efektywne odwzorowanie w strukturze matrycy rekonfigurowalnej. Zastosowanie takich wzorw realizacyjnych do projektowania algorytmw
kryptograficznych pozwala lepiej wykorzysta walory systemw rekonfigurowalnych.
EKSPERYMENTALNE I PRZEMYSOWE
APLIKACJE MULTIMEDIALNE
Wraz z wprowadzeniem rekonfigurowalnych struktur logicznych
pojawiy si nowe moliwoci ich zastosowa w dziedzinie przetwarzania obrazw i dwiku. Pierwsz architektur komputera konfigurowanego ze strukturami FPGA bya wirtualna maszyna, pomylana
jako programowalna pami aktywna PAM (Programmable Active
Memory); miaa ona form rekonfigurowalnego koprocesora sterowanego standardowym procesorem. Rola procesora sprowadzaa
si do zarzdzania konfiguracj macierzy ukadw FPGA, ktre peniy funkcje koprocesora, i wsppracy z tym koprocesorem, analogicznie jak w konwencjonalnych komputerach.
Przykadami zastosowania platformy PAM do realizacji specjalizowanych maszyn liczcych s midzy innymi: system DECPeRLe
zaprojektowany przez Digital Equipment Corporations Paris Research Laboratory [38] i system SPLASH, opracowany w Supercomputer Research Center [3].
Systemy PeRLe-0 i PeRLe-1 cechuje wielka efektywno rozwizywania zadziwiajco szerokiej klasy problemw obliczeniowych.
S one zbudowane z macierzy dwuwymiarowej ukadw FPGA
komunikujcej si z otoczeniem zewntrznym za pomoc szyny
o duej przepywnoci.
Oprcz 16 ukadw macierzy 4x4 FPGA system zawiera 1 MB
pamici statycznej RAM na kadej z krawdzi macierzy FPGA. Ukad
zosta zaprojektowany do przyspieszenia realizacji zada wymagajcych duych mocy obliczeniowych przy zaoeniu, e czci realizowanego algorytmu, ktre stanowi jego wskie gardo, bd
przekazywane do wykonania ukadowi. Do specyfikacji zada zostao zaprojektowane specjalne rodowisko programowe [4], ktre
czy w sobie cechy kompilatorw zoonych jzykw programowania oraz systemw do projektowania sprztu. Lista problemw, ktre efektywnie rozwizywano za pomoc DEC PeRLe, zawiera wiele
istotnych zada z dziedziny przetwarzania obrazu i dwiku, jak na
przykad: mnoenie duych liczb cakowitych, kompresja danych,
rozwizywanie rwna Laplacea, synteza dwiku, rozpoznawanie
wzorca, splot w dziedzinie dwuwymiarowej, kompresja obrazu.
Innym przykadem wysoko wyspecjalizowanej maszyny liczcej
jest system SPLASH zaprojektowany w Supercomputer Research
Center [3], [8] oraz jego nastpca SPLASH-2. Podobnie jak system
DEC PeRLe, wsppracuje on ze stacj robocz, przyspieszajc jej
dziaanie w tych sytuacjach, gdy nie moe ona upora si z zadaniem wymagajcym duych mocy obliczeniowych. Architektura
SPLASH-2 zostaa zaprojektowana jako macierz systoliczna na pojedynczej pytce o 16 elementach obliczeniowych, z ktrych kady
zawiera ukad FPGA oraz lokaln pami. Analogicznie jak w przypadku PeRLe, stworzono rodowisko programistyczne, dajce moliwo tworzenia aplikacji. Miao ono wbudowany symulator jzyka
VHDL [1], [2], jzyk opisu logiki LDG [9] oraz model programowy
SIMD [10]. Za pomoc systemu SPLASH uruchomiono i przetestowano wiele aplikacji. Otrzymane wyniki wiadcz o jego duej efektywnoci. Lista przykadowych problemw rozwizanych za pomoc
systemu SPLASH-2 zawieraa m. in. nastpujce zadania: wyszukiwanie tekstu, przetwarzanie obrazw, ustalanie zmiennego przecinka oraz splot w dziedzinie dwuwymiarowej.
Eksperymenty przeprowadzone z architekturami PeRLe
i SPLASH pokazay, e pojedyncza platforma obliczeniowa zbudowana z ukadw FPGA moe zapewni imponujc efektywno dla
412
bardzo szerokiej rodziny zastosowa. Tak wysoki poziom efektywnoci by moliwy do osignicia dziki zaprojektowaniu dla kadego z wymienionych problemw specjalizowanej architektury. Mechanizmy rekonfiguracji gwarantuj, e z wykorzystaniem tego samego sprztu mona realizowa niezliczon liczb rnych
architektur logicznych. Osignicie wysokiej efektywnoci systemw PeRLe i SPLASH byo moliwe dziki:
M wyspecjalizowaniu blokw funkcjonalnych;
M wykorzystaniu wspbienoci;
M optymalizacji procesw i interfejsw komunikacyjnych;
M wyspecjalizowaniu ukadw wejciowo-wyjciowych.
Niewtpliwie eksperymenty te stay si bezporedni przyczyn
zastosowania ukadw programowalnych w komercyjnych (przemysowych) aplikacjach telekomunikacyjnych. Typowym przykadem
mog by satelitarne systemy telemetryczne firmy TSI TelSys [16],
w ktrych rekonfigurowalna matryca skadajca si z 12 ukadw
APEX20K100 spenia rol rekonfigurowalnego systemu DSP, automatycznie dostosowujcego si do protokou transmisyjnego ledzonej misji satelitarniej (EOS, SBIRS-High, DRTS, Heliosat).
Moliwo rekonfiguracji ukadw CPLD wykorzystaa firma LG
Information & Telecommunications. W jej ofercie znajduj si urzdzenia stosowane w systemach komrkowych CDMA (Code Division Multiple Access), W-CDMA (Wideband CDMA) oraz WLL (Wireless Local Loop). We wsppracy z firm Hanaro Telecom [12] firma
LGIE wdroya do produkcji modemy W-CDMA, w ktrych zastosowano po cztery ukady EPF10K100. Zastosowanie ukadw rekonfigurowalnych wie si z moliwoci szybkiego i w miar bezproblemowego dostosowania toru obrbki sygnau do modyfikacji
wprowadzanych w zaleceniach ITU, ktre maj na celu m. in. zwikszenie przepywnoci kanaw transmisyjnych, przy jednoczesnym
zaweniu zajmowanego pasma.
Ukady rekonfigurowalne znalazy zastosowanie take we wspczesnych telewizyjnych systemach retransmisyjnych, czego przykadem moe by rodzina procesorw wizyjnych D1 firmy Snell & Wilcox [12]. Wedug danych producenta, zastosowanie ukadw rekonfigurowalnych spowodowao obnienie kosztu wykonania takiego
procesora o ok. 30% w stosunku do klasycznych rozwiza opartych na procesorach sygnaowych.
Amerykaska firma Metalithic Systems jest producentem profesjonalnego, studyjnego sprztu audio, w tym wielu cyfrowych
konsol mikserskich. W 1999 roku inynierowie tej firmy opracowali
PRZEGLD TELEKOMUNIKACYJNY
ROCZNIK LXXVI
nr 89/2003
UKADY PROGRAMOWALNE
W KRYPTOGRAFII
Wrd pierwszych implementacji szyfrw blokowych w ukadach
programowalnych szczeglnie interesujce byy dwa opracowania.
Pierwsze powstao w Szwajcarskim Federalnym Instytucie Technicznym w Lozannie pod akronimem CryptoBooster [25]. CryptoBooster
spenia funkcje rekonfigurowalnego, moduowego koprocesora
kryptograficznego, ktry wsppracuje z gwnym komputerem jako
akcelerator operacji kryptograficznych. Prbnym moduem wykonanym w tej architekturze bya realizacja symetrycznego szyfru blokowego IDEA. Przeprowadzone testy wykazay, e pod wzgldem
szybkoci i przepustowoci koprocesor nadaje si do zastosowa
w szybkich sieciach, jak ATM, SONET i GigaEthernet.
Drugi przykad to projekt wykorzystujcy rekonfigurowalny procesor PipeRench opracowany w Carnegie Mellon University [37]. Oryginalna warstwowa architektura procesora PipeRench, zaprojektowana w CMU, zostaa zoptymalizowana pod wzgldem implementacji
kryptograficznych. Jej gwnymi cechami s: wirtualizacja, potokowa
organizacja cieki danych i zerowy pozorny czas rekonfiguracji. Wirtualizacja umoliwia implementacj algorytmw nie mieszczcych
si w caoci w fizycznej strukturze systemu. W architekturze
PipeRench zrealizowano szereg algorytmw, jak CRYPTON, IDEA,
RC6 i Twofish.
Na podstawie analizy wielu zastosowa sprztowych [5] realizacji algorytmw kryptograficznych mona okreli funkcje i wymagania, jakie powinien spenia elastyczny system kryptograficzny. S
to:
M moliwo zmiany algorytmu w trakcie pracy,
M moliwo wprowadzania nowych algorytmw,
M dua szybko przetwarzania danych,
M atwa obsuga interfejsu uytkownika,
M modyfikowalno oprogramowania sterujcego (upgradable
firmware),
M modyfikowalno sprztu.
Traktujc powysze warunki jako zaoenia do konstrukcji systemu kryptograficznego, wsppracujcego z gwnym komputerem
PC na zasadzie koprocesora, mona zaproponowa konstrukcj,
ktrej uproszczona architektura jest przedstawiona na rys. 6. Zasadniczymi blokami takiego systemu s:
M koprocesor kryptograficzny z pamici buforow,
M ukad sterujcy,
M biblioteka algorytmw.
Koprocesor kryptograficzny wykonuje wszelkie operacje zwizane z szyfrowaniem i deszyfrowaniem danych. Po wczeniu zasilania koprocesor rezydujcy w strukturach FPGA nie jest jeszcze
zaprogramowany. Na sygna wyboru algorytmu, wydany przez
uytkownika za porednictwem interfejsu, ukad sterujcy przepisuje do koprocesora z biblioteki algorytmw odpowiedni zbir
konfiguracyjny. Po skonfigurowaniu koprocesor jest gotowy do
pracy. Transmisja danych szyfrowanych i deszyfrowanych pomidzy systemem a komputerem odbywa si za porednictwem magistrali ISA. T sam drog, z komputera do systemu, s przekazywane nowe zbiory modyfikujce lub rozszerzajce bibliotek algorytmw.
PRZEGLD TELEKOMUNIKACYJNY
ROCZNIK LXXVI
nr 89/2003
Naszkicowana wyej koncepcja elastycznego systemu kryptograficznego zostaa wykorzystana przez autorw przy opracowaniu
prototypu wieloalgorytmowego koprocesora kryptograficznego, ktry zrealizowano w ramach prac badawczych w Instytucie Telekomunikacji PW. Prototyp koprocesora zosta wykonany w formie karty do
komputerw klasy PC. Schemat blokowy karty koprocesora,
uwzgldniajcy szczegowo sygnay magistrali ISA, jest przedstawiony na rys. 7. Karta wymaga wstpnej inicjalizacji kilku wewntrznych rejestrw, ktrych zawarto ustawia si przez interfejs programowy w komputerze. Ich wartoci definiuj szczegowo nastpujce funkcje i parametry karty:
M wybr algorytmu kryptograficznego DES, X_DES_X,
DES3_EEE, DES3_EDE;
M tryb pracy algorytmu ECB, CBC, OFB_64, CFB_01, CFB_08,
CFB_16, CFB_64;
M tryb wsppracy z magistral ISA normal lub pipeline;
M funkcje karty szyfrowanie/deszyfrowanie, wpisywanie kluczy
i wektora stanu pocztkowego.
Przed rozpoczciem cyklu szyfrowania/deszyfrowania s testowane wybrane komrki rejestru stanw w celu ustalenia prawidowoci przeprowadzonej inicjalizacji. Aby zapobiec lub przynajmniej
utrudni ataki hackerw, wprowadzono dodatkowe mechanizmy
ochronne zapewniajce bezpieczestwo kluczy i blokw danych zarwno jawnych, jak i zaszyfrowanych. Zastosowane mechanizmy
wykrywaj pewne odstpstwa od oczekiwanych prawidowych sekwencji instrukcji inicjujcych proces szyfrowania/deszyfrowania
i blokuj reakcje koprocesora na sygna startu GO lub niszcz zawarto rejestrw kluczy i rejestru stanu pocztkowego.
Algorytm DES zosta zaprojektowany wedug amerykaskiej normy FIPS 46, za tryby pracy opracowano na podstawie normy FIPS
81. Algorytmy DES-EDE i DES-EEE, mimo i nie s aktualnie ujte
w normach, nale obecnie do najczciej uywanych szyfrw
413
Wybr technologii
Algorytmy kryptograficzne mog by realizowane zarwno w formie programu, jak i sprztu. Implementacje programowe s projektowane i kodowane przy uyciu jzykw programowania, takich jak
C, C++, Java czy asembler, a nastpnie wykonywane w uniwersalnych mikroprocesorach, procesorach sygnaowych lub kartach inteligentnych. Implementacje sprztowe s projektowane i specyfikowane za pomoc jzykw opisu sprztu, takich jak VHDL i Verilog
HDL i realizowane z wykorzystaniem jednej z dwch technologii:
specjalizowanych ukadw scalonych typu ASIC lub rekonfigurowalnych matryc logicznych FPGA.
Do porwnania i oceny wymienionych technologii pod wzgldem
ich przydatnoci do zastosowa kryptograficznych mona posuy
414
PRZEGLD TELEKOMUNIKACYJNY
ROCZNIK LXXVI
nr 89/2003
M interfejsu wejciowego, sucego do wprowadzania danych wejciowych i kluczy oraz do buforowania danych wejciowych oczekujcych na kodowanie/dekodowanie,
M interfejsu wyjciowego, uywanego do buforowania danych przetworzonych i przesyania ich do zewntrznej pamici,
M jednostki sterujcej, w ktrej s wytwarzane sygnay sterujce
prac pozostaych blokw.
W celu ujednolicenia procedury projektowania implementacji
szyfrw, przyjto wstpnie nastpujce zaoenia:
M dugo klucza 128 bitw, co upraszcza porwnywanie i analiz
M generowanie kluczy pochodnych na zewntrz,
M dugo bloku danych 128 bitw,
M dzielenie zasobw funkcjonalnych pomidzy cz szyfrujc
i deszyfrujc.
Poniej przedstawiono definicje parametrw uywanych do porwnywania szyfrw z punktu widzenia efektywnoci ich implementacji sprztowych.
Szybko szyfrowania (deszyfrowania) jest okrelana jako liczba bitw zaszyfrowanych (zdeszyfrowanych) w jednostce czasu.
Jednostk szybkoci jest Mbit/s.
Czas opnienia szyfrowania (deszyfrowania) (latency) jest
zdefiniowany jako czas niezbdny do zaszyfrowania (zdeszyfrowania) jednego bloku danych jawnych lub zaszyfrowanych. Jeeli
w aplikacji podczas jednej sesji s szyfrowane/deszyfrowane due
porcje danych, to szybko wyznacza cakowity czas wykonywania
tych operacji i jest najlepsz miar szybkoci szyfru.
Drugi wany parametr to powierzchnia zajmowana przez ukad,
gdy jest gwnym czynnikiem okrelajcym jego koszt. Przyjmuje
si, e z grubsza koszt ukadu scalonego jest wprost proporcjonalny do jego powierzchni. Dla cisoci naley jednak uwzgldni
koszt obudowy, na ktry ma wpyw liczba wyprowadze. W pewnych aplikacjach mog wystpi ograniczenia maksymalnej dostpnej powierzchni do realizacji moduu kryptograficznego, wynikajce
z kosztw dostpnej technologii wytwarzania, zuywanej mocy lub
kombinacji tych czynnikw, np. w inteligentnych kartach z mikrokontrolerem.
W ukadach ASIC powierzchnia wymagana do implementacji jest
zwykle wyraana w m2, cho s te uywane dwie miary wzgldne:
liczba tranzystorw i liczba bramek logicznych. Wartoci tych trzech
miar s ze sob cile skorelowane, ale relacje te trudno okreli.
W implementacjach FPGA jedyn uznan miar wielkoci ukadu
jest liczba komrek logicznych.
Struktura tworzenia projektu w rodowisku CAD do implementacji algorytmw w ukadach FPGA jest pokazana na rys. 9. Wszystkie
szyfry AES zostay w pierwszym kroku opisane w jzyku VHDL, a na-
Tryby pracy
Symetryczne szyfry blokowe s uywane w kilku trybach operacyjnych, ktre z punktu widzenia implementacji sprztowej mona
podzieli na dwie kategorie:
M tryby bez sprzenia zwrotnego, takie jak tryb elektronicznej
ksiki kodowej (ECB) i tryb licznikowy,
M tryby ze sprzeniem zwrotnym, jak tryb wizania blokw zaszyfrowanych (CBC), tryb sprzenia zwrotnego szyfrogramu (CFB)
i tryb sprzenia zwrotnego wyjciowego (OFB).
W trybach bez sprzenia zwrotnego szyfrowanie kadego kolejnego bloku danych moe by wykonane niezalenie od przetwarzania innych blokw. W trybach ze sprzeniem zwrotnym nie jest
moliwe rozpoczcie szyfrowania nastpnego bloku danych przed
zakoczeniem kodowania bloku biecego i wszystkie bloki musz
by szyfrowane sekwencyjnie. To ograniczenie nie dotyczy operacji
deszyfrowania, ktra moe by wykonywana rwnolegle na kilku
blokach szyfrogramu we wszystkich trybach. Zgodnie z obecnymi
standardami bezpieczestwa, szyfrowanie jest wykonywane przede
wszystkim z uyciem trybw sprzenia zwrotnego, jak CBC i CFB,
za tryby bez sprzenia zwrotnego s gwnie stosowane do szyfrowania kluczy podczas ich dystrybucji. Te wymagania bezpieczestwa uniemoliwiaj wykorzystanie w peni efektywnoci implementacji sprztowych opartych na rwnolegym przetwarzaniu wielu blokw danych.
Podstawowe architektury
Wybierajc architektur dla implementacji szyfrw w strukturach
FPGA, wystarczy ograniczy si do dwch typw: bazowej architektury iteracyjnej i architektury z rozwinit (czciowo lub w peni) ptl. Podstawow architektur sprztow stosowan do implementacji jednostki szyfrujcej/deszyfrujcej typowego szyfru blokowego
z tajnym kluczem pokazano na rys. 10a. Jedn rund szyfru zrealizowano jako ukad kombinacyjny, uzupeniony rejestrem i multiplekserem. W pierwszym cyklu zegara wejciowy blok danych jest podawany przez multiplekser i zapisywany w rejestrze. W kadym kolejnym cyklu zegara jest realizowana operacja jednej rundy
szyfrowania, a jej rezultat podawany zwrotnie do ukadu przez multiplekser i zapisywany nastpnie w rejestrze. Architektura bazowa
ma dwie cechy charakterystyczne:
M w tym samym czasie jest kodowany tylko jeden blok danych,
M liczba cykli zegara, koniecznych do zaszyfrowania jednego bloku
danych, jest rwna liczbie rund szyfru.
Architektura z czciowo rozwinit ptl jest przedstawiona na
rys. 10b. Jedyna rnica w porwnaniu z bazow architektur iteracyjn polega na tym, e cz kombinacyjna ukadu realizuje K rund
szyfrowania zamiast jednej. Liczba K musi by podzielnikiem cakowitej liczby rund. Liczba cykli zegara koniecznych do zaszyfrowania
jednego bloku danych jest K-krotnie mniejsza od liczby rund. Minimalny okres zegara wzrasta ze wspczynnikiem nieco mniejszym
ni K.
PRZEGLD TELEKOMUNIKACYJNY
ROCZNIK LXXVI
nr 89/2003
O Rys. 10. Podstawowe architektury szyfrw w trybach ze sprzeniem zwrotnym: a) bazowa architektura iteracyjna, b) z czciowo
rozwinit ptl, c) z ptl w peni rozwinit
415
PRODUKTY WIRTUALNE
NOWA OFERTA
NA RYNKU TELEKOMUNIKACJI
Wraz z wprowadzeniem struktur reprogramowalnych pojawiy si
jeszcze inne moliwoci aplikacyjne. Wynikaj one nie tylko z poprawy parametrw funkcjonalnych i czasowych oraz zmian w architekturze logicznej, ale rwnie z samej istoty reprogramowalnoci. Jeden z kierunkw takich aplikacji okrela koncepcja produktu wirtualnego systemu, funkcji lub ukadu scalonego, ktre nie istniej
w rzeczywistoci materialnej, ale potencjalnie mog by w kadej
chwili zrealizowane. Takie ukady wirtualne to zarwno gotowe produkty o zmiennych funkcjach i waciwociach, jak rwnie elastyczne klocki, z ktrych mona konstruowa wiksze systemy.
Powsta ogromny rynek wirtualnych produktw specjalizowanych, tzw. rynek wasnoci intelektualnej IP (Intellectual Property Business) zawartej w ukadach zaprojektowanych w postaci kodw
rdowych jzykw HDL. Dziaalnoci tak zajmuj si m.in. firmy:
ALTERA, XILINX INC., TILAB, CAST INC., inSILICON CORPORATION, DIGITAL COMMUNICATION TECHNOLOGIES, IP SEMICONDUCTORS, a w Polsce DIGITAL CORE DESIGN. Typow ofert tych
firm s wanie ukady DSP, a w szczeglnoci: kodery FFT i DCT,
ukady kryptograficzne, komutatory i rutery ATM, dekodery Viterbiego dla sieci LAN, skramblery i deskramblery itp.
Rynek produktw wirtualnych to jednoczenie ogromne wyzwanie dla zaawansowanych metod optymalizacji logicznej. Wynika to
z faktu, e konkurencj na tym rynku bd wygrywa tylko najlepsze
produkty. Do ich realizacji zostan wykorzystane zaawansowane
metody syntezy, niejednokrotnie wystpujce wycznie w specjalistycznym oprogramowaniu uniwersyteckim. Dua zoono struktur FPGA, a take ich nietypowe konstrukcje (komrki), spowodoway wzrost roli i znaczenia zaawansowanych procedur syntezy logicznej.
Wpyw zaawansowanych procedur syntezy logicznej na jako
implementacji sprztowych ukadw przetwarzania informacji i sygnaw jest szczeglnie znaczcy w algorytmach wykorzystujcych
struktury tablicowe typu LUT. Struktury takie s powszechnie stosowane w filtrach cyfrowych, ukadach transformacji falkowej [31],
w szczeglnoci do realizacji wykorzystujcych arytmetyk rozproszon [26], a take w algorytmach kryptograficznych, korzystajcych z tzw. blokw permutacyjno-podstawieniowych.
W Zakadzie Podstaw Telekomunikacji IT-PW opracowano
specjalistyczne oprogramowanie do optymalizacji implementacji
sprztowych struktur typu LUT. Oprogramowanie to nazwane
DEMAIN [21], [22], [27] jest dostpne nieodpatnie na
stronie internetowej Zakadu Podstaw Telekomunikacji IT-PW:
http://www.zpt.tele.pw.edu.pl. W systemie DEMAIN, jako gwn
procedur syntezy logicznej zorientowanej na struktury FPGA,
wykorzystuje si tzw. algorytm dekompozycji zrwnowaonej. Skuteczno tego oprogramowania mona oceni na podstawie eksperymentw przeprowadzonych z realizacjami ukadw cyfrowych
wyposaonych w struktury specyfikowane tablicami LUT.
Eksperymenty te polegay na implementacji typowych ukadw
cyfrowych gwnie z dziedziny teleinformatyki za pomoc rnych systemw projektowania, a nastpnie na porwnaniu ich realizacji pod wzgldem liczby uytych komrek odpowiedniej struktury
FPGA. Wymowa przeprowadzonych eksperymentw jest znaczca,
416
DEMAIN
MAX
+Plus II
FPGA
Express
Leonardo
Spectrum
SIS
13
131
30
30
bin2bcd2
39
505
225
120
136
DESboxes
184
585
486
192
rd88
167
332
341
245
248
DESaut
28
46
25
30
32
5B6B
41
92
100
49
51
PRZEGLD TELEKOMUNIKACYJNY
ROCZNIK LXXVI
nr 89/2003
PRZEGLD TELEKOMUNIKACYJNY
ROCZNIK LXXVI
nr 89/2003
FPGA i FLEX. Przyczyna tego zjawiska tkwi w niedostosowaniu procedur syntezy logicznej, ktre w systemach komercyjnych s z reguy realizowane wedug klasycznych metod minimalizacji funkcji
boolowskich i nie uwzgldniaj metod dekompozycji funkcjonalnej
[22]. Zatem stosowanie zaawansowanych systemw uniwersyteckich niejednokrotnie moe si przyczyni do sukcesu rynkowego,
w szczeglnoci specyficznej techniki ukadw FPLD.
Omwione w artykule zastosowania ukadw reprogramowalnych w cyfrowym przetwarzaniu sygnaw i kryptografii, dziki moliwoci zmiany konfiguracji w trakcie pracy i elastycznemu wykorzystywaniu zasobw sprztowych, zapewniaj ich wykorzystanie do
realizacji zoonych algorytmw obliczeniowych. W poczeniu
z moliwociami wspierania procesw optymalizacji komercyjnych
systemw zaawansowanymi systemami syntezy i optymalizacji logicznej stwarza to szans dla rozwoju rodzimych opracowa urzdze telekomunikacyjnych. Jest ona szczeglnie widoczna w systemach multimedialnych i kryptograficznych, dla ktrych istotniejsze
s parametry techniczne, wynikajce z istoty reprogramowania, ni
jednostkowy koszt produkcji.
LITERATURA
[1] Arnold J. M.: The Splash 2 software environment. In D. A. Buell and
K. L. Pocek, editors, Proceedings of IEEE Workshop on FPGAs for
Custom Computing Machines, Napa, CA, April, 1993
[2] Arnold M., Buell D. A. and Davis E. G.: VHDL programming on
Splash 2. In More FPGAs: Proceedings of the 1993 International
Workshop on Field-Programmable Logic and Applications, Oxford,
England, September 1993
[3] Arnold, D. A. Buell, and E. G: Davis. Splash 2. In Proceedings of the
4th Annual ACM Symposium on Parallel Algorithms and Architectures, June 1992
[4] Bertin P. and Touati H.: PAM programming environments: Practice
and experience. In D. A. Buell and K. L. Pocek, editors, Proceedings
of IEEE Workshop on FPGAs for Custom Computing Machines, Napa, CA, April 1994
[5] Connor T., Deng S., Marchant S.: Cryptographic Coprocesor with
Algorithm Agility, Worcester Polytechnic Institute, Worcester, March
1999
[6] Elbirt A. J., Yip W., Chetwynd B., Paar C.: An FPGA implementation
and performance evaluation of the AES block cipher candidate algorithm finalists, Proc. 3rd Advanced Encryption Standard (AES) Candidate Conference, New York, April 13-14, 2000
[7] Gaj K., Chodowiec P.: Comparison of the hardware performance of
the AES candidates using reconfigurable hardware, Proc. 3rd Advanced Encryption Standard (AES) Candidate Conference, New York,
April 13-14, 2000
[8] Gokhale M., Holmes W., Kopser A., Lucas S., Minnich R., Swelly D.,
and Lopresti D.: Building and using a highly parallel programmable
logic array. IEEE Computer, 24 (1), January 1991
[9] Gokhale M., Kopser A., Lucas S. and Minnich R.: The logic description generator. Technical Report SRC-TR-90-011, Suprtcomputer
Research Center (SRC), 1990
[10] Gokhale M. and Schott B.: Data Parallel C on a reconfigurable logic
array. Journal of Supercomputing, 9 (3), 1994
[11] Guccione S. A., Delon L., Downs D.: A reconfigurable content addressable memory, Parallel and Distributed Processing. SpringerVerlag, Berlin, May 2000
[12] http://www.altera.com
[13] http://www.atmel.com
[14] http://www.windriver.com
[15] http://pw1.netcom.com
[16] http://www.tsi-telsys.com
[17] http://www.xilinx.com
[18] IEEE Computer Society, Proceedings of IEEE Workshop on FPGAs
for Custom Computing Machines, 1993-1996
[19] Jachna Z.: Analiza metod specyfikacji ukadw cyfrowych z punktu
widzenia optymalizacji logicznej i odwzorowania technologicznego.
Rozprawa doktorska, WAT, Warszawa 2002
[20] Jasiski K., Zbysiski P.: Rekonfigurowalny koprocesor systemowy:
uniwersalna platforma obliczeniowa, Przegld Telekomunikacyjny
i Wiadomoci Telekomunikacyjne, nr 10, 2000
[21] uba T., Zbierzchowski B.: Komputerowe projektowanie ukadw cyfrowych. Wydawnictwa Komunikacji i cznoci, Warszawa 2000
[22] uba T.: Synteza ukadw logicznych, Wysza Szkoa Informatyki
Stosowanej i Zarzdzania, wyd. 2, poprawione i rozszerzone, Warszawa 2001
417
[23] uba T., Zbierzchowski B., Zbysiski P.: Ukady reprogramowalne dla
potrzeb telekomunikacji cyfrowej. Przegld Telekomunikacyjny
i Wiadomoci Telekomunikacyjne, nr 5, 2002
[24] uba T. (red.), Rawski M., Tomaszewicz P., Zbierzchowski B.: Synteza ukadw cyfrowych. WK Warszawa (przewidywany termin wydania listopad 2003)
[25] Mosanya E. et al.: CryptoBooster: A Reconfigurable and Modular
Cryptographic Coprocesor, Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems, Worcester August
1999
[26] Meyer-Baese U.: Digital Signal Processing with Field Programmable
Gate Arrays, Springer Verlag, Berlin 2001
[27] National Security Agency, Initial plans for estimating the hardware
performance of AES submissions http://csrc.nist.gov/encryption/
aes/round2/round2.htm
[28] Nowicka M., Rawski M., uba T.: DEMAIN an Interactive Tool for
FPGA-Based Logic Decomposition, Proceedings of the 6th International Conference Mixed Design of Integrated Circuits and Systems,
Krakw 1999
[29] IFAC Workshop on Programmable Devices and Systems (E. Hrynkiewicz chairman), PDS2001, materiay konferencyjne, Gliwice 2001
[30] Pasierbiski J., Zbysiski P.: Ukady programowalne w praktyce,
WK, Warszawa 2001
[31] Rakowski W.: O implementacjach sprztowych transformacji falkowej. Przegld Telekomunikacyjny i Wiadomoci Telekomunikacyjne,
nr 23, 2003
418
[32] Rawski M., Jwiak L., uba T.: Functional decomposition with an efficient input support selection for sub-functions based on information
relationship measures. Journal of Systems Architecture, 47, Elsevier
Science B. V., 2001
[33] Reprogramowalne ukady cyfrowe (J. Sodek przewodniczcy Komitetu Programowego), materiay IV Konferencji Naukowej, Szczecin 2001
[34] Rogowski M.: Implementacja algorytmu HIEROCRYPT w strukturach
programowalnych. Praca magisterska, WAT, 2003
[35] Sentovich E., et al.: SIS: A system for Sequential Circuits Synthesis. Electronics Research Laboratory Memorandum, No.
VCB/ERLM92/41, University of California, Berkeley, 1992
[36] Tessier R., Burlesson W.: Reconfigurable Computing for Digital
Signal Processing: A Survej. Journal of VLSI Signal Processing, 28,
2001
[37] Taylor R., Goldstein S.: A High-Perfomance Flexible Architecture for
Cryptography, Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems, Worcester August 1999
[38] Vuillemin Bertin P., Roncin D., Shand M., Touati H., and Boucard P.:
Programmable active memories: Reconfigurable systems come of
age. IEEE Transactions on VLSI Systems, 4 (1), 1996
[39] Wiatr K.: Sprztowe implementacje algorytmw przetwarzania obrazw w systemach wizyjnych czasu rzeczywistego. AGH, Krakw
2002
[40] Zbysiski P.: Rekonfigurowalne ukady FPSLIC firmy Atmel, Elektronizacja nr 782000
PRZEGLD TELEKOMUNIKACYJNY
ROCZNIK LXXVI
nr 89/2003