Paper 2024/1083

LEA Block Cipher in Rust Language: Trade-off between Memory Safety and Performance

Sangwon Kim, Hansung University
Siwoo Eum, Hansung University
Minho Song, Hansung University
Hwajeong Seo, Hansung University
Abstract

Cryptography implementations of block cipher have been written in C language due to its strong features on system-friendly features. However, the C language is prone to memory safety issues, such as buffer overflows and memory leaks. On the other hand, Rust, novel system programming language, provides strict compile-time memory safety guarantees through its ownership model. This paper presents the implementation of LEA block cipher in Rust language, demonstrating features to prevent common memory vulnerabilities while maintaining performance. We compare the Rust implementation with the traditional C language version, showing that while Rust incurs a reasonable memory overhead, it achieves comparable the execution timing of encryption and decryption. Our results highlight Rust’s suitability for secure cryptographic applications, striking the balance between memory safety and execution efficiency.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint.
Keywords
RustMemory SafetyLEAOwnership Rules
Contact author(s)
kim3875 @ gmail com
shuraatum @ gmail com
smino0906 @ gmail com
hwajeong84 @ gmail com
History
2024-07-05: approved
2024-07-03: received
See all versions
Short URL
https://ia.cr/2024/1083
License
No rights reserved
CC0

BibTeX

@misc{cryptoeprint:2024/1083,
      author = {Sangwon Kim and Siwoo Eum and Minho Song and Hwajeong Seo},
      title = {{LEA} Block Cipher in Rust Language: Trade-off between Memory Safety and Performance},
      howpublished = {Cryptology ePrint Archive, Paper 2024/1083},
      year = {2024},
      note = {\url{https://eprint.iacr.org/2024/1083}},
      url = {https://eprint.iacr.org/2024/1083}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.