1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Icey9-intel-ipsec-mb

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README
**Intel Multi-Buffer Crypto for IPsec Library**

Март 2018 г.

Содержание:

— Обзор;
— Процессорные расширения;
— Рекомендации;
— Содержимое пакета;
— Компиляция;
— Установка;
— Правовая оговорка.

Обзор

Intel Multi-Buffer Crypto for IPsec Library представляет собой оптимизированные программные реализации основных криптографических процессов для IPsec, которые обеспечивают лучшую в отрасли производительность на различных процессорах Intel(R).

Для получения информации о том, как создать и использовать эту библиотеку, см. «Белую книгу» Intel: «Быстрые многобуферные реализации IPsec на процессорах архитектуры Intel». Авторы: Джим Гилфорд, Шон Галли и др.

Самый простой способ найти её — это поискать в интернете по названию и «Белой книге» Intel.

Таблица 1. Список поддерживаемых алгоритмов шифрования и их реализаций.
| | Реализация |
| :-- |:--:|
| Шифрование | x86_64 | SSE | AVX | AVX2 | AVX512 | VAES(6)|
| --- | --- | --- | --- | --- | --- | --- |
| AES128-GCM | N | Y by8 | Y by8 | Y by8 | Y by8 | Y x4by8|
| AES192-GCM | N | Y by8 | Y by8 | Y by8 | Y by8 | Y x4by8|
| AES256-GCM | N | Y by8 | Y by8 | Y by8 | Y by8 | Y x4by8|
| AES128-CCM | Y(1) | Y by4 | Y by8 | N | N | N |
| AES128-CBC | N | Y(2) | Y(4) | N | N | N |
| AES192-CBC | N | Y(2) | Y(4) | N | N | N |
| AES256-CBC | N | Y(2) | Y(4) | N | N | N |
| AES128-CTR | N | Y by4 | Y by8 | N | N | N |
| AES192-CTR | N | Y by4 | Y by8 | N | N | N |
| AES256-CTR | N | Y by4 | Y by8 | N | N | N |
| NULL | Y | N | N | N | N | N |
| AES128-DOCSIS | N | Y(3) | Y(5) | N | N | N |
| DES-DOCSIS | Y | N | N | N | Y x16 | N |
| 3DES | Y | N | N | N | Y x16 | N |
| DES | Y | N | N | N | Y x16 | N |

Примечания:
(1) — код планировщика AES128-CCM реализован на C в настоящее время. Базовый алгоритм AES128-CTR использует SSE и AVX.
(2,3) — расшифровка by4, шифрование x4.
(4,5) — расшифровка by8, шифрование x8.
(6) — AVX512 плюс расширения VAES и VPCLMULQDQ.

Легенда:
byY — один буфер Y блоков за раз.
xY — Y буферов одновременно.

В качестве примера того, как читать таблицы 1 и 2, если кто-то использует интерфейс AVX512 для выполнения шифрования AES128-CBC, то нет собственной реализации AVX512 для этого шифра. В таком случае библиотека использует наилучшую доступную реализацию, которая является AVX для AES128-CBC.

Таблица 2. Список поддерживаемых алгоритмов целостности и их реализаций.
+-------------------------------------------------------------------------+
|                   |                   Implementation                    |
| Integrity         +-----------------------------------------------------|
|                   | x86_64 | SSE    | AVX    | AVX2   | AVX512 | VAES(4)|
|-------------------+--------+--------+--------+--------+--------+--------|
| AES-XCBC-96       | N      | Y   x4 | Y   x8 | N      | N      | N      |
| HMAC-MD5-96       | Y(1)   | Y x4x2 | Y x4x2 | Y x8x2 | N      | N      |
| HMAC-SHA1-96      | N      | Y(3)x4 | Y   x4 | Y   x8 | Y  x16 | N      |
| HMAC-SHA2-224_112 | N      | Y(3)x4 | Y   x4 | Y   x8 | Y  x16 | N      |
| HMAC-SHA2-256_128 | N      | Y(3)x4 | Y   x4 | Y   x8 | Y  x16 | N      |
| HMC-SHA2-384_192  | N      | Y   x2 | Y   x2 | Y   x4 | Y   x8 | N      |
| HMC-SHA2-512_256  | N      | Y   x2 | Y   x2 | Y   x4 | Y   x8 | N      |
| AES128-GMAC       | N

*Примечание: в тексте запроса могут быть неточности перевода.* **Перевод текста на русский язык:**

Алгоритмы, перечисленные в таблице ниже, реализованы в библиотеке для поддержки устаревших приложений. Пожалуйста, используйте соответствующие альтернативные алгоритмы.

| № | Алгоритм | Рекомендация | Альтернатива |
|---|----------|-------------|--------------|
| 1 | DES-шифрование | Избегать | AES-шифрование |
|---|----------|-------------|--------------|
| 2 | 3DES-шифрование | Избегать | AES-шифрование |
|---|----------|-------------|--------------|
| 3 | HMAC-MD5 целостность | Устаревший | HMAC-SHA1 |

**Содержание пакета**

LibTestApp — тестовое приложение библиотеки
LibPerfApp — приложение для тестирования производительности библиотеки
sse — оптимизированные процедуры Intel(R) SSE
avx — оптимизированные процедуры Intel(R) AVX
avx2 — оптимизированные процедуры Intel(R) AVX2
avx512 — оптимизированные процедуры Intel(R) AVX512
no-aesni — неоптимизированные процедуры

**Компиляция**

Linux (только 64-битная версия)
-------------------

Необходимые инструменты:
— GNU make
— NASM версии 2.13.03 или новее
— gcc (GCC) версии 4.8.3 или новее

Общая библиотека:
> make

Статическая библиотека:
> make SHARED=n

Очистка сборки:
> make clean
или
> make clean SHARED=n

Сборка с отладочной информацией:
> make DEBUG=y

Примечание: сборка с отладочной информацией не рекомендуется для использования в производстве.

Windows (только x64)
------------------

Необходимые инструменты:
— Microsoft (R) Visual Studio 2015:
  — NMAKE: Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
  — CL: Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x64
  — LIB: Microsoft (R) Library Manager Version 14.00.24215.1
  — LINK: Microsoft (R) Incremental Linker Version 14.00.24215.1
  — Примечание: сборка на более поздних версиях должна работать, но не проверена
— NASM версии 2.13.03 или новее

Общая библиотека (DLL):
> nmake /f win_x64.mak

Статическая библиотека:
> nmake /f win_x64.mak SHARED=n

Очистка сборки:
> nmake /f win_x64.mak clean
или
> nmake /f win_x64.mak clean SHARED=n

Сборка с отладочной информацией:
> nmake /f win_x64.mak DEBUG=y

Примечание: сборка с отладочной информацией не рекомендуется для использования в производстве.

**Установка**

Linux (только 64-битная версия)
-------------------

Сначала скомпилируйте библиотеку, затем установите:
> make
> sudo make install

Чтобы удалить библиотеку, выполните:
> sudo make uninstall

Если вы хотите изменить место установки, определите PREFIX
> sudo make install PREFIX=<путь>

Если нет необходимости запускать ldconfig на этапе установки, используйте опцию NOLDCONFIG=y.
> sudo make install NOLDCONFIG=y

Если библиотека была скомпилирована как архив (не по умолчанию), установите её с помощью опции SHARED=n:
> sudo make install SHARED=n

Windows (только x64)
------------------

Сначала скомпилируйте библиотеку, а затем установите из командной строки в режиме администратора:
> nmake /f win_x64.mak
> nmake /f win_x64.mak install

Чтобы удалить библиотеку, запустите:
> nmake /f win_x64.mak uninstall

Если вы хотите изменить местоположение установки, определите PREFIX (по умолчанию C:\Program Files)
> nmake /f win_x64.mak install PREFIX=<path>

Если библиотека была скомпилирована как статическая библиотека (не по умолчанию), то установите её, используя опцию SHARED=n:
> nmake /f win_x64.mak install SHARED=n

**Отказ от ответственности**

ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ КОМПАНИЕЙ INTEL «КАК ЕСТЬ». НИКАКИЕ ЛИЦЕНЗИИ, ЯВНЫЕ ИЛИ ПОДРАЗУМЕВАЕМЫЕ, ОТСТУПНЫЕ ИЛИ ИНЫЕ, НА ЛЮБЫЕ ПРАВА ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ НЕ ПРЕДОСТАВЛЯЮТСЯ ЧЕРЕЗ ИСПОЛЬЗОВАНИЕ. ЗА ИСКЛЮЧЕНИЕМ СЛУЧАЕВ, ПРЕДУСМОТРЕННЫХ УСЛОВИЯМИ ПРОДАЖИ INTEL, INTEL НЕ ПРИНИМАЕТ НА СЕБЯ КАКОЙ-ЛИБО ОТВЕТСТВЕННОСТИ И INTEL ОТКАЗЫВАЕТСЯ ОТ ЛЮБЫХ ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ, КАСАЮЩИХСЯ ПРОДАЖИ И/ИЛИ ИСПОЛЬЗОВАНИЯ ПРОДУКТОВ INTEL, ВКЛЮЧАЯ ОТВЕТСТВЕННОСТЬ ИЛИ ГАРАНТИИ В ОТНОШЕНИИ ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ, КОММЕРЧЕСКОЙ ЦЕННОСТИ ИЛИ НАРУШЕНИЯ ЛЮБОГО ПАТЕНТА, АВТОРСКОГО ПРАВА ИЛИ ДРУГОГО ПРАВА INTEL НА ИНТЕЛЛЕКТУАЛЬНУЮ СОБСТВЕННОСТЬ.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Intel(R) Multi-Buffer Crypto for IPsec Library. Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/Icey9-intel-ipsec-mb.git
git@api.gitlife.ru:oschina-mirror/Icey9-intel-ipsec-mb.git
oschina-mirror
Icey9-intel-ipsec-mb
Icey9-intel-ipsec-mb
master