NaCl () - «проста у використанні, високошвидкісна програмна бібліотека для мережевих комунікацій, шифрування, дешифрування, підписів і т.п.».
Бібліотека була створена математиком і програмістом Деніелом Бернштайном, який відомий більше як творець qmail і . До ядра команди також входять Таня Ланге й Пітер Швабе. Проектуючи та реалізовуючи бібліотеку розробники намагались «уникнути різноманітних криптографічних катастроф, що сталися із попередніми криптографічними бібліотеками, такими як OpenSSL».
Базові функції
Криптосистема з відкритим ключем Аутентифікаційне шифрування з використанням , Salsa20 і Електронні підписи з використанням EdDSA Прийняття ключа за допомогою
Криптосистема із закритим ключем Аутентифікаційне шифрування з використанням Salsa20 і Шифрування за допомогою Salsa20 або Advanced Encryption Standard AES Аутентифікація за допомогою механізму HMAC — SHA-512-256 Одноразова аутентифікація за допомогою
Низькорівневі функції Гешування за допомогою SHA-512 або SHA-256 Порівняння рядків
Реалізації Еталонна реалізація написана на Сі з . Для C++ і Python написані обгортки.
NaCl має прив'язки для різних мов, таких як PHP, є основою для Libsodium .
Альтернативні реалізації — переносна кросплатформена сумісність з API версія NaCl — зменшена бібліотека на Сі, вміщується в 100 твітів (близько 14000 символів), також сумісна з API — порт на Tcl — порт TweetNaCl на JavaScript
Примітки
Посилання