Abstract

In 2015, the National Institute of Standards and Technology (NIST) announced Keccak as the new primitive to be used in SHA3, not replacing but complementing SHA2. The Keccak primitive, based on a sponge construction, has flexible parameters that can be controlled by the user to fit the needs of the application. However, the SHA3 standard constrains and predefines the Keccak parameters to be used and thus making its use less flexible.In this paper we try to understand the influence of these parameters with respect to memory size and throughput, specifically for constrained devices used in the Internet of Things (IoT) where speed and efficiency is important. Apart from evaluations of the code on real devices, a mathematical model is also presented which helps predicting the performance of the Keccak primitive. We also compare the standard functions from SHA2 with SHA3 on different platforms. All implementations of SHA2, SHA3 and Keccak are purely written in Rust, since Rust guarantees safe memory manipulation whilst having the same performance as C.Our measurements show that for the software implementations SHA2 is always faster than SHA3 on all tested platforms. When only looking at the Keccak construction, Keccak-f[800] always outperforms other permutations based on Keccak-f when the capacity c stays below 276 bits. In addition, Keccak-f[800] has the added advantage of using less flash memory on 32-bit platforms.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.