ISSN 01464116, Automatic Control and Computer Sciences, 2013, Vol. 47, No. 3, pp. 156–164. © Allerton Press, Inc., 2013. Original Russian Text © S.S. Zalivako, A.A. Ivaniuk, 2013, published in Avtomatika i Vychislitel’naya Tekhnika, 2013, No. 3, pp. 61–72.

The Use of Physical Unclonable Functions for True Random Number Sequences Generation S. S. Zalivako and A. A. Ivaniuk Belarusian State University of Informatics and Radio Electronics, ul. P. Brovki 6, Minsk, 220013 Belarus email: [email protected], [email protected] Received January 18, 2013

Abstract—The possibility is studied of the use of physical unclonable functions as a source of random ness for the generation of true random number sequences. A digital device based on this idea and the FPGA is designed. The advantages and disadvantages of the implementation of the device compared to similar developments are listed. A true random number sequence is verified using the NIST and Diehard tests. Keywords: generator of true random number sequences, physical unclonable functions, ring oscillator, NIST and Diehard statistical tests DOI: 10.3103/S0146411613030085

1. INTRODUCTION A sequence of random numbers is one of the key elements of a wide range of applied problems from different domains [1]: • cryptography, • modeling, • the gaming industry, • random sampling, and • art. Since true random number sequences are used in many areas, it is relevant to develop a digital device to generate them. The main area of the application of this development is cryptography. In this area, random numbers are used, for example, as secret keys. Thus, the random number sequence should be unpredictable. This requirement prevents the attacker from unauthorized access to data protected by the secret key. In practice, compliance with this requirement can be achieved by the following methods: • Different kinds of obfuscation (lexical, data obfuscation, and obfuscation of management). • The implementation of various types of cryptographic algorithms. • The implementation of protection based on NPcomplete mathematical problems. • Physical unclonable functions for the generation of random sequences. • A phaselocked loop. Below, we consider a range of digital devices that are also designed to generate a true random number sequence. A comparison with similar developments of other authors was carried out with regard to three main fac tors: • The source of the randomness. • The creation of the uniformity of the sequence. • The use of hardware resources. A Physical unclonable function (PUF). A ring oscillator (ROPUF) [2–6], an automatic phaselocked loop (APLL) [7, 8], and a digital channel with memory (DCM) are used as a source of randomness in the random number generators implemented on the basis of a Field Programmable Gate Array (FPGA). 156

THE USE OF PHYSICAL UNCLONABLE FUNCTIONS

157

It may be noted that all these methods of generating randomness yield sufficiently good results, but usually they require additional adjustments that make the random sequence uniform and give other statis tical characteristics without compromising the unpredictability and unclonability of the sequence. This adjustment is also carried out in various ways using the following: an XOR tree [2, 5, 7], a linear feedback shift register (LFSR) [3], gating equipment [4], without additional devices [6], a Dflipflop [9], and a von Neumann corrector [8]. In some of the works listed above, the hardware and implementation costs of the generator based on FPGA are given [2, 3, 6, 7, 9]. The generator proposed in this paper uses a ROPUF generator as a source of the randomness and an XOR tree combined with LFSR as a corrective mechanism because of the ease of implementation and low hardware costs. 2. PHYSICAL UNCLONABLE FUNCTIONS A formally physical unclonable function (PUF) is described by the values of the pairs of the input and the corresponding output parameters, which for the PUF hardware technologies are, respectively, the val ues of the input request signals C (the challenge) and the values of the output response signals R (the Response). The PUF itself is a transfer function of multiple challenges Ci with a variety of responses Ri: Ri = PUF (Ci).

(1)

In 2009, U. Rurmair [10] gave a general definition of a PUF in the representation of systems with very large volumes of information. According to Rurmair’s definition, physical unclonable functions are complex unmanaged physical systems with an extra volume of structural information that satisfy the following properties: 1. The information from these systems can be repeatedly extracted with a high degree of reliability by different challenges Ci and getting a lot of responses Ri . 2. The number of possible challenges Ci should be sufficiently large so that all the possible values of the corresponding responses Ri cannot be obtained by the complete enumeration of all the possible challenges Ci in a reasonable time period. 3. When information on the request–response pair {Ci , Ri} is available, it is impossible to calculate, simulate, or in some other way mathematically predict the values of the pair {Cj , Rj}, where i ≠ j, or another set of such pairs. 4. For a physical system with an extralarge amount of structural information, its physical reproduction or cloning as a similar system with an identical set of pairs {Cj , Rj} should be extremely difficult (almost impossible). For digital devices, the idea of a PUF is based on the use of physical variations of the technological pro cess of manufacturing of integrated circuits. Such variations are random in nature and cannot be predicted let alone copied. Minor variations in the physical parameters in the production of functionally identical integrated circuits are primarily expressed in the difference in their parametric characteristics, such as the propagation delay of signals. 3. FORMULATION OF THE PROBLEM The purpose of this research is the design and hardware implementation of an FPGAbased digital generator of true random number sequences. The sequence produced by the generator should have the properties of nonperiodicity, unpredictability, unclonability, and lack of correlation between the elements of the sequence. In order to achieve this goal, it is necessary to solve the following problems: • Theoretically justify the randomness of the sequence source. • Design the generator circuit. • Implement the circuit on the basis of the FPGA. • Test the generated random sequence using the NIST and Diehard statistical tests. AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

158

ZALIVAKO, IVANIUK U0 Not Q

Un –1 Not

Q

Not Q

…

Not Q

Q Mux2 × 1 0 1

1

Q

EN 1 Fig. 1. Proposed oscillator circuit RO.

4. THEORETICAL JUSTIFICATION OF THE GENERATOR The ring oscillator PUF technology was used as the basis of the circuital implementation of the random number generator. The hardware circuit of the RO PUF can be implemented with sequentially connected 2n + 1 inverters with a negative feedback. The number of inverters should be odd. It provides the forma tion of the output signal in the form of a meander. Its frequency is determined by the signal propagation delay through a feedback circuit (see Fig. 1) [11]. In this paper, in contrast to the classical implementation of the ROPUF, the circuit is supplemented by a multiplexer, which provides for the circuit’s operation in two modes depending on the enabled signal EN: • SRAMPUF [11] (EN = ‘Ø’); • ROPUF (EN = ‘1’). Thus, the frequency FQ of the output signal Q will be unique, unclonable, and unpredictable. It will make it possible to use it as a source of randomness in the random number generator. The joint operation of a number of ROPUF k elements at the same range of frequencies and with the same number of inverters (the parameter n) will make it possible to obtain a true random sequence of bits, which will be further used as a basis for the final random sequence. In the SRAMPUF mode, there will be a constant value at the output multiplexer. Because of the fea tures of the operation of the PUF circuit, it will also be unpredictable. It will make it possible to use this value as a source of randomness. Since PUF implementations actually have different characteristics and can be implemented in differ ent crystals, the generated sequence will be irreproducible, aperiodic, and unpredictable. 5. IMPLEMENTATION OF THE GENERTOR CIRCUIT The circuit of the generator of true random number sequences consists of the following logic blocks: • The single pulse generator of duty cycle X (PulseGen). • The kelements of PUFROi type (i = 0, k – 1). • The XOR tree. • The shift register with linear feedback and D (LFSR) capacity [12]. The hardware generator circuit is shown in Fig. 2. The proposed generator of true random number sequences operates in the following manner: (1) The system’s clock generates the CLK pulse. (2) The pulse is fed to the single pulse generator with X duty cycle, which, in turn, creates a certain bandwidth. (3) In this band, PUFROi elements begin to operate; as a result, a set of sequences of bits is created. (4) The sequences are fed to the XOR tree. The result of this phase is the untreated random sequence, which (as shown below) has only elements of randomness and, therefore, is not suitable for use. AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

THE USE OF PHYSICAL UNCLONABLE FUNCTIONS CLK 1 Start

S

PulseGen Pulse RST x = 262144

159

X

S 1

PURFO0 EN Q n=2

PURFOk – 1 EN

…

Q n=2

XOR

1 …

1

0

data

K–1

1 data

LFSR(D = 16) Onechannel Signature Analyzer 16 EN

16 TRNG Out Fig. 2. Oscillator circuit.

(5) Then, the random sequence is compressed further by the shift register with linear feedback (LFSR), which, in turn, acts as a singlechannel signature analyzer. This method of postprocessing of the sequence gives it a uniform statistical distribution. Thus, two stages in the work of the generator can be singled out, i.e., the generation of the initial ran dom sequence (steps 1–4) and the postprocessing (step 5). The proposed digital system consists of the following units: • The system’s clock generator. • The generator of true random number sequences (Fig. 2). • The USB controller (it was used to set the generator parameters (n, X, K, D) and to take off the numerical sequence created by the generator), where K is the number of ROPUF elements, X is the duty cycle, D is the LFSR register’s capacity, and n is the number of inverters in the ROPUF oscillator. • A PC with software installed to configure the generator’s parameters and statistical packages (Statistica, NIST, and Diehard). 6. INVESTIGATION OF THE INFLUENCE OF THE DUTY CYCLE ON THE STATISTICAL PROPERTIES OF THE GENERATED SEQUENCE The configuration of the generator (n = 2, K = 256, D = 16) was examined for the impact of changes in the X parameter on the statistical properties of the sequence. The investigation was conducted according to the following algorithm: (1) The X parameter was successively changed by multiplying the previous value by 2; i.e., the values X = 2i, i = (0..19) were investigated. (2) The generator was launched with the selected duty cycle parameter X. (3) A sequence of random numbers was generated. (4) The resulting sequence was analyzed using Statistica tests (histograming and testing of the agree ment of the hypothesis with a uniform distribution) [13]. (5) The further data were tested using the NIST [14] and Diehard [15] statistical tests. The experiment revealed that, in general, an increase in the duty cycle X improves the properties of the generated random sequence. However, there is no evidence of a direct relationship (with increasing of the duty cycle, the statistical properties are improved) because the deterioration of the properties of the sequence is also observed (for example, the sequence generated at X = 512 is statistically worse than the sequence generated at X = 256). These results can be explained by a set of parameters of the generator, AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

160

ZALIVAKO, IVANIUK 0.504 0.502 0.500 B0_P(0) B0_P(1) B1_P(0) B1_P(1)

0.498 0.496 0.494 0.492 7

1 4

13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 10 16 22 28 34 40 46 52 58 64 70 76 82 88 94 100

Fig. 3. Dependence diagram of the occurrence of 0 and 1 on the number of launches.

which can be investigated (the number of ROPUF elements; the duty cycle; the number of inverters in the single ROPUF element; the amounts of generated data; the physical features of the FPGA; as well as the external factors such as the temperature, voltage, etc.). The analysis of these parameters will be the subject of a separate study within the work on the generator. The other generator parameters (n, K, D) were selected in a similar way, i.e., by changing the configura tion (parameters) and testing the resulting random sequence by means of statistical tests. In contrast to the duty cycle parameter X, the variation of the other parameters was small; i.e., the values of the parameter n varied from 2 to 5; the parameter K took values of 2, 100, 200, and 256; and the parameter D took values of 1 and 2. Because of the fact that the variation range of the above parameters of the generator is small, there is no evidence of dependences of the quality of the statistical sequence on the parameters n, K, D. 7. INVESTIGATION OF THE PROBABILITY OF THE OCCURRENCE OF 0 AND 1 DEPENDING ON THE NUMBER OF LAUNCHES The proposed generator was launched 100 times with the parameters described above on two identical FPGA chips that made up two prototype boards B0 and B1 (Diligent Nexys 2). As a result, the dependence was obtained of the probability of the occurrence of values 0 and 1 depending on the number of runs, as shown in Fig. 3. Compared to the original work of the authors [16], the nature of the occurrence of the values 0 and 1 for boards B0 and B1 was more stable: • The smallest deviation of the probabilities of the occurrence of 0 and 1 was 0.00028(B0)/0.0013(B1). • The greatest deviation of the probabilities of the occurrence of 0 and 1 was 0.005242(B0) / 0.006942(B1). The deviation of the mean probabilities of the occurrence of the values 0 and 1 was 0.00284(B0)/0.00367(B1). In the first version of the implementation of this generator, the probabilities of the occurrence of the values of 0 and 1 reached 0.509 and 0.491, and, in this implementation, they were 0.5026 and 0.4974, respectively, which allows us to conclude that this implementation can generate a more uniform random number sequence. The purpose of the experiment was to determine whether the probabilities of the occurrence of the val ues 0 and 1 were almost identical, which is typical for a standard random number sequence. The obtained data suggest that this is indeed the case. Moreover, the results are almost identical (but not coincide) for two FPGAs. AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

THE USE OF PHYSICAL UNCLONABLE FUNCTIONS 14000

Without LFSR

12000

9000

161

With LFSR

8000 7000

10000

6000

8000

5000

6000

4000 3000

4000 2000 2000

1000

0 –10000

0

10000 20000 30000 40000 50000 60000 70000

0 –10000

–5000 5000 15000 25000 35000 45000 55000 65000 75000

0

10000 20000 30000 40000 50000 60000 70000

–5000 5000 15000 25000 35000 45000 55000 65000 75000

Fig. 4. Density histogram of the values produced by the generator with and without the use of the LFSR.

8. INVESTIGATION OF THE INITIAL STATES OF THE GENERATOR In order to verify the source of the randomness (in this case, it is only about the uniformity of the dis tribution), an experiment was carried out that consisted of 100000 launches of the generator. Each time the initial values were taken (i.e., the value that comes from the tree of adders by modulo two to the LFSR input). After this, the same procedure was carried out but using the LFSR. The result of this experiment is illustrated in Fig. 4. The experiment found that the source of the randomness (the ROPUF elements) produces a sequence of random numbers that has only elements of randomness (as evidenced by the completion of two NIST tests). However, after the treatment by the LFSR, the sequence acquires good statistical properties (including a uniform statistical distribution). This experimental result shows that the random sequence generated by the source of randomness is not suitable for use in applied problems. The subsequent post processing improves the quality of this sequence and, therefore, makes it possible to use it. 9. TESTING OF RANDOM SEQUENCES PRODUCED BY THE GENERATOR The testing of the generator was performed using the NIST and Diehard statistical test suites. The random sequence that was tested consisted of 2 × 107 bytes. The testing of the sequence was con ducted using two identical FPGA chips (Xilinx Spartan 3E500 and FG320) included in two boards (B0 and B1). The NIST statistical suite consisted of 15 tests. The results of the test of the sequence (it was divided by the suite into 1000 samples by 160000 bits) are shown in Table 1. As can be seen from Table 1, all the tests were successfully completed for more than 90% of the samples, and the tested data unit is large enough. It is possible to assert that the generated sequences have good sta tistical properties, and they are almost the same in quality as the statistical reference sequences. Moreover, this conclusion was true for the two boards. This confirms the correctness of use of the PUF technology as a source of randomness. The Diehard test suite also consisted of 15 tests. The data for this package were presented in a single binary file. The test results are shown in Table 2 On the basis of the Diehard test results at the significance level 0.01, the hypothesis can be accepted based on the fact that the generated sequence is statistically absolutely random. The investigation was also conducted of the presence of a correlation dependence between the random sequences produced by the generator on a single and on the two boards. The experiment was carried out as follows: the generator developed two sequences on one board and then the two sequences on the other. Next, the correlation coefficients between the obtained samples were calculated, and the hypothesis that there is no correlation was tested. The correlation coefficients are given in Table 3. As can be seen from Table 3, the in modulo sample correlation coefficients do not exceed 0.005. This suggests that there is no correlation between the sequences produced by the generator, which is confirmed by the adoption of the hypothesis that the Pearson correlation coefficient is zero at the significance level of α = 0.05. As a result of the conducted tests, it can be concluded that the investigated hypothesis concerning the unclonability, irreproducibility, acyclicity, uncorrelatedness, and uniformness of the random sequence AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

162

ZALIVAKO, IVANIUK

Table 1. Results of tests of the generated random sequence on the basis of the NIST test suite Percentage of samples that passed the test Statistical test name Frequency test Frequency block test Test of the sequence of identical bits Test of the longest sequence of unities in a block Test of ranks of binary matrices Spectral test Nonoverlapping template test Overlapping template test Maurer’s Universal Statistical Test Linear complexity test Periodicity test Approximate entropy test Cumulative sums test Random excursion variant test Another excursion variant deviation test

B0

B1

91.3 98.2 90.1 97.2 99.0 98.7 148/148 (average 99.0) 98.5 100.0 99.6 98.5/98.4 98.1 92.5/91.9 8/8 (average 98.9) 16/16 (average 99.5)

88.2 98.1 91.1 95.6 98.1 98.6 148/148 (average 98.8) 98.1 100.0 99.2 98.6/98.9 98.9 89.2/87.9 8/8 (average 99.5) 16/16 (average 99.7)

Table 2. Results of tests of the generated random sequence on the basis of the Diehard test suite Smallest/largest pvalue Statistical test name Birthday test Overlapping permutation test Test of ranks of binary matrices Monkey test Test of the count of the number of unities Parking test Minimum distance test Random area test Compression test Overlapping sums test Sequences test Dice test Doublebyte words match test Fourbyte words match test DNA test

B0

B1

0.024903/0.998392 0.071844/0.428018 0.019739/0.991730 0.01781/0.99188 0.119475/0.997812 0.146807/0.738676 0.029983/0.967575 0.10064/0.98043 0.656820/0.656820 0.224745/0.998649 0.068848/0.763454 0.118974/0.124642 0.0524/0.9908 0.2019/1.0000 0.0716/1.0000

0.219153/0.898169 0.325954/0.527852 0.013656/0.956538 0.10172/0.98714 0.087232/0.994620 0.027568/0.966111 0.010232/0.906666 0.02914/0.93043 0.887353/0.887353 0.160569/0.862471 0.110580/0.894396 0.259975/0.576225 0.5106/1.0000 0.3392/1.0000 0.0110/1.0000

Table 3. Sample correlation coefficients

B0 first launch B0 second launch B1 first launch B1 second launch

B0 first launch

B0 second launch

B1 first launch

B1 second launch

1.000000 0.003840 –0.002286 –0.001483

0.003840 1.000000 0.003972 –0.002834

–0.002286 0.003972 1.000000 –0.004674

–0.001483 –0.002834 –0.004674 1.000000

AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

THE USE OF PHYSICAL UNCLONABLE FUNCTIONS

163

Table 4. Generator implementation hardware costs Name Slice Flip Flops LUTs

Used 273 1883

Available

% of used

9312 9312

3% 20%

produced by the generator can be accepted in view of the fact that the statistical tests were passed for two identical FPGAs, but the results were not completely similar (the Pvalues and the percentage of passed tests do not coincide). This fact indicates the quality of the random sequence, i.e., the execution of the primary task of the generator. 10. HARDWARE COSTS FOR THE IMPLEMENTATION OF THE GENERATOR The proposed generator was implemented for an FPGA Xilinx Spartan 3E500 FG320. For the generator’s configuration (K = 256, X = 262166, n = 2, D = 16), the following hardware costs are required (see Table 4). Compared with other random number generators based on the ROPUF technology as the source of the randomness [2], the resource intensity for the number of LUT is 4 times less and is the same by trig gers. However, in all the other cases [3, 6, 9], the proposed implementation uses 2–3 times more resources because of the different implementation principles. 11. DIRECTIONS FOR FURTHER RESEARCH As a result of the solution of the problem of constructing a generator of true random number sequences, a number of issues arose that have still not been resolved, but further work will be associated with their solution. The first group of problems is connected with the improvement of the characteristics of the generator itself: • The search for ways to reduce the hardware costs. • The reduction of the sequence generation time (this problem was not set in this paper, but this is one of the major issues for generators of random numbers). • Increasing the range of the generated numbers (currently, this range is 0.65535, i.e., 2 bytes). The second group of problems was connected with the study of the parameters of the proposed gener ator and the development of the techniques of its use: • The establishment of the relationships between the parameters of the generator (K is the number of ROPUF elements, X is the duty cycle of the pulse, D is the capacity of the LFSR, and n is the number of inverters in the ROPUF oscillator). • The development of techniques that will help to create generators of random number sequences with statistical properties acceptable for the user and at the lowest possible hardware cost. • The development of a reconfigurable generator providing a dynamic change in the parameters n, K, X, and D. The third group of problems is related to applications using the generator: • The use of the generator to produce a random sequence of prime numbers. It will be in demand for applied cryptographic problems. • The obfuscation of the generator circuit so that it cannot be detected by intruders (to solve crypto graphic problems). 12. CONCLUSIONS The developed generator of true random numbers has the properties of acyclicity, irreproducibility, unclonability, and uncorrelatedness of the elements. The generated random sequences pass the NIST and Diehard statistical tests; therefore, their quality can be considered high. The use of the ring oscillator PUF as a source of randomness is justified because experiments have shown that the initial random sequence has some statistical properties but cannot be used without com pression by the LFSR. AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

164

ZALIVAKO, IVANIUK

The solution of the problems listed in section 11 will make it possible to use the generator in accor dance with the following criteria: the hardware costs–quality of the sequence, as well as to use it for applied problems in the field of cryptography. REFERENCES 1. Random Number Generators: An Evolution and Comparison of Random.org and Some Commonly Used Gen erators. Management Science and Information Systems Studies Project Report, Charmaine, K., ed., Dublin: Trinity College, 2005. 2. Maiti, R., Nagesh, A., Reddy, P., and Schaumont, P., Physical unclonable function and true random number generator: a compact and scalable implementation, Proc. 19th Great Lakes Symp. on VLSI (GLSVLSI 2009), 2009. 3. Sadr, A. and ZolfagharyNejad, M., Physical unclonable functions (PUF) based random number generator, Adv. Comp.: An Int. J. (ACIJ), 2012, vol. 3, no. 2, pp. 139–145. 4. Kohlbrenner, K. and Gaj, K., An embedded true random number generator for FPGAs, Proc. 12th Int. Symp. on Field Programmable Gate Arrays, 2004, pp. 71–78. 5. Guler, S. and Ergun, S., A high speed, fully digit IC random number generator, Int. J. Electron. Commun. (AEU), 2012, vol. 66, pp. 143–149. 6. Tsoi, K.H., Leung, K.H., and Leong, P.H.W., High performance physical random number generator, Comp. Digit. Techn., IET, 2007, vol. 1, pp. 349–352. 7. Dejun, L. and Zhen, P., Research of true random number generator based on PLL at FPGA, Proc. Int. Work shop on Information and Electronics Engineering (IWIEE), 2012. 8. Danger, K.L., Guilley, S., and Hoogvorst, P., High speed true random number generator based on open loop structures in FPGAs, Microelectronics J., 2009, vol. 40, pp. 1650–1656. 9. Kwok, S.H.M. and Lam, E.Y., FPGAbased high speed true random number generator for cryptographic appli cations, Proc. IEEE Region 10th Conf. TENCON 2006, 2006. 10. Ruhmair, U., On the foundation of physical unclonable functions, in Ruhmair, U., Solter, J., and Sehn, F., Cryptology ePrint Archive [electronic resource]. http://eprint.iacr.org/2009/277.pdf. Date of access: 26.12.2012. 11. Ivaniuk, A.A., Proektirovanie vstraivaemykh tsifrovykh ustroistv i system, (Designing of Builtin Digital Devices and Systems), Minsk: Bestprint, 2012. 12. Yarmolik, V.N. and Demidenko, S.N., Generirovanie i primenenie psevdosluchainykh signalov v sistemakh ispytaniya i kontrolya, (Generation and Application of Pseudorandom Signals in Testing and Control Systems), Minsk: Nauka Tekhnika, 1986. 13. Statistica–statistics and analytics software package [Electronic resource]. http://www.statsoft.com/ Date of access: 20. 12. 20012. 14. Rukhin, A., Soto, J., and Nechvatal, J., et al., A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Application, NIST special publication, 2010. 15. Marsaglia, G., DieHard: A Battery of Tests of Randomness, 1996. http://stat.fsu.edu/_geo 16. Zalivako, S.S. and Ivaniuk, A.A., Study of probability characteristics of really random digital sequence generator based on physical unclonable functions, Materialy mezhdunarodnoi nauchnoi konferentsii “ITS 2012” (Proc. Int. Sci. Conf. ‘ITS2012), Minsk: BGUIR, 2012.

Translated by O. Pismenov

AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

The Use of Physical Unclonable Functions for True Random Number Sequences Generation S. S. Zalivako and A. A. Ivaniuk Belarusian State University of Informatics and Radio Electronics, ul. P. Brovki 6, Minsk, 220013 Belarus email: [email protected], [email protected] Received January 18, 2013

Abstract—The possibility is studied of the use of physical unclonable functions as a source of random ness for the generation of true random number sequences. A digital device based on this idea and the FPGA is designed. The advantages and disadvantages of the implementation of the device compared to similar developments are listed. A true random number sequence is verified using the NIST and Diehard tests. Keywords: generator of true random number sequences, physical unclonable functions, ring oscillator, NIST and Diehard statistical tests DOI: 10.3103/S0146411613030085

1. INTRODUCTION A sequence of random numbers is one of the key elements of a wide range of applied problems from different domains [1]: • cryptography, • modeling, • the gaming industry, • random sampling, and • art. Since true random number sequences are used in many areas, it is relevant to develop a digital device to generate them. The main area of the application of this development is cryptography. In this area, random numbers are used, for example, as secret keys. Thus, the random number sequence should be unpredictable. This requirement prevents the attacker from unauthorized access to data protected by the secret key. In practice, compliance with this requirement can be achieved by the following methods: • Different kinds of obfuscation (lexical, data obfuscation, and obfuscation of management). • The implementation of various types of cryptographic algorithms. • The implementation of protection based on NPcomplete mathematical problems. • Physical unclonable functions for the generation of random sequences. • A phaselocked loop. Below, we consider a range of digital devices that are also designed to generate a true random number sequence. A comparison with similar developments of other authors was carried out with regard to three main fac tors: • The source of the randomness. • The creation of the uniformity of the sequence. • The use of hardware resources. A Physical unclonable function (PUF). A ring oscillator (ROPUF) [2–6], an automatic phaselocked loop (APLL) [7, 8], and a digital channel with memory (DCM) are used as a source of randomness in the random number generators implemented on the basis of a Field Programmable Gate Array (FPGA). 156

THE USE OF PHYSICAL UNCLONABLE FUNCTIONS

157

It may be noted that all these methods of generating randomness yield sufficiently good results, but usually they require additional adjustments that make the random sequence uniform and give other statis tical characteristics without compromising the unpredictability and unclonability of the sequence. This adjustment is also carried out in various ways using the following: an XOR tree [2, 5, 7], a linear feedback shift register (LFSR) [3], gating equipment [4], without additional devices [6], a Dflipflop [9], and a von Neumann corrector [8]. In some of the works listed above, the hardware and implementation costs of the generator based on FPGA are given [2, 3, 6, 7, 9]. The generator proposed in this paper uses a ROPUF generator as a source of the randomness and an XOR tree combined with LFSR as a corrective mechanism because of the ease of implementation and low hardware costs. 2. PHYSICAL UNCLONABLE FUNCTIONS A formally physical unclonable function (PUF) is described by the values of the pairs of the input and the corresponding output parameters, which for the PUF hardware technologies are, respectively, the val ues of the input request signals C (the challenge) and the values of the output response signals R (the Response). The PUF itself is a transfer function of multiple challenges Ci with a variety of responses Ri: Ri = PUF (Ci).

(1)

In 2009, U. Rurmair [10] gave a general definition of a PUF in the representation of systems with very large volumes of information. According to Rurmair’s definition, physical unclonable functions are complex unmanaged physical systems with an extra volume of structural information that satisfy the following properties: 1. The information from these systems can be repeatedly extracted with a high degree of reliability by different challenges Ci and getting a lot of responses Ri . 2. The number of possible challenges Ci should be sufficiently large so that all the possible values of the corresponding responses Ri cannot be obtained by the complete enumeration of all the possible challenges Ci in a reasonable time period. 3. When information on the request–response pair {Ci , Ri} is available, it is impossible to calculate, simulate, or in some other way mathematically predict the values of the pair {Cj , Rj}, where i ≠ j, or another set of such pairs. 4. For a physical system with an extralarge amount of structural information, its physical reproduction or cloning as a similar system with an identical set of pairs {Cj , Rj} should be extremely difficult (almost impossible). For digital devices, the idea of a PUF is based on the use of physical variations of the technological pro cess of manufacturing of integrated circuits. Such variations are random in nature and cannot be predicted let alone copied. Minor variations in the physical parameters in the production of functionally identical integrated circuits are primarily expressed in the difference in their parametric characteristics, such as the propagation delay of signals. 3. FORMULATION OF THE PROBLEM The purpose of this research is the design and hardware implementation of an FPGAbased digital generator of true random number sequences. The sequence produced by the generator should have the properties of nonperiodicity, unpredictability, unclonability, and lack of correlation between the elements of the sequence. In order to achieve this goal, it is necessary to solve the following problems: • Theoretically justify the randomness of the sequence source. • Design the generator circuit. • Implement the circuit on the basis of the FPGA. • Test the generated random sequence using the NIST and Diehard statistical tests. AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

158

ZALIVAKO, IVANIUK U0 Not Q

Un –1 Not

Q

Not Q

…

Not Q

Q Mux2 × 1 0 1

1

Q

EN 1 Fig. 1. Proposed oscillator circuit RO.

4. THEORETICAL JUSTIFICATION OF THE GENERATOR The ring oscillator PUF technology was used as the basis of the circuital implementation of the random number generator. The hardware circuit of the RO PUF can be implemented with sequentially connected 2n + 1 inverters with a negative feedback. The number of inverters should be odd. It provides the forma tion of the output signal in the form of a meander. Its frequency is determined by the signal propagation delay through a feedback circuit (see Fig. 1) [11]. In this paper, in contrast to the classical implementation of the ROPUF, the circuit is supplemented by a multiplexer, which provides for the circuit’s operation in two modes depending on the enabled signal EN: • SRAMPUF [11] (EN = ‘Ø’); • ROPUF (EN = ‘1’). Thus, the frequency FQ of the output signal Q will be unique, unclonable, and unpredictable. It will make it possible to use it as a source of randomness in the random number generator. The joint operation of a number of ROPUF k elements at the same range of frequencies and with the same number of inverters (the parameter n) will make it possible to obtain a true random sequence of bits, which will be further used as a basis for the final random sequence. In the SRAMPUF mode, there will be a constant value at the output multiplexer. Because of the fea tures of the operation of the PUF circuit, it will also be unpredictable. It will make it possible to use this value as a source of randomness. Since PUF implementations actually have different characteristics and can be implemented in differ ent crystals, the generated sequence will be irreproducible, aperiodic, and unpredictable. 5. IMPLEMENTATION OF THE GENERTOR CIRCUIT The circuit of the generator of true random number sequences consists of the following logic blocks: • The single pulse generator of duty cycle X (PulseGen). • The kelements of PUFROi type (i = 0, k – 1). • The XOR tree. • The shift register with linear feedback and D (LFSR) capacity [12]. The hardware generator circuit is shown in Fig. 2. The proposed generator of true random number sequences operates in the following manner: (1) The system’s clock generates the CLK pulse. (2) The pulse is fed to the single pulse generator with X duty cycle, which, in turn, creates a certain bandwidth. (3) In this band, PUFROi elements begin to operate; as a result, a set of sequences of bits is created. (4) The sequences are fed to the XOR tree. The result of this phase is the untreated random sequence, which (as shown below) has only elements of randomness and, therefore, is not suitable for use. AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

THE USE OF PHYSICAL UNCLONABLE FUNCTIONS CLK 1 Start

S

PulseGen Pulse RST x = 262144

159

X

S 1

PURFO0 EN Q n=2

PURFOk – 1 EN

…

Q n=2

XOR

1 …

1

0

data

K–1

1 data

LFSR(D = 16) Onechannel Signature Analyzer 16 EN

16 TRNG Out Fig. 2. Oscillator circuit.

(5) Then, the random sequence is compressed further by the shift register with linear feedback (LFSR), which, in turn, acts as a singlechannel signature analyzer. This method of postprocessing of the sequence gives it a uniform statistical distribution. Thus, two stages in the work of the generator can be singled out, i.e., the generation of the initial ran dom sequence (steps 1–4) and the postprocessing (step 5). The proposed digital system consists of the following units: • The system’s clock generator. • The generator of true random number sequences (Fig. 2). • The USB controller (it was used to set the generator parameters (n, X, K, D) and to take off the numerical sequence created by the generator), where K is the number of ROPUF elements, X is the duty cycle, D is the LFSR register’s capacity, and n is the number of inverters in the ROPUF oscillator. • A PC with software installed to configure the generator’s parameters and statistical packages (Statistica, NIST, and Diehard). 6. INVESTIGATION OF THE INFLUENCE OF THE DUTY CYCLE ON THE STATISTICAL PROPERTIES OF THE GENERATED SEQUENCE The configuration of the generator (n = 2, K = 256, D = 16) was examined for the impact of changes in the X parameter on the statistical properties of the sequence. The investigation was conducted according to the following algorithm: (1) The X parameter was successively changed by multiplying the previous value by 2; i.e., the values X = 2i, i = (0..19) were investigated. (2) The generator was launched with the selected duty cycle parameter X. (3) A sequence of random numbers was generated. (4) The resulting sequence was analyzed using Statistica tests (histograming and testing of the agree ment of the hypothesis with a uniform distribution) [13]. (5) The further data were tested using the NIST [14] and Diehard [15] statistical tests. The experiment revealed that, in general, an increase in the duty cycle X improves the properties of the generated random sequence. However, there is no evidence of a direct relationship (with increasing of the duty cycle, the statistical properties are improved) because the deterioration of the properties of the sequence is also observed (for example, the sequence generated at X = 512 is statistically worse than the sequence generated at X = 256). These results can be explained by a set of parameters of the generator, AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

160

ZALIVAKO, IVANIUK 0.504 0.502 0.500 B0_P(0) B0_P(1) B1_P(0) B1_P(1)

0.498 0.496 0.494 0.492 7

1 4

13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 10 16 22 28 34 40 46 52 58 64 70 76 82 88 94 100

Fig. 3. Dependence diagram of the occurrence of 0 and 1 on the number of launches.

which can be investigated (the number of ROPUF elements; the duty cycle; the number of inverters in the single ROPUF element; the amounts of generated data; the physical features of the FPGA; as well as the external factors such as the temperature, voltage, etc.). The analysis of these parameters will be the subject of a separate study within the work on the generator. The other generator parameters (n, K, D) were selected in a similar way, i.e., by changing the configura tion (parameters) and testing the resulting random sequence by means of statistical tests. In contrast to the duty cycle parameter X, the variation of the other parameters was small; i.e., the values of the parameter n varied from 2 to 5; the parameter K took values of 2, 100, 200, and 256; and the parameter D took values of 1 and 2. Because of the fact that the variation range of the above parameters of the generator is small, there is no evidence of dependences of the quality of the statistical sequence on the parameters n, K, D. 7. INVESTIGATION OF THE PROBABILITY OF THE OCCURRENCE OF 0 AND 1 DEPENDING ON THE NUMBER OF LAUNCHES The proposed generator was launched 100 times with the parameters described above on two identical FPGA chips that made up two prototype boards B0 and B1 (Diligent Nexys 2). As a result, the dependence was obtained of the probability of the occurrence of values 0 and 1 depending on the number of runs, as shown in Fig. 3. Compared to the original work of the authors [16], the nature of the occurrence of the values 0 and 1 for boards B0 and B1 was more stable: • The smallest deviation of the probabilities of the occurrence of 0 and 1 was 0.00028(B0)/0.0013(B1). • The greatest deviation of the probabilities of the occurrence of 0 and 1 was 0.005242(B0) / 0.006942(B1). The deviation of the mean probabilities of the occurrence of the values 0 and 1 was 0.00284(B0)/0.00367(B1). In the first version of the implementation of this generator, the probabilities of the occurrence of the values of 0 and 1 reached 0.509 and 0.491, and, in this implementation, they were 0.5026 and 0.4974, respectively, which allows us to conclude that this implementation can generate a more uniform random number sequence. The purpose of the experiment was to determine whether the probabilities of the occurrence of the val ues 0 and 1 were almost identical, which is typical for a standard random number sequence. The obtained data suggest that this is indeed the case. Moreover, the results are almost identical (but not coincide) for two FPGAs. AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

THE USE OF PHYSICAL UNCLONABLE FUNCTIONS 14000

Without LFSR

12000

9000

161

With LFSR

8000 7000

10000

6000

8000

5000

6000

4000 3000

4000 2000 2000

1000

0 –10000

0

10000 20000 30000 40000 50000 60000 70000

0 –10000

–5000 5000 15000 25000 35000 45000 55000 65000 75000

0

10000 20000 30000 40000 50000 60000 70000

–5000 5000 15000 25000 35000 45000 55000 65000 75000

Fig. 4. Density histogram of the values produced by the generator with and without the use of the LFSR.

8. INVESTIGATION OF THE INITIAL STATES OF THE GENERATOR In order to verify the source of the randomness (in this case, it is only about the uniformity of the dis tribution), an experiment was carried out that consisted of 100000 launches of the generator. Each time the initial values were taken (i.e., the value that comes from the tree of adders by modulo two to the LFSR input). After this, the same procedure was carried out but using the LFSR. The result of this experiment is illustrated in Fig. 4. The experiment found that the source of the randomness (the ROPUF elements) produces a sequence of random numbers that has only elements of randomness (as evidenced by the completion of two NIST tests). However, after the treatment by the LFSR, the sequence acquires good statistical properties (including a uniform statistical distribution). This experimental result shows that the random sequence generated by the source of randomness is not suitable for use in applied problems. The subsequent post processing improves the quality of this sequence and, therefore, makes it possible to use it. 9. TESTING OF RANDOM SEQUENCES PRODUCED BY THE GENERATOR The testing of the generator was performed using the NIST and Diehard statistical test suites. The random sequence that was tested consisted of 2 × 107 bytes. The testing of the sequence was con ducted using two identical FPGA chips (Xilinx Spartan 3E500 and FG320) included in two boards (B0 and B1). The NIST statistical suite consisted of 15 tests. The results of the test of the sequence (it was divided by the suite into 1000 samples by 160000 bits) are shown in Table 1. As can be seen from Table 1, all the tests were successfully completed for more than 90% of the samples, and the tested data unit is large enough. It is possible to assert that the generated sequences have good sta tistical properties, and they are almost the same in quality as the statistical reference sequences. Moreover, this conclusion was true for the two boards. This confirms the correctness of use of the PUF technology as a source of randomness. The Diehard test suite also consisted of 15 tests. The data for this package were presented in a single binary file. The test results are shown in Table 2 On the basis of the Diehard test results at the significance level 0.01, the hypothesis can be accepted based on the fact that the generated sequence is statistically absolutely random. The investigation was also conducted of the presence of a correlation dependence between the random sequences produced by the generator on a single and on the two boards. The experiment was carried out as follows: the generator developed two sequences on one board and then the two sequences on the other. Next, the correlation coefficients between the obtained samples were calculated, and the hypothesis that there is no correlation was tested. The correlation coefficients are given in Table 3. As can be seen from Table 3, the in modulo sample correlation coefficients do not exceed 0.005. This suggests that there is no correlation between the sequences produced by the generator, which is confirmed by the adoption of the hypothesis that the Pearson correlation coefficient is zero at the significance level of α = 0.05. As a result of the conducted tests, it can be concluded that the investigated hypothesis concerning the unclonability, irreproducibility, acyclicity, uncorrelatedness, and uniformness of the random sequence AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

162

ZALIVAKO, IVANIUK

Table 1. Results of tests of the generated random sequence on the basis of the NIST test suite Percentage of samples that passed the test Statistical test name Frequency test Frequency block test Test of the sequence of identical bits Test of the longest sequence of unities in a block Test of ranks of binary matrices Spectral test Nonoverlapping template test Overlapping template test Maurer’s Universal Statistical Test Linear complexity test Periodicity test Approximate entropy test Cumulative sums test Random excursion variant test Another excursion variant deviation test

B0

B1

91.3 98.2 90.1 97.2 99.0 98.7 148/148 (average 99.0) 98.5 100.0 99.6 98.5/98.4 98.1 92.5/91.9 8/8 (average 98.9) 16/16 (average 99.5)

88.2 98.1 91.1 95.6 98.1 98.6 148/148 (average 98.8) 98.1 100.0 99.2 98.6/98.9 98.9 89.2/87.9 8/8 (average 99.5) 16/16 (average 99.7)

Table 2. Results of tests of the generated random sequence on the basis of the Diehard test suite Smallest/largest pvalue Statistical test name Birthday test Overlapping permutation test Test of ranks of binary matrices Monkey test Test of the count of the number of unities Parking test Minimum distance test Random area test Compression test Overlapping sums test Sequences test Dice test Doublebyte words match test Fourbyte words match test DNA test

B0

B1

0.024903/0.998392 0.071844/0.428018 0.019739/0.991730 0.01781/0.99188 0.119475/0.997812 0.146807/0.738676 0.029983/0.967575 0.10064/0.98043 0.656820/0.656820 0.224745/0.998649 0.068848/0.763454 0.118974/0.124642 0.0524/0.9908 0.2019/1.0000 0.0716/1.0000

0.219153/0.898169 0.325954/0.527852 0.013656/0.956538 0.10172/0.98714 0.087232/0.994620 0.027568/0.966111 0.010232/0.906666 0.02914/0.93043 0.887353/0.887353 0.160569/0.862471 0.110580/0.894396 0.259975/0.576225 0.5106/1.0000 0.3392/1.0000 0.0110/1.0000

Table 3. Sample correlation coefficients

B0 first launch B0 second launch B1 first launch B1 second launch

B0 first launch

B0 second launch

B1 first launch

B1 second launch

1.000000 0.003840 –0.002286 –0.001483

0.003840 1.000000 0.003972 –0.002834

–0.002286 0.003972 1.000000 –0.004674

–0.001483 –0.002834 –0.004674 1.000000

AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

THE USE OF PHYSICAL UNCLONABLE FUNCTIONS

163

Table 4. Generator implementation hardware costs Name Slice Flip Flops LUTs

Used 273 1883

Available

% of used

9312 9312

3% 20%

produced by the generator can be accepted in view of the fact that the statistical tests were passed for two identical FPGAs, but the results were not completely similar (the Pvalues and the percentage of passed tests do not coincide). This fact indicates the quality of the random sequence, i.e., the execution of the primary task of the generator. 10. HARDWARE COSTS FOR THE IMPLEMENTATION OF THE GENERATOR The proposed generator was implemented for an FPGA Xilinx Spartan 3E500 FG320. For the generator’s configuration (K = 256, X = 262166, n = 2, D = 16), the following hardware costs are required (see Table 4). Compared with other random number generators based on the ROPUF technology as the source of the randomness [2], the resource intensity for the number of LUT is 4 times less and is the same by trig gers. However, in all the other cases [3, 6, 9], the proposed implementation uses 2–3 times more resources because of the different implementation principles. 11. DIRECTIONS FOR FURTHER RESEARCH As a result of the solution of the problem of constructing a generator of true random number sequences, a number of issues arose that have still not been resolved, but further work will be associated with their solution. The first group of problems is connected with the improvement of the characteristics of the generator itself: • The search for ways to reduce the hardware costs. • The reduction of the sequence generation time (this problem was not set in this paper, but this is one of the major issues for generators of random numbers). • Increasing the range of the generated numbers (currently, this range is 0.65535, i.e., 2 bytes). The second group of problems was connected with the study of the parameters of the proposed gener ator and the development of the techniques of its use: • The establishment of the relationships between the parameters of the generator (K is the number of ROPUF elements, X is the duty cycle of the pulse, D is the capacity of the LFSR, and n is the number of inverters in the ROPUF oscillator). • The development of techniques that will help to create generators of random number sequences with statistical properties acceptable for the user and at the lowest possible hardware cost. • The development of a reconfigurable generator providing a dynamic change in the parameters n, K, X, and D. The third group of problems is related to applications using the generator: • The use of the generator to produce a random sequence of prime numbers. It will be in demand for applied cryptographic problems. • The obfuscation of the generator circuit so that it cannot be detected by intruders (to solve crypto graphic problems). 12. CONCLUSIONS The developed generator of true random numbers has the properties of acyclicity, irreproducibility, unclonability, and uncorrelatedness of the elements. The generated random sequences pass the NIST and Diehard statistical tests; therefore, their quality can be considered high. The use of the ring oscillator PUF as a source of randomness is justified because experiments have shown that the initial random sequence has some statistical properties but cannot be used without com pression by the LFSR. AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013

164

ZALIVAKO, IVANIUK

The solution of the problems listed in section 11 will make it possible to use the generator in accor dance with the following criteria: the hardware costs–quality of the sequence, as well as to use it for applied problems in the field of cryptography. REFERENCES 1. Random Number Generators: An Evolution and Comparison of Random.org and Some Commonly Used Gen erators. Management Science and Information Systems Studies Project Report, Charmaine, K., ed., Dublin: Trinity College, 2005. 2. Maiti, R., Nagesh, A., Reddy, P., and Schaumont, P., Physical unclonable function and true random number generator: a compact and scalable implementation, Proc. 19th Great Lakes Symp. on VLSI (GLSVLSI 2009), 2009. 3. Sadr, A. and ZolfagharyNejad, M., Physical unclonable functions (PUF) based random number generator, Adv. Comp.: An Int. J. (ACIJ), 2012, vol. 3, no. 2, pp. 139–145. 4. Kohlbrenner, K. and Gaj, K., An embedded true random number generator for FPGAs, Proc. 12th Int. Symp. on Field Programmable Gate Arrays, 2004, pp. 71–78. 5. Guler, S. and Ergun, S., A high speed, fully digit IC random number generator, Int. J. Electron. Commun. (AEU), 2012, vol. 66, pp. 143–149. 6. Tsoi, K.H., Leung, K.H., and Leong, P.H.W., High performance physical random number generator, Comp. Digit. Techn., IET, 2007, vol. 1, pp. 349–352. 7. Dejun, L. and Zhen, P., Research of true random number generator based on PLL at FPGA, Proc. Int. Work shop on Information and Electronics Engineering (IWIEE), 2012. 8. Danger, K.L., Guilley, S., and Hoogvorst, P., High speed true random number generator based on open loop structures in FPGAs, Microelectronics J., 2009, vol. 40, pp. 1650–1656. 9. Kwok, S.H.M. and Lam, E.Y., FPGAbased high speed true random number generator for cryptographic appli cations, Proc. IEEE Region 10th Conf. TENCON 2006, 2006. 10. Ruhmair, U., On the foundation of physical unclonable functions, in Ruhmair, U., Solter, J., and Sehn, F., Cryptology ePrint Archive [electronic resource]. http://eprint.iacr.org/2009/277.pdf. Date of access: 26.12.2012. 11. Ivaniuk, A.A., Proektirovanie vstraivaemykh tsifrovykh ustroistv i system, (Designing of Builtin Digital Devices and Systems), Minsk: Bestprint, 2012. 12. Yarmolik, V.N. and Demidenko, S.N., Generirovanie i primenenie psevdosluchainykh signalov v sistemakh ispytaniya i kontrolya, (Generation and Application of Pseudorandom Signals in Testing and Control Systems), Minsk: Nauka Tekhnika, 1986. 13. Statistica–statistics and analytics software package [Electronic resource]. http://www.statsoft.com/ Date of access: 20. 12. 20012. 14. Rukhin, A., Soto, J., and Nechvatal, J., et al., A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Application, NIST special publication, 2010. 15. Marsaglia, G., DieHard: A Battery of Tests of Randomness, 1996. http://stat.fsu.edu/_geo 16. Zalivako, S.S. and Ivaniuk, A.A., Study of probability characteristics of really random digital sequence generator based on physical unclonable functions, Materialy mezhdunarodnoi nauchnoi konferentsii “ITS 2012” (Proc. Int. Sci. Conf. ‘ITS2012), Minsk: BGUIR, 2012.

Translated by O. Pismenov

AUTOMATIC CONTROL AND COMPUTER SCIENCES

Vol. 47

No. 3

2013