stringtranslate.com

Nettle (криптографическая библиотека)

Nettle — это криптографическая библиотека, разработанная для легкого встраивания в широкий спектр наборов инструментов и приложений. Она началась как набор низкоуровневых криптографических функций из lsh в 2001 году. [2] С июня 2009 года (версия 2.0) Nettle является пакетом GNU. [3]

Функции

Начиная с версии 3, nettle предоставляет блочный шифр AES (подмножество Rijndael) (с оптимизацией сборки для x86 и sparc), потоковый шифр ARCFOUR (также известный как RC4) (с оптимизацией сборки x86 и sparc), потоковый шифр ARCTWO (также известный как RC2), BLOWFISH , CAMELLIA (с оптимизацией сборки x86 и x86_64), блочные шифры CAST-128 , DES и 3DES , потоковый шифр ChaCha (с оптимизацией сборки для x86_64), GOSTHASH94 , дайджесты MD2 , MD4 и MD5 (с сборкой x86) , функцию вывода ключа PBKDF2 , коды аутентификации сообщений POLY1305 (с оптимизацией сборки для x86_64) и UMAC , RIPEMD160 , потоковый шифр Salsa20 (с оптимизацией сборки для x86_64 и ARM), блочный шифр SERPENT (с ассемблированием для x86_64), SHA-1 (с ассемблированием x86, x86_64 и ARM), дайджесты SHA-2 (SHA-224, SHA-256, SHA-384 и SHA-512), SHA-3 (подмножество семейства дайджестов Keccak), блочный шифр TWOFISH , алгоритмы открытого ключа RSA , DSA и ECDSA , Yarrow pRNG . В версии 3.1 появилась поддержка операций Curve25519 и EdDSA . [4] Алгоритмы открытого ключа используют GMP . [5]

Nettle используется GnuTLS .

Лицензия и мотивация

API, который хорошо подходит для одного приложения, может не работать хорошо в другом контексте, что приводит к распространению криптографических библиотек, разработанных для конкретных приложений. Nettle — это попытка избежать этой проблемы, делая одну вещь (низкоуровневую криптографию) и предоставляя к ней простой и общий интерфейс. В частности, Nettle не делает выбор алгоритма, выделение памяти или какой-либо ввод-вывод. Таким образом, Nettle предназначен для предоставления базовой криптографической библиотеки, на которой могут быть построены многочисленные интерфейсы, специфичные для приложений и контекста. Код, тестовые случаи, бенчмарки, документация и т. д. этих интерфейсов затем могут быть совместно использованы без необходимости копирования криптографического кода Nettle. [6]

Nettle в первую очередь лицензируется по схеме двойной лицензии, включающей GNU General Public License версии 2 или более поздней и GNU Lesser General Public License версии 3 или более поздней. Несколько отдельных файлов лицензированы по более разрешительным лицензиям или находятся в общественном достоянии . Уведомления об авторских правах в верхней части исходных файлов библиотеки точно определяют статус лицензии конкретных файлов. [7]

Руководство Nettle «находится в общественном достоянии» и может свободно использоваться и воспроизводиться. [8]

Смотрите также

Ссылки

  1. ^ Нильс Мёллер (16 июня 2024 г.). "АНОНС: Nettle-3.10" . Получено 16 июня 2024 г.
  2. ^ Нильс Мёллер (25 сентября 2001 г.). "АНОНС: Nettle-1.0" . Получено 29 ноября 2010 г.
  3. ^ Нильс Мёллер (30 июня 2009 г.). "Криптографическая библиотека GNU Nettle" . Получено 29 ноября 2010 г.
  4. ^ "Nettle NEWS file @ git tag nettle3.5_rc1". 15 июня 2019 г. Получено 25 июня 2019 г.
  5. ^ Нильс Мёллер. "Nettle Library Copyright Notice" . Получено 5 июня 2014 г.
  6. ^ Нильс Мёллер. "Nettle Library: Introduction" . Получено 5 июня 2014 г. .
  7. ^ Нильс Мёллер. "Nettle Library Copyright Notice" . Получено 5 июня 2014 г.
  8. ^ Нильс Мёллер. "Nettle Library Copyright Notice" . Получено 5 июня 2014 г.