TY - GEN
T1 - BLTESTI
T2 - 36th IEEE International System-on-Chip Conference, SOCC 2023
AU - El-Hadedy, Mohamed
AU - Hua, Russell
AU - Saqib, Shahzman
AU - Yoshii, Kazutomo
AU - Hwu, Wen Mei
AU - Margala, Martin
N1 - Publisher Copyright:
© 2023 IEEE.
PY - 2023
Y1 - 2023
N2 - Embedded systems face an increasing number of attacks, necessitating improved security measures. However, the physical constraints of these devices often limit the use of traditional cryptographic techniques. To address this challenge, NIST organized a competition focused on lightweight cryptographic algorithms (LWC) tailored for embedded systems, aiming to minimize resource usage in low-power devices. This paper benchmarks the Rust, C, and Golang programming languages, considering their advantages in memory safety, portability, and concurrency, to implement the LWC algorithm finalist named TinyJAMBU. TinyJAMBU utilizes the non-linear feedback shift register (NLFSR) model as a core security element. The evaluation is conducted on embedded systems and FPGAs to determine the optimal strategy for mapping LWC cryptographic algorithms onto resource-constrained devices. Among the three languages, the C-based implementation achieves the highest runtime efficiency, while TinyGo demonstrates the lowest power consumption. Rust falls between the two, indicating trade-offs associated with each language. Despite its larger memory footprint of 73kB, the C-based implementation of TinyJAMBU outperforms other language implementations, achieving a faster runtime of ≈ 81 seconds for the same algorithm and 4-byte message size. Golang exhibits the smallest memory footprint of 19kB, while Rust's memory footprint falls between the other two at 66kB. Furthermore, implementing TinyJAMBU on an FPGA using software-hardware partitioning with MicroBlaze takes ≈ 6.30 seconds to complete 10,000 encryption and decryption cycles, consuming around 1.09W of power. Although employing a proposed NLFSR co-processor with MicroBlaze for the 128-bit version of TinyJAMBU may not be the fastest approach, the reconfigurable nature of FPGAs allows for replicating the co-processor multiple times, offering significant advantages over the current state-of-the-art architecture of embedded systems.
AB - Embedded systems face an increasing number of attacks, necessitating improved security measures. However, the physical constraints of these devices often limit the use of traditional cryptographic techniques. To address this challenge, NIST organized a competition focused on lightweight cryptographic algorithms (LWC) tailored for embedded systems, aiming to minimize resource usage in low-power devices. This paper benchmarks the Rust, C, and Golang programming languages, considering their advantages in memory safety, portability, and concurrency, to implement the LWC algorithm finalist named TinyJAMBU. TinyJAMBU utilizes the non-linear feedback shift register (NLFSR) model as a core security element. The evaluation is conducted on embedded systems and FPGAs to determine the optimal strategy for mapping LWC cryptographic algorithms onto resource-constrained devices. Among the three languages, the C-based implementation achieves the highest runtime efficiency, while TinyGo demonstrates the lowest power consumption. Rust falls between the two, indicating trade-offs associated with each language. Despite its larger memory footprint of 73kB, the C-based implementation of TinyJAMBU outperforms other language implementations, achieving a faster runtime of ≈ 81 seconds for the same algorithm and 4-byte message size. Golang exhibits the smallest memory footprint of 19kB, while Rust's memory footprint falls between the other two at 66kB. Furthermore, implementing TinyJAMBU on an FPGA using software-hardware partitioning with MicroBlaze takes ≈ 6.30 seconds to complete 10,000 encryption and decryption cycles, consuming around 1.09W of power. Although employing a proposed NLFSR co-processor with MicroBlaze for the 128-bit version of TinyJAMBU may not be the fastest approach, the reconfigurable nature of FPGAs allows for replicating the co-processor multiple times, offering significant advantages over the current state-of-the-art architecture of embedded systems.
KW - C
KW - FPGA
KW - IoT
KW - Lightweight Cryptography
KW - Low-Power Embedded Systems
KW - MicroBlaze
KW - Rust
KW - TinyGo
UR - http://www.scopus.com/inward/record.url?scp=85174624747&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85174624747&partnerID=8YFLogxK
U2 - 10.1109/SOCC58585.2023.10256731
DO - 10.1109/SOCC58585.2023.10256731
M3 - Conference contribution
AN - SCOPUS:85174624747
T3 - International System on Chip Conference
BT - Proceedings - 2023 IEEE 36th International System-on-Chip Conference, SOCC 2023
A2 - Becker, Jurgen
A2 - Marshall, Andrew
A2 - Harbaum, Tanja
A2 - Ganguly, Amlan
A2 - Siddiqui, Fahad
A2 - McLaughlin, Kieran
PB - IEEE Computer Society
Y2 - 5 September 2023 through 8 September 2023
ER -