Проект:Информационные технологии/Списки/Реализации AES: различия между версиями
Oleg4280 (обсуждение | вклад) →Разное: {{iw|Crypto API (Linux)}} |
Sunpriat (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
{{Координационный список}}<!-- {{Index вне ruwiki}}-->__INDEX__ |
{{db-nn}}{{Координационный список}}<!-- {{Index вне ruwiki}}-->__INDEX__ |
||
Здесь представлены различные варианты реализаций алгоритма [[Advanced Encryption Standard]], также известного как Rijndael (произносится [rɛindaːl] (Рейндол)) |
Здесь представлены различные варианты реализаций алгоритма [[Advanced Encryption Standard]], также известного как Rijndael (произносится [rɛindaːl] (Рейндол)) |
Версия от 09:54, 15 мая 2018
![]() | Эта страница предлагается для быстрого удаления. |
![]() | Это служебный список статей, созданный для координации работ по развитию темы. |
Здесь представлены различные варианты реализаций алгоритма 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: Networking and Cryptography library созданная 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
Файловое шифрование
Шифрование для соединений в локальной сети
- 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