| Literature DB >> 30065779 |
Seda Arslan Tuncer1, Turgay Kaya2.
Abstract
It is possible to generate personally identifiable random numbers to be used in some particular applications, such as authentication and key generation. This study presents the true random number generation from bioelectrical signals like EEG, EMG, and EOG and physical signals, such as blood volume pulse, GSR (Galvanic Skin Response), and respiration. The signals used in the random number generation were taken from BNCIHORIZON2020 databases. Random number generation was performed from fifteen different signals (four from EEG, EMG, and EOG and one from respiration, GSR, and blood volume pulse datasets). For this purpose, each signal was first normalized and then sampled. The sampling was achieved by using a nonperiodic and chaotic logistic map. Then, XOR postprocessing was applied to improve the statistical properties of the sampled numbers. NIST SP 800-22 was used to observe the statistical properties of the numbers obtained, the scale index was used to determine the degree of nonperiodicity, and the autocorrelation tests were used to monitor the 0-1 variation of numbers. The numbers produced from bioelectrical and physical signals were successful in all tests. As a result, it has been shown that it is possible to generate personally identifiable real random numbers from both bioelectrical and physical signals.Entities:
Mesh:
Year: 2018 PMID: 30065779 PMCID: PMC6051287 DOI: 10.1155/2018/3579275
Source DB: PubMed Journal: Comput Math Methods Med ISSN: 1748-670X Impact factor: 2.238
Requirements for random numbers.
|
|
|
|---|---|
|
| RNGs must generate random numbers having good statistical properties at the output to be used in cryptographic applications. |
|
| |
|
| In case of the attacker knows the sub-generators of random numbers, it must not be allowed to calculate or predict premise and consecutive random numbers with high accuracy. |
|
| |
|
| It must not be possible to predict or calculate previously generated random numbers with high accuracy by considering the known current internal state value of a RNG or without requiring its internal state information. |
|
| |
|
| It must not be possible to predict or calculate subsequent random numbers with high accuracy by considering the known current internal state value of a RNG or without requiring its internal state information. |
Properties of random generation methods.
| References | Implementation type | Noise Source | Tests | Performance |
|---|---|---|---|---|
| [ | PRNG | MARC-bb Algorithm | TestU01 | success |
| [ | TRNG | jitter | NIST, | success |
| [ | PRNG | Chaos | NIST | success |
| [ | TRNG | jitter | NIST | success |
| [ | PRNG&TRNG | Chaos and jitter | NIST | success |
| [ | TRNG | Chaotic signal | NIST | success |
| [ | TRNG | Mouse movement | NIST | success |
| [ | PRNG | ECG | NIST | success |
| [ | PRNG | EEG | NIST | success |
| [ | PRNG | EEG | NIST | success |
| [ | TRNG (AVRNG) | Audio and Video | NIST | success |
| [ | TRNG | EEG | NIST | success |
| [ | TRNG&PRNG | Chaotic signal | NIST, FIPS | success |
| [ | PRNG | Boolean function | NIST | success |
| [ | TRNG | Chaotic signal | NIST,TESTU01, scale index | success |
| [ | TRNG | jitter | NIST | success |
| [ | PRNG | jitter | NIST | success |
| [ | PRNG | chaotic maps | NIST, | success |
| [ | TRNG | chaotic maps | NIST, | success |
| [ | TRNG | Intel DRNG | TestU01, Autocorrelation | success |
| [ | TRNG | Telegraph Noise | NIST, Autocorrelation | success |
Figure 1Random number generator classes.
Figure 2The general design architecture of PRNG.
Figure 3Block structure of TRNG.
Comparison ofTRNG and PRNG.
|
|
| |
|---|---|---|
| Realization type | Hardware required | Optional |
| Periodicity | Aperiodic | Periodic |
| Ease of application of design cycle | Complex | Easy because of standard structures |
| Efficiency | Weak | Perfect |
| Change of theoretical calculation limit | Constant (independent of time) | Dependent on time |
| Cryptographic security requirement | R1, R2 requirement | R1, R2, R3, and R4 requirements |
Bioelectrical signals and their properties.
|
|
|
|
|---|---|---|
| EEG Electroencephalogram | 2-100 | 0.5-50 Hz |
| EMG Electromyogram | 100 | 10- 500Hz |
| EOG Electrooculography | 0.001-100 mV | 0.1-10 Hz |
Figure 4Bioelectrical and physical signals from database.
Bioelectrical signals and their properties.
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|
| Mean | -1.26x104 | -1.825 x104 | 3.104 | 150.11 | -1.085 x105 | -1.397 x105 |
| Standard deviation | 6.98 x103 | 6.862 x103 | 10.652 | 1.999 | 3.75 x103 | 1.544 x104 |
Figure 5The steps of number generation.
Obtaining the sampled signal.
|
|
|
|---|---|
| bi (Normalized signals) | 0,1,1,1,1,0,1,0,1,0,0,1,0,1,0 |
| ci (Sampled signal obtained from Logistic map) | 0,1,1,0,1,1,1,0,1,1,0,0,1,1,1 |
| dj (Sampled signal) | 1,1, 1,0,1 1,0 0,1,0 |
Algorithm 2Sampler procedure.
Algorithm 3Postprocessing procedure.
NIST test results obtained from bioelectrical signals.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Frequency Monobit |
| 0.016 | 0.539 | 0.784 | 0.324 | 0.523 | 0.663 | 0.961 | 0.701 | 0.406 | 0.047 | 0.737 |
| Frequency Test within a Block | 0.492 | 0.184 | 0.252 | 0.744 | 0.253 | 0.594 | 0.294 | 0.058 | 0.805 | 0.916 | 0.725 | 0.264 |
| Runs | 0.445 | 0.221 | 0.358 | 0.734 | 0.676 | 0.453 | 0.506 | 0.258 | 0.440 | 0.246 | 0.842 | 0.388 |
| Longest Run of Ones in a Block | 0.277 | 0.428 | 0.295 | 0.131 | 0.853 | 0.046 | 0.094 | 0.221 | 0.087 | 0.871 | 0.616 | 0.973 |
| Binary Matrix Rank | 0.774 | 0.648 | 0.980 | 0.458 | 0.579 | 0.402 | 0.795 | 0.354 | 0.481 | 0.481 | 0.636 | 0.448 |
| Discrete Fourier Transform | 0.212 | 0.295 | 0.798 | 0.784 | 0.996 | 0.964 | 0.408 | 0.108 | 0.032 | 0.773 | 0.531 | 0.348 |
| Non Overlapping Template Matching |
| 0.451 | 0.553 | 0.947 | 0.880 | 0.925 | 0.218 | 0.431 | 0.477 | 0.397 | 0.568 | 0.843 |
| Overlapping Template Matching | 0.510 | 0.310 | 0.712 | 0.119 | 0.631 | 0.615 | 0.348 | 0.028 | 0.633 | 0.838 | 0.363 | 0.715 |
| Universal | 0.436 | 0.235 | 0.533 | 0.661 | 0.748 | 0.117 | 0.659 | 0.527 | 0.219 | 0.371 | 0.567 | 0.512 |
| Linear Complexity | 0.745 | 0.874 | 0.236 | 0.225 | 0.318 | 0.374 | 0.453 | 0.178 | 0.959 | 0.985 | 0.406 | 0.210 |
| Serial | 0.560 | 0.026 | 0.540 | 0.909 | 0.565 | 0.616 | 0.723 | 0.526 | 0.714 | 0338 | 0.138 | 0.651 |
| /0.437 | /0.211 | /0.357 | /0.734 | /0.679 | /0454 | /0.498 | /0.257 | /0.468 | /0.224 | /0.826 | /0.388 | |
| Approximate Entropy | 0.254 | 0.330 | 0.690 | 0.532 | 0.840 | 0.305 | 0.026 | 0.757 | 0.345 | 0.324 | 0.176 | 0.710 |
| Cumulative Sums | 0.469 | 0.014 | 0.171 | 0.875 | 0.503 | 0.802 | 0.410 | 0.405 | 0.894 | 0.416 | 0.042 | 0736 |
| Random excursions test | 0.712 | 0.337 | 0.501 | 0.287 | 0.746 | 0.253 | 0.413 | 0.682 | 0.485 | 0.226 | 0.711 | 0.603 |
| Random excursions variant test | 0.519 | 0.483 | 0.645 | 0.831 | 0.452 | 0.846 | 0.445 | 0.577 | 0.186 | 0.705 | 0.694 | 0.279 |
More than one p value was obtained and it was found that p value > 0.01. The values given for these tests are average.
NIST test results obtained from physical signals.
|
|
|
|
|
|---|---|---|---|
| Frequency Monobit | 0.715 | 0.079 | 0.951 |
| Frequency Test within a Block | 0.125 | 0.213 | 0.412 |
| Runs | 0.445 | 0.490 | 0.290 |
| Longest Run of Ones in a Block | 0.230 | 0.762 | 0.639 |
| Binary Matrix Rank | 0.490 | 0.232 | 0.208 |
| Discrete Fourier Transform | 0.916 | 0.469 | 0.826 |
| Non Overlapping Template Matching | 0.817 | 0.734 | 0.140 |
| Overlapping Template Matching | 0.415 | 0.040 | 0.962 |
| Universal | 0.043 | 0.115 | 0.636 |
| Linear Complexity | 0.388 | 0.560 | 0.680 |
| Serial | 0.698 | 0.166 | 0.578 |
| /0.444 | /0.473 | /0.295 | |
| Approximate Entropy | 0.422 | 0.0.485 | 0.092 |
| Cumulative Sums | 0.773 | 0.055 | 0.345 |
| Random excursions test | 0.252 | 0.289 | 0.601 |
| Random excursions variant test | 0.333 | 0.427 | 0.397 |
More than one p value was obtained and it was found that p value > 0.01. The values given for these tests are average.
Scale index test results of datasets.
|
|
|
|
| |
|---|---|---|---|---|
| EEG | 0.924 | 0.936 | 0.973 | 0.951 |
| EMG | 0.944 | 0.955 | 0.957 | 0.924 |
| EOG | 0.756 | 0.763 | 0.861 | 0.804 |
| Blood Pressure | 0.936 | |||
| GSR | 0.964 | |||
| Respiration | 0.879 |
Autocorrelation test results of datasets.
|
|
|
|
| |
|---|---|---|---|---|
| EEG datasets | 1 | 0.205 | 0.445 | 0.302 |
| 2 | 1.289 | 0.159 | 0.896 | |
| 3 | 0.216 | 0.285 | 1.169 | |
| 4 | 0.627 | 0.776 | 0.599 | |
|
| ||||
| EMG datasets | 1 | 1.175 | 0.593 | 0.633 |
| 2 | 0.253 | 1.08 | 0.382 | |
| 3 | 1.261 | 0.688 | 0.991 | |
| 4 | 0.836 | 1.498 | 1.137 | |
|
| ||||
| EOG datasets | 1 | 1.068 | 0.812 | 0.107 |
| 2 | 1.089 | 1.431 | 0.727 | |
| 3 | 1.497 | 0.927 | 1.182 | |
| 4 | 0.896 | 0.346 | 0.111 | |
|
| ||||
| Blood Pres. | 1 | 1.381 | 0.468 | 0.359 |
|
| ||||
| GSR | 1 | 0.833 | 0.890 | 0.188 |
|
| ||||
| Respiration | 1 | 0.730 | 0.993 | 1.030 |
Algorithm 1Normalization procedure.