NaCl (библиотека)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
NaCl
Тип библиотека функций, проект и свободное и открытое программное обеспечение
Автор Daniel J. Bernstein[d], Таня Ланге[d] и Швабе, Питер[d]
Разработчик Daniel J. Bernstein[d][1], Таня Ланге[d][2] и Швабе, Питер[d][2]
Написана на Си[4], C++ и Python
Операционная система UNIX-подобные операционные системы
Первый выпуск 2008
Последняя версия
Лицензия общественное достояние
Сайт nacl.cr.yp.to

NaCl — аббревиатура от «Networking and Cryptography library» с англ. — «библиотека для работы с сетью и криптографией», является общественным достоянием как «… высокоскоростная программная библиотека для связи по сети, шифрования, дешифрования, подписей и т. д.»[5]

Библиотека была создана математиком и программистом Дэниелом Бернштейном[en], известным более как создатель qmail и Curve25519[en]. В числе главных разработчиков есть Таня Ланге[d] и Питер Швабе[d]. Главной целью, которой хотели достичь разработчики — это «избежание различных неудач, случившихся с ранее создаными криптографическими библиотеками»[6].

Базовые функции[править | править код]

Криптосистема с открытым ключом[править | править код]

Криптосистема с закрытым ключом[править | править код]

Низкоуровневые функции[править | править код]

Реализации[править | править код]

Реализация ссылок была написана на Си с частыми вставками ассемблера. C++ и Python выступают в роли обёртки[9].

NaCl реализован в различных языках, например, PHP[10], является частью Libsodium[⇨].

Альтернативные реализации[править | править код]

Примечания[править | править код]

  1. NaCl: Networking and Cryptography library — 2016.
  2. 1 2 NaCl: Networking and Cryptography library — 2016.
  3. Installation — 2016.
  4. Features — 2011.
  5. nacl.cr.yp.to
  6. Daniel J. Bernstein, Tanja Lange и Peter Schwabe. The security impact of a new cryptographic library (англ.) (25 July 2012). — «Permanent ID of this document: 5f6fc69cc5a319aecba43760c56fab04». Дата обращения 18 августа 2017. Архивировано 9 августа 2017 года.
  7. Hashing: crypto_hash (англ.) (30 August 2010). Дата обращения 18 августа 2017.
  8. Daniel J. Bernstein. Cryptography in NaCl (англ.). Department of Computer Science (MC 152) The University of Illinois at Chicago Chicago, IL 60607–7053 (10 March 2009). — «Permanent ID of this document: 1ae6a0ecef3073622426b3ee56260d34». Дата обращения 18 августа 2017. Архивировано 25 марта 2017 года.
  9. Internals (англ.) (26 June 2011). Дата обращения 18 августа 2017.
  10. Gasol. NaCl PHP Extension (англ.). GitHub. Дата обращения 18 августа 2017.
  11. Сайт Libsodium
  12. Сайт TweetNaCl
  13. Сайт NaCl for Tcl
  14. Сайт NaCl for JavaScript