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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Installation — 2016.
  2. NaCl: Networking and Cryptography library — 2016.
  3. 1 2 NaCl: Networking and Cryptography library — 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 июля 2012). — «Permanent ID of this document: 5f6fc69cc5a319aecba43760c56fab04». Дата обращения: 18 августа 2017. Архивировано из оригинала 9 августа 2017 года.
  7. Hashing: crypto_hash (англ.) (30 августа 2010). Дата обращения: 18 августа 2017. Архивировано 2 сентября 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 марта 2009). — «Permanent ID of this document: 1ae6a0ecef3073622426b3ee56260d34». Дата обращения: 18 августа 2017. Архивировано из оригинала 25 марта 2017 года.
  9. Internals (англ.) (26 июня 2011). Дата обращения: 18 августа 2017. Архивировано 18 августа 2017 года.
  10. Gasol. NaCl PHP Extension (англ.). GitHub. Дата обращения: 18 августа 2017. Архивировано 11 июня 2018 года.
  11. Сайт Libsodium. Дата обращения: 15 марта 2022. Архивировано 24 сентября 2019 года.
  12. Сайт TweetNaCl. Дата обращения: 15 марта 2022. Архивировано 20 февраля 2022 года.
  13. Сайт NaCl for Tcl. Дата обращения: 18 августа 2017. Архивировано 9 декабря 2017 года.
  14. Сайт NaCl for JavaScript. Дата обращения: 18 августа 2017. Архивировано 7 февраля 2018 года.