Secure and Efficient NVM Usage for Embedded Systems Using AES-128 and Huffman Compression

Main Article Content

Huseyin Karacali
https://orcid.org/0000-0002-1433-4285
Nevzat Donum
https://orcid.org/0000-0002-8293-8267
Efecan Cebel
https://orcid.org/0000-0002-2027-0257

Abstract

Embedded systems are customized systems designed to meet functionality and specific usage purposes. These systems often grapple with challenges such as power interruptions, limited memory space, and the expectation of a long operational lifespan. It is in this context that Non-Volatile Memory (NVM) plays a vital role. NVM is a type of memory that ensures data persistence even in situations of temporary power loss or signal interruptions. Efficiently utilizing NVM is a critical necessity for the effectiveness and reliability of these systems. Efficient utilization of NVM necessitates the effective management of write and read cycles. Previous studies have demonstrated the efficient utilization of NVM sectors by ensuring that no garbage bytes remain unallocated. Previous studies have demonstrated the efficient utilization of NVM by compressing the data to be written into NVM using the Huffman compression algorithm, and filling sectors without any residual garbage bytes. This paper aspires to advance beyond prior research by integrating the Advanced Encryption Standard (AES-128) block encryption algorithm, aiming to optimize the utilization of NVM to a greater extent. The AES-128 algorithm provides data security with encryption and decryption operations. By applying AES-128 encryption to the data before writing it to the NVM, this work adds a data security layer to the developed software module. Data is divided into blocks using this algorithm. Each block is encrypted independently and then reassembled. The encryption process includes key management, substitution-permutation network layers, and multiple rounds, all of which make substantial contributions to high-level data security. The resulting encrypted data is compressed using the Huffman compression algorithm. This process enhances both the security and efficiency of data storage. The data is written to NVM with maximum efficiency, ensuring that no residual garbage bytes remain, upon the completion of the encryption and compression processes. This study surpasses previous research by enhancing storage security and efficiency through these processes. Moreover, the developed secure and efficient NVM usage, as it fills the NVM with data without leaving any garbage bytes, results in slower processing speed compared to standard NVM usage. Therefore, in future research, interventions with code optimization techniques can be applied to the developed algorithms to enhance write and read speeds.

Downloads

Download data is not yet available.

Article Details

How to Cite
Karacali, H., Donum, N., & Cebel, E. (2023). Secure and Efficient NVM Usage for Embedded Systems Using AES-128 and Huffman Compression. The European Journal of Research and Development, 3(4), 333–356. https://doi.org/10.56038/ejrnd.v3i4.281
Section
Articles

References

H. Karacali, E. Cebel and N. Donum, "Optimizing NVM Utilization Efficiency with Huffman Compression Algorithm in MCU Based System," 2023 8th International Conference on Computer Science and Engineering (UBMK), Burdur, Turkiye, 2023, pp. 75-80, doi: 10.1109/UBMK59864.2023.10286571. DOI: https://doi.org/10.1109/UBMK59864.2023.10286571

Karacali, H., Dönüm, N., & Cebel, E. (2023). Full Efficient NVM Usage For MCU. The European Journal of Research and Development, 3(1), 115–128. https://doi.org/10.56038/ejrnd.v3i1.245 DOI: https://doi.org/10.56038/ejrnd.v3i1.245

J. Clement, B. Mussard, D. Naccache and L. Torres, "Implementation of AES Using NVM Memories Based on Comparison Function," 2015 IEEE Computer Society Annual Symposium on VLSI, Montpellier, France, 2015, pp. 356-361, doi: 10.1109/ISVLSI.2015.37. DOI: https://doi.org/10.1109/ISVLSI.2015.37

M. Xie, S. Li, A. O. Glova, J. Hu and Y. Xie, "Securing Emerging Nonvolatile Main Memory With Fast and Energy-Efficient AES In-Memory Implementation," in IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 26, no. 11, pp. 2443-2455, Nov. 2018, doi: 10.1109/TVLSI.2018.2865133. DOI: https://doi.org/10.1109/TVLSI.2018.2865133

Mehta, J. (2023, July 14). What is AES 128 bit encryption and how secure AES 128 bit is?. CheapSSLWeb.com Blog. https://cheapsslweb.com/blog/what-is-aes-128-bit-encryption

Wikimedia Foundation. (2023, September 18). Huffman coding. Wikipedia. https://en.wikipedia.org/wiki/Huffman_coding

Embedded Artistry LLC. (2021, June 9). Microcontroller Unit - Embedded Artistry. Embedded Artistry. https://embeddedartistry.com/fieldmanual-terms/microcontroller-unit/

Lutkevich, B. (2019, November 7). microcontroller (MCU). IoT Agenda. https://www.techtarget.com/iotagenda/definition/microcontroller#:~:text=A%20microcontroller%20is%20a%20compact,peripherals%20on%20a%20single%20chip.

Ag, I. T. (n.d.). Microcontroller - Infineon Technologies. Copyright Infineon Technologies AG - All Rights Reserved. https://www.infineon.com/cms/en/product/microcontroller/

Microcontrollers - Overview. (n.d.). https://www.tutorialspoint.com/microprocessor/microcontrollers_overview.htm

Utmel. (2020, May 28). What is a Microcontroller? Utmel All Rights Reserved. https://www.utmel.com/blog/categories/microcontrollers/what-is-a-microcontroller

GeeksforGeeks. (2023, May 5). Microcontroller and its Types. https://www.geeksforgeeks.org/microcontroller-and-its-types/

Inc, L. T. (2022, October 25). What is a Microcontroller? — LOOMIA Soft Electronics | E-textiles. LOOMIA Soft Electronics | E-textiles. https://www.loomia.com/blog/what-is-a-microcontroller

Thornton, S. (2022, February 12). microcontrollers vs microprocessors what’s the difference. Microcontroller Tips. https://www.microcontrollertips.com/microcontrollers-vs-microprocessors-whats-difference/

Administrator. (2023, May 26). Basics of Microcontrollers – History, structure and Applications. ElectronicsHub. https://www.electronicshub.org/microcontrollers-basics-structure-applications/

What is a microcontroller? The defining characteristics and architecture of a common component - technical articles. (2019, April 4). https://www.allaboutcircuits.com/technical-articles/what-is-a-microcontroller-introduction-component-characteristics-component/

General Purpose Microcontrollers | NXP semiconductors. (n.d.). https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus:GENERAL-PURPOSE-MCUS

S32K148-Q176 Automotive General-Purpose Evaluation Board. (n.d.-b). https://www.nxp.com/design/development-boards/automotive-development-platforms/s32k-mcu-platforms/s32k148-q176-evaluation-board-for-automotive-general-purpose:S32K148EVB

S32K1 General-Purpose MCUS. (n.d.). NXP Semiconductors. https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32k-auto-general-purpose-mcus/s32k1-microcontrollers-for-automotive-general-purpose:S32K1

Wikipedia contributors. (2023, September 7). Non-volatile memory. Wikipedia. https://en.wikipedia.org/wiki/Non-volatile_memory

Patterson, D. A., & Hennessy, J. L. (2004). Computer Organization and design: The Hardware/Software Interface, Third Edition. Elsevier.

GeeksforGeeks. (2023a, February 21). Difference between Volatile Memory and Non Volatile Memory. https://www.geeksforgeeks.org/difference-between-volatile-memory-and-non-volatile-memory/

What is Non-Volatile Memory? (2021, December 2). Fierce Electronics. https://www.fierceelectronics.com/electronics/what-non-volatile-memory

Huffman, D. A. (1952). A method for the construction of Minimum-Redundancy Codes. Proceedings of the IRE, 40(9), 1098–1101. https://doi.org/10.1109/jrproc.1952.273898 DOI: https://doi.org/10.1109/JRPROC.1952.273898

Data structures. (n.d.). https://cgi.luddy.indiana.edu/~yye/c343-2019/huffman.php

Huffman Coding. (n.d.). https://engineering.purdue.edu/ece264/17au/hw/HW13?alt=huffman

Why is Integrated Development Environment (IDE) Important? (n.d.). Spiceworks. https://www.spiceworks.com/tech/devops/articles/what-is-ide/

Oshana, R. (2006). Managing the DSP software development effort. In Elsevier eBooks (pp. 351–387). https://doi.org/10.1016/b978-075067759-2/50012-0 DOI: https://doi.org/10.1016/B978-075067759-2/50012-0

Bird, C., Menzies, T., & Zimmermann, T. (2015). The art and science of analyzing software data. In Elsevier eBooks. https://doi.org/10.1016/c2012-0-07289-4 DOI: https://doi.org/10.1016/B978-0-12-411519-4.00001-X

S32 Design Studio IDE. (n.d.). NXP Semiconductors. https://www.nxp.com/design/software/development-software/s32-design-studio-ide:S32-DESIGN-STUDIO-IDE

Daemen, J., & Rijmen, V. (2000). The block Cipher Rijndael. In Lecture Notes in Computer Science (pp. 277–284). https://doi.org/10.1007/10721064_26 DOI: https://doi.org/10.1007/10721064_26

Dworkin, M. J. (2023). Advanced Encryption Standard. https://doi.org/10.6028/nist.fips.197-upd1 DOI: https://doi.org/10.6028/NIST.FIPS.197-upd1

OpenSSL Foundation, Inc. (n.d.). /index.html. https://www.openssl.org/

OpenSSL Foundation, Inc. (n.d.-a). /docs/man3.1/man7/crypto.html. https://www.openssl.org/docs/man3.1/man7/crypto.html

Kekayan. (2018, July 7). Encrypt files using AES with OPENSSL - Kekayan - Medium. Medium. https://kekayan.medium.com/encrypt-files-using-aes-with-openssl-dabb86d5b748

Most read articles by the same author(s)