| Literature DB >> 35918396 |
Sherif H AbdElHaleem1, Salwa K Abd-El-Hafiz2, Ahmed G Radwan3,4.
Abstract
In the last decade, Elliptic Curves (ECs) have shown their efficacy as a safe fundamental component in encryption systems, mainly when used in Pseudorandom Number Generator (PRNG) design. This paper proposes a framework for designing EC-based PRNG and maps recent PRNG design techniques into the framework, classifying them as iterative and non-iterative. Furthermore, a PRNG is designed based on the framework and verified using the National Institute of Standards and Technology (NIST) statistical test suite. The PRNG is then utilized in an image encryption system where statistical measures, differential attack measures, the NIST statistical test suite, and system key sensitivity analysis are used to demonstrate the system's security. The results are good and promising as compared with other related work.Entities:
Year: 2022 PMID: 35918396 PMCID: PMC9346143 DOI: 10.1038/s41598-022-17045-x
Source DB: PubMed Journal: Sci Rep ISSN: 2045-2322 Impact factor: 4.996
Figure 1Example EC and the first three cases for point addition.
Figure 2A generalized framework for PRNGs.
Comparing iterative and non-iterative designs.
| Iterative design | Non-iterative design | |
|---|---|---|
| EC selection | Predefined secure ECs/randomly generated ECs | Random generation of ECs |
| EC prime | Very large (in the order of 192 bits or more) | Small (in the order of 16 bits or less) |
| EC points | Iteration over points of a cyclic subgroup | Evaluating the EC equation for all possible values of |
| Period | Usually around the order of the generator point | It depends on the number of points generated |
| Suggested applications | Unknown or known data length (e.g., voice calls and video streaming/images) | Known data length (e.g., images and data files) |
Figure 3Simplified block diagrams for the iterative techniques in (a) Ref.[23], (b) Ref.[24], (c) Ref.[25], (d) Ref.[26], and (e) Ref.[27].
Mapping of the surveyed iterative techniques into the proposed framework.
| Ref. no. | Parameters initialization | Points generation | Points manipulation | Bits extraction | Notes |
|---|---|---|---|---|---|
| Ref.[ | Point Using Using | LFSR outputs | Convert the x-coordinate of | Apply truncation on x-coordinate bits | The LFSR increased the period and introduced randomness in the keystream |
| Ref.[ | Pick an EC, Point | Increment index Use the chaotic map to get the binary sequence | Convert the point | Apply the map | Different chaotic maps can be used The chaotic map increased the randomness of the bitstream |
| Ref.[ | Two points | Read the value | The two points | ||
| Ref.[ | Point Pick let | Writing | Read the sequence | ||
| Ref.[ | Select secure EC Select point | Apply Apply | Read lower-order bits from | The hash function enhanced the statistical properties of the output bits |
Figure 4Simplified block diagrams for the non-iterative techniques in (a) Ref.[28], (b) Ref.[29], (c) Ref.[30], (d) Ref.[31], and (e) Ref.[32].
Mapping of the surveyed non-iterative techniques into the proposed framework.
| Ref. no. | Parameters initialization | Points generation | Points manipulation | Bits extraction | Notes |
|---|---|---|---|---|---|
| Ref.[ | Randomly select EC parameters ( Pick | Apply brute force search on EC | Sorting points Apply Frobenius map on points Apply n-norm on projected points, then approximate to the nearest integer | Read integers after approximation | Azam et al.[ |
| Ref.[ | Select a Mordell Elliptic Curve (MEC) Select a subset Select two integers Select Select a total order operator | For each integer Calculate the point | Sort the set | Read the y-coordinate | MEC has the property of |
| Ref.[ | Select large prime Generate the curve | Apply brute force search on | Use isomorphism | Read mapped integers | |
| Ref.[ | Read input parameters Calculate | Calculate isomorphic parameter Map points of | Select ordering Select subset Sort Pick a subset Select an integer Sort | Calculate Apply Read reduced elements of | The PRNG is based on MECs The PRNG output is very sensitive to plain text |
| Ref.[ | Read EC secp256r1 parameters Read image size | For all pixels in the image, generate random points from the curve | Convert the y-coordinate of each point to binary form | Read the least significant 8 bits from each y-coordinate | The random generation of points is based on a predefined function |
Figure 5(a) Conversion from a point on EC to bitstream representation and (b) an example.
Figure 6Simplified block diagram for the proposed PRNG.
Mapping of the proposed PRNG into the proposed framework.
| Parameters initialization | Points generation | Points manipulation | Bits extraction | Notes |
|---|---|---|---|---|
Select secure EC Select | Increment index | Convert the | Read least 96 bits from both Mix the bits from | Any secure curve can be used |
Figure 7Block diagram for (a) the encryption system and (b) the decryption system.
Figure 8System key construction.
NIST results for the PRNG.
| Test | ||||||||
|---|---|---|---|---|---|---|---|---|
| PV | PP | PV | PP | PV | PP | PV | PP | |
| Frequency | 0.637 | 0.958 | 0.213 | 1.000 | 0.637 | 1.000 | 0.437 | 1.000 |
| Block frequency | 0.350 | 1.000 | 0.163 | 1.000 | 0.637 | 1.000 | 0.437 | 1.000 |
| Cumulative sums | 0.592 | 1.000 | 0.300 | 1.000 | 0.534 | 1.000 | 0.508 | 1.000 |
| Runs | 0.276 | 1.000 | 0.534 | 0.958 | 0.013 | 1.000 | 0.437 | 1.000 |
| Longest run | 0.437 | 1.000 | 0.740 | 1.000 | 0.213 | 1.000 | 0.122 | 1.000 |
| Rank | 0.740 | 0.958 | 0.740 | 1.000 | 0.350 | 0.958 | 0.122 | 1.000 |
| FFT | 0.035 | 0.958 | 0.637 | 1.000 | 0.534 | 1.000 | 0.122 | 1.000 |
| Non-overlapping template | 0.339 | 0.991 | 0.322 | 0.993 | 0.320 | 0.990 | 0.345 | 0.991 |
| Overlapping template | 0.834 | 1.000 | 0.025 | 0.958 | 0.276 | 0.958 | 0.013 | 0.958 |
| Universal | 0.163 | 1.000 | 0.025 | 0.958 | 0.911 | 1.000 | 0.437 | 0.958 |
| Approximate entropy | 0.437 | 1.000 | 0.740 | 1.000 | 0.091 | 1.000 | 0.637 | 1.000 |
| Random excursions | 0.055 | 0.992 | 0.167 | 1.000 | 0.088 | 0.993 | 0.311 | 0.981 |
| Random excursions variant | 0.098 | 1.000 | 0.218 | 0.996 | 0.066 | 0.964 | 0.401 | 0.987 |
| Serial | 0.034 | 0.958 | 0.437 | 1.000 | 0.451 | 0.979 | 0.209 | 1.000 |
| Linear complexity | 0.534 | 1.000 | 0.834 | 1.000 | 0.276 | 1.000 | 0.834 | 0.958 |
| Final result | Success | Success | Success | Success | ||||
Figure 9Output bitstreams of the PRNG represented as images in four cases: (a) key , (b) key , (c) key , and (d) key .
Comparison between iterative methods and this work.
| Ref. no. | EC operations | Non-EC operations | EC selection | Period |
|---|---|---|---|---|
| Ref.[ | Two multiplications One addition | Clocking the LFSR One addition Truncation | ECs defined over the field | where |
| Ref.[ | One multiplication One addition | Chaotic map iteration One addition One multiplication | EC defined over | where |
| Ref.[ | One multiplication Two additions | Two multiplications Two additions One absolute value | The Internet Engineering Task Force (IETF)[ | Not given |
| Ref.[ | One multiplication | One power Basis representation | Koblitz EC defined over | where |
| Ref.[ | One multiplication | Hash function Truncation | EC defined over | Not given |
| This Work | One addition | Two truncations | NIST recommended ECs | Order of generator point |
Comparison of bitrates in this work and in other PRNGs over ECs.
| Ref.[ | Ref.[ | This work | ||
|---|---|---|---|---|
| MATLAB implementaion | C# implementaion | |||
| Bitrate in Mbps | 0.070444 | 0.072140 | 0.09755 | 0.55869 |
Figure 10Histograms for the three-color channels in (a) Peppers and (b) encrypted Peppers.
Analysis results for encrypted Peppers using the system key .
| Pixel correlations | MSE | Entropy | Differential attack measures | |||||
|---|---|---|---|---|---|---|---|---|
| Horz | Vert | Diag | MAE | NPCR (%) | UACI (%) | |||
| R | − 0.0052 | − 0.0001 | − 0.0013 | 7703.80 | 7.9971 | 72.8052 | 99.6043 | 33.4037 |
| G | − 0.0045 | 0.0008 | − 0.0015 | 11,068.50 | 7.9973 | 85.9236 | 99.6022 | 33.4538 |
| B | − 0.0028 | − 0.0019 | 0.0001 | 11,467.20 | 7.9967 | 87.5722 | 99.6123 | 33.3678 |
| Avg | 0.0042 | 0.0009 | 0.0010 | 10,079.84 | 7.9970 | 82.1003 | 99.6063 | 33.4085 |
Figure 11Adjacent pixel values in horizontal, vertical, and diagonal directions in (a) Peppers and (b) encrypted Peppers for the red channel.
Figure 12Statistical analysis results for encrypted Peppers using 30 different system keys (): (a) correlation box plot, (b) entropy histogram, (c) NPCR histogram, and (d) UACI histogram.
Summary of the statistical analysis results for encrypted Peppers using 30 different system keys ().
| Pixel correlations | MSE | Entropy | Differential attack measures | |||||
|---|---|---|---|---|---|---|---|---|
| Horz | Vert | Diag | MAE | NPCR (%) | UACI (%) | |||
| Min | 0.0008 | 0.0006 | 0.0010 | 9996.03 | 7.9966 | 81.6007 | 98.1324 | 33.1360 |
| Max | 0.0048 | 0.0069 | 0.0068 | 10,132.41 | 7.9974 | 82.3008 | 99.6155 | 33.5182 |
| Avg | 0.0029 | 0.0028 | 0.0031 | 10,055.13 | 7.9971 | 81.9509 | 99.5061 | 33.4360 |
| Std | 0.0011 | 0.0014 | 0.0015 | 28.91 | 0.0002 | 0.1504 | 0.3502 | 0.0731 |
Analysis results for some images from the USC-SIPI image database and the black image.
| Img | Original image corr | Encrypted image corr | Entropy | Differential attack measures | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Horz | Vert | Diag | Horz | Vert | Diag | Orig | Enc | MAE | NPCR (%) | UACI (%) | |
| House | 0.9550 | 0.9563 | 0.9190 | 0.0009 | 0.0023 | 0.0007 | 7.3602 | 7.9993 | 78.8235 | 99.6081 | 33.4772 |
San Diego 2.1.02 | 0.7937 | 0.7731 | 0.6973 | 0.0008 | 0.0023 | 0.0023 | 7.1394 | 7.9994 | 75.8555 | 99.5761 | 33.4548 |
Oakland 2.1.04 | 0.7572 | 0.7814 | 0.6810 | 0.0022 | 0.0006 | 0.0017 | 6.3841 | 7.9993 | 72.0607 | 99.5990 | 33.4842 |
Woodland 2.1.06 | 0.9073 | 0.8948 | 0.8429 | 0.0010 | 0.0022 | 0.0012 | 7.3475 | 7.9993 | 72.9742 | 99.6104 | 33.4827 |
Earth 2.1.11 | 0.9629 | 0.9680 | 0.9416 | 0.0010 | 0.0026 | 0.0013 | 6.9287 | 7.9993 | 72.0452 | 99.6077 | 33.4328 |
Splash 4.2.01 | 0.9858 | 0.9871 | 0.9751 | 0.0008 | 0.0018 | 0.0027 | 6.6530 | 7.9993 | 86.6092 | 99.6126 | 33.4819 |
Mandrill 4.2.03 | 0.8986 | 0.8373 | 0.8097 | 0.0009 | 0.0018 | 0.0027 | 7.6444 | 7.9992 | 76.3159 | 99.6054 | 33.4402 |
Airplane 4.2.05 | 0.9648 | 0.9533 | 0.9272 | 0.0018 | 0.0016 | 0.0017 | 6.5768 | 7.9993 | 83.0794 | 99.6035 | 33.4515 |
Boat 4.2.06 | 0.9661 | 0.9632 | 0.9493 | 0.0018 | 0.0001 | 0.0020 | 7.3896 | 7.9992 | 82.2794 | 99.6117 | 33.4810 |
Peppers 4.2.07 | 0.9704 | 0.9715 | 0.9576 | 0.0017 | 0.0009 | 0.0025 | 7.2978 | 7.9993 | 82.1370 | 99.6011 | 33.4705 |
Black Image | 1.0000 | 1.0000 | 1.0000 | 0.0017 | 0.0014 | 0.0009 | 0.0000 | 7.9993 | 127.4746 | 99.5825 | 33.4626 |
Decryption results with different keys.
| Test | MSE | Entropy | ||||
|---|---|---|---|---|---|---|
| Red | Green | Blue | Red | Green | Blue | |
| Exact key | 0.00 | 0.00 | 0.00 | 7.2946 | 7.5483 | 7.0823 |
| Case I | 7732.79 | 10,904.86 | 11,449.54 | 7.9975 | 7.9974 | 7.9974 |
| Case II | 7694.79 | 11,013.62 | 11,400.54 | 7.9973 | 7.9979 | 7.9972 |
Figure 13Decryption using (a) exact key, (b) case I, and (c) case II.
Comparison with related work for an image of size .
| Ref. no. | Pixel correlations | Differential attack measures | Entropy | |||
|---|---|---|---|---|---|---|
| Horz | Vert | Diag | NPCR (%) | UACI (%) | ||
| Ref.[ | 0.0025 | 0.0037 | 0.0011 | 99.63 | 33.56 | 7.9968 |
| Ref.[ | 0.0012 | 0.0003 | 0.0010 | 99.60 | 33.48 | 7.9993 |
| Ref.[ | − 0.0044 | − 0.0007 | − 0.0031 | 99.60 | 33.34 | 7.9971 |
| This work | 0.0027 | − 0.00004 | − 0.0056 | 99.59 | 33.44 | 7.9971 |
Comparing the execution times for an image of size .
| Ref. no. | Encryption + decryption time (s) |
|---|---|
| Ref.[ | 21.27 |
| Ref.[ | 7.73 |
| This work | 3.78 |