Проект:Информационные технологии/Списки/Реализации AES
Это служебный список статей, созданный для координации работ по развитию темы. |
Здесь представлены различные варианты реализаций алгоритма Advanced Encryption Standard, также известного как Rijndael (произносится [rɛindaːl] (Рейндол))
Библиотеки[править код]
AES беслплатен для публичного, приватного, коммерческого и некоммерческого использования. Домашняя страница алгоритма, созданная авторами, доступна здесь:[1]. Следует соблюдать осторожность при программной реализации AES шифрования: как и большинство криптографических алгоритмов, Rijndael был разработан на системах Big-endian. По этой причине, Little-endian системы возвращают верный тестовый ответ только после изменения порядка байт во входящем и выходящем сообщении.
Алгоритм производит операцию на незашифрованных блоках размером 16 байт(128 бит). Шифрование более коротких блоков возможно только с использованием дополнения исходных байт, обычно с помощью нулевых байтов. Это может быть осуществлено несколькими способами, простейший из которых предполагает, что последний байт шифра указывает количество добавленных нулевых байтов.
С осторожностью следует выбирать режим работы шифра. Самый простой режим зашифровывает и расшифровывает каждый 128-битный блок отдельно. В этом режиме, названном режимом электронной кодовой книги, одинаковые исходные блоки будут одинаково зашифрованы, что в целом является небезопасным. Это позволит злоумышленнику проследить общую структуру исходного сообщения в зашифрованном сообщении. Выбор других режимов, таких как наложение последовательного счетчика на блоки (CTR режим) и последующее его удаление после расшифровки, может решить эту проблему.
C/ASM библиотеки[править код]
- AES Crypt
- BeeCrypt
- ccrypt
- OpenSSL
- GnuTLS
- Портируемая байт-ориентированная реализация AES-256 на C
- NaCl (библиотека), созданная Daniel J. Bernstein[англ.], Tanja Lange, Peter Schwabe и др. Имеются обёртки на C++ и Python.
- PolarSSL (вариант в виде одного заголовочного файла и файла реализации AES)
- Brian Gladman
- libtomcrypt используется в Dropbear SSH клиенте и сервере
- mcrypt
- ncrypt
- MatrixSSL, Встроенная SSL библиотека.
- Microsoft CryptoAPI uses криптопровайдеры to offer encryption implementations. The Microsoft AES Cryptographic Provider was introduced in Windows XP and can be used with any version of the Microsoft CryptoAPI [1].
- Solaris Cryptographic Framework offers multiple implementations, with kernel providers for hardware acceleration on x86 (using the AES instruction set) and on SPARC. It is available in Solaris and derivatives, as of Solaris 10.[2]
- OpenAES portable C cryptographic library — Nabil S. Al Ramli
C++ library[править код]
- Botan реализовал Rijndael с самого первого выпуска в 2001.
- Crypto++?! Всесторонняя реализация на C++ с полупубличной лицензией и реализацией криптографических и хэш-алгоритмов. Прошла проверку в FIPS.
C# /.NET[править код]
- Начиная с версии 3.5 .NET Framework, пространство имен System.Security.Cryptography содержит и полностью поддерживаемую реализацию AES и управляемую обертку для CAPI AES модуля.
- Bouncy Castle Crypto Library
Delphi[править код]
Java[править код]
- Java Cryptography Extension, интегрирован в Java Runtime Environment начиная с версии 1.4.2
- IAIK JCE, (see features)
- Bouncy Castle Crypto Library
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[править код]
Приложения[править код]
Архиваторы и утилиты для компрессии[править код]
Файловые системы[править код]
- Encrypting File System в Windows 2000 и более поздних Windows версиях.[3]
Дисковое шифрование[править код]
- DiskCryptor
- BitLocker (часть «Enterprise» и «Ultimate» версий операционных систем Windows Vista и Windows 7)
- FileVault (часть операционной системы Mac OS X, так же присутствует в качестве Дисковой утилиты и создает AES-зашифрованные образы дисков)
- FreeOTFE
- GBDE
- Geli (software)[англ.]
- LUKS
- TrueCrypt
- Crypt4000 (FIPS 140-2 сертифицированное ПО для шифрования дисков Secuware)
- Private Disk
- Bloombase StoreSafe
Файловое шифрование[править код]
Шифрование для соединений в локальной сети[править код]
- 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)[англ.], сейчас перенесен в пользовательское пространство
Аппаратное обеспечение[править код]
- Intel и AMD процессоры содержат Расширение системы команд AES.
Примечания[править код]
- ↑ Original homepage и здесь archived copy
- ↑ System Administration Guide: Security Services, Chapter 13 Solaris Cryptographic Framework (Overview) . Oracle (сентябрь 2010). Дата обращения: 27 ноября 2012. Архивировано 29 июня 2013 года.
- ↑ Encrypting File System in Windows XP and Windows Server 2003