NaCl (pronunțat „salt”)este o nouă bibliotecă software de mare viteză, ușor de utilizat, pentru comunicații în rețea, criptare, decriptare, semnături, etc.Scopul NaCl este de a furniza toate operațiile de bază necesare pentru a construi instrumente criptografice de nivel superior.
Desigur, există deja alte biblioteci pentru aceste operații de bază.NaCl avansează stadiul actual al tehnicii prin îmbunătățirea securității, prin îmbunătățirea ușurinței de utilizare și prin îmbunătățirea vitezei.
Următorul raport pune în contrast NaCl cu alte biblioteci din perspectiva securității:(PDF)Daniel J. Bernstein, Tanja Lange, Peter Schwabe, „The security impact of a new cryptographic library”.Pages 159-176 inProceedings of LatinCrypt 2012, edited by Alejandro Hevia and Gregory Neven,Lecture Notes in Computer Science 7533,Springer, 2012.ISBN 978-3-642-33480-1.
Următorul raport a fost creat pentru Research Plazași oferă o introducere în NaCl pentru un public mai larg:(PDF)
Caracteristici viitoare
Caracteristici majore în următoarea versiune a NaCl:suport complet pentru PIC, pentru o integrare ușoară în alte limbaje;semnături Ed25519 (disponibile în prezent în SUPERCOP);optimizări NEON.
Contribuitori
Echipa de bază a dezvoltării NaCl este formată dinDaniel J. Bernstein (University of Illinois at Chicago și Technische Universiteit Eindhoven),Tanja Lange (Technische Universiteit Eindhoven) și Peter Schwabe (Radboud Universiteit Nijmegen).
NaCl a fost inițiat în cadrul proiectuluiCACE (Computer Aided Cryptography Engineering) finanțat de cel de-al șaptelea program-cadru (FP7) al Comisiei Europene, cu numărul de contract ICT-2008-216499, care se desfășoară între 2008 și 2010.Activitățile CACE au fost organizate în mai multe pachete de lucru (WP);NaCl a fost sarcina principală a WP2, „Accelerating Secure Networking”.Lucrările la NaCl la Technische Universiteit Eindhoven între 2008 și 2010 au fost sponsorizate de CACE.
NaCl beneficiază de o colaborare strânsă cu alte două proiecte.API-ul NaCl se bazează pe, și a influențat, API-ul SUPERCOP (System for Unified Performance Evaluation Relatedto Cryptographic Operations and Primitives) dezvoltat pentru proiectul eBACS (ECRYPT Benchmarking of Cryptographic Systems).Mulți dintre algoritmii și implementările utilizate în NaCl au fost dezvoltate în cadrul proiectului High-Speed Cryptography al lui Daniel J. Bernstein, finanțat de U.S. National Science Foundation, cu numărul de grant 0716498, și în cadrul proiectului Higher-Speed Cryptography, finanțat de U.S. National Science Foundation, cu numărul de grant 1018836.Lucrările la NaCl la Universitatea Illinois din Chicago au fost sponsorizate de aceste granturi. „Orice opinii, constatări și concluzii sau recomandări exprimate în acest material aparțin autorului (autorilor) și nu reflectă neapărat punctul de vedere al Fundației Naționale pentru Știință.”
Câteva dintre implementările din NaCl provin parțial sau în întregime de la terți.portabilitatea NaCl se bazează pe implementarea ref a Curve25519 scrisă de Matthew Dempsky (Mochi Media, acum Google).Din 2009 până în 2011, viteza NaCl pe procesoarele obișnuite Intel/AMD s-a bazat pe implementările donna și donna_c64 ale Curve25519 scrise de Adam Langley (Google).Cele mai noi implementări ale Curve25519 și Ed25519 au fost realizate împreună cu Niels Duif (Technische Universiteit Eindhoven)și Bo-Yin Yang (Academia Sinica).Implementarea core2 a AES a fost realizată împreună cu Emilia Käsper (Katholieke Universiteit Leuven, acum Google).
.