O
Orclever
Back to Journal
Research Article Open AccessOrclever Native

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

Huseyin Karacali1,
Nevzat Donum2,
Efecan Cebel3
1TTTech Auto Turkey
2TTTech Auto Turkey
3TTTech Auto Turkey
Published:December 31, 2023

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.

Keywords
non-volatile memorymemory efficiencyHuffman compression algorithmAdvanced Encryption StandardAES-128

References

  1. 1.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
  2. 2.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.245DOI
  3. 3.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
  4. 4.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
  5. 5.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-encryptionLink
  6. 6.Wikimedia Foundation. (2023, September 18). Huffman coding. Wikipedia. https://en.wikipedia.org/wiki/Huffman_codingLink
  7. 7.Embedded Artistry LLC. (2021, June 9). Microcontroller Unit - Embedded Artistry. Embedded Artistry. https://embeddedartistry.com/fieldmanual-terms/microcontroller-unit/Link
  8. 8.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.Link
  9. 9.Ag, I. T. (n.d.). Microcontroller - Infineon Technologies. Copyright Infineon Technologies AG - All Rights Reserved. https://www.infineon.com/cms/en/product/microcontroller/Link
  10. 10.Microcontrollers - Overview. (n.d.). https://www.tutorialspoint.com/microprocessor/microcontrollers_overview.htmLink
  11. 11.Utmel. (2020, May 28). What is a Microcontroller? Utmel All Rights Reserved. https://www.utmel.com/blog/categories/microcontrollers/what-is-a-microcontrollerLink
  12. 12.GeeksforGeeks. (2023, May 5). Microcontroller and its Types. https://www.geeksforgeeks.org/microcontroller-and-its-types/Link
  13. 13.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-microcontrollerLink
  14. 14.Thornton, S. (2022, February 12). microcontrollers vs microprocessors what’s the difference. Microcontroller Tips. https://www.microcontrollertips.com/microcontrollers-vs-microprocessors-whats-difference/Link
  15. 15.Administrator. (2023, May 26). Basics of Microcontrollers – History, structure and Applications. ElectronicsHub. https://www.electronicshub.org/microcontrollers-basics-structure-applications/Link
  16. 16.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/Link
  17. 17.General Purpose Microcontrollers | NXP semiconductors. (n.d.). https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus:GENERAL-PURPOSE-MCUSLink
  18. 18.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:S32K148EVBLink
  19. 19.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:S32K1Link
  20. 20.Wikipedia contributors. (2023, September 7). Non-volatile memory. Wikipedia. https://en.wikipedia.org/wiki/Non-volatile_memoryLink
  21. 21.Patterson, D. A., & Hennessy, J. L. (2004). Computer Organization and design: The Hardware/Software Interface, Third Edition. Elsevier.
  22. 22.GeeksforGeeks. (2023a, February 21). Difference between Volatile Memory and Non Volatile Memory. https://www.geeksforgeeks.org/difference-between-volatile-memory-and-non-volatile-memory/Link
  23. 23.What is Non-Volatile Memory? (2021, December 2). Fierce Electronics. https://www.fierceelectronics.com/electronics/what-non-volatile-memoryLink
  24. 24.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.273898DOI
  25. 25.Data structures. (n.d.). https://cgi.luddy.indiana.edu/~yye/c343-2019/huffman.phpLink
  26. 26.Huffman Coding. (n.d.). https://engineering.purdue.edu/ece264/17au/hw/HW13?alt=huffmanLink
  27. 27.Why is Integrated Development Environment (IDE) Important? (n.d.). Spiceworks. https://www.spiceworks.com/tech/devops/articles/what-is-ide/Link
  28. 28.Oshana, R. (2006). Managing the DSP software development effort. In Elsevier eBooks (pp. 351–387). https://doi.org/10.1016/b978-075067759-2/50012-0DOI
  29. 29.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-4DOI
  30. 30.S32 Design Studio IDE. (n.d.). NXP Semiconductors. https://www.nxp.com/design/software/development-software/s32-design-studio-ide:S32-DESIGN-STUDIO-IDELink
  31. 31.Daemen, J., & Rijmen, V. (2000). The block Cipher Rijndael. In Lecture Notes in Computer Science (pp. 277–284). https://doi.org/10.1007/10721064_26DOI
  32. 32.Dworkin, M. J. (2023). Advanced Encryption Standard. https://doi.org/10.6028/nist.fips.197-upd1DOI
  33. 33.OpenSSL Foundation, Inc. (n.d.). /index.html. https://www.openssl.org/Link
  34. 34.OpenSSL Foundation, Inc. (n.d.-a). /docs/man3.1/man7/crypto.html. https://www.openssl.org/docs/man3.1/man7/crypto.htmlLink
  35. 35.Kekayan. (2018, July 7). Encrypt files using AES with OPENSSL - Kekayan - Medium. Medium. https://kekayan.medium.com/encrypt-files-using-aes-with-openssl-dabb86d5b748Link
Download PDF
Cite This Article
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

Bibliographic Info

JournalThe European Journal of Research and Development
Volume3
Issue4
Pages333–356
PublishedDecember 31, 2023
eISSN2822-2296