PL221104B1 - Generator pseudolosowy - Google Patents

Generator pseudolosowy

Info

Publication number
PL221104B1
PL221104B1 PL397518A PL39751811A PL221104B1 PL 221104 B1 PL221104 B1 PL 221104B1 PL 397518 A PL397518 A PL 397518A PL 39751811 A PL39751811 A PL 39751811A PL 221104 B1 PL221104 B1 PL 221104B1
Authority
PL
Poland
Prior art keywords
output
memory elements
register
input
rotation
Prior art date
Application number
PL397518A
Other languages
English (en)
Other versions
PL397518A1 (pl
Inventor
Krzysztof Gołofit
Original Assignee
Politechnika Warszawska
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Politechnika Warszawska filed Critical Politechnika Warszawska
Priority to PL397518A priority Critical patent/PL221104B1/pl
Publication of PL397518A1 publication Critical patent/PL397518A1/pl
Publication of PL221104B1 publication Critical patent/PL221104B1/pl

Links

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Image Processing (AREA)

Description

Przedmiotem wynalazku jest generator pseudolosowy stosowany zwłaszcza do generowania ciągów pseudolosowych lub do szyfrowania danych.
Znany jest w technice, w szczególności z literatury patentowej, np. z japońskiego opisu zgłoszenia patentowego nr JPS62186330A (AGENCY IND SCIENCE TECHN, 1987-08-14) układ generatora liczb pseudolosowych, który zawiera zestaw rejestrów przesuwnych ze sprzężeniem (ang. shift register with feedback), gdzie każdy z tych rejestrów zawiera szereg elementów pamięciowych. Generator zawiera także nieliniowy układ logiczny (ang. non-linear coupling logic circuit), który zawiera szereg elementów pamięciowych oraz nieliniowe elementy logiczne. Wyjścia elementów pamięciowych nieliniowego układu logicznego dołączone są do wejść wybranych elementów pamięciowych rejestrów przesuwnych ze sprzężeniem przez bramki XOR, natomiast wyjścia innych wybranych elementów pamięciowych rejestrów przesuwnych ze sprzężeniem dołączone są do nieliniowych elementów logicznych nieliniowego układu logicznego.
Znany jest w technice, np. z publikacji E. Biham, O. Dunkelman, „Cryptanalysis of the A5/1 GSM Stream Cipher”, LNCS, vol. 1977, str. 43-51, Springer-Verlag, Berlin/Heidelberg, 2000, generator pseudolosowy, który zawiera zestaw trzech rejestrów przesuwnych z liniowym sprzężeniem zwrotnym (LFSR, od ang. Linear Feedback Shift Register) oraz układ wyjściowy, przy czym wyjścia rejestrów przesuwnych z liniowym sprzężeniem zwrotnym dołączone są do sumatora wyjściowego oraz każdy rejestr przesuwny z liniowym sprzężeniem zwrotnym zawiera szereg elementów pamięciowych. Generator pseudolosowy jest używany w tym układzie do szyfrowania danych.
Znany jest w technice, np. z publikacji X. Zhang, C.-I. H. Chen, A. Chakravarthy, „Structure Design and Optimization of 2-D LFSR-Based Multisequence Test Generator in Built-In Self-Test”, IEEE Transactions on Instrumentation and Measurement, Vol. 57, No. 3, IEEE, Los Alamitos, California, 2008, generator pseudolosowy, zawierający układ dwuwymiarowych rejestrów przesuwnych z liniowym sprzężeniem zwrotnym (2D LFSRs, od ang. Two-dimensional Linear Feedback Shift Registers), który zawiera zestaw szeregów elementów pamięciowych oraz układ sumatora, przy czym układ sumatora dołączony jest do wszystkich pierwszych elementów pamięciowych w szeregach oraz ponadto do wybranych elementów pamięciowych w szeregach.
Istota układu według wynalazku polega na tym, że wybrane elementy pamięciowe kolejnych rejestrów ze sprzężeniem połączone są w pionowych rotacjach w szeregi, tak że wyjście poprzedniego w kolejności wybranego elementu pamięciowego w rotacji połączone jest z wejściem następnego wybranego elementu pamięciowego w rotacji, a wyjście ostatniego wybranego elementu pamięciowego w rotacji połączone jest z wejściem pierwszego wybranego elementu pamięciowego w rotacji. Układ sterujący generatora posiada dodatkowe wyjścia połączone z wejściami sterującymi wybranych elementów pamięciowych tworzących szeregi pionowych rotacji.
Wynalazek umożliwia wymianę przechowywanej zawartości elementów pamięciowych pomiędzy sobą.
Przedmiot wynalazku w przykładzie wykonania jest uwidoczniony na rysunku, na którym fig. 1 przedstawia schemat blokowy generatora pseudolosowego.
Układ, jak to jest pokazane na fig. 1, zawiera zestaw rejestrów ze sprzężeniami FR1, FR2, FR3, FR4.
Pierwszy rejestr ze sprzężeniem FR1 zawiera sześć elementów pamięciowych Pw11, P12, P13, P14, Pw15, P16, które połączone są ze sobą kolejno w szereg, tak że wyjście poprzedniego w kolejności elementu pamięciowego połączone jest z wejściem następnego. Do pierwszego w szeregu elementu pamięciowego Pw11 dołączone jest wyjście sumatora XOR, który sumuje sygnały dołączonych do niego elementów pamięciowych P14 i P16. Pierwszy rejestr ze sprzężeniem FR1 jest rejestrem przesuwnym z liniowym sprzężeniem zwrotnym Fibonacciego, Linear Feedback Shift Register.
Drugi rejestr ze sprzężeniem FR2 zawiera szereg siedmiu elementów pamięciowych Pw21, Pw22, P23, P24, P25, P26 i P27, w którym elementy pamięciowe P23, P24 i P25 są ze sobą kolejno połączone oraz połączone są elementy pamięciowe P26 i P27, tak że wyjście poprzedniego w kolejności elementu pamięciowego połączone jest z wejściem następnego, natomiast pomiędzy elementami Pw21 i Pw22, pomiędzy Pw22 i P23 oraz pomiędzy P25 i P26 włączone są sumatory XOR1, XOR2 i XOR3, tak że wyjście poprzedniego w kolejności elementu pamięciowego połączone jest z wejściem sumatora, a wyjście sumatora połączone jest z wejściem następnego w kolejności elementu pamięciowego. Wyjście ostatniego w szeregu elementu pamięciowego P27 dołączone jest do wejść
PL 221 104 B1 sumatorów XOR1, XOR2 i XOR3 i do wejścia pierwszego w szeregu elementu pamięciowego Pw21. Drugi rejestr ze sprzężeniem FR2 jest rejestrem przesuwnym z liniowym sprzężeniem zwrotnym Galois, Galois Linear Feedback Shift Register.
Trzeci rejestr ze sprzężeniem FR3 zawiera pięć elementów pamięciowych Pw31, P32, Pw33, P34 i P35, w którym ostatnie trzy elementy pamięciowe Pw33, P34 i P35 połączone są ze sobą kolejno tworząc szereg, tak że wyjście poprzedniego w kolejności elementu pamięciowego połączone jest z wejściem następnego, natomiast pomiędzy elementami Pw31 i P32 oraz pomiędzy P32 i Pw33 włączone są sumatory SUM1 i SUM2, tak że wyjście poprzedniego w kolejności elementu pamięciowego połączone jest z wejściem sumatora, a wyjście sumatora połączone jest z wejściem następnego w kolejności elementu pamięciowego. Wyjście ostatniego w tym rejestrze elementu pamięciowego P35 dołączone jest do wejść sumatorów SUM1 i SUM2 i do wejścia pierwszego w rejestrze elementu pamięciowego Pw31. Do każdego sumatora SUM1 i SUM2 dołączona jest jego własna pamięć przeniesienia M1 i M2. Trzeci rejestr ze sprzężeniem FR3 jest rejestrem ze sprzężeniem zwrotnym Galois z przeniesieniem, Galois Feedback with Carry Shift Register.
Czwarty rejestr ze sprzężeniem FR4 zawiera cztery elementy pamięciowe P41, Pw42, P43 i Pw44, które połączone są ze sobą kolejno w szereg, tak że wyjście poprzedniego w kolejności elementu pamięciowego połączone jest z wejściem następnego. Do wejścia pierwszego w szeregu elementu pamięciowego P41 dołączone jest wyjście sumatora SUM, który sumuje sygnały dołączonych do niego wyjść elementów pamięciowych P43 i Pw44 oraz zawartość dołączonej do niego pamięci przeniesienia M. Czwarty rejestr ze sprzężeniem FR4 jest rejestrem ze sprzężeniem zwrotnym Fibonacciego z przeniesieniem, Feedback with Carry Shift Register.
Wyjścia ostatnich elementów pamięciowych P16, P27, P35, Pw44 rejestrów FR1, FR2, FR3, FR4 połączone są z wejściami układu wyjściowego UW, który może realizować różne funkcje wyjściowe.
W układzie według rysunku zostały zrealizowane trzy pionowe rotacje I, II i III, w których pomiędzy rejestrami ze sprzężeniem FR1, FR2, FR3, FR4 łączone są w szeregi wybrane elementy pamięciowe, tak że wyjście poprzedniego w szeregu elementu pamięciowego połączone jest z wejściem następnego w szeregu elementu pamięciowego, a wyjście ostatniego w szeregu elementu pamięciowego połączone jest w wejściem pierwszego w szeregu elementu pamięciowego.
Pierwsza rotacja I ma połączone kolejno ze sobą następujące wybrane elementy pamięciowe: pierwszy element Pw11 pierwszego rejestru FR1, pierwszy element Pw21 drugiego rejestru FR2 i pierwszy element Pw31 trzeciego rejestru FR3, tak że wyjście poprzedniego w kolejności elementu pamięciowego połączone jest z wejściem następnego. Wyjście ostatniego w kolejności elementu Pw31 połączone jest z wejściem pierwszego w kolejności elementu Pw11. Do wszystkich elementów pamięciowych Pw11, Pw21, Pw31 wybranych do pierwszej rotacji I dołączone jest pierwsze wyjście W1 układu sterującego US. Dzięki temu możliwa jest wymiana zawartości elementów pamięciowych na sygnał pochodzący z układu sterującego US.
Druga rotacja II ma połączone kolejno ze sobą następujące wybrane elementy pamięciowe: drugi element Pw22 drugiego rejestru FR2, trzeci element Pw33 trzeciego rejestru FR3 i drugi element Pw42 czwartego rejestru FR4, tak że wyjście poprzedniego w kolejności elementu pamięciowego połączone jest z wejściem następnego. Wyjście ostatniego w kolejności elementu Pw42 połączone jest z wejściem pierwszego w kolejności elementu Pw22. Do wszystkich elementów pamięciowych Pw22, Pw33, Pw42 wybranych do drugiej rotacji II dołączone jest drugie wyjście W2 układu sterującego US. Dzięki temu możliwa jest wymiana zawartości elementów pamięciowych na sygnał pochodzący z układu sterującego US.
Trzecia rotacja III ma połączone kolejno ze sobą dwa wybrane elementy pamięciowe: wyjście czwartego elementu Pw44 czwartego rejestru FR4 i wejście piątego elementu Pw15 pierwszego rejestru FR1. Ponadto wyjście ostatniego w kolejności elementu Pw15 połączone jest z wejściem pierwszego w kolejności elementu Pw44. Do obydwu elementów pamięciowych Pw44, Pw15 wybranych do trzeciej rotacji III dołączone jest trzecie wyjście W3 układu sterującego US. Dzięki temu możliwa jest wymiana zawartości elementów pamięciowych na sygnał pochodzący z układu sterującego US.
Zadaniem elementu pamięciowego jest zapamiętanie danych ze wskazanego wejścia i wystawienie tych danych na wyjściach. W przypadku według wynalazku zarówno dwa wejścia jak i dwa wyjścia mogą być ze sobą zwarte lub nie - w zależności od wewnętrznej konstrukcji elementów pamięciowych. Wyjścia mogą być połączone wewnętrznie w elemencie pamięciowym, jeżeli sygnał jest wystarczająco wzmocniony, albo mogą być rozdzielone i wzmacniane przez dwa oddzielne wzmac4
PL 221 104 B1 niacze. Wejścia mogą być rozdzielone i multipleksowane, albo mogą być połączone wewnętrznie w elemencie pamięciowym, jeżeli elementy do nich dołączone zapewniają stan wysokiej impedancji. Z funkcjonalności działania elementu pamięciowego wynika, że wejścia pomimo tego, że elektrycznie mogą być rozdzielone, to wprowadzają sygnał do tej samej komórki pamięci, natomiast na obydwu wyjściach, które też nie muszą być elektrycznie zwarte, dostępna jest ta sama zawartość pamięci. Funkcjonalnie zatem istnieje jedno wejście wewnętrznej komórki pamięci elementu pamięciowego, które jest przełączane pomiędzy wejściem przeznaczonym dla rejestru ze sprzężeniem lub rotacji oraz istnieje jedno wyjście wewnętrznej komórki pamięci elementu pamięciowego, które jest przełączane pomiędzy wyjściem przeznaczonym dla rejestru ze sprzężeniem lub rotacji. Ze względu na czytelność rysunku wejścia i wyjścia dla rejestrów ze sprzężeniem i dla rotacji zostały rozdzielone.
W zależności od docelowego zastosowania układu należy wybrać liczbę, rodzaje i długości rejestrów przesuwnych. W zależności od długości i rodzaju rejestru przesuwnego dobierane są określone połączenia wewnętrzne rejestru - najczęściej tak, aby okres rejestru i stowarzyszonego z nim wielomianu był maksymalny. Operacja rotacji może zmienić zawartość wybranego elementu pamięciowego na inną, co powoduje nieliniowość działania rejestru przesuwnego zawierającego ten element pamięciowy. Różne wybory elementów pamięciowych do różnych rotacji zapewniają różne nieliniowości działania rejestrów ze sprzężeniem.
Możliwości zastosowania wynalazku przewiduje się w kryptografii do generacji liczb pseudolosowych i szyfrowania danych, szczególnie w rozwiązaniach układowych, które pozwalają na efektywną implementację pod względem szybkości i powierzchni układu.

Claims (1)

  1. Generator pseudolosowy zawierający zestaw rejestrów ze sprzężeniem, w którym każdy rejestr zawiera szereg elementów pamięciowych oraz zawierający układ sterujący połączony z szeregami elementów pamięciowych rejestrów ze sprzężeniem oraz zawierający układ wyjściowy łączący rejestry ze sprzężeniem z wyjściami generatora oraz zawierający wybrane elementy pamięciowe połączone z innymi elementami układu, znamienny tym, że wybrane elementy pamięciowe (Pw11, Pw15), (Pw21, Pw22), (Pw31, Pw33), (Pw42, Pw44) kolejnych rejestrów ze sprzężeniem (FR1, FR2, FR3, FR4) połączone są w pionowych rotacjach (I, II, III) w szeregi, tak że wyjście poprzedniego w kolejności wybranego elementu pamięciowego w rotacji (Pw11, Pw21), (Pw22, Pw33), (Pw15), połączone jest z wejściem następnego wybranego elementu pamięciowego w rotacji (Pw21, Pw31), (Pw33, Pw42), (Pw44), a wyjście ostatniego wybranego elementu pamięciowego w rotacji (Pw31), (Pw42), (Pw44), połączone jest z wejściem pierwszego wybranego elementu pamięciowego w rotacji (Pw11), (Pw22), (Pw15), i że układ sterujący (US) ma dodatkowe wyjścia (W1, W2, W3) połączone z wejściami sterującymi wybranych elementów pamięciowych tworzących szeregi pionowych rotacji (W 1, Pw11, Pw21, Pw31), (W2, Pw22, Pw33, Pw42), (W3, Pw15, Pw44).
PL397518A 2011-12-22 2011-12-22 Generator pseudolosowy PL221104B1 (pl)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PL397518A PL221104B1 (pl) 2011-12-22 2011-12-22 Generator pseudolosowy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PL397518A PL221104B1 (pl) 2011-12-22 2011-12-22 Generator pseudolosowy

Publications (2)

Publication Number Publication Date
PL397518A1 PL397518A1 (pl) 2013-06-24
PL221104B1 true PL221104B1 (pl) 2016-02-29

Family

ID=48671896

Family Applications (1)

Application Number Title Priority Date Filing Date
PL397518A PL221104B1 (pl) 2011-12-22 2011-12-22 Generator pseudolosowy

Country Status (1)

Country Link
PL (1) PL221104B1 (pl)

Also Published As

Publication number Publication date
PL397518A1 (pl) 2013-06-24

Similar Documents

Publication Publication Date Title
Mozaffari-Kermani et al. Efficient fault diagnosis schemes for reliable lightweight cryptographic ISO/IEC standard CLEFIA benchmarked on ASIC and FPGA
Ali et al. Fault attacks on AES and their countermeasures
US20030122697A1 (en) Method and system for a programmable code generator
Das et al. Security analysis of industrial test compression schemes
Liu et al. Scan-based attacks on linear feedback shift register based stream ciphers
US20030204541A1 (en) Seedable pseudo-random number generator
Lin et al. A high-throughput low-cost AES cipher chip
CN110784307B (zh) 轻量级密码算法scenery实现方法、装置及存储介质
Dutertre et al. Fault round modification analysis of the advanced encryption standard
JP6494531B2 (ja) 方法および装置
KR101332232B1 (ko) 유한체 연산을 이용한 암호화된 무작위 숫자 생성기
US20090204656A1 (en) Pseudo random number generator and method for generating a pseudo random number bit sequence
Rashidi Low‐cost and two‐cycle hardware structures of PRINCE lightweight block cipher
Da Rolt et al. A scan-based attack on elliptic curve cryptosystems in presence of industrial design-for-testability structures
Boke et al. FPGA implementation of PUF based key generator for secure communication in IoT
Shah et al. Investigation of DPA resistance of block RAMs in cryptographic implementations on FPGAs
PL221104B1 (pl) Generator pseudolosowy
Rudra et al. Designing stealthy trojans with sequential logic: A stream cipher case study
Chou et al. A high performance, low energy, compact masked 128-bit aes in 22nm CMOS technology
Gaspar et al. HCrypt: a novel concept of crypto-processor with secured key management
Diedrich et al. Comparison of Lightweight Stream Ciphers: MICKEY 2.0, WG-8, Grain and Trivium
Lim et al. Single-byte error-based practical differential fault attack on bit-sliced lightweight block cipher PIPO
Velegalati et al. Improving security of SDDL designs through interleaved placement on Xilinx FPGAs
Li et al. A new compact dual-core architecture for AES encryption and decryption
PL221103B1 (pl) Generator pseudolosowy