Memory encryption-decryption in embedded systems

Memory authentication is becoming more important in embedded systems as off chip memories are prone to security attacks. To maintain integrity of data in external memories, the data are hashed to provide a checksum, and memory integrity tree techniques are employed to verify the authenticity of t...

Full description

Bibliographic Details
Main Author: Tan, Xuan Yi
Other Authors: Lam Siew Kei
Format: Final Year Project (FYP)
Language:English
Published: 2019
Subjects:
Online Access:http://hdl.handle.net/10356/76405
_version_ 1826115352985075712
author Tan, Xuan Yi
author2 Lam Siew Kei
author_facet Lam Siew Kei
Tan, Xuan Yi
author_sort Tan, Xuan Yi
collection NTU
description Memory authentication is becoming more important in embedded systems as off chip memories are prone to security attacks. To maintain integrity of data in external memories, the data are hashed to provide a checksum, and memory integrity tree techniques are employed to verify the authenticity of the data. However, any changes made to the data inside a frequently accessed bank would require another round of memory authentication. The number of hashing required is related to the height of the tree which is (log2 N) + 1, where N is the number of nodes excluding the leaves nodes inside the tree. In embedded systems, this could result in large memory access overhead. This is undesirable as embedded systems often have tight performance constraints. In this project, Merkle tree will be implemented to obtain a single hash checksum and Secure Hashing Algorithm 3 that uses the concept of sponge construction with fixed length output of 256bits will be used to generate the hashing result. The proposed method exploits hardware-software co-design and is implemented on the DE2-115 Field Programmable Gate Array (FPGA) board with a NIOS II processor. The Keccak sponge construction and permutation is implemented as a hardware accelerator.
first_indexed 2024-10-01T03:54:04Z
format Final Year Project (FYP)
id ntu-10356/76405
institution Nanyang Technological University
language English
last_indexed 2024-10-01T03:54:04Z
publishDate 2019
record_format dspace
spelling ntu-10356/764052023-03-03T20:41:15Z Memory encryption-decryption in embedded systems Tan, Xuan Yi Lam Siew Kei School of Computer Science and Engineering DRNTU::Engineering::Computer science and engineering Memory authentication is becoming more important in embedded systems as off chip memories are prone to security attacks. To maintain integrity of data in external memories, the data are hashed to provide a checksum, and memory integrity tree techniques are employed to verify the authenticity of the data. However, any changes made to the data inside a frequently accessed bank would require another round of memory authentication. The number of hashing required is related to the height of the tree which is (log2 N) + 1, where N is the number of nodes excluding the leaves nodes inside the tree. In embedded systems, this could result in large memory access overhead. This is undesirable as embedded systems often have tight performance constraints. In this project, Merkle tree will be implemented to obtain a single hash checksum and Secure Hashing Algorithm 3 that uses the concept of sponge construction with fixed length output of 256bits will be used to generate the hashing result. The proposed method exploits hardware-software co-design and is implemented on the DE2-115 Field Programmable Gate Array (FPGA) board with a NIOS II processor. The Keccak sponge construction and permutation is implemented as a hardware accelerator. Bachelor of Engineering (Computer Engineering) 2019-01-07T08:02:49Z 2019-01-07T08:02:49Z 2018 Final Year Project (FYP) http://hdl.handle.net/10356/76405 en Nanyang Technological University 33 p. application/pdf
spellingShingle DRNTU::Engineering::Computer science and engineering
Tan, Xuan Yi
Memory encryption-decryption in embedded systems
title Memory encryption-decryption in embedded systems
title_full Memory encryption-decryption in embedded systems
title_fullStr Memory encryption-decryption in embedded systems
title_full_unstemmed Memory encryption-decryption in embedded systems
title_short Memory encryption-decryption in embedded systems
title_sort memory encryption decryption in embedded systems
topic DRNTU::Engineering::Computer science and engineering
url http://hdl.handle.net/10356/76405
work_keys_str_mv AT tanxuanyi memoryencryptiondecryptioninembeddedsystems