PL221104B1 - Generator pseudolosowy - Google Patents
Generator pseudolosowyInfo
- 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
Links
- 230000008878 coupling Effects 0.000 claims description 8
- 238000010168 coupling process Methods 0.000 claims description 8
- 238000005859 coupling reaction Methods 0.000 claims description 8
- 101100204393 Arabidopsis thaliana SUMO2 gene Proteins 0.000 description 3
- 101150112492 SUM-1 gene Proteins 0.000 description 3
- 101150096255 SUMO1 gene Proteins 0.000 description 3
- 101100311460 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sum2 gene Proteins 0.000 description 3
- 101001122448 Rattus norvegicus Nociceptin receptor Proteins 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
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)
- 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).
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) |
-
2011
- 2011-12-22 PL PL397518A patent/PL221104B1/pl unknown
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 |