NaCl (бібліотека)
| Тип | cryptographic libraryd IT projectd і public-domain softwared |
|---|---|
| Автор | Даніель Джуліус Бернстайн, Tanja Langed і Peter Schwabed |
| Розробники | Даніель Джуліус Бернстайн[1], Tanja Langed[2] і Peter Schwabed[2] |
| Операційна система | UNIX-подібні операційні системи |
| Мова програмування | C[3] і C++ |
| Вебсайт | nacl |
NaCl (англ. Networking and Cryptography library) - «проста у використанні, високошвидкісна програмна бібліотека для мережевих комунікацій, шифрування, дешифрування, підписів і т.п.»[4].
Бібліотека була створена математиком і програмістом Деніелом Бернштайном, який відомий більше як творець qmail і Curve25519. До ядра команди також входять Таня Ланге[5] й Пітер Швабе[6]. Проектуючи та реалізовуючи бібліотеку розробники намагались «уникнути різноманітних криптографічних катастроф, що сталися із попередніми криптографічними бібліотеками, такими як OpenSSL».[7]
Базові функції
Криптосистема з відкритим ключем
- Аутентифікаційне шифрування з використанням Curve25519, Salsa20 і Poly1305
- Електронні підписи з використанням EdDSA
- Прийняття ключа за допомогою Curve25519
Криптосистема із закритим ключем
- Аутентифікаційне шифрування з використанням Salsa20 і Poly1305
- Шифрування за допомогою Salsa20 або Advanced Encryption Standard AES
- Аутентифікація за допомогою механізму HMAC — SHA-512-256
- Одноразова аутентифікація за допомогою Poly1305
Низькорівневі функції
Реалізації
Еталонна реалізація написана на Сі з ассемблерними вставками. Для C++ і Python написані обгортки[10].
NaCl має прив'язки для різних мов, таких як PHP[11], є основою для Libsodium [⇨].
Альтернативні реалізації
- англ. Libsodium — переносна кросплатформена сумісність з API версія NaCl[12]
- англ. TweetNaCl — зменшена бібліотека на Сі, вміщується в 100 твітів (близько 14000 символів), також сумісна з API[13]
- англ. NaCl for Tcl — порт на Tcl[14]
- англ. NaCl for JavaScript — порт TweetNaCl на JavaScript[15]
Примітки
- ↑ NaCl: Networking and Cryptography library — 2016.
- ↑ а б в NaCl: Networking and Cryptography library — 2016.
- ↑ Features — 2011.
- ↑ NaCl: Networking and Cryptography library: Introduction. Архів оригіналу за 7 жовтня 2017. Процитовано 25 червня 2018.
- ↑ Домашня сторінка Тані Ланге. Архів оригіналу за 23 червня 2018. Процитовано 25 червня 2018. (англ.)
- ↑ Домашня сторінка Пітера Швабе. Архів оригіналу за 5 липня 2012. Процитовано 25 червня 2018.
- ↑ 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
- ↑ Hashing: crypto_hash url = https://nacl.cr.yp.to/hash.html (англ.). 30 серпня 2010.
{{cite web}}: Зовнішнє посилання в(довідка);|title=|access-date=вимагає|url=(довідка); Пропущений або порожній|url=(довідка); Пропущено вертикальну риску в:|title=(довідка) - ↑ 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
{{cite web}}: Обслуговування CS1: Сторінки з неправильним форматом в діапазонах дат (посилання) - ↑ Internals (англ.). 26 червня 2011. Архів оригіналу за 18 серпня 2017. Процитовано 18 серпня 2017.
- ↑ Gasol. NaCl PHP Extension. GitHub (англ.). Архів оригіналу за 11 червня 2018. Процитовано 18 серпня 2017.
- ↑ Сайт Libsodium. Архів оригіналу за 24 вересня 2019. Процитовано 10 травня 2022.
- ↑ Сайт TweetNaCl. Архів оригіналу за 20 лютого 2022. Процитовано 10 травня 2022.
- ↑ Сайт NaCl for Tcl. Архів оригіналу за 9 грудня 2017. Процитовано 13 квітня 2018.
- ↑ Сайт NaCl for JavaScript. Архів оригіналу за 7 лютого 2018. Процитовано 13 квітня 2018.
Посилання
Джерело: стаття у Вікіпедії та історія редагувань (автори).