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

Примітки

Посилання