You are on page 1of 10

Tadeusz ŁUBA*, Krzysztof JASIŃSKI*, Bogdan ZBIERZCHOWSKI

*

Programowalne układy
przetwarzania sygnałów
i informacji – technika cyfrowa
w multimediach i kryptografii
W dzisiejszych czasach trudno sobie wyobrazić dziedzinę szeroko rozumianej telekomunikacji, w której cyfrowe przetwarzanie sygnałów DSP (Digital Signal Processing) nie miałoby zasadniczego
znaczenia. Odnosi się to do wszystkich warstw systemu telekomunikacyjnego: od urządzeń przetwarzających obrazy, dźwięki, dane
alfanumeryczne na sygnały (i odwrotnie), przez sieci telekomunikacyjne przenoszące i komutujące te sygnały, aż po systemy urządzeń, zapewniających dostarczanie różnorakich treści, zwanych powszechnie usługami. Można tu wymienić takie przykłady, jak: modemy telefoniczne, systemy cyfrowego szerokopasmowego dostępu
abonenckiego DSL (Digital Subscriber Line), dostępu radiowego,
rozpoznawanie mowy i mówców, telewizja cyfrowa wysokiej rozdzielczości, telefonia komórkowa i satelitarna czy związana z większością wymienionych systemów – kryptografia. Trzeba podkreślić,
że tak szerokie zastosowanie techniki cyfrowej w telekomunikacji
znalazło zastosowanie dopiero w momencie opanowania technologii wytwarzania na wielką skalę scalonych układów specjalizowanych ASIC (Application Specific Integrated Circuits). Coraz większą
popularnością w tym zakresie cieszą się procesory sygnałowe – mikrokomputery skonstruowane specjalnie do cyfrowego przetwarzania sygnałów. Obecnie z procesorami sygnałowymi w wielu zastosowaniach mogą konkurować układy programowalne i reprogramowalne.
Dynamiczny rozwój cyfrowych technik telekomunikacyjnych daje
się zauważyć zwłaszcza w systemach multimedialnych. Ogólnie
można powiedzieć, że telekomunikacyjny system multimedialny to
zespół środków technicznych i procesów, umożliwiających przekaz
i prezentację wiadomości za pomocą przynajmniej dwóch, wzajemnie zsynchronizowanych, środków przekazu, takich jak: mowa, muzyka, ruchomy obraz, tekst, grafika itp. Powszechnie jest on utożsamiany z takimi usługami, jak: wideotelefonia, wideokonferencja, wideo na żądanie (lub prawie na żądanie), telepraca, teleedukacja,
telezakupy itd. W takim systemie wyróżnia się trzy podstawowe elementy funkcjonalne: serwer usług multimedialnych, terminale multimedialne oraz sieć dostępu do usług. Zadaniem sieci jest przeniesienie sygnałów dotyczących usług – oferowanych przez serwery –
do terminali, a także wymiana danych między serwerami. Płaszczyzna transportowa takiej sieci jest na ogół bardzo dobrze rozwinięta
i przystosowana do przenoszenia sygnałów cyfrowych z dużą szybkością. Najczęściej są w niej stosowane kable światłowodowe
i szybkie techniki transmisyjne: SDH, ATM, Frame-Relay itp. Najbardziej krytycznym elementem tego systemu jest abonencka sieć dostępowa, przenosząca sygnały multimedialne od węzłów sieci transportowej do terminalu i na odwrót. Ze względu na istniejącą infrastrukturę kablową tej sieci (najczęściej symetryczna para
przewodów miedzianych, tzw. skrętka), stało się konieczne opracowanie systemów umożliwiających transmisję cyfrową do (i od) abonenta z dużą szybkością.

*

Instytut Telekomunikacji Politechniki Warszawskiej
e-mail: luba@tele.pw.edu.pl, kjasio@tele.pw.edu.pl,
bogdan@tele.pw.edu.pl

PRZEGLĄD TELEKOMUNIKACYJNY

ROCZNIK LXXVI

nr 8–9/2003

W tej części sieci powszechnie przyjmowana szerokość pasma
podstawowego 300 Hz – 3400 Hz nie wynika z własności linii transmisyjnej, lecz z przepustowości filtrów stosowanych (dla transmisji
telefonicznej) w punktach styku z siecią transportową. Wspomniana
skrętka umożliwia (oczywiście po usunięciu filtrów) wykorzystanie
pasma do 1 MHz, a jedynym ograniczeniem szybkości transmisji cyfrowej jest długość kabla i jakość jego wykonania. Efektywne zwiększenie wykorzystania pasma do transmisji dwukierunkowej osiąga
się przez stosowanie odpowiednich kodów liniowych oraz przez stosowanie cyfrowej kompensacji (kasowania) echa (Echo Canceller)
w układach rozgałęźnych po stronie abonenta i po stronie sieci.
Na przykład w sieciach ISDN dla dostępu podstawowego
(2B + D) do transmisji o szybkości 144 kbit/s (2 kanały po 64 kbit/s
+ 16 kbit/s dla kanału sygnalizacyjnego) wykorzystuje się kod liniowy 2B1Q (2-Binary 1-Quatenary) oraz technikę kompensacji echa.
Sprowadza się ona do wytworzenia w nadajniku przez adaptacyjny
filtr cyfrowy sygnału identycznego z przebiegiem echowym i odjęcia
go od całkowitego sygnału odbieranego.
Podobną zasadę kasowania echa stosuje się w systemach dostępowych DSL. Opracowano (i dalej się rozwija) systemy HDSL (High
data rate Digital Subscribe Line), ADSL (Asymmetric Digital Subscribe Line), VDSL (Very high data rate Digital Subscribe Line) o różnych przepływnościach i różnych technikach kodowania.
Kodowanie liniowe i cyfrowe kasowanie echa w systemach dostępowych i sieciach ISDN to niewielka część szerokiego zakresu
stosowania cyfrowego przetwarzania sygnałów. Ogromne znaczenie mają techniki kodowania sygnałów telefonicznych i wizyjnych,
umożliwiające zmniejszenie przepływności kanałów służących do
ich przenoszenia, a także wykrywanie i ewentualnie korekcję błędów
transmisji. Wystarczy powiedzieć, że w systemach radiokomunikacji
ruchomej szybkość strumienia sygnału mowy zmniejsza się
z 64 kbit/s (w systemach PCM) do szybkości poniżej 10 kbit/s.
W społeczeństwie informacyjnym wiele dziedzin życia gospodarczego i kulturalnego korzysta z elektronicznego przekazywania danych. Ogromnego znaczenia nabiera zatem poufność, a nawet tajność przekazywanych informacji. Z coraz większym przekonaniem
przyjmowany jest pogląd, że ochrona danych będzie odgrywała
podstawową rolę w funkcjonowaniu przyszłych systemów informacyjnych. Dotyczy ona głównie aplikacji telekomunikacyjnych, takich
jak telefonia bezprzewodowa i komórkowa, faksy, pagery, płatna telewizja, komercyjne produkty audio/wideo itp. Jednak najważniejszym obszarem, w którym decydujące znaczenie mają mechanizmy
ochrony informacji, jest komunikacja cyfrowa, a w szczególności
sieć internetowa.
Mechanizmy ochrony komunikacji cyfrowej są realizowane za pomocą specjalnych protokołów bezpieczeństwa i w formie algorytmów kryptograficznych stały się częścią wielu standardowych rozwiązań, jak IPSec (protokół internetowy), SSL (Secure Socket
Layer), szyfrowane komórki sieci ATM oraz różnych standardów
ANSI dla bankowości. Eksplozja wzrostu usług internetowych w zakresie handlu i biznesu, w tym operacji finansowych i obrotu kapitałowego, spowodowała, że realizacja mechanizmów zabezpieczenia
przed nieuprawnionym dostępem do informacji stała się ogromnym
wyzwaniem.

409

przy czym – w zależności od typu układu – czas inicjalizacji struktury waha się od 1ms (układy serii AT6000) aż do 320 ms (układy FLEX10K)... Grupą układów programowalnych o architekturze i budowie elementarnych komórek logicznych. będącej krytycznym fragmentem układów CPLD. w zależności od struktury.. zakres zastosowań układów cyfrowych w telekomunikacji będzie coraz większy i niedobrze byłoby. Omówiono przykłady eksperymentalnych i przemysłowych aplikacji multimedialnych oraz realizacje algorytmów kryptograficznych. Struktura FPGA. Pod pojęciem zdolności łączeniowej rozumie się możliwość łączenia dowolnych elementów struktury programowalnej. ważnymi parametrami matrycy połączeniowej. niekiedy znacznie lepsze w porównaniu z implementacjami na procesorach sygnałowych. znacznie odmiennej od architektury i budowy komórek układów SPLD i CPLD. 3 ns (m. w których czas propagacji skrócono do ok. jak to pokazano na rys. W szczególności udoskonalenia procesu technologicznego. Są to zarówno układy z matrycami SRAM. AIM – Xilinx). Elementem charakterystycznym dla architektury CPLD jest wykorzystanie w układach wielu struktur typu PAL (Programmable Array Logic) zgrupowanych w bloki SPLD (Simple PLD). Wskazano także na ogromne znaczenie syntezy logicznej w tych zastosowaniach. Oznaczenia: PIP (Programmable Interconnect Point) – programowalne punkty połączeniowe. Układy reprogramowalne CPLD i FPGA oferuje na świecie kilku producentów. czyli tzw.8. Zrozumienie tych szans jest szczególnie istotne w dobie rewolucyjnego rozwoju technologii układów programowalnych [26].. Z dużym powodzeniem opracowuje ona i sprzedaje w milionach sztuk – również na rynki zagraniczne – urządzenia telewizji cyfrowej. Dostępne są także układy. ZIA – Xilinx). są: zdolność łączeniowa i czas propagacji sygnału. Producenci układów rozwiązują związane z tym problemy w różny sposób. Na rys. charakterystyczne dla większości układów FPGA. klasyfikuje się na układy matrycowe – CPLD (Complex PLD) oraz układy komórkowe – FPGA. 1. W aplikacjach wymagających dużej pojemności logicznej są stosowane przede wszystkim struktury FPGA. Z punktu widzenia technologii jest to postęp od układów katalogowych i płytki drukowanej do specjalizowanych układów ASIC i specjalizowanych procesorów ASIP (Application Specific Instruction Set Processors) o złożoności sięgającej milionów bramek. zazwyczaj od 100 do 1000. ROLA UKŁADÓW PROGRAMOWALNYCH W ROZWOJU TECHNIKI CYFROWEJ DLA POTRZEB PRZETWARZANIA SYGNAŁÓW I INFORMACJI W technice cyfrowej w ostatnich latach obserwuje się ogromne zmiany w metodach projektowania układów i systemów cyfrowych oraz w technologiach wykonywania urządzeń cyfrowych. Dotychczasowe sukcesy polskich firm w komercyjnych aplikacjach techniki cyfrowej w telekomunikacji potwierdzają tę tezę. W artykule opisano podstawowe właściwości układów programowalnych oraz możliwości ich zastosowania w przetwarzaniu sygnałów i informacji. 1. Doskonałym przykładem może tu być firma ADB Polska. O Rys. Te cechy układów FPLD umożliwiają implementacje algorytmów DSP. Najczęściej są stosowane dwa rodzaje matryc: z komórkami pamięci SRAM (Static RAM) i trwałej EEPROM. Struktura CPLD. Po każdorazowym włączeniu zasilania niezbędne jest wprowadzenie danych o konfiguracji. Nieulotne matryce EEPROM charakteryzują się ograniczoną liczbą dopuszczalnych cykli reprogramowania. SPLD – prosta struktura PLD typu PAL 410 wejściami zewnętrznymi a wewnętrznymi blokami logicznymi oraz między tymi blokami. Bloki te są ze sobą połączone szybką. 200 ps (ZIA. polegające na redukowaniu wymiarów elementów półprzewodnikowych i zwiększaniu liczby warstw metalizowanych połączeń. gwarantują natomiast długi czas przechowywania zapisanych w nich konfiguracji (do 100 lat) bez zasilania. jak i EEPROM. matryce GRP firmy Lattice. programowaną matrycą połączeniową. gdyby w rozwoju tej techniki i jej ogromnych rynkowych możliwości nie uczestniczyły firmy polskie. Przedstawiono nową ofertę na rynku cyfrowych układów telekomunikacyjnych – produkty wirtualne. Dzięki wykorzystaniu standardowych interfejsów szeregowych SDI (Serial Data Interface) w układach FPGA oraz JTAGISP w układach CPLD. Architektura matrycy połączeniowej i technologia zastosowana do jej realizacji mają duży wpływ na czas propagacji sygnału. w których rolę elementu pamięciowego spełnia komórka pamięci nietrwałej SRAM. czego efektem są różnorodne architektury matryc połączeniowych. dane konfiguracyjne można „załadować” do PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8–9/2003 . PIM – Cypress. są struktury FPGA (Field Progammable Gate Array). 2 pokazano ułożenie komórek logicznych oraz traktów połączeniowych. [30]. Obecnie produkowane układy FPLD. in. LB (Logic Blocks) – bloki logiczne Praktycznie wszystkie obecnie produkowane układy programowalne są wyposażone w reprogramowalne matryce pamięciowe. Oznaczenia: PIA (Programmable Interconnect Array) – matryca połączeniowa.Jak widać. Niezależnie od wykonania. a także nowe techniki programowania umożliwiły opracowanie generacji struktur FPLD (Field Programmable Logic Devices) z możliwością reprogramowania i rekonfiguracji [21]. 2. założona przed pięciu laty przez pracowników naukowych Politechniki Zielonogórskiej. Proces rekonfiguracji we wszystkich układach FPGA przebiega podobnie. We współczesnych układach CPLD czas propagacji sygnału przez matrycę połączeniową nie przekracza zazwyczaj 0. Jej zadaniem jest przesyłanie sygnałów między O Rys. PIA – Altera. a coraz rzadziej PROM lub EPROM. I/O – bloki wejściowo-wyjściowe. inicjalizacja konfiguracji matrycy. w „dużych” układach CPLD – także wielopoziomowe. 100. RC (Routing Channels) – trakty połączeniowe.

powierzchnia) jest potrzebna gruntowna znajomość funkcji i własności implementowanych algorytmów. Większość algorytmów szyfrowania można przedstawić za pomocą grafu przepływu danych. w artykule [40]. Budowa. Przeprowadzone eksperymenty [36] wskazują. O Rys. Obecnie stosuje się kilka metod rekonfiguracji układów FPGA [40]. mechanizmy sprzętowej implementacji pamięci różnego typu (w tym FIFO oraz DualPort FIFO). W przypadku realizacji algorytmów. Do stosowania w aplikacjach nie wymagających częściowej rekonfiguracji struktury układu doskonale nadają się układy z rodzin Virtex oraz APEX. moc. Najprostszym implementacyjnie. jest zmiana konfiguracji (tzw. Ogromną zaletą układów AT40K/KA/KAL oraz AT6000 jest możliwość ich częściowej rekonfiguracji bez konieczności „wyłączania” pozostałej. do stosowania w aplikacjach rekonfigurowalnych są predestynowane układy FPGA. takie jak dodawanie i odejmowanie. jak też parametrów fizycznych (szybkość. Integrują one bowiem w jednej strukturze rekonfigurowalną matrycę FPGA oraz 8bitowy mikrokontroler RISC. Komórkowa budowa struktur FPGA. właściwości (w tym możliwość częściowej rekonfiguracji) i podstawowe parametry matryc rekonfigurowalnych są identyczne jak dla matryc stosowanych w układach AT40K. Większość obecnie produkowanych układów FPGA można uważać za układy jednokontekstowe o różnych czasach rekonfiguracji. POT – rejestr potokowy. D – przerzutnik rowej matrycy systolicznej.5-krotnym zwiększeniu zasobów sprzętowych. do wymagań realizowanych algorytmów. Architektura DA. Zaletą architektury DA jest wygodna i efektywna implementacja w strukturach FPGA. zarówno pod względem optymalizacji logicznej. polegająca na możliwości dostosowania architektury logicznej do typu. in.struktury programowalnej za pomocą lokalnego sterownika lub specjalnego interfejsu programującego. Środkiem do osiągnięcia tak określonego celu jest wiedza o sposobach odwzorowywania podstawowych operacji i funkcji algorytmu w strukturę podstawową matrycy rekonfigurowalnej oraz wybór logicznej reprezentacji danych. dostępnej w ramach jego architektury podstawowej. M Operacje na krótkich słowach binarnych o nietypowych długościach. Zalety tej struktury objawiają się już na poziomie najprostszych – ale wyjątkowo typowych w DSP – układów mnożenia skalarnego z akumulacją. Warunkiem niezbędnym do realizacji całego algorytmu jest zdolność systemu rekonfigurowalnego do wymiany danych konfiguracyjnych wraz z przekazaniem wyników uzyskanych w bieżącej konfiguracji do kontynuowania obliczeń w następnej konfiguracji. Strumień danych konfiguracyjnych jest zwykle przechowywany w standardowej pamięci stałej o dowolnej organizacji lub w specjalnej pamięci szeregowej. takich jak protokoły bezpieczeństwa komunikacji w sieciach. który jest zbudowany zaledwie z kilku różnych komponentów. którego wydajność dochodzi do 40 MIPS. 3 pokazano uproszczoną strukturę mnożenia szeregowego. możliwość łączenia bloków logicznych w bloki funkcjonalne bez wykorzystywania lokalnych zasobów połączeniowych. 4. które zapoczątkowały nową erę w dziedzinie projektowania układów DSP. w który wyposażono wszystkie układy obydwu rodzin. Poniżej przedstawiono listę najczęściej stosowanych operacji i funkcji. chociaż dzięki możliwości wymiany tylko niezbędnej części danych konfiguracyjnych średni czas rekonfiguracji może być – zależnie od przyjętego sposobu przydziału zadań – znacznie krótszy. Ze względu na właściwości matryc pamięciowych. Jednak nie tylko z tych powodów układy FPGA mają przeważające zalety w implementacjach algorytmów DSP. Uzyskanie tak dobrego efektu użytkowego jest możliwe dzięki zaawansowanemu mechanizmowi wymiany danych konfiguracyjnych CacheLogic. 3. ale niezbyt efektywnym sposobem rekonfiguracji. Strukturę układu DA pokazano na rys. Taki sposób rekonfiguracji systemu podczas jego działania jest wyróżniany terminem run-time. Głównym atutem układów rekonfigurowalnych jako medium konstrukcyjnego jest ich zdolność „adaptacyjna”. produkowane przez firmę Atmel [13]) oraz Virtex/Virtex II i Virtex E (produkowane przez firmę Xilinx). Do najbardziej znanych układów rekonfigurowalnych należą struktury AT40K/KA/KAL. Wadą tej metody jest konieczność przerwania pracy całego układu. Polega ona na szeregowym wprowadzeniu strumienia nowych danych konfiguracyjnych. Głównym celem rekonfiguracji systemu jest dostosowanie struktury funkcjonalnej. M Proste operacje arytmetyczne. Możliwości użytkowe układów AT94K znacznie zwiększa fakt zintegrowania w ich strukturze szybkiego mikrokontrolera o architekturze RISC. Jednowymiarowa systoliczna matryca sumatora. Układy wyposażone w taki mechanizm rekonfiguracji są nazywane jednokontekstowymi. nie poddawanej rekonfiguracji. [36]. realizujących mniej lub bardziej złożone operacje arytmetyczne i funkcje logiczne. R – rejestr wyjściowy 411 . kontekstu) całej struktury programowalnej. a także krótki czas rekonfiguracji. części układu. ziarnista i potokowa struktura wewnętrzna. podobnie jak w przypadku układów jednokontekstowych. stanowią również doskonałe medium implementacyjne do realizacji algorytmów szyfrujących w różnych zastosowaniach. odpowiedniej do specyfikacji algorytmu architektury. znakomicie ułatwia realizację układów arytmetyki rozproszonej DA (Distributed Arithmetic) [26]. nazywane w nomenklaturze producenta także FPSLIC (Field Programmable System Level Integrated Circuit). Rekonfigurowalne układy FPGA. a niezależność tej struktury od liczby bitów przetwarzanych słów jest dodatkową zaletą decydującą o wydajności i skalowalności realizowanych algorytmów. realizowanego w jednowymia- PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8–9/2003 O Rys. ochrona i potwierdzanie autentyczności informacji i dokumentów oraz do realizacji maszyn wyszukujących klucze w kryptoanalizie. które „nie mieszczą” się w całości w strukturze systemu. Na rys. Bardziej efektywnym sposobem rekonfiguracji jest rekonfiguracja częściowa. które należą obecnie do grupy najwyżej zaawansowanych technologicznie układów FPGA. AT6000 oraz FPSLIC AT94 (wszystkie wymienione rodziny są to układy FPGA. Układy szeregowego mnożenia bitowego znajdują zastosowanie w realizacjach filtrów typu FIR [26]. 4. a w szczególności możliwość grupowania często wykorzystywanych bloków tablic odwzorowań (tablic prawdy) LUT (Look Up Table) w wielowyjściowe pamięci. Oznaczenia: RP – rejestry przesuwające. O ich dużych zaletach decydują m. Szczegółowy opis architektury układów FPSLIC można znaleźć m. Do efektywnego wykorzystania możliwości tych układów. Decydującym czynnikiem w coraz powszechniejszym zastosowaniu układów FPGA do syntezy układów DSP jest ich specyficzna. Jest ona możliwa pod warunkiem przerwania pracy układu. kształtu i właściwości realizowanych funkcji. Każde ogniwo tego układu można bezpośrednio zrealizować w pojedynczych komórkach struktur FPGA. Zupełnie inną architekturę i nieco inne walory użytkowe mają układy AT94. in. co w konsekwencji może obniżyć wydajność całego systemu. istnieje konieczność ich rozłożenia na sekwencje podzadań realizowanych kolejno w odpowiednich konfiguracjach. że równoległe i rozproszone układy mnożące implementowane w strukturach FPGA są 6 razy szybsze przy zaledwie 2.

zastosowanie układów rekonfigurowalnych spowodowało obniżenie kosztu wykonania takiego procesora o ok. EKSPERYMENTALNE I PRZEMYSŁOWE APLIKACJE MULTIMEDIALNE Wraz z wprowadzeniem rekonfigurowalnych struktur logicznych pojawiły się nowe możliwości ich zastosowań w dziedzinie przetwarzania obrazów i dźwięku. Do specyfikacji zadań zostało zaprojektowane specjalne środowisko programowe [4]. analogicznie jak w konwencjonalnych komputerach. nieliniowe typu S-box. Heliosat). Typowym przykładem mogą być satelitarne systemy telemetryczne firmy TSI TelSys [16]. w których zastosowano po cztery układy EPF10K100. Zastosowanie układów rekonfigurowalnych wiąże się z możliwością szybkiego i w miarę bezproblemowego dostosowania toru obróbki sygnału do modyfikacji wprowadzanych w zaleceniach ITU. M wyspecjalizowaniu układów wejściowo-wyjściowych. M optymalizacji procesów i interfejsów komunikacyjnych. 5. pomyślana jako programowalna pamięć aktywna PAM (Programmable Active Memory). Lista przykładowych problemów rozwiązanych za pomocą systemu SPLASH-2 zawierała m. i współpracy z tym koprocesorem. zawiera wiele istotnych zadań z dziedziny przetwarzania obrazu i dźwięku. 1. jak na przykład: mnożenie dużych liczb całkowitych. M Równoległe operacje logiczne. 30% w stosunku do klasycznych rozwiązań opartych na procesorach sygnałowych. w tym wielu cyfrowych konsol mikserskich. Miało ono wbudowany symulator języka VHDL [1]. które mają na celu m. Mechanizmy rekonfiguracji gwarantują. splot w dziedzinie dwuwymiarowej. zwiększenie przepływności kanałów transmisyjnych. Systemy PeRLe-0 i PeRLe-1 cechuje wielka efektywność rozwiązywania zadziwiająco szerokiej klasy problemów obliczeniowych. M Operacje rotacji i przesunięcia. kompresja obrazu.M Operacje mnożenia – mnożenie ogólne (dowolne wartości operandów). przyspieszając jej działanie w tych sytuacjach. współpracuje on ze stacją roboczą. następujące zadania: wyszukiwanie tekstu. mnożenie z użyciem kodowania nadmiarowego operandów etc. synteza dźwięku. [2]. które łączy w sobie cechy kompilatorów złożonych języków programowania oraz systemów do projektowania sprzętu. Według danych producenta. że pojedyncza platforma obliczeniowa zbudowana z układów FPGA może zapewnić imponującą efektywność dla 412 bardzo szerokiej rodziny zastosowań. Eksperymenty przeprowadzone z architekturami PeRLe i SPLASH pokazały. będą przekazywane do wykonania układowi. Są one zbudowane z macierzy dwuwymiarowej układów FPGA komunikującej się z otoczeniem zewnętrznym za pomocą szyny o dużej przepływności. in. M wykorzystaniu współbieżności. ustalanie zmiennego przecinka oraz splot w dziedzinie dwuwymiarowej. SBIRS-High. Otrzymane wyniki świadczą o jego dużej efektywności. Rola procesora sprowadzała się do zarządzania konfiguracją macierzy układów FPGA. rozwiązywanie równań Laplace’a. dające możliwość tworzenia aplikacji. przetwarzanie obrazów. in. Za pomocą systemu SPLASH uruchomiono i przetestowano wiele aplikacji. które stanowią jego „wąskie gardło”. mnożenie modularne. mnożenie przez stałą. Zastosowanie takich „wzorów” realizacyjnych do projektowania algorytmów kryptograficznych pozwala lepiej wykorzystać walory systemów rekonfigurowalnych. przy jednoczesnym zawężeniu zajmowanego pasma. Układy rekonfigurowalne znalazły zastosowanie także we współczesnych telewizyjnych systemach retransmisyjnych. [8] oraz jego następca SPLASH-2. W 1999 roku inżynierowie tej firmy opracowali O Rys. studyjnego sprzętu audio. We współpracy z firmą Hanaro Telecom [12] firma LGIE wdrożyła do produkcji modemy W-CDMA. Analogicznie jak w przypadku PeRLe. które pełniły funkcje koprocesora. M Tablice odwzorowań LUT. z których każdy zawiera układ FPGA oraz lokalną pamięć. które efektywnie rozwiązywano za pomocą DEC PeRLe. czego przykładem może być rodzina procesorów wizyjnych D1 firmy Snell & Wilcox [12]. Amerykańska firma Metalithic Systems jest producentem profesjonalnego. 2. 3. Osiągnięcie wysokiej efektywności systemów PeRLe i SPLASH było możliwe dzięki: M wyspecjalizowaniu bloków funkcjonalnych. mnożenie z obcięciem wyniku. Schemat blokowy systemu ze zdalnie rekonfigurowanym blokiem sprzętowym. stworzono środowisko programistyczne. że z wykorzystaniem tego samego sprzętu można realizować niezliczoną liczbę różnych architektur logicznych. Innym przykładem wysoko wyspecjalizowanej maszyny liczącej jest system SPLASH zaprojektowany w Supercomputer Research Center [3]. w których rekonfigurowalna matryca składająca się z 12 układów APEX20K100 spełnia rolę rekonfigurowalnego systemu DSP. W jej ofercie znajdują się urządzenia stosowane w systemach komórkowych CDMA (Code Division Multiple Access). Architektura SPLASH-2 została zaprojektowana jako macierz systoliczna na pojedynczej płytce o 16 elementach obliczeniowych. Oprócz 16 układów macierzy 4x4 FPGA system zawiera 1 MB pamięci statycznej RAM na każdej z krawędzi macierzy FPGA. rozpoznawanie wzorca. 4 – etapy rekonfiguracji PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8–9/2003 . Niewątpliwie eksperymenty te stały się bezpośrednią przyczyną zastosowania układów programowalnych w komercyjnych (przemysłowych) aplikacjach telekomunikacyjnych. np. Możliwość rekonfiguracji układów CPLD wykorzystała firma LG Information & Telecommunications. miała ona formę rekonfigurowalnego koprocesora sterowanego standardowym procesorem. Tak wysoki poziom efektywności był możliwy do osiągnięcia dzięki zaprojektowaniu dla każdego z wymienionych problemów specjalizowanej architektury. Dla każdej z wymienionych operacji można wyznaczyć efektywne odwzorowanie w strukturze matrycy rekonfigurowalnej. DRTS. Podobnie jak system DEC PeRLe. Przykładami zastosowania platformy PAM do realizacji specjalizowanych maszyn liczących są między innymi: system DECPeRLe zaprojektowany przez Digital Equipment Corporation’s Paris Research Laboratory [38] i system SPLASH. opracowany w Supercomputer Research Center [3]. że części realizowanego algorytmu. automatycznie dostosowującego się do protokołu transmisyjnego śledzonej misji satelitarniej (EOS. kompresja danych. M Sekwencje operacji logicznych. W-CDMA (Wideband CDMA) oraz WLL (Wireless Local Loop). Układ został zaprojektowany do przyspieszenia realizacji zadań wymagających dużych mocy obliczeniowych przy założeniu. Pierwszą architekturą komputera konfigurowanego ze strukturami FPGA była wirtualna maszyna. Lista problemów. język opisu logiki LDG [9] oraz model programowy SIMD [10]. gdy nie może ona uporać się z zadaniem wymagającym dużych mocy obliczeniowych.

Urządzenia te mają zostać wdrożone do masowej produkcji przed końcem 2003 roku. CryptoBooster spełnia funkcje rekonfigurowalnego. Pierwsze powstało w Szwajcarskim Federalnym Instytucie Technicznym w Lozannie pod akronimem CryptoBooster [25]. Architektura elastycznego systemu kryptograficznego Naszkicowana wyżej koncepcja elastycznego systemu kryptograficznego została wykorzystana przez autorów przy opracowaniu prototypu wieloalgorytmowego koprocesora kryptograficznego. są przekazywane nowe zbiory modyfikujące lub rozszerzające bibliotekę algorytmów. których zawartość ustawia się przez interfejs programowy w komputerze. Algorytmy DES-EDE i DES-EEE. modułowego koprocesora kryptograficznego. jak i zaszyfrowanych. Aby zapobiec lub przynajmniej utrudnić ataki hackerów. wprowadzono dodatkowe mechanizmy ochronne zapewniające bezpieczeństwo kluczy i bloków danych zarówno jawnych. Drugi przykład to projekt wykorzystujący rekonfigurowalny procesor PipeRench opracowany w Carnegie Mellon University [37]. 6. w której możliwość rekonfiguracji układów wykorzystano do budowy różnego rodzaju efektów audio. Prototyp koprocesora został wykonany w formie karty do komputerów klasy PC. Ich wartości definiują szczegółowo następujące funkcje i parametry karty: M wybór algorytmu kryptograficznego – DES. można zaproponować konstrukcję. Jej głównymi cechami są: wirtualizacja. Tą samą drogą. wpisywanie kluczy i wektora stanu początkowego. Schemat blokowy wieloalgorytmowego koprocesora kryptograficznego 413 . Po włączeniu zasilania koprocesor rezydujący w strukturach FPGA nie jest jeszcze zaprogramowany. Są to: M możliwość zmiany algorytmu w trakcie pracy. Zasadniczymi blokami takiego systemu są: M koprocesor kryptograficzny z pamięcią buforową. że pod względem szybkości i przepustowości koprocesor nadaje się do zastosowań w szybkich sieciach. Po skonfigurowaniu koprocesor jest gotowy do pracy. została zoptymalizowana pod względem implementacji kryptograficznych. który zrealizowano w ramach prac badawczych w Instytucie Telekomunikacji PW. wykonaną na układach Spartan firmy Xilinx. Traktując powyższe warunki jako założenia do konstrukcji systemu kryptograficznego. mimo iż nie są aktualnie ujęte w normach. M biblioteka algorytmów. CBC. M możliwość wprowadzania nowych algorytmów. DES3_EDE. 6. CFB_64. OFB_64. wydany przez użytkownika za pośrednictwem interfejsu. Karta wymaga wstępnej inicjalizacji kilku wewnętrznych rejestrów. jest przedstawiony na rys. Przed rozpoczęciem cyklu szyfrowania/deszyfrowania są testowane wybrane komórki rejestru stanów w celu ustalenia prawidłowości przeprowadzonej inicjalizacji. Próbnym modułem wykonanym w tej architekturze była realizacja symetrycznego szyfru blokowego IDEA. M duża szybkość przetwarzania danych. jak CRYPTON. układ sterujący przepisuje do koprocesora z biblioteki algorytmów odpowiedni zbiór konfiguracyjny. zaś tryby pracy opracowano na podstawie normy FIPS 81. który współpracuje z głównym komputerem jako akcelerator operacji kryptograficznych. Koprocesor kryptograficzny wykonuje wszelkie operacje związane z szyfrowaniem i deszyfrowaniem danych. M układ sterujący. należą obecnie do najczęściej używanych szyfrów O Rys. IDEA. w tym cyfrowego pogłosu i kompresji szumów [15]. Pierwsze komercyjne aplikacje IRL opracowały i wdrożyły w 1999 roku firmy Bosch i Siemens. które testują możliwości stosowania układów zdalnie rekonfigurowalnych w aplikacjach samochodowych [17]. powstały – wykorzystujące układy Virtex E – zdalnie rekonfigurowalne: odtwarzacz MP3 oraz internetowy telefon VoIP [14]. Schemat blokowy karty koprocesora. współpracującego z głównym komputerem PC na zasadzie koprocesora. UKŁADY PROGRAMOWALNE W KRYPTOGRAFII Wśród pierwszych implementacji szyfrów blokowych w układach programowalnych szczególnie interesujące były dwa opracowania. CFB_16. której uproszczona architektura jest przedstawiona na rys. CFB_08. M tryb współpracy z magistralą ISA – normal lub pipeline. Zastosowane mechanizmy wykrywają pewne odstępstwa od oczekiwanych prawidłowych sekwencji instrukcji inicjujących proces szyfrowania/deszyfrowania i blokują reakcje koprocesora na sygnał startu GO lub niszczą zawartość rejestrów kluczy i rejestru stanu początkowego. Na sygnał wyboru algorytmu. Transmisja danych szyfrowanych i deszyfrowanych pomiędzy systemem a komputerem odbywa się za pośrednictwem magistrali ISA. X_DES_X.128-kanałową konsolę. z komputera do systemu. DES3_EEE. Celoxica oraz WindRiver. PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8–9/2003 O Rys. Na początku 2001 roku. M modyfikowalność sprzętu. Oryginalna warstwowa architektura procesora PipeRench. Algorytm DES został zaprojektowany według amerykańskiej normy FIPS 46. RC6 i Twofish. jak ATM. 7. CFB_01. Wirtualizacja umożliwia implementację algorytmów nie mieszczących się w całości w fizycznej strukturze systemu. 5 [17]. M łatwa obsługa interfejsu użytkownika. w wyniku prac prowadzonych wspólnie z LG Electronics oraz konsorcjum: Xilinx. M funkcje karty – szyfrowanie/deszyfrowanie. co schematycznie pokazano na rys. jakie powinien spełniać elastyczny system kryptograficzny. SONET i GigaEthernet. M modyfikowalność oprogramowania sterującego (upgradable firmware). 7. Przeprowadzone testy wykazały. Szczególnym przykładem w grupie opracowań komercyjnych jest propagowana od 1998 roku przez firmę Xilinx idea budowania sprzętu rekonfigurowanego przez Internet – IRL (Internet Reconfigurable Logic). zaprojektowana w CMU. uwzględniający szczegółowo sygnały magistrali ISA. M tryb pracy algorytmu – ECB. W architekturze PipeRench zrealizowano szereg algorytmów. potokowa organizacja ścieżki danych i zerowy pozorny czas rekonfiguracji. Na podstawie analizy wielu zastosowań sprzętowych [5] realizacji algorytmów kryptograficznych można określić funkcje i wymagania.

zaproponowano zgodną terminologię. Do grupy parametrów użytkowych. długość cyklu projektowania. jak i sprzętu. Tryby pracy. zmienna długość słowa i szybkość działania. M pamięci kluczy wewnętrznych. należą: możliwość przetwarzania równoległego i potokowego. a następnie wykonywane w uniwersalnych mikroprocesorach. C++. w którym wyznacza się zbiór kluczy wewnętrznych na podstawie jednego klucza zewnętrznego. Według tego schematu zostały zrealizowane wszystkie szyfry z ostatniej rundy konkursu AES. 8. Implementacje programowe są projektowane i kodowane przy użyciu języków programowania. w którym są kodowane i dekodowane bloki danych wejściowych. Do porównania i oceny wymienionych technologii pod względem ich przydatności do zastosowań kryptograficznych można posłużyć 414 O Rys. Implementacje sprzętowe są projektowane i specyfikowane za pomocą języków opisu sprzętu. Istotna różnica pomiędzy technologią ASIC i FPGA dotyczy szybkości działania układów FPGA. 8. co wynika z opóźnień wprowadzanych przez elementy programowalnych połączeń i proces rekonfiguracji. Za podstawę oceny implementacji zgłoszonych na forum III Konferencji Kandydatów AES (Advanced Encryption Standard) posłużyły przyjęte i uzgodnione wcześniej miary parametrów związanych z szybkością przetwarzania i złożonością realizacji. która może być użyta do opisu różnych architektur i parametrów wydajności szyfrów blokowych. które mają istotny wpływ na efektywność przetwarzania danych. Do najważniejszych właściwości funkcjonalnych. Głównymi kryteriami przyjętymi przez NIST do oceny i kwalifikacji szyfrów w konkursie na nowy standard były: bezpieczeństwo. w której są przechowywane klucze utworzone w bloku generacji kluczy lub dostarczone przez interfejs wejściowy z zewnątrz. weryfikacji (symulator) i testowania (płyta prototypowa). że implementacje oparte na FPGA mają przewagę nad technologią ASIC pod względem kosztów i długości cyklu opracowania prototypu. Wyłoniona w ostatniej rundzie konkursu grupa najlepszych algorytmów kryptograficznych została poddana niezwykle gruntownym badaniom teoretycznym i szczegółowej analizie ich walorów praktycznych. takich jak VHDL i Verilog HDL i realizowane z wykorzystaniem jednej z dwóch technologii: specjalizowanych układów scalonych typu ASIC lub rekonfigurowalnych matryc logicznych FPGA. Z porównań wynika. Charakterystykę procesu projektowania określają między innymi: języki specyfikacji. W celu osiągnięcia większej jednolitości i czytelności porównań wyników otrzymanych przez różne grupy. wytwarzania i testowania defektów fizycznych. Odpowiada to maksymalnej szybkości przetwarzania rzędu 190 Mbit/s. W prototypie wykorzystano układ FLEX 10K30. koszty narzędzi do projektowania. zabezpieczenie przed penetracją (tamper resistance) i kontrolę dostępu do kluczy. M istniały dostrzegalne różnice pomiędzy „kandydatami”. Spośród tych czterech parametrów efektywność realizacji sprzętowej okazała się szczególnie ważnym czynnikiem. procesorach sygnałowych lub kartach inteligentnych. Java czy asembler. które w XXI wieku mogłyby zastąpić dotychczasowy światowy standard DES. efektywność w realizacjach sprzętowych i programowych oraz elastyczność. pozwalające dopasować właściwości szyfru do wymagań otoczenia. tej samej technologii i tych samych architektur układów rekonfigurowalnych. Główna część projektu została wyspecyfikowana w języku AHDL dla środowiska MAX+PLUS II firmy ALTERA. zalicza się: możliwość wymiany algorytmu w trakcie pracy (algorithm agility). się zestawieniem parametrów użytkowych. M ustalono wyraźną zgodność pomiędzy wynikami uzyskanymi przez niezależne grupy. Ponadto implementacje na układach FPGA zapewniają znacznie wyższy stopień zgodności i wiarygodności porównań. Z porównania parametrów użytkowych wynika. wspólnej metodologii i wspólnych narzędzi projektowania. takich jak C. z przeznaczeniem dla rodziny układów rekonfigurowalnych FLEX 10K. Schemat blokowy realizacji sprzętowej szyfrów blokowych PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8–9/2003 . natomiast wadą jest całkowity brak możliwości modyfikacji. Są bowiem weryfikowane na podstawie dokładnych symulacji funkcjonalno-czasowych gotowych struktur i eksperymentalnego testowania prototypu. uwzględniające zastosowanie w koprocesorze układu FLEX 10K50. przy założeniu. Pod względem funkcjonalnym następuje większe zróżnicowanie: największe bezpieczeństwo zapewnia ASIC. że: M porównanie było oparte na zbiorze obiektywnych i zgodnie akceptowanych miar. Schemat ten składa się z następujących części: M modułu szyfrowania/deszyfrowania. umożliwiającym zróżnicowanie konkurujących algorytmów. porównywane parametry i zasady projektowania Ogólny model sprzętowej implementacji symetrycznych szyfrów blokowych jest pokazany w formie schematu blokowego na rys. możliwości wielokrotnego i szybkiego rekonfigurowania i możliwości eksperymentalnego testowania dużej liczby różnych architektur. Założenia. Analizowane implementacje szyfrów zostały zrealizowane w kilku ośrodkach akademickich na podstawie tych samych założeń funkcjonalnych. że układy FPGA nie wymagają projektu warstwy fizycznej (layout). koszty testowania. własności funkcjonalnych i charakterystyki procesu projektowania. decydujących o elastyczności i bezpieczeństwie implementacji kryptograficznej. że maksymalna częstotliwość zegara systemowego może wynosić około 70 MHz.w protokołach bezpieczeństwa stosowanych w sektorze bankowym na całym świecie. które są wolniejsze. że układy ASIC i FPGA mają wyraźną przewagę nad implementacją programową pod względem efektywności przetwarzania. W przypadku układów ASIC i FPGA proces projektowania jest podobny w sposobie specyfikacji (język opisu sprzętu). NOWY STANDARD SZYFROWANIA: ALGORYTMY – ANALIZA I WYBÓR OPTYMALNYCH IMPLEMENTACJI Przedstawione powyżej przykłady implementacji algorytmów kryptograficznych były jedną z wielu prób poszukiwania optymalnych realizacji nowych algorytmów szyfrujących. Dla algorytmu potrójny DES osiągalna szybkość wynosi około 66 Mbit/s. zwłaszcza implementacji sprzętowych wybranej grupy szyfrów pod względem oceny ich wydajności i przydatności w przyszłych systemach kryptograficznych. Wybór technologii Algorytmy kryptograficzne mogą być realizowane zarówno w formie programu. wykazały. Zasadnicza różnica pomiędzy nimi polega na tym. są zgodne z międzynarodowymi normami ISO/IEC 8372 i ISO/IEC 10116. Wydarzeniem o przełomowym znaczeniu – kamieniem milowym w dziedzinie ochrony systemów informacyjnych i bezpieczeństwa w sieciach teleinformatycznych – stał się konkurs zorganizowany przez amerykański NIST (National Institute of Standards and Technology). Konsekwencją tego są: znacznie krótszy cykl projektowania i dużo tańsze narzędzia do projektowania i testowania. Eksperymenty symulacyjne przeprowadzone z algorytmem DES. M bloku generacji kluczy pochodnych. utrzymania i modyfikacji.

W trybach bez sprzężenia zwrotnego szyfrowanie każdego kolejnego bloku danych może być wykonane niezależnie od przetwarzania innych bloków. Dla ścisłości należy jednak uwzględnić koszt obudowy. służącego do wprowadzania danych wejściowych i kluczy oraz do buforowania danych wejściowych oczekujących na kodowanie/dekodowanie. Zgodnie z obecnymi standardami bezpieczeństwa. W implementacjach FPGA jedyną uznaną miarą wielkości układu jest liczba komórek logicznych. Liczba cykli zegara koniecznych do zaszyfrowania jednego bloku danych jest K-krotnie mniejsza od liczby rund. wynikające z kosztów dostępnej technologii wytwarzania. szybkość i inne dane o implementacji oraz zbiory danych do symulacji czasowej i do skonfigurowania układu. M interfejsu wyjściowego. szyfrowanie jest wykonywane przede wszystkim z użyciem trybów sprzężenia zwrotnego. 9. Podstawową architekturę sprzętową stosowaną do implementacji jednostki szyfrującej/deszyfrującej typowego szyfru blokowego z tajnym kluczem pokazano na rys. PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8–9/2003 O Rys. 10b. Wartości tych trzech miar są ze sobą ściśle skorelowane. Architektura bazowa ma dwie cechy charakterystyczne: M w tym samym czasie jest kodowany tylko jeden blok danych. Te wymagania bezpieczeństwa uniemożliwiają wykorzystanie w pełni efektywności implementacji sprzętowych opartych na równoległym przetwarzaniu wielu bloków danych. Środowisko projektowe CAD stępnie zweryfikowane przy użyciu symulatora Active-HDL z firmy ALDEC. M tryby ze sprzężeniem zwrotnym. W układach ASIC powierzchnia wymagana do implementacji jest zwykle wyrażana w µm2. W celu ujednolicenia procedury projektowania implementacji szyfrów. co upraszcza porównywanie i analizę M generowanie kluczy pochodnych na zewnątrz. że część kombinacyjna układu realizuje K rund szyfrowania zamiast jednej. przyjęto wstępnie następujące założenia: M długość klucza 128 bitów. uzupełniony rejestrem i multiplekserem. jak tryb wiązania bloków zaszyfrowanych (CBC). M liczba cykli zegara. zużywanej mocy lub kombinacji tych czynników. ale relacje te trudno określić. O Rys. na który ma wpływ liczba wyprowadzeń. koniecznych do zaszyfrowania jednego bloku danych. używanego do buforowania danych przetworzonych i przesyłania ich do zewnętrznej pamięci. c) z pętlą w pełni rozwiniętą 415 . że z grubsza koszt układu scalonego jest wprost proporcjonalny do jego powierzchni. zaś tryby bez sprzężenia zwrotnego są głównie stosowane do szyfrowania kluczy podczas ich dystrybucji. jest równa liczbie rund szyfru. Jeżeli w aplikacji podczas jednej sesji są szyfrowane/deszyfrowane duże porcje danych. Jednostką szybkości jest Mbit/s. np. M dzielenie zasobów funkcjonalnych pomiędzy część szyfrującą i deszyfrującą. która może być wykonywana równolegle na kilku blokach szyfrogramu we wszystkich trybach. Architektura z częściowo rozwiniętą pętlą jest przedstawiona na rys. a na- Tryby pracy Symetryczne szyfry blokowe są używane w kilku trybach operacyjnych. w której są wytwarzane sygnały sterujące pracą pozostałych bloków. Struktura tworzenia projektu w środowisku CAD do implementacji algorytmów w układach FPGA jest pokazana na rys. Przyjmuje się. M długość bloku danych 128 bitów. b) z częściowo rozwiniętą pętlą. tryb sprzężenia zwrotnego szyfrogramu (CFB) i tryb sprzężenia zwrotnego wyjściowego (OFB). 9. choć są też używane dwie miary względne: liczba tranzystorów i liczba bramek logicznych. Czas opóźnienia szyfrowania (deszyfrowania) (latency) jest zdefiniowany jako czas niezbędny do zaszyfrowania (zdeszyfrowania) jednego bloku danych jawnych lub zaszyfrowanych. Drugi ważny parametr to powierzchnia zajmowana przez układ. jak CBC i CFB. Wszystkie szyfry AES zostały w pierwszym kroku opisane w języku VHDL. w inteligentnych kartach z mikrokontrolerem. wystarczy ograniczyć się do dwóch typów: bazowej architektury iteracyjnej i architektury z rozwiniętą (częściowo lub w pełni) pętlą. W pierwszym cyklu zegara wejściowy blok danych jest podawany przez multiplekser i zapisywany w rejestrze. Podstawowe architektury Wybierając architekturę dla implementacji szyfrów w strukturach FPGA. gdyż jest głównym czynnikiem określającym jego koszt. Jedyna różnica w porównaniu z bazową architekturą iteracyjną polega na tym. To ograniczenie nie dotyczy operacji deszyfrowania. Szybkość szyfrowania (deszyfrowania) jest określana jako liczba bitów zaszyfrowanych (zdeszyfrowanych) w jednostce czasu. Jedną rundę szyfru zrealizowano jako układ kombinacyjny. 10. Do korekcji błędów i weryfikacji kodów źródłowych wykorzystano wektory testowe i pośrednie wyniki przetwarzania z opublikowanych wcześniej implementacji programowych. Podstawowe architektury szyfrów w trybach ze sprzężeniem zwrotnym: a) bazowa architektura iteracyjna. W trybach ze sprzężeniem zwrotnym nie jest możliwe rozpoczęcie szyfrowania następnego bloku danych przed zakończeniem kodowania bloku bieżącego i wszystkie bloki muszą być szyfrowane sekwencyjnie. Liczba K musi być podzielnikiem całkowitej liczby rund. a jej rezultat podawany zwrotnie do układu przez multiplekser i zapisywany następnie w rejestrze. Poniżej przedstawiono definicje parametrów używanych do porównywania szyfrów z punktu widzenia efektywności ich implementacji sprzętowych.M interfejsu wejściowego. 10a. takie jak tryb elektronicznej książki kodowej (ECB) i tryb licznikowy. Przedstawione raporty zawierają powierzchnię. Minimalny okres zegara wzrasta ze współczynnikiem nieco mniejszym niż K. to szybkość wyznacza całkowity czas wykonywania tych operacji i jest najlepszą miarą szybkości szyfru. W każdym kolejnym cyklu zegara jest realizowana operacja jednej rundy szyfrowania. które z punktu widzenia implementacji sprzętowej można podzielić na dwie kategorie: M tryby bez sprzężenia zwrotnego. W pewnych aplikacjach mogą wystąpić ograniczenia maksymalnej dostępnej powierzchni do realizacji modułu kryptograficznego. M jednostki sterującej.

w szczególności do realizacji wykorzystujących arytmetykę rozproszoną [26]. Oprogramowanie to – nazwane DEMAIN [21]. Struktury takie są powszechnie stosowane w filtrach cyfrowych. dekodery Viterbiego dla sieci LAN. firmy: ALTERA.. a w Polsce DIGITAL CORE DESIGN.in.pl. Z przeglądu architektur wynika. AHDL lub VHDL. Eksperymenty te polegały na implementacji typowych układów cyfrowych – głównie z dziedziny teleinformatyki – za pomocą różnych systemów projektowania. Jak widać. uzyskuje się realizację układu BIN2BCD1 na 62 komórkach struktury FLEX 10K [23]. takich jak Altera.pw. funkcji lub układu scalonego. Jest także względnie łatwa do implementacji w podobny sposób dla wszystkich szyfrów AES. spowodowały wzrost roli i znaczenia zaawansowanych procedur syntezy logicznej. M bin2bcd2 – konwerter kodu binarnego na BCD dla liczb z zakresu od 0 do 355. Nie mniej intrygujące są wyniki implementacji skrzynek S-box algorytmów kryptograficznych DES i Rijndael. W Zakładzie Podstaw Telekomunikacji IT-PW opracowano specjalistyczne oprogramowanie do optymalizacji implementacji sprzętowych struktur typu LUT. używanych powszechnie do szyfrowania masowych danych i gwarantuje szybkości i powierzchnie bliskie optymalnym. [22]. Wynika to z faktu. które nie istnieją w rzeczywistości materialnej. a następnie na porównaniu ich realizacji pod względem liczby użytych komórek odpowiedniej struktury FPGA. zaimplementowaną w systemie DEMAIN. CFB). 416 bowiem do projektowania użyto systemów renomowanych firm światowych. Działalnością taką zajmują się m. Takie układy wirtualne to zarówno gotowe produkty o zmiennych funkcjach i właściwościach. [27] – jest dostępne nieodpłatnie na stronie internetowej Zakładu Podstaw Telekomunikacji IT-PW: http://www. dzięki czemu umożliwi bardziej miarodajne porównanie. Wymowa przeprowadzonych eksperymentów jest znacząca. że do implementacji szyfrów AES w układach FPGA optymalny wybór stanowi bazowa architektura iteracyjna. z których można konstruować większe systemy. tzw. Wynikają one nie tylko z poprawy parametrów funkcjonalnych i czasowych oraz zmian w architekturze logicznej. Synopsys. CAST INC. komutatory i rutery ATM. PRODUKTY WIRTUALNE – NOWA OFERTA NA RYNKU TELEKOMUNIKACJI Wraz z wprowadzeniem struktur reprogramowalnych pojawiły się jeszcze inne możliwości aplikacyjne. Przykładowe układy zostały zaimplementowane w strukturach FPGA z rodziny O Tabela 1. a następnie modułu ścież–––––––-– 1) Dokładny opis takiej realizacji można znaleźć w książce [21] PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8–9/2003 . bloków permutacyjno-podstawieniowych. uzyskuje się realizację tego samego konwertera na zaledwie 13 komórkach struktury FLEX – czyli 10 razy lepiej. M 5B6B – kombinacyjną część układu kodera 5B-6B. z metodami zaimplementowanymi w systemach: SIS. Wyniki implementacji rzeczywistych układów przy użyciu różnych narzędzi syntezy logicznej Architektura FPGA EPF10K10LC84-3 Przykład DEMAIN MAX +Plus II FPGA Express Leonardo Spectrum SIS liczba komórek logicznych bin2bcd1 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 FLEX. a w szczególności: kodery FFT i DCT. Ale wprowadzając tablicę prawdy układu BIN2BCD1 do systemu DEMAIN i dokonując odpowiedniej dekompozycji.tele. że konkurencję na tym rynku będą wygrywać tylko najlepsze produkty. układach transformacji falkowej [31]. Do ich realizacji zostaną wykorzystane zaawansowane metody syntezy. rynek własności intelektualnej IP (Intellectual Property Business) zawartej w układach zaprojektowanych w postaci kodów źródłowych języków HDL. opracowanego na Uniwersytecie Kalifornijskim w Berkeley. wspomaganie procesu projektowania zaawansowanymi procedurami syntezy logicznej prowadzi do rezultatów niemożliwych do uzyskania nawet za pomocą najlepszych systemów komercyjnych. np. FPGA Express. Exemplar i Xilinx. IP SEMICONDUCTORS.Architektura z rozwiniętą w pełni pętlą jest pokazana na rys. W szczególności warto zwrócić uwagę na implementację konwertera kodu binarnego na kod BCD (wersja 1) oraz na implementacje skrzynek podstawieniowych (s-box) szyfrów DES i Rijndael. a także ich nietypowe konstrukcje (komórki). algorytm dekompozycji zrównoważonej. że realizacja za pomocą metody wykorzystującej dekompozycję zrównoważoną jest najoszczędniejsza pod względem liczby zajętych komórek i wygrywa nawet z realizacją osiągniętą za pomocą uniwersyteckiego systemu SIS [35]. wykorzystuje się tzw. M DESboxes – zespół skrzynek podstawieniowych szyfru DES. inSILICON CORPORATION. TILAB. niejednokrotnie występujące wyłącznie w specjalistycznym oprogramowaniu uniwersyteckim. Z podanych rezultatów wynika.. Jeden z kierunków takich aplikacji określa koncepcja produktu wirtualnego – systemu. DIGITAL COMMUNICATION TECHNOLOGIES.zpt. W szczególności zrealizowano i porównano następujące układy: M bin2bcd1 – konwerter kodu binarnego na BCD dla liczb z zakresu od 0 do 99. Dzięki temu jest możliwy niewielki wzrost szybkości i zmniejszenie powierzchni układu w porównaniu z architekturą o częściowo rozwiniętej pętli zawierającej taką samą liczbę rund. algorytmu +31). Schemat ten nie zawiera wejściowego multipleksera ani linii sprzężenia zwrotnego. ale potencjalnie mogą być w każdej chwili zrealizowane. że na jakość powyższych implementacji w systemach komercyjnych nie mają wpływu nawet najlepsze kompilatory języków HDL. układy kryptograficzne. Wydaje się bardzo prawdopodobne. 10c. Istotne jest. W tabeli podano liczbę komórek logicznych wymaganych do implementacji poszczególnych układów. Konwerter BIN2BCD1 jest typowym przykładem takiej sytuacji. M rd88 – sbox z algorytmu kryptograficznego Rijndael. Powstał ogromny rynek wirtualnych produktów specjalizowanych. że architektura ta będzie powszechnie stosowana w większości aplikacji. ale również z samej istoty reprogramowalności. Duża złożoność struktur FPGA. Opisując realizację według algorytmu +3 w języku VHDL i dokonując odpowiedniej kompilacji w systemie MAX+PLUS II amerykańskiej firmy Altera. XILINX INC. Otóż konwerter ten można zaprojektować bądź to w strukturze zbudowanej z bloków funkcjonalnych według tzw. Typową ofertą tych firm są właśnie układy DSP. Zapewnia ona maksymalny współczynnik szybkość/powierzchnia dla trybów operacyjnych ze sprzężeniem zwrotnym (CBC.edu. Skuteczność tego oprogramowania można ocenić na podstawie eksperymentów przeprowadzonych z realizacjami układów cyfrowych wyposażonych w struktury specyfikowane tablicami LUT. że wykorzystanie tak zrealizowanych bloków permutacyjnych do budowy modułu rundy DES. Ten sam układ opisany tablicą prawdy (w specyfikacji VHDL instrukcjami CASE) i skompilowany w tym samym systemie Altery zajmuje 131 komórek FLEX. skramblery i deskramblery itp. a także w algorytmach kryptograficznych. korzystających z tzw. jak również elastyczne „klocki”. jako główną procedurę syntezy logicznej zorientowanej na struktury FPGA. W tabeli 1 przedstawiono wyniki porównania metody wykorzystującej dekompozycję zrównoważoną. Leonardo Spectrum i MAX+PlusII. W obu przypadkach strukturę konwertera można zapisać w językach opisu sprzętu. Trzeba również podkreślić. M DESaut – kombinacyjną część układu sekwencyjnego z implementacji algorytmu kryptograficznego DES. Wpływ zaawansowanych procedur syntezy logicznej na jakość implementacji sprzętowych układów przetwarzania informacji i sygnałów jest szczególnie znaczący w algorytmach wykorzystujących struktury tablicowe typu LUT. W systemie DEMAIN. Rynek produktów wirtualnych to jednocześnie ogromne wyzwanie dla zaawansowanych metod optymalizacji logicznej. bądź też jako układ kombinacyjny realizujący bezpośrednio tablicę LUT konwertera.

INCLUDE "desroundp". Swelly D... END GENERATE. PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8–9/2003 FPGA i FLEX. Zbysiński P. FOR i IN 1 TO 15 GENERATE round[i+1]. England.32].OUT[33. May 2000 [12] http://www. round[1]. D. 2000 [7] Gaj K. and Minnich R. A. Napa. 1994 [11] Guccione S.64] : INPUT.. plaintext[1.. Minnich R. ) VARIABLE ip : iniperm.R[] = round[i].16] : desroundp.OUT[]. 1993-1996 [19] Jachna Z. and Davis E. Lucas S. 22 tys. 1990 [10] Gokhale M. In Proceedings of the 4th Annual ACM Symposium on Parallel Algorithms and Architectures. A. 2000 [8] Gokhale M. 3rd Advanced Encryption Standard (AES) Candidate Conference.xilinx. March 1999 [6] Elbirt A. zorganizowanym w ramach konferencji ENIGMA. Zbierzchowski B. SUBDESIGN datapathp( clk : INPUT. Pocek.tsi-telsys. round[i+1]. Worcester. Yip W.: Analiza metod specyfikacji układów cyfrowych z punktu widzenia optymalizacji logicznej i odwzorowania technologicznego. Chodowiec P. Technical Report SRC-TR-90-011. Modyfikacja polega na dodaniu na wyjściu modułu odpowiedniego rejestru. że komercyjne systemy projektowania układów cyfrowych niejednokrotnie realizują projekty dalekie od rozwiązań optymalnych pod względem zajętości zasobów sprzętowych. and E.: Rekonfigurowalny koprocesor systemowy: uniwersalna platforma obliczeniowa. Buell and K.. Splash 2.clk = clk.. Rozprawa doktorska.IN[] = (round[16]. round[1].netcom.: A reconfigurable content addressable memory. wykonana w ramach pracy magisterskiej na Wydziale Cybernetyki WAT [34].windriver.OUT[1.: Data Parallel C on a reconfigurable logic array.K[] = subkey[1][]. ip. L.: Building and using a highly parallel programmable logic array.48] : INPUT. wyd..com [16] http://www. New York.round[16].L[] = round[i]. poprawione i rozszerzone.64]. round[i+1].: Cryptographic Coprocesor with Algorithm Agility. w szczególności specyficznej techniki układów FPLD. round[1]. Praca ta zdobyła I nagrodę w konkursie na najlepszą pracę magisterską. Podobnie jak w przypadku bloku rundy zrealizowanego bez wykorzystania dekompozycji. A.NEXTL[]. In D. Worcester Polytechnic Institute..5 MHz/16 × 64 bity = 206 Mbit/s. WAT. Kopser A. Wyższa Szkoła Informatyki Stosowanej i Zarządzania. M.L[] = ip... Oxford. W porównaniu do 709 komórek niezbędnych do realizacji tego bloku bez zastosowania programu DEMAIN stanowi to ponad dwukrotną redukcję wymaganych zasobów.. Efektem jego zastosowania była redukcja zasobów sprzętowych z ok.: VHDL programming on Splash 2. 9 (3).. Suprtcomputer Research Center (SRC). 3rd Advanced Encryption Standard (AES) Candidate Conference. W połączeniu z możliwościami wspierania procesów optymalizacji komercyjnych systemów zaawansowanymi systemami syntezy i optymalizacji logicznej stwarza to szansę dla rozwoju rodzimych opracowań urządzeń telekomunikacyjnych. and Touati H. September 1993 [3] Arnold. nr 10. gdyż dane mogą być szyfrowane potokowo. a także 5-krotne przyśpieszenie działania układu. Wzrosła ona o ponad 51. subkey[1. Układ wymaga 4346 komórek logicznych i może pracować z szybkością P = 86. Buell D.R[] = ip. Przyczyna tego zjawiska tkwi w niedostosowaniu procedur syntezy logicznej. Zatem stosowanie zaawansowanych systemów uniwersyteckich niejednokrotnie może się przyczynić do sukcesu rynkowego. Buell. Sytuacja ta jest szczególnie niepokojąca dla najnowszych układów reprogramowalnych typu O Tabela 2. niż jednostkowy koszt produkcji.com [18] IEEE Computer Society.com [15] http://pw1. April. 2000 [21] Łuba T. April 1994 [5] Connor T. invp.5 MHz.. round[1. and Lopresti D.. SpringerVerlag. editors.com [14] http://www. June 1992 [4] Bertin P. January 1991 [9] Gokhale M. rzeczywista szybkość układu realizującego cały algorytm DES będzie zależała od sposobu realizacji pozostałych modułów tego algorytmu. Proc. INCLUDE "iniperm". Buell and K. Pocek. encrypteddata[1.: Comparison of the hardware performance of the AES candidates using reconfigurable hardware. Lucas S.IN[] = plaintext[]. Journal of Supercomputing. Implementacje ścieżki przepływu danych w strukturze rodziny FLEX10K program DEMAIN redukuje do 296 komórek logicznych. Warszawa 2000 [22] Łuba T. CA. Paar C. Holmes W. Deng S.K[] = subkey[i+1][]. 2. Proc.. A.: PAM programming environments: Practice and experience. Downs D. editors. dla których istotniejsze są parametry techniczne. Warszawa 2001 417 . L. Napa. encrypteddata[] = invp. Warszawa 2002 [20] Jasiński K. Optymalizacja z użyciem systemu DEMAIN poprawia także maksymalna częstotliwość taktowania modułu DES. Proceedings of IEEE Workshop on FPGAs for Custom Computing Machines.: The logic description generator. In D.. Przeprowadzone eksperymenty w pełni potwierdzają tezę.NEXTL[]). G.ki przepływu danych nie wymaga żadnych dalszych zmian w innych plikach składowych projektu. 24 (1). Berlin.: The Splash 2 software environment. Oznacza to prawie dwukrotny wzrost szybkości szyfrowania bloku ścieżki przepływu danych. Chetwynd B. Ponieważ do zaszyfrowania jednego bloku danych tekstu jawnego potrzeba 16 cykli.NEXTR[]. New York. szacunkowa szybkość szyfrowania P tego modułu wynosi: P = 51.: An FPGA implementation and performance evaluation of the AES block cipher candidate algorithm finalists. komórek logicznych do 10 tys.. a więc modułu sterowania i modułu generacji podkluczy...com [13] http://www. IEEE Computer. Wykorzystano tu zmodyfikowany blok rundy (desroundp). Tak zoptymalizowany blok rundy umożliwia realizację całej ścieżki rozpływu danych w sposób potokowy. LITERATURA [1] Arnold J. BEGIN round[]. END. Specyfikację takiej realizacji w języku AHDL podano w tabeli 2.. April 13-14. które w systemach komercyjnych są z reguły realizowane według klasycznych metod minimalizacji funkcji boolowskich i nie uwzględniają metod dekompozycji funkcjonalnej [22]... CA.. G: Davis.. and Schott B. Wydawnictwa Komunikacji i Łączności. April 13-14. A.: Synteza układów logicznych. J.64] : OUTPUT. Proceedings of IEEE Workshop on FPGAs for Custom Computing Machines. dzięki możliwości zmiany konfiguracji w trakcie pracy i elastycznemu wykorzystywaniu zasobów sprzętowych. invp : invperm. Delon L.atmel. Umieszczenie 16 bloków tak zmodyfikowanych bloków rundy w łańcuchu zapewnia znacznie efektywniejszą pracę układu. Kopser A. Marchant S. Parallel and Distributed Processing. Jest ona szczególnie widoczna w systemach multimedialnych i kryptograficznych. zapewniają ich wykorzystanie do realizacji złożonych algorytmów obliczeniowych. Proceedings of IEEE Workshop on FPGAs for Custom Computing Machines. ✽✽✽ Omówione w artykule zastosowania układów reprogramowalnych w cyfrowym przetwarzaniu sygnałów i kryptografii. O dużej skuteczności systemu DEMAIN świadczy również realizacja szyfru HIEROCRYPT.. INCLUDE "invperm". 1993 [2] Arnold M.NEXTR[].com [17] http://www.altera. Specyfikacja rozpływu danych w języku AHDL OPTIONS BIT0 = MSB...16][1. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne.9 MHz × 64 bity ≅ 5 Gbit/s. wynikające z istoty reprogramowania.: Komputerowe projektowanie układów cyfrowych. In More FPGAs: Proceedings of the 1993 International Workshop on Field-Programmable Logic and Applications.

IEEE Transactions on VLSI Systems. Springer Verlag.: Rekonfigurowalne układy FPSLIC firmy Atmel.: DEMAIN – an Interactive Tool for FPGA-Based Logic Decomposition. University of California... Initial plans for estimating the hardware performance of AES submissions http://csrc.. AGH. Worcester August 1999 [26] Meyer-Baese U. 2002 [24] Łuba T.. Zbierzchowski B. No.gov/encryption/ aes/round2/round2. Electronics Research Laboratory Memorandum. and Boucard P.. Gliwice 2001 [30] Pasierbiński J. 28.. Proceedings of the 6th International Conference Mixed Design of Integrated Circuits and Systems.: SIS: A system for Sequential Circuits Synthesis.: Implementacja algorytmu HIEROCRYPT w strukturach programowalnych. Touati H. Berlin 2001 [27] National Security Agency. Journal of Systems Architecture. Kraków 1999 [29] IFAC Workshop on Programmable Devices and Systems (E. Roncin D.. Journal of VLSI Signal Processing..: Functional decomposition with an efficient input support selection for sub-functions based on information relationship measures. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne. Shand M. et al.: Programmable active memories: Reconfigurable systems come of age. 47. Zbierzchowski B. Kraków 2002 [40] Zbysiński P.: Układy programowalne w praktyce. Rawski M. V.: Sprzętowe implementacje algorytmów przetwarzania obrazów w systemach wizyjnych czasu rzeczywistego. et al.). Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems. 2003 418 [32] Rawski M. Zbysiński P.: O implementacjach sprzętowych transformacji falkowej. 4 (1). Jóźwiak L. 2003 [35] Sentovich E. Praca magisterska...[23] Łuba T.htm [28] Nowicka M. Berkeley. VCB/ERLM92/41.: Reconfigurable Computing for Digital Signal Processing: A Survej.: CryptoBooster: A Reconfigurable and Modular Cryptographic Coprocesor. WAT.. 2001 [33] Reprogramowalne układy cyfrowe (J. Goldstein S.: Digital Signal Processing with Field Programmable Gate Arrays. Łuba T. 1996 [39] Wiatr K. Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne. nr 5. materiały IV Konferencji Naukowej.: A High-Perfomance Flexible Architecture for Cryptography.: Układy reprogramowalne dla potrzeb telekomunikacji cyfrowej. Tomaszewicz P. Hrynkiewicz – chairman). materiały konferencyjne. WKŁ.nist. Rawski M... Burlesson W.. Zbysiński P. Elsevier Science B. nr 2–3.. PDS2001. Warszawa 2001 [31] Rakowski W... Sołdek – przewodniczący Komitetu Programowego). Łuba T. Proceedings of the Workshop on Cryptographic Hardware and Embedded Systems. WKŁ Warszawa (przewidywany termin wydania – listopad 2003) [25] Mosanya E.: Synteza układów cyfrowych. Szczecin 2001 [34] Rogowski M. Worcester August 1999 [38] Vuillemin Bertin P. 1992 [36] Tessier R. 2001 [37] Taylor R. Elektronizacja nr 7–8’2000 PRZEGLĄD TELEKOMUNIKACYJNY ROCZNIK LXXVI nr 8–9/2003 . (red.