NaCl: Networking and Cryptography library |
Computer Aided Cryptography Engineering |
|
IntroductionNaCl (pronounced "salt") is a new easy-to-use high-speed software library for network communication, encryption, decryption, signatures, etc. NaCl's goal is to provide all of the core operations needed to build higher-level cryptographic tools.Of course, other libraries already exist for these core operations. NaCl advances the state of the art by improving security, by improving usability, and by improving speed. ContributorsNaCl is part of the CACE (Computer Aided Cryptography Engineering) project funded by the European Commission's Seventh Framework Programme (FP7), contract number ICT-2008-216499. CACE activities are organized into several Work Packages (WPs). NaCl is the main task of CACE WP2, "Accelerating Secure Networking," led by Tanja Lange (at Technische Universiteit Eindhoven) and Daniel J. Bernstein (at the University of Illinois at Chicago, currently visiting Eindhoven).NaCl benefits from close collaboration with two other projects. The NaCl API is based on, and has influenced, the SUPERCOP (System for Unified Performance Evaluation Related to Cryptographic Operations and Primitives) API developed for the eBACS (ECRYPT Benchmarking of Cryptographic Systems) project. Many of the algorithms used in NaCl were developed as part of Daniel J. Bernstein's High-Speed Cryptography project funded by the U.S. National Science Foundation, grant number ITR-0716498. "Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation." Peter Schwabe at Technische Universiteit Eindhoven wrote AES software that has set speed records on the UltraSPARC, PowerPC, Pentium 4, Athlon 64, and Core 2, and that will be integrated into NaCl. Adam Langley at Google contributed the donna and donna_c64 implementations of Curve25519 in C NaCl and a prototype Python NaCl wrapper around C NaCl. Matthew Dempsky at Mochi Media contributed the ref implementation of Curve25519 in C NaCl and reference implementations of many functions in Python NaCl. VersionThis is version 2009.03.10 of the index.html web page. |