Проект:Информационные технологии/Списки/Реализации 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