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

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
NaCl

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

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

Базовые функции

Криптосистема с открытым ключом

Криптосистема с закрытым ключом

Низкоуровневые функции

Реализации

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

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

Альтернативные реализации

Примечания

  1. 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 года.
  2. Hashing: crypto_hash (англ.) (30 августа 2010). Дата обращения: 18 августа 2017. Архивировано 2 сентября 2017 года.
  3. 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 года.
  4. Internals (англ.) (26 июня 2011). Дата обращения: 18 августа 2017. Архивировано 18 августа 2017 года.
  5. Gasol. NaCl PHP Extension (англ.). GitHub. Дата обращения: 18 августа 2017. Архивировано 11 июня 2018 года.
  6. Сайт Libsodium. Дата обращения: 15 марта 2022. Архивировано 24 сентября 2019 года.
  7. Сайт TweetNaCl. Дата обращения: 15 марта 2022. Архивировано 20 февраля 2022 года.
  8. Сайт NaCl for Tcl. Дата обращения: 18 августа 2017. Архивировано 9 декабря 2017 года.
  9. Сайт NaCl for JavaScript. Дата обращения: 18 августа 2017. Архивировано 7 февраля 2018 года.