Служебные списки

Проект:Информационные технологии/Списки/Реализации AES

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Здесь представлены различные варианты реализаций алгоритма Advanced Encryption Standard, также известного как Rijndael (произносится [rɛindaːl] (Рейндол))

Библиотеки[править код]

AES беслплатен для публичного, приватного, коммерческого и некоммерческого использования. Домашняя страница алгоритма, созданная авторами, доступна здесь:[1]. Следует соблюдать осторожность при программной реализации AES шифрования: как и большинство криптографических алгоритмов, Rijndael был разработан на системах Big-endian. По этой причине, Little-endian системы возвращают верный тестовый ответ только после изменения порядка байт во входящем и выходящем сообщении.

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

С осторожностью следует выбирать режим работы шифра. Самый простой режим зашифровывает и расшифровывает каждый 128-битный блок отдельно. В этом режиме, названном режимом электронной кодовой книги, одинаковые исходные блоки будут одинаково зашифрованы, что в целом является небезопасным. Это позволит злоумышленнику проследить общую структуру исходного сообщения в зашифрованном сообщении. Выбор других режимов, таких как наложение последовательного счетчика на блоки (CTR режим) и последующее его удаление после расшифровки, может решить эту проблему.

C/ASM библиотеки[править код]

C++ library[править код]

  • Botan реализовал Rijndael с самого первого выпуска в 2001.
  • Crypto++?! Всесторонняя реализация на C++ с полупубличной лицензией и реализацией криптографических и хэш-алгоритмов. Прошла проверку в FIPS.

C# /.NET[править код]

Delphi[править код]

Java[править код]

Javascript[править код]

LabVIEW[править код]

PHP[править код]

Python[править код]

  • PyCrypto
  • Keyczar (Java, Python, and C++ варианты)
  • M2Crypto, Python обертка для OpenSSL
  • Python AES
  • NCrypt, a Python обертка для OpenSSL собранная с использованием Pyrex
  • alo-aes
  • pycryptopp, набор оберток Python для некоторых лучших криптографических алгоритмов из библиотеки Crypto++
  • SlowAES, медленный но все же полезный, когда более быстрые варианты не доступны.
  • crypto_example, набор примеров использования PyCrypto. Демонстрирует лучшие практики симметричного шифрования. См. также: Cryptographic Right Answers созданную Colin Percival.

Flex / AS3[править код]

Приложения[править код]

Архиваторы и утилиты для компрессии[править код]

Файловые системы[править код]

Дисковое шифрование[править код]

Файловое шифрование[править код]

Шифрование для соединений в локальной сети[править код]

  • IEEE 802.11i, поправка к оригинальному стандарту IEEE 802.11 описывающему механизмы безопасности для беспроводных, использующие AES-128 в режиме CCMP.
  • ITU-T G.hn — стандарт, который позволяет создавать высокоскоростные (до 1 Гигабит/с) локальные сети используя существующую электропроводку (Связь по ЛЭП, телефонные линии и коаксиальный кабель), с шифрованием AES-128.

Разное[править код]

  • GPG, GPL-лицензированная, включает в себя AES, AES-192, и AES-256 в качестве опции.
  • IPsec
  • KeePass Password Safe
  • IronKey использует AES 128-bit и 256-bit в режиме CBC на аппаратной кодировании
  • OpenSSL поддерживает AES шифрование с версии 0.9.7 (выпущенной в 2002). Содержит двойную лицензию: OpenSSL License и оригинальнаяand the SSLeay license. FIPS верифицирована через компанию IBM.
  • Pidgin, имеет плагин, который поддерживает AES шифрование.
  • XFire использует AES-128, AES-192 и AES 256 для шифрования имен пользователей и паролей.
  • CyaSSL поддерживает шифрование AES YaSSL HomePage
  • DataLocker использует AES 256-bit в режимах CBC и XTS с использованием аппаратного шифрования
  • Linux kernel's Crypto API (Linux)[en], сейчас перенесен в пользовательское пространство

Аппаратное обеспечение[править код]

Примечания[править код]

  1. Original homepage и здесь archived copy
  2. System Administration Guide: Security Services, Chapter 13 Solaris Cryptographic Framework (Overview). Oracle (сентябрь 2010). Дата обращения: 27 ноября 2012. Архивировано 29 июня 2013 года.
  3. Encrypting File System in Windows XP and Windows Server 2003