NaCl’s Crypto_box in Hardware

Michael J. Hutter, Jürgen Schilling, Peter Schwabe, Wolfgang Wieser · Lecture notes in computer science · 2015

This paper presents a low-resource hardware implementation of the widely used crypto_box function of the Networking and Cryptography library (NaCl). It supports the X25519 Diffie-Hellman key exchange using Curve25519, the Salsa20 stream cipher, and the Poly1305 message authenticator. Our targeted application is a secure communication between devices in the Internet of Things (IoT) and Internet servers. Such devices are highly resource-constrained and require carefully optimized hardware implementations. We propose the first solution that enables 128-bit-secure public-key authenticated encryption on passively-powered IoT devices like WISP nodes. From a cryptographic point of view we thus make a first step to turn these devices into fully-fledged participants of Internet communication. Our crypto processor needs a silicon area of 14.6 kGEs and less than 40 $$\mu $$ W of power at 1 MHz for a 130 nm low-leakage CMOS process technology.

Read the paper · More papers on PaperTik