Jump to content

NaCl (программное обеспечение)

NaCl
Оригинальный автор(ы) Дэниэл Дж. Бернштейн , Таня Ланге , Питер Швабе
Первоначальный выпуск 2008 год ; 16 лет назад ( 2008 )
Стабильная версия
20110221 / 21 февраля 2011 г .; 13 лет назад ( 21 февраля 2011 )
Операционная система UNIX-подобный
Лицензия общественное достояние [1]
Веб-сайт накл .cr .yp

NaCl ( Библиотека сетей и криптографии , произносится как «соль») — общедоступная высокоскоростная программная библиотека для криптографии . [2]

NaCl был создан математиком и программистом Дэниелом Дж. Бернштейном , который наиболее известен созданием qmail и Curve25519 . В основную команду также входят Таня Ланге и Питер Швабе. [3] [4] Согласно документу команды от 2011 года, основной целью создания NaCl было «избежать различных типов криптографических катастроф, от которых пострадали предыдущие криптографические библиотеки». Команда делает это за счет более безопасных проектов, которые позволяют избежать таких проблем, как утечка по побочным каналам и потеря случайности, обеспечивая достаточную производительность, чтобы функции безопасности не отключались пользователем, и выбирая лучшие криптографические примитивы. Высокоуровневый «коробочный» API предназначен для поощрения использования шифрования с проверкой подлинности . [1]

Криптография с открытым ключом

[ редактировать ]

Криптография с секретным ключом

[ редактировать ]

Функции низкого уровня

[ редактировать ]

Реализации

[ редактировать ]

Эталонная реализация написана на C , часто с использованием нескольких встроенных ассемблеров . C++ обрабатывается как оболочка. Была запланирована оболочка Python , [8] но не является частью последней версии (20110221). На домашней странице, последний раз обновленной в 2016 году, упоминаются оболочки прототипов. [2]

Справочник NaCl имеет множество привязок к языкам программирования, таким как PHP. [9] и Ткл. [10] [ нужен сторонний источник ]

Либнатрий

[ редактировать ]

Libsodium — это API-совместимая версия эталонного NaCl, созданная в 2013 году. Его можно «устанавливать и упаковывать», то есть, другими словами, его можно скомпилировать в динамическую библиотеку и установить в виде пакета программного обеспечения благодаря добавлению файлов сборки (у NaCl их не было). ). Он также «переносим и кросс-компилируем». [11]

Поскольку libsodium может быть динамически скомпонован, он служит основой для ряда привязок в таких языках, как Pharo , [12] Перл 5, [13] и Питон. [14] [15]

libsodium также расширяет API NaCl новыми алгоритмами (например, BLAKE2 , [16] ЧаЧа20-Поли1305 , AEGIS) [17] и новые классы функций (например, защищенная память, генерация случайных чисел , хеширование с коротким вводом, [18] хеширование паролей и получение ключей ).

ТвитнутьNaCl

[ редактировать ]

В 2013 году команда NaCl и еще три человека выпустили TweetNaCl — сокращенную реализацию 25 функций NaCl, которая умещается в размере 100 твитов (по 140 символов каждый). [19]

TweetNaCl использовался в качестве основы для портов, включая TweetNaCl.js. [20] и TweetNaCl-Java. [21] Он также был переписан в подмножестве SPARK Ada как SPARKNaCl, который авторы описывают как «(в отличие от TweetNaCl) читаемый благодаря большому количеству пояснительных комментариев и контрактов в коде». [22]

Другие реализации

[ редактировать ]
  • Dryoc — библиотека шифрования на чистом Rust , реализующая API libsodium/NaCl с поддержкой защищенной памяти . [23]
  • Monocypher — переписанный вариант NaCl на C. Цель — обеспечить скорость обращения к NaCl и размер TweetNaCl. [24]

См. также

[ редактировать ]
  1. ^ Jump up to: а б Дэниел Дж. Бернштейн; Таня Ланге; Питер Швабе. «Влияние новой криптографической библиотеки на безопасность» (PDF) . Архивировано (PDF) из оригинала 9 августа 2017 г.
  2. ^ Jump up to: а б «NaCl: библиотека сетей и криптографии» .
  3. ^ «Домашняя страница Тани Ланге» .
  4. ^ «Домашняя страница Питера Швабе» .
  5. ^ Бернштейн, Дэниел Дж. (10 марта 2009 г.). Криптография в NaCl (PDF) . Архивировано (PDF) из оригинала 25 марта 2017 г. Проверено 8 февраля 2016 г.
  6. ^ «Хеширование: crypto_hash» . 30 августа 2010 г. Проверено 14 ноября 2015 г.
  7. ^ «Сравнение строк: crypto_verify» . nacl.cr.yp.to . Проверено 19 января 2024 г.
  8. ^ «Внутреннее содержание NaCl» .
  9. ^ «Расширение NaCl PHP» . Гитхаб. 14.06.2019.
  10. ^ «Tclers Wiki — NaCl для Tcl» .
  11. ^ Денис, Фрэнк (18 января 2024 г.). «libsodium: современная, портативная и простая в использовании криптобиблиотека» .
  12. ^ «Репозиторий SmalltalkHub» .
  13. ^ «Склеп::NaCl::Натрий» .
  14. ^ Криптографический орган Python (18 января 2024 г.). "pyca/pynacl" . Гитхаб . PyNaCl — это привязка Python к libsodium, который является ответвлением библиотеки Networking and Cryptography.
  15. ^ «Привязки для других языков» . либнатрий .
  16. ^ «Общее хеширование» . 13 декабря 2017 г. Проверено 19 мая 2018 г.
  17. ^ «АЕАД конструкции» . либнатрий .
  18. ^ «Хеширование с коротким вводом» . либнатрий .
  19. ^ Дэниел Дж. Бернштейн; Бернар ван Гастель; Уэсли Янссен; Таня Ланге; Питер Швабе; Шахматные Смитерс (2013). «ТвитНаКл» .
  20. ^ "TweetNaCl.js" .
  21. ^ «ТвитнутьNaCl-Java» .
  22. ^ «СПАРКNaCl» .
  23. ^ «Не используйте свою собственную криптографию (dryoc): чистая библиотека шифрования Rust, которую трудно использовать неправильно» .
  24. ^ Вайлант, Лу (17 января 2024 г.). «ЛупВайлант/Моношифр» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 979803a99eb9c89284834964f6dc6d55__1716662280
URL1:https://arc.ask3.ru/arc/aa/97/55/979803a99eb9c89284834964f6dc6d55.html
Заголовок, (Title) документа по адресу, URL1:
NaCl (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)