Pseudorandom Number Generator (PRNG) Design Using Hyper-Chaotic Modified Robust Logistic Map (HC-MRLM)
<p>Bifurcation diagram for the Logistic Map.</p> "> Figure 2
<p>Lyapunov Exponent of Logistic Map.</p> "> Figure 3
<p>Correlation between trajectories of robust chaotic logistic map and chaotic logistic map.</p> "> Figure 4
<p>Mapping of x<sub>n</sub> vs. x<sub>n+1</sub> (<b>a</b>) <span class="html-italic">γ</span> = 7 (<b>b</b>) <span class="html-italic">γ</span> = 31.</p> "> Figure 5
<p>State Distribution of RLM (<b>a</b>) <span class="html-italic">γ</span> = 5 (<b>b</b>) <span class="html-italic">γ</span> = 11.5 (<b>c</b>) <span class="html-italic">γ</span> = 16 (<b>d</b>) <span class="html-italic">γ</span> = 31.</p> "> Figure 6
<p>Bifurcation diagram of robust logistic map.</p> "> Figure 7
<p>Lyapunov Exponent of robust logistic map.</p> "> Figure 8
<p>Histogram of RLM.</p> "> Figure 9
<p>Unsecure RBG using RLM.</p> "> Figure 10
<p>Histogram of modified robust chaotic logistic map aided CoC.</p> "> Figure 11
<p>Controlling of Chaos (CoC) in RLM.</p> "> Figure 12
<p>Secure RBG by CoC.</p> "> Figure 13
<p>Correlation analysis of MRLM trajectories with the slight change in control parameter.</p> "> Figure 14
<p>Initial Condition mapping for MRLM.</p> "> Figure 15
<p>Correlation analysis between trajectories using proposed method.</p> ">
Abstract
:1. Introduction
2. The Robust Chaotic Logistic Map
2.1. Ergodicity
2.2. Bifurcation Diagram
2.3. Lyapunov Exponent
3. Proposed Methodology
3.1. Parameter Selection
3.2. PRNG Using RLM
- Step-1:
- Step-2:
- The RLM is iterated 1M times for generating N random floating-point values ∈ [0,1].
- Step-3:
- For real to binary domain mapping, thresholding is applied to the floating-point numbers. Threshold value of Ʈ = 0.5 is chosen.
- Step-4:
- Each generated output of RLM is checked where it falls. The binary value of ‘1’ is chosen if ≥ Ʈ or ‘0’ otherwise.
- Step-5:
- Stop iterating RLM once the bit stream of 1M is generated.
3.3. Modified RLM (MRLM) Aided by CoC
Algorithm 1: Generation of CSPRNG. |
Pseudocode: Generation of Optimized Pseudo-random binary Sequence |
Output: Pseudo-random binary sequence |
Procedure: |
initial seed value of and . |
fordo |
if |
else |
if and |
else |
end if |
end if |
if and |
if |
else |
end if |
else |
discard |
end if |
end for |
is the resultant binary sequence |
- Step-1:
- Choose an arbitrary initial condition and control parameter .
- Step-2:
- Calculate , where and .
- Step-3:
- Iterate RLM using (2) N times, and generate N floating-point numbers in the range .
- Step-4:
- Apply CoC to choose the output region within the range by carefully small perturbations are applied to the input to filter out the desired output sequence.
- Step-5:
- Scale the output region by a factor of 1010.
- Step-6:
- Apply modulo 1 operation on scaled region to generate output value .
- Step-7:
- Apply threshold to the resultant floating values such that each random value is mapped to ‘1’ if , else it is mapped to ‘0’. In this regard, choose a threshold value such that the probability distribution of 0’s and 1’s is almost equal. In our case, we choose for CoC to generate cryptographically secure pseudorandom numbers.
- Step-8:
- Stop iterating the map when 1M bits stream is generated.
4. Performance Analysis
4.1. Key Space Analysis
4.2. Correlation Analysis
4.3. Key Sensitivity Analysis
- Step-1:
- Choose an arbitrary 128-bit hexadecimal key
- Step-2:
- Split the key into sixteen bytes. To spread the effect of small change at least significant bit over complete key and CSPRNGs, sixteen bytes are XORed together to generate an 8-bit number.
- Step-3:
- Convert the 8-bit binary number into decimal.
- Step-4:
- Divide the decimal value by 256 to generate real value .
4.4. CoC on Chaotic Map
5. Conclusions
Author Contributions
Acknowledgments
Conflicts of Interest
References
- Chen, S.-L.; Chang, S.-M.; Lin, W.-W.; Hwang, T. Digital secure-communication using robust hyper-chaotic systems. Int. J. Bifurc. Chaos 2008, 18, 3325–3339. [Google Scholar] [CrossRef] [Green Version]
- Eisencraft, M.; Evangelista, J.V.C.; Costa, R.A.; Fontes, R.T.; Candido, R.; Chaves, D.P.B.; Pimentel, C.; Silva, M.T.M. New Trends in Chaos-Based Communications and Signal Processing; Springer: Berlin, Germany, 2019. [Google Scholar]
- Ghauch, Z.G.; Aitharaju, V.; Rodgers, W.R.; Pasupuletti, P.; Dereims, A.; Ghanem, R.G. Integrated stochastic analysis of fiber composites manufacturing using adapted polynomial chaos expansions. Compos. Part A Appl. Sci. Manuf. 2019. [Google Scholar] [CrossRef]
- Waqas, A.; Melati, D.; Manfredi, P.; Melloni, A. Stochastic process design kits for photonic circuits based on polynomial chaos augmented macro-modelling. Opt. Express 2018. [Google Scholar] [CrossRef]
- Bai, C.; Ren, H.P.; Baptista, M.S.; Grebogi, C. Digital underwater communication with chaos. Commun. Nonlinear Sci. Numer. Simul. 2019. [Google Scholar] [CrossRef]
- Soujeri, E.; Kaddoum, G.; Herceg, M. Design of an initial condition-index chaos shift keying modulation. Electron. Lett. 2018. [Google Scholar] [CrossRef]
- Nomura, H.; Temsiririrkkul, S.; Ikeda, K. Generation of “Natural” Pseudorandom Numbers from the Standard Player’s View. Available online: https://ci.nii.ac.jp/naid/120006675914/en (accessed on 1 November 2019).
- Berg, D.A.; Luciano, R.A., Jr.; Saffari, A. Central Random Number Generation for Gaming System. U.S. Patent 5,779,545, 14 July 1998. [Google Scholar]
- Meoni, F. Casino Random Number Card Covering Game. U.S. Patent 5,700,009, 23 December 1997. [Google Scholar]
- Hull, T.E.; Dobell, A.R. Random number generators. SIAM Rev. 1962, 4, 230–254. [Google Scholar] [CrossRef]
- Singh, V.; Pal, P. Survey of different types of CAPTCHA. Int. J. Comput. Sci. Inf. Technol. 2014, 5, 2242–2245. [Google Scholar]
- Pawar, T.S.; Sawant, R.G.; Bothe, P.S.; Chopade, S.A. A Survey on Login Authentication System using Captcha as Graphical Password Technquies. Int. J. Innov. Res. Comput. Commun. Eng. 2015. [Google Scholar] [CrossRef]
- Tiwari, A.K. Introduction to machine learning. In Ubiquitous Machine Learning and Its Applications; IGI Global: Dehradun, India, 2017. [Google Scholar]
- Seeger, M. Gaussian processes for machine learning. Int. J. Neural Syst. 2004, 14, 69–106. [Google Scholar] [CrossRef] [Green Version]
- Corrigan-Gibbs, H.; Mu, W.; Boneh, D.; Ford, B. Ensuring high-quality randomness in cryptographic key generation. In Proceedings of the ACM Conference on Computer and Communications Security, Berlin, Germany, 4–8 November 2013; pp. 685–696. [Google Scholar]
- Bucci, M.; Germani, L.; Luzzi, R.; Tommasino, P.; Triftlettv, A.; Varanonuov, M. A high speed truly IC random number source for Smart Card microcontrollers. In Proceedings of the IEEE International Conference on Electronics, Circuits, and Systems, Rodos, Greece, 6 August 2002. [Google Scholar]
- Pétrie, C.S.; Alvin Connelly, J. A noise-based ic random number generator for applications in Cryptography. IEEE Trans. Circuits Syst. I Fundam. Theory Appl. 2000. [Google Scholar] [CrossRef]
- Qi, B.; Chi, Y.-M.; Lo, H.-K.; Qian, L. High-speed quantum random number generation by measuring phase noise of a single-mode laser. Opt. Lett. 2010. [Google Scholar] [CrossRef] [PubMed]
- Schindler, W.; Killmann, W. Evaluation criteria for true (Physical) random number generators used in cryptographic applications. In Proceedings of the 4th International Workshop, Redwood Shores, CA, USA, 13–15 August 2002. [Google Scholar]
- Shannon, C.E. Communication Theory of Secrecy Systems. Bell Syst. Tech. J. 1949, 28, 656–715. [Google Scholar] [CrossRef]
- Patidar, V.R.; Sud, K.K. A novel pseudo random bit generator based on chaotic standard map and its testing. Electron. J. Theor. Phys. 2009, 6, 327–344. [Google Scholar]
- Pellicer-Lostao, C.; López-Ruiz, R. Pseudo-random bit generation based on 2D chaotic maps of logistic type and its applications in chaotic cryptography. In Proceedings of the Computational Science and Its Applications—ICCSA 2008, Perugia, Italy, 30 June–3 July 2008. [Google Scholar]
- Shatheesh Sam, I.; Devaraj, P.; Bhuvaneswaran, R.S. Transformed logistic block cipher scheme for image encryption. In Communications in Computer and Information Science; Springer: Berlin, Germany, 2011. [Google Scholar]
- Kocarev, L.; Jakimoski, G. Logistic map as a block encryption algorithm. Phys. Lett. Sect. A Gen. Solid State Phys. 2001. [Google Scholar] [CrossRef]
- Yang, H.; Wong, K.W.; Liao, X.; Wang, Y.; Yang, D. One-way hash function construction based on chaotic map network. Chaos Solitons Fractals 2009. [Google Scholar] [CrossRef]
- Jhansi Rani, P.; Rao, M.S.; Durga Bhavani, S. Design of secure chaotic hash function based on logistic and tent maps. In Communications in Computer and Information Science; Springer: Berlin, Germany, 2011. [Google Scholar]
- Arroyo, D.; Amigó, J.M.; Alvarez, G.; Aplicada, F. On the inadequacy of unimodal maps for cryptographic applications. In XI Reunión Española Sobre Criptología y Seguridad de la Información (XI RECSI); Available online: https://pdfs.semanticscholar.org/7b96/a768e2eeaf86bbe789cfc14f7ece29b97d96.pdf (accessed on 1 November 2019).
- Rezk, A.A.; Madian, A.H.; Radwan, A.G.; Soliman, A.M. Reconfigurable chaotic pseudo random number generator based on FPGA. AEU-Int. J. Electron. Commun. 2019, 98, 174–180. [Google Scholar] [CrossRef]
- Lorenz, E.N. Deterministic nonperiodic flow. In Universality in Chaos, 2nd ed.; Taylor and Francis: New York, NY, USA, 2017; pp. 367–378. [Google Scholar]
- Lü, J.; Chen, G. A new chaotic attractor coined. Int. J. Bifurc. Chaos 2002. [Google Scholar] [CrossRef]
- Elmanfaloty, R.A.; Abou-Bakr, E. Random property enhancement of a 1D chaotic PRNG with finite precision implementation. Chaos Solitons Fractals 2019. [Google Scholar] [CrossRef]
- Kadir, A.; Hamdulla, A.; Guo, W.Q. Color image encryption using skew tent map and hyper chaotic system of 6th-order CNN. Optik (Stuttg) 2014. [Google Scholar] [CrossRef]
- Hasler, M.; Maistrenko, Y.L. An introduction to the synchronization of chaotic systems: Coupled skew tent maps. IEEE Trans. Circuits Syst. I Fundam. Theory Appl. 1997, 44, 856–866. [Google Scholar] [CrossRef]
- Tan, Z.; Wu, Q. Study of linearly cross-coupled chaotic systems for a random bit generator. In Proceedings of the 2008 International Conference on Computational Intelligence and Security, CIS 2008, Suzhou, China, 13–17 December 2008. [Google Scholar]
- Koyuncu, İ.; Turan Özcerit, A. The design and realization of a new high speed FPGA-based chaotic true random number generator. Comput. Electr. Eng. 2017, 58, 203–214. [Google Scholar] [CrossRef]
- Sundarapandian, V.; Pehlivan, I. Analysis, control, synchronization, and circuit design of a novel chaotic system. Math. Comput. Model. 2012, 55, 1904–1915. [Google Scholar] [CrossRef]
- Avaroğlu, E.; Tuncer, T.; Özer, A.B.; Türk, M. A new method for hybrid pseudo random number generator. Inf. MIDEM 2014, 44, 303–311. [Google Scholar]
- Murillo-Escobar, M.A.; Cruz-Hernández, C.; Cardoza-Avendaño, L.; Méndez-Ramírez, R. A novel pseudorandom number generator based on pseudorandomly enhanced logistic map. Nonlinear Dyn. 2017, 87, 407–425. [Google Scholar] [CrossRef]
- Wang, Y.; Liu, Z.; Ma, J.; He, H. A pseudorandom number generator based on piecewise logistic map. Nonlinear Dyn. 2016, 83, 2373–2391. [Google Scholar] [CrossRef]
- Avaroğlu, E.; Tuncer, T.; Özer, A.B.; Ergen, B.; Türk, M. A novel chaos-based post-processing for TRNG. Nonlinear Dyn. 2015, 81, 189–199. [Google Scholar] [CrossRef]
- François, M.; Defour, D.; Negre, C. A fast chaos-based pseudo-random bit generator using binary64 floating-point arithmetic. Informatica 2014, 38, 115–124. [Google Scholar]
- Rostami, M.J.; Shahba, A.; Saryazdi, S.; Nezamabadi-pour, H. A novel parallel image encryption with chaotic windows based on logistic map. Comput. Electr. Eng. 2017, 62, 384–400. [Google Scholar] [CrossRef]
- Pareek, N.K.; Patidar, V.; Sud, K.K. Image encryption using chaotic logistic map. Image Vis. Comput. 2006, 24, 926–934. [Google Scholar] [CrossRef]
- Patidar, V.; Pareek, N.K.; Sud, K.K. A new substitution-diffusion based image cipher using chaotic standard and logistic maps. Commun. Nonlinear Sci. Numer. Simul. 2009, 14, 3056–3075. [Google Scholar] [CrossRef]
- Murillo-Escobar, M.A.; Cruz-Hernández, C.; Abundiz-Pérez, F.; López-Gutiérrez, R.M.; Acosta Del Campo, O.R. A RGB image encryption algorithm based on total plain image characteristics and chaos. Signal Process. 2015, 109, 119–131. [Google Scholar] [CrossRef]
- Rukhin, A.; Soto, J.; Nechvatal, J.; Smid, M.; Barker, E.; Leigh, S.; Levenson, M.; Vangel, M.; Banks, D.; Heckert, A.; et al. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications—Special Pub. 800-22—Rev. 1; NIST Spec. Publ. 800-22; Natl. Inst. Stand. Technol. (NIST): Gaithersburg, MD, USA, 2010.
- Alvarez, G.; Li, S. Some basic cryptographic requirements for chaos-based cryptosystems. Int. J. Bifurc. Chaos 2006, 16, 2129–2151. [Google Scholar] [CrossRef] [Green Version]
- Kahan, W. IEEE Standard 754 for Binary Floating-Point Arithmetic. Lect. Notes Status IEEE 1996, 754, 11. [Google Scholar]
- Wang, L.; Cheng, H. Pseudo-Random Number Generator Based on Logistic Chaotic System. Entropy 2019, 21, 960. [Google Scholar] [CrossRef] [Green Version]
- Behnia, S.; Akhavan, A.; Akhshani, A.; Samsudin, A. A novel dynamic model of pseudo random number generator. J. Comput. Appl. Math. 2011, 235, 3455–3463. [Google Scholar] [CrossRef] [Green Version]
- Li-Jiang, Y.; Tian-Lun, C. Application of chaos in genetic algorithms. Commun. Theor. Phys. 2002, 38, 168. [Google Scholar] [CrossRef]
- Guo, Z.; Cheng, B.; Ye, M.; Cao, B. Self-adaptive chaos differential evolution. In Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer: Berlin, Germany, 2006. [Google Scholar]
- Khan, M.A.; Jeoti, V. On the enlargement of robust region of chaotic tent map for the use in key based substitution-box (S-Box). J. Comput. Sci. 2015, 11, 517–525. [Google Scholar] [CrossRef] [Green Version]
- Simon, D. Biogeography-based optimization. IEEE Trans. Evol. Comput. 2008, 12, 702–713. [Google Scholar] [CrossRef] [Green Version]
NIST Statistical Test | p-Value | Status |
---|---|---|
Frequency (monobit) | 0.00 | Failed |
Block Frequency | 0.00 | Failed |
Cumulative Sum | 0.00 (Forward) 0.00 (Reverse) | Failed |
Longest Run | 0.00 | Failed |
Runs | 0.00 | Failed |
Rank | 0.755843 | Passed |
Non-overlapping Template Matchings | 0.00 | Failed |
Discrete Fourier Transform | 0.00 | Failed |
Overlapping Template Matchings | 0.00 | Failed |
Universal Statistical | 0.00 | Failed |
Serial | 0.00 | Failed |
Random Excursions Variant | 0.00 | Failed |
Random Excursions | 0.00 | Failed |
Approximate Entropy | 0.00 | Failed |
Linear Complexity | 0.589895 | Passed |
NIST Statistical Test | p-Value | Status |
---|---|---|
Frequency (monobit) | 0.870382 | Passed |
Block Frequency | 0.63719 | Passed |
Cumulative Sum | 0.540598 (Forward) 0.687661 (Reverse) | Passed |
Longest Run | 0.289731 | Passed |
Runs | 0.635262 | Passed |
Rank | 0.890846 | Passed |
Non-overlapping Template Matchings | 0.813509 | Passed |
Discrete Fourier Transform | 0.902994 | Passed |
Overlapping Template Matchings | 0.711692 | Passed |
Universal Statistical | 0.939078 | Passed |
Serial | 0.757126 0.422466 | Passed |
Random Excursions Variant | 0.756827 | Passed |
Random Excursions | 0.999976 | Passed |
Approximate Entropy | 0.651855 | Passed |
Linear Complexity | 0.579334 | Passed |
Study | Control Parameter | Initial Condition | Key Space |
---|---|---|---|
Proposed work | |||
Luyao et al. [49] | |||
Wang et al. [39] | |||
Murrilo-Escobar et al. [38] | |||
Behnia et al. [50] |
Keys | Secret Key | Marker |
---|---|---|
Key1 | AEDCBA09876543211234567890ABCDEF | ☐ |
Key2 | AEDCBA09876543211234567890ABCDEE | ◯ |
Key3 | AEDCBA09876543211234567890ABCDED | ✶ |
Key4 | AEDCBA09876543211234567890ABCDEC | |
Key5 | AEDCBA09876543211234567890ABCDEB | ★ |
Key6 | AEDCBA09876543211234567890ABCDEA | ✧ |
Chaotic Maps | Circle | Iterative | Tent | Singer | ||||
---|---|---|---|---|---|---|---|---|
Equation | IC | Equation | IC | Equation | IC | Equation | IC | |
NIST STS | NIST STS | NIST STS | NIST STS | |||||
Without CoC | With CoC | Without CoC | With CoC | Without CoC | With CoC | Without CoC | With CoC | |
Frequency (monobit) | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ | ✗ | ✓ |
Block Frequency | ✗ | ✓ | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ |
Cumulative Sum | ✗ | ✓ (R) ✓ (F) | ✓ (R) ✓ (F) | ✓ (R) ✓ (F) | ✗ | ✓ (R) ✓ (F) | ✗ | ✓ (R) ✓ (F) |
Longest Run | ✗ | ✓ | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ |
Runs | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
Rank | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ |
Non-overlapping Template Matchings | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
Discrete Fourier Transform | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
Overlapping Template Matchings | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
Universal Statistical | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
Serial | ✗ ✗ | ✓ | ✗ ✗ | ✓ | ✗ ✓ | ✓ ✓ | ✗ ✗ | ✓ ✓ |
Random Excursions Variant | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ | ✗ | ✓ |
Random Excursions | ✗ | ✓ | ✓ | ✓ | ✗ | ✓ | ✗ | ✓ |
Approximate Entropy | ✗ | ✓ | ✓ | ✗ | ✓ | ✗ | ✓ | |
Linear Complexity | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
NIST Statistical Test | ||||
---|---|---|---|---|
Case 1 | Case 2 | |||
TESTS | MRLM | MTM | MRLM | MCTM |
Frequency (monobit) | ✓ | ✓ | ✓ | ✗ |
Block Frequency | ✓ | ✓ | ✓ | ✗ |
Cumulative Sum | ✓ (R) ✓ (F) | ✓ (R) ✓ (F) | ✓ (R) ✓ (F) | ✗(R) ✗(F) |
Longest Run | ✓ | ✓ | ✓ | ✗ |
Runs | ✓ | ✓ | ✗ | ✗ |
Rank | ✓ | ✓ | ✓ | ✓ |
Non-overlapping Template Matchings | ✓ | ✓ | ✓ | ✗ |
Discrete Fourier Transform | ✓ | ✓ | ✓ | ✓ |
Overlapping Template Matchings | ✓ | ✓ | ✓ | ✗ |
Universal Statistical | ✓ | ✓ | ✓ | ✓ |
Serial | ✓ ✓ | ✓ ✓ | ✗ ✓ | ✗ ✓ |
Random Excursions Variant | ✓ | ✓ | ✓ | ✗ |
Random Excursions | ✓ | ✓ | ✗ | ✗ |
Approximate Entropy | ✓ | ✓ | ✗ | ✗ |
Linear Complexity | ✓ | ✓ | ✓ | ✓ |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Irfan, M.; Ali, A.; Khan, M.A.; Ehatisham-ul-Haq, M.; Mehmood Shah, S.N.; Saboor, A.; Ahmad, W. Pseudorandom Number Generator (PRNG) Design Using Hyper-Chaotic Modified Robust Logistic Map (HC-MRLM). Electronics 2020, 9, 104. https://doi.org/10.3390/electronics9010104
Irfan M, Ali A, Khan MA, Ehatisham-ul-Haq M, Mehmood Shah SN, Saboor A, Ahmad W. Pseudorandom Number Generator (PRNG) Design Using Hyper-Chaotic Modified Robust Logistic Map (HC-MRLM). Electronics. 2020; 9(1):104. https://doi.org/10.3390/electronics9010104
Chicago/Turabian StyleIrfan, Muhammad, Asim Ali, Muhammad Asif Khan, Muhammad Ehatisham-ul-Haq, Syed Nasir Mehmood Shah, Abdul Saboor, and Waqar Ahmad. 2020. "Pseudorandom Number Generator (PRNG) Design Using Hyper-Chaotic Modified Robust Logistic Map (HC-MRLM)" Electronics 9, no. 1: 104. https://doi.org/10.3390/electronics9010104
APA StyleIrfan, M., Ali, A., Khan, M. A., Ehatisham-ul-Haq, M., Mehmood Shah, S. N., Saboor, A., & Ahmad, W. (2020). Pseudorandom Number Generator (PRNG) Design Using Hyper-Chaotic Modified Robust Logistic Map (HC-MRLM). Electronics, 9(1), 104. https://doi.org/10.3390/electronics9010104