author        = {Michael Hutter and Peter Schwabe},
  title         = {NaCl on 8-bit AVR Microcontrollers},
  pages         = {156--172},
  doi           = {10.1007/978-3-642-38553-7_9},
  series        = {Lecture Notes in Computer Science},
  editor        = {Amr Youssef and Abderrahmane Nitaj and Aboul Ella Hassanien},
  volume        = {7918},
  booktitle     = {Progress in Cryptology -- AFRICACRYPT 2013, Sixth International Conference on Cryptology in Africa, Cairo, Egypt, June 22-24},
  year          = {2013},
  publisher     = {Springer},
  keywords      = {Elliptic-curve cryptography, Edwards curves, Curve25519, Ed25519, Salsa20, Poly1305, AVR, ATmega},
  abstract      = {This paper presents first results of the Networking and Cryptography library (NaCl) on the 8-bit AVR family of microcontrollers. We show that NaCl, which has so far been optimized mainly for different desktop and server platforms, is feasible on resource-constrained devices while being very fast and memory efficient. Our implementation shows that encryption using Salsa20 requires 268 cycles/byte, authentication using Poly1305 needs 195 cycles/byte, a Curve25519 scalar multiplication needs 22 791 579 cycles, signing of data using Ed25519 needs 23 216 241 cycles, and verification can be done within 32 634 713 cycles. All implemented primitives provide at least 128-bit security, run in constant time, do not use secret-data-dependent branch conditions, and are open to the public domain (no usage restrictions).}