PL 225188 B1 RZECZPOSPOLITA POLSKA (12) OPIS PATENTOWY (19) PL (11) 225188 (13) B1 (21) Numer zgłoszenia: 401523 (51) Int.Cl. G06F 7/58 (2006.01) Urząd Patentowy Rzeczypospolitej Polskiej (22) Data zgłoszenia: 08.11.2012 (54) Metastabilnościowy generator losowy (43) Zgłoszenie ogłoszono: 12.05.2014 BUP 10/14 (45) O udzieleniu patentu ogłoszono: 28.02.2017 WUP 02/17 (73) Uprawniony z patentu: POLITECHNIKA WARSZAWSKA, Warszawa, PL (72) Twórca(y) wynalazku: KRZYSZTOF GOŁOFIT, Lublin, PL PIOTR ZBIGNIEW WIECZOREK, Warszawa, PL (74) Pełnomocnik: rzecz. pat. Krystyna Lewińska
2 PL 225 188 B1 Opis wynalazku Przedmiotem wynalazku jest metastabilnościowy generator losowy przeznaczony zwłaszcza do generacji liczb i ciągów liczbowych prawdziwie losowych. Znany jest w technice, np. z publikacji Carlos Tokunaga, David Blaauw, Trevor Mudge, True Random Number Generator With a Metastability-Based Quality Control, IEEE Journal of Solid-State Circuits, Volume: 43, Issue: 1, pp. 78 85, 2008, DOI: 10.1109/JSSC.2007.910965, metastabilnościowy generator losowy, który zawiera multiwibrator w postaci dwóch inwerterów wzajemnie ze sobą sprzężonych tak, że wyjście pierwszego inwertera dołączone jest do wejścia drugiego inwertera, a wyjście drugiego inwertera dołączone jest do wejścia pierwszego inwertera. Multiwibrator w tym układzie pełni zarówno funkcję generatora metastabilnościowych interwałów czasowych jaki i generatora metastabilnościowych stanów. Wyjściem binarnych liczb losowych metastabilnościowego generatora losowego jest wyjście multiwibratora. Do wyjścia multiwibratora dołączony jest także tor przetwarzania czasu, do którego dołączony jest tor pętli sprzężenia zwrotnego. Interwały czasowe mierzone są w torze przetwarzania czasu przy pomocy dołączonego do multiwibratora detektora końca fazy autonomicznej, do którego dołączony jest układ pomiaru czasu. Długość interwałów czasowych w tym generatorze wykorzystywana jest do utrzymania układu w otoczeniu stanu metastabilnego. Celem wynalazku jest wykorzystanie informacji czasowej do generacji liczb prawdziwie losowych. Istota układu według wynalazku polega na tym, że metastabilnościowy generator losowy, który zawiera multiwibrator, ma do wyjścia multiwibratora dołączone wejście układu pomiaru czasu oraz do wyjścia układu pomiaru czasu dołączone ma jednocześnie wejście układu pamięciowego i pierwsze wejście układu porównawczego oraz do wyjścia układu pamięciowego dołączone ma drugie wejście układu porównawczego. Wyjścia układu porównawczego są wyjściami metastabilnościowego generatora losowego. Generator ma wyjście układu pomiaru czasu dołączone do pierwszego wejścia układu porównawczego poprzez drugi układ pamięciowy. Generator ma wyjście multiwibratora dołączone do wejścia układu pomiaru czasu poprzez detektor końca fazy autonomicznej. Wynalazek umożliwia generację liczb i ciągów losowych na podstawie różnic pomiędzy metastabilnościowymi interwałami czasowymi. Przedmiot wynalazku jest przedstawiony w przykładzie wykonania na rysunku, na którym fig. 1 przedstawia schemat blokowy metastabilnościowego generatora losowego zawierającego jeden układ pamięciowy, fig. 2 przedstawia schemat blokowy generatora zawierającego dwa układy pamięciowe, fig. 3 przedstawia schemat blokowy generatora zawierającego jeden układ pamięciowy i detektor końca fazy autonomicznej, a fig. 4 przedstawia schemat blokowy generatora zawierającego dwa układy pamięciowe i detektor końca fazy autonomicznej. Układ przedstawiony na fig. 1 zawiera multiwibrator M w postaci przerzutnika typu D o wyjściu danych Q, do którego dołączone jest wejście TQ układu pomiaru czasu UPC. Do wyjścia T układu pomiaru czasu UPC dołączone jest jednocześnie wejście T1 układu pamięciowego UP i pierwsze wejście K1 układu porównawczego UK. Do wyjścia T1P układu pamięciowego UP dołączone jest drugie wejście K2 układu porównawczego UK, natomiast wyjścia K i P układu porównawczego UK są wyjściami LL i PLL metastabilnościowego generatora losowego. Jeżeli przerzutnik M pracuje w odpowiednim zakresie metastabilności to znaczy odpowiednio blisko punktu metastabilności, aby odpowiedzi czasowe były różne, lecz bez przekraczania granicy, za którą stan logiczny byłby nieokreślony to układ pomiaru czasu UPC mierzy czasy odpowiedzi przerzutnika. Układ pamięciowy UP pozwala na zapamiętanie zmierzonego interwału czasowego, dzięki czemu układ porównawczy UK porównuje zapamiętaną w układzie pamięciowym UP wartość z wartością bieżącą z układu pomiaru czasu UPC. W zależności od tego, który interwał czasowy jest dłuższy, na wyjściu K układu porównawczego UK pojawia się wartość logiczna zero albo jeden, a na wyjściu PLL informacja o tym, że porównanie dało prawidłowy wynik. Jeżeli natomiast porównywane interwały były takiej samej długości, bądź poza zakresem pomiarowym np. zbyt krótkie to na wyjściu PLL pojawi się informacja o błędnym wyniku. Układ przedstawiony na fig. 2 zawiera multiwibrator M w postaci przerzutnika typu D o wyjściu danych Q, do którego dołączone jest wejście TQ układu pomiaru czasu UPC. Do wyjścia T układu pomiaru czasu UPC dołączone jest jednocześnie wejście T1 pierwszego układu pamięciowego UP i wejście T2 drugiego układu pamięciowego UP2. Wyjścia T1P i T2P układów pamięciowych UP i UP2 dołączone są do wejść K2 i K1 układu porównawczego UK, natomiast wyjścia K i P układu porównawczego UK są wyjściami LL i PLL metastabilnościowego generatora losowego. Jeżeli prze-
PL 225 188 B1 3 rzutnik M pracuje w odpowiednim zakresie metastabilności to znaczy odpowiednio blisko punktu metastabilności, aby odpowiedzi czasowe były różne, lecz bez przekraczania granicy, za którą stan logiczny byłby nieokreślony to układ pomiaru czasu UPC mierzy czasy odpowiedzi przerzutnika. Układy pamięciowe UP i UP2 zapamiętują kolejne interwały czasowe, dzięki czemu układ porównawczy UK porównuje zapamiętane w układach pamięciowych wartości. W zależności od tego, który interwał czasowy jest dłuższy, na wyjściu K układu porównawczego UK pojawia się wartość logiczna zero albo jeden, a na wyjściu PLL informacja o tym, że porównanie dało prawidłowy wynik. Jeżeli natomiast porównywane interwały były takie same, bądź poza zakresem pomiarowym np. zbyt krótkie to na wyjściu PLL pojawi się informacja o błędnym wyniku. Układ przedstawiony na fig. 3 zawiera multiwibrator M w postaci przerzutnika typu D o wyjściu danych Q, do którego dołączone jest wejście detektora końca fazy autonomicznej DKFA. Wyjście detektora końca fazy autonomicznej DKFA dołączone jest do wejścia TQ układu pomiaru czasu UPC. Do wyjścia T układu pomiaru czasu UPC dołączone jest jednocześnie wejście T1 układu pamięciowego UP i pierwsze wejście K1 układu porównawczego UK. Do wyjścia T1P układu pamięciowego UP dołączone jest drugie wejście K2 układu porównawczego UK, natomiast wyjścia K i P układu porównawczego UK są wyjściami LL i PLL metastabilnościowego generatora losowego. Jeżeli przerzutnik M pracuje odpowiednio blisko punktu metastabilności, to czasy odpowiedzi przerzutnika są różne. Detektor końca fazy autonomicznej DKFA wykrywa zakończenie metastabilnej fazy działania przerzutnika M niezależnie od stanu logicznego, do którego wyjście przerzutnika Q zostanie sprowadzone. Układ pomiaru czasu UPC mierzy czasy odpowiedzi przerzutnika. Układ pamięciowy UP pozwala na zapamiętanie zmierzonego interwału czasowego, dzięki czemu układ porównawczy UK porównuje zapamiętaną w układzie pamięciowym UP wartość z wartością bieżącą z układu pomiaru czasu UPC. W zależności od tego, który interwał czasowy jest dłuższy, na wyjściu K układu porównawczego UK pojawia się wartość logiczna zero albo jeden, a na wyjściu PLL informacja o tym, że porównanie dało prawidłowy wynik. Jeżeli natomiast porównywane interwały były takiej samej długości, bądź poza zakresem pomiarowym np. zbyt krótkie to na wyjściu PLL pojawi się informacja o błędnym wyniku. Układ przedstawiony na fig. 4 zawiera multiwibrator M w postaci przerzutnika typu D o wyjściu danych Q, do którego dołączone jest wejście detektora końca fazy autonomicznej DKFA. Wyjście detektora końca fazy autonomicznej DKFA dołączone jest do wejścia TQ układu pomiaru czasu UPC. Do wyjścia T układu pomiaru czasu UPC dołączone jest jednocześnie wejście T1 pierwszego układu pamięciowego UP i wejście T2 drugiego układu pamięciowego UP2. Wyjścia T1P i T2P układów pamięciowych UP i UP2 dołączone są do wejść K2 i K1 układu porównawczego UK, natomiast wyjścia K i P układu porównawczego UK są wyjściami LL i PLL metastabilnościowego generatora losowego. Jeżeli przerzutnik M pracuje odpowiednio blisko punktu metastabilności, to czasy odpowiedzi przerzutnika są różne. Detektor końca fazy autonomicznej DKFA wykrywa zakończenie metastabilnej fazy działania przerzutnika M niezależnie od stanu logicznego, do którego wyjście przerzutnika Q zostanie sprowadzone. Układ pomiaru czasu UPC mierzy czasy odpowiedzi przerzutnika. Układy pamięciowe UP i UP2 zapamiętują kolejne interwały czasowe, dzięki czemu układ porównawczy UK porównuje zapamiętane w układach pamięciowych wartości. W zależności od tego, który interwał czasowy jest dłuższy, na wyjściu K układu porównawczego UK pojawia się wartość logiczna zero albo jeden, a na wyjściu PLL informacja o tym, że porównanie dało prawidłowy wynik. Jeżeli natomiast porównywane interwały były takie same, bądź poza zakresem np. zbyt krótkie to na wyjściu PLL pojawi się informacja o błędnym wyniku. Części układu, począwszy od wyjścia układu pomiaru czasu UPC, poprzez układ pamięciowy UP bądź układy pamięciowe UP i UP2, a skończywszy na wejściach układu porównawczego UK, mogą być realizowane zarówno w sposób analogowy jak i cyfrowy. Przykładowa analogowa realizacja polega na wykonaniu układów pamięciowych UP i UP2 jako pojemności, które są ładowane do wartości napięcia skorelowanego z czasem trwania interwału, podczas gdy układ porównawczy UK w takim przypadku działa na zasadzie komparatora napięcia. Przykładowa cyfrowa realizacja polega na kwantyzacji czasu przez układ pomiaru czasu UPC, zapamiętywanie w układach pamięciowych UP i UP2 liczbowych wartości odpowiadających czasom trwania interwałów, następnie porównanie liczbowych wartości w układzie porównawczym UK. Możliwości zastosowania wynalazku przewiduje się w generowaniu liczb i ciągów liczbowych prawdziwie losowych.
4 PL 225 188 B1 Zastrzeżenia patentowe 1. Metastabilnościowy generator losowy zawierający multiwibrator znamienny tym, że do wyjścia (Q) multiwibratora (M) dołączone jest wejście (TQ) układu pomiaru czasu (UPC) oraz że do wyjścia (T) układu pomiaru czasu (UPC) dołączone jest jednocześnie wejście (T1) układu pamięciowego (UP) i pierwsze wejście (K1) układu porównawczego (UK), oraz że do wyjścia (T1P) układu pamięciowego (UP) dołączone jest drugie wejście (K2) układu porównawczego (UK), oraz że wyjścia (K, P) układu porównawczego (UK) dołączone są do wyjść (LL, PLL) metastabilnościowego generatora losowego. 2. Generator według zastrz. 1, znamienny tym, że wyjście (T) układu pomiaru czasu (UPC) dołączone jest do pierwszego wejścia (K1) układu porównawczego (UK) poprzez drugi układ pamięciowy (UP2). 3. Generator według zastrz. 1 albo 2, znamienny tym, że wyjście (Q) multiwibratora (M) dołączone jest do wejścia (TQ) układu pomiaru czasu (UPC) poprzez detektor końca fazy autonomicznej (DKFA).
PL 225 188 B1 5 Rysunki
6 PL 225 188 B1 Departament Wydawnictw UPRP Cena 2,46 zł (w tym 23% VAT)