13.07.2015 Views

Elektronika 2010-12 I.pdf - Instytut Systemów Elektronicznych ...

Elektronika 2010-12 I.pdf - Instytut Systemów Elektronicznych ...

Elektronika 2010-12 I.pdf - Instytut Systemów Elektronicznych ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Generator łączony TRNG wykorzystującygeneratory pierścienioweNajprostszym źródłem prawdziwie losowych ciągów binarnychw układach cyfrowych jest generator pokazany na rysunku 1.Podstawowym źródłem losowości dla tego generatora sąszybkozmienne fluktuacje fazy obecne w sygnale generatorapierścieniowego. Częstotliwość f Hjest od kilku do kilkudziesięciurazy większa od częstotliwości f L. Drugim generatorem jestnajczęściej generator kwarcowy.Uogólnieniem generatora z rys. 1 są generatory pierścienioweFibonacciego i generatory pierścieniowe Galois. Sąone złożone z pewnej liczby negatorów połączonych kaskadowoz bramkami XOR. Ponieważ cała struktura może miećkonfigurację Fibonacciego albo Galois, dlatego nazwa generatorpierścieniowy Fibonacciego albo Galois [9].Z punktu widzenia teorii liczb losowych i pseudolosowych,generator zaproponowany przez Wolda i Tana jest generatoremłączonym. Strumienie wyjściowe K niezależnych generatorówźródłowych są łączone za pomocą operacji modulo2 w jeden strumień wyjściowy (rys. 2). Każdy z generatorówźródłowych ma strukturę pokazaną na rys. 1. Wynik łączeniajest przechowywany w buforze i przesyłany dalej do urządzeniazewnętrznego, np. komputera.W pracy [7] pokazano, że generator z rysunku 2, zaimplementowanyw układzie Altera Cyclone II FPGA, wytwarzaciągi binarne, które spełniają wszystkie testy statystycznez pakietu NIST już dla. W naszym eksperymencie zastosowaliśmyukład FPGA Virtex-5 wyprodukowany przez firmę Xilinx(XC5VLX50T) [10]. Ponieważ struktury z rys. 2 nie możnazrealizować bezpośrednio, gdyż dostępne bloki LUT mają zamało wejść, zaproponowaliśmy inny schemat, równoważnyfunkcjonalnie schematowi z rys. 2 (rys. 3).Rys. 1. Próbkowanie sygnału wyjściowego generatora pierścieniowegojako metoda wytwarzania bitów losowych; τ – opóźnienieFig. 1. Jitter oscillator sampling as a method of producingrandom bits; τ – a delayRys. 2. Generator łączony złożony z K generatorów z rysunku 1Fig. 2. Combined generator composed of K generators from Figure148Rys. 3. Modyfikacja generatora z rysunku 2 zachowująca funkcjonalnośćFig. 3. A modification of the generator from Figure 2 preservingits functionalityZałożyliśmy, że generatory źródłowe mają częstotliwościf H, k, k = 1, 2,..., K, które są bliskie f L, ale nie są mniejsze od f L.Podobne założenie przyjęto we wcześniejszej naszej pracy[11], w której pokazano, że generator łączony spełnia wszystkietesty statystyczne także wtedy, gdy częstotliwości f H, ksąbliskie częstotliwości f L. W metodzie zaproponowanej przezWolda i Tana są one znacząco większe od f L. Z pracy [11] wynikatakże, że sposób realizacji opóźnienia τ nie ma znaczącegowpływu na liczbę K generatorów źródłowych, dla którychsą spełnione wszystkie testy NIST 800-22.W obecnej pracy założono, że f L= 300 MHz. Tak więcszybkość bitowa strumienia wyjściowego wynosiła 300 Mbit/s.Częstotliwości f H, kspełniały warunek f H, k> 300 MHz, k = 1,2,..., K. Generatory, których częstotliwości nie spełniały tegowarunku były konstruowane ponownie, aby spełnić to wymaganie.W tym celu wystarczyło zmienić lokalizację elementóww strukturze FPGA. Do tego celu wykorzystano program Floorplanner[10]. Elementem opóźniającym τ może być kaskadazłożona z parzystej liczby negatorów, kaskada przerzutnikówtypu D lub linia opóźniająca wbudowana w układ Virtex-5.Dla oceny akumulacji losowości w funkcji liczby K generatorówźródłowych wybrano rozwiązanie z generatorami o najmniejszychfluktuacjach fazy. Ten warunek spełniły RO z liniąopóźniającą złożoną z jednego przerzutnika typu D. W eksperymenciezrezygnowano z wykorzystania linii opóźniającejwbudowanej w Virtex-5, gdyż nie jest ona dostępna w większościukładów FPGA. Wielkość fluktuacji fazy oszacowano zapomocą oscyloskopu Tektronix TDS 7104 ze specjalistycznymoprogramowaniem. Wszystkie testy z pakietu NIST 800-22były spełnione dla K ≥ 40. Liczba ta różni sie od podanej przezWolda i Petrovića (K = 25). Widzimy dwie przyczyny tego stanu.Po pierwsze, Wold i Petrović wykorzystali generatory pierścienioweo większych fluktuacjach fazy, złożone z negatorów. Podrugie, przeprowadzili proces optymalizacji, na przykład odpowiedniorozmieszczając generatory pierścieniowe w FPGA,tak aby testy NIST były spełnione dla możliwie małego K.W naszym przypadku lokalizacja generatorów w strukturzeFPGA była przypadkowa. Jedynym stosowanym kryterium byłwarunek f H, k> 300 MHz, k = 1,2,...,K. Wyniki testów NIST dlageneratora TRNG złożonego z 40 generatorów źródłowychzawiera tabela 1. Metodologia postępowania była identycznado opisanej w pracy [11]. Najpierw określana jest proporcjaciągów R t, które zdają dany test. Następnie sprawdza się,czy rozkład tzw. P-wartości otrzymanych dla różnych ciągówjest rozkładem równomiernym w przedziale [0, 1]. W tym celuprogram opracowany przez NIST wykonuje test χ 2 Pearsona.<strong>Elektronika</strong> <strong>12</strong>/<strong>2010</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!