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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
NaCl
Тип бібліотека
проєкт і вільне та відкрите програмне забезпечення
Автор Даніель Джуліус Бернстайн, Tanja Langed і Peter Schwabed
Розробники Даніель Джуліус Бернстайн[2], Tanja Langed[1] і Peter Schwabed[1]
Операційна система UNIX-подібні операційні системи
Мова програмування C[3] і C++
Вебсайт nacl.cr.yp.to

NaCl (англ. Networking and Cryptography library) - «проста у використанні, високошвидкісна програмна бібліотека для мережевих комунікацій, шифрування, дешифрування, підписів і т.п.»[4].

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

Базові функції[ред. | ред. код]

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

Криптосистема із закритим ключем[ред. | ред. код]

Низькорівневі функції[ред. | ред. код]

Реалізації[ред. | ред. код]

Еталонна реалізація написана на Сі з ассемблерними вставками[en]. Для C++ і Python написані обгортки[10].

NaCl має прив'язки для різних мов, таких як PHP[11], є основою для Libsodium [⇨].

Альтернативні реалізації[ред. | ред. код]

Примітки[ред. | ред. код]

  1. а б в NaCl: Networking and Cryptography library — 2016.
  2. NaCl: Networking and Cryptography library — 2016.
  3. Features — 2011.
  4. NaCl: Networking and Cryptography library: Introduction. Архів оригіналу за 7 жовтня 2017. Процитовано 25 червня 2018.
  5. Домашня сторінка Тані Ланге. Архів оригіналу за 23 червня 2018. Процитовано 25 червня 2018. (англ.)
  6. Домашня сторінка Пітера Швабе. Архів оригіналу за 5 липня 2012. Процитовано 25 червня 2018.
  7. Daniel J. Bernstein, Tanja Lange і Peter Schwabe (25 липня 2012). The security impact of a new cryptographic library (PDF) (англ.). Архів оригіналу (PDF) за 9 серпня 2017. Процитовано 18 серпня 2017. Permanent ID of this document: 5f6fc69cc5a319aecba43760c56fab04
  8. Hashing: crypto_hash url = https://nacl.cr.yp.to/hash.html (англ.). 30 серпня 2010. {{cite web}}: |access-date= вимагає |url= (довідка); Пропущений або порожній |url= (довідка)
  9. Daniel J. Bernstein (2009-03- 10). Cryptography in NaCl (PDF) (англ.). Department of Computer Science (MC 152) The University of Illinois at Chicago Chicago, IL 60607-7053. Архів оригіналу (PDF) за 25 березня 2017. Процитовано 18 серпня 2017. Permanent ID of this document: 1ae6a0ecef3073622426b3ee56260d34
  10. Internals (англ.). 26 червня 2011. Архів оригіналу за 18 серпня 2017. Процитовано 18 серпня 2017.
  11. Gasol. NaCl PHP Extension. GitHub (англ.). Архів оригіналу за 11 червня 2018. Процитовано 18 серпня 2017.
  12. Сайт Libsodium. Архів оригіналу за 24 вересня 2019. Процитовано 10 травня 2022.
  13. Сайт TweetNaCl. Архів оригіналу за 20 лютого 2022. Процитовано 10 травня 2022.
  14. Сайт NaCl for Tcl. Архів оригіналу за 9 грудня 2017. Процитовано 13 квітня 2018.
  15. Сайт NaCl for JavaScript. Архів оригіналу за 7 лютого 2018. Процитовано 13 квітня 2018.

Посилання[ред. | ред. код]