Блочные шифры

Блочные шифры

3-Way 

    Простой и быстрый криптоалгоритм. Автор -  Joan Daemen. Длинна ключа 96 бит. Длинна обрабатываемых блоков данных также 96 бит. David Wagner, John Kelsey, и Bruce Schneier открыли так называемуя related key атаку, которая требует всего 1 связанного запроса и 222 chose plaintext. Алгоритм не запатентован. 

A5 

Akellare 

Bear 

Blowfish 

    Создатель - автор наиболее популярной книги по криптографии "Applied Cryptography", Bruse Schneier. Длинна ключа 32-448 бит. Длинна обрабатываемых блоков - 64 бит. Число раундов - 16. Считается одним из наиболее сильных криптоалгоритмов. Для выработки ключей используется 521 цикл шифрования, что значительно затрудняет атаку приямым перебором. Эта же особенность делает затруднительной и возможность применения алгоритма в системах, где ключи меняются очень часто. 

CAST 

Авторы - Carlisle Adams и Stafford Taveres. Алгоритм очень похож на Blowfish. Длинна ключа 40...64 бит. Количество проходов 8. Известна related key атака на 64-битный CAST, открытая David Wagner, John Kelsey, и Bruce Schneier. Других атак кроме прямого перебора нет. Вариант алгоритма CAST-256 был выставлен на конкурс AES, но до финала не дошел. Запатенотован, но (!) открыт для свободного использования. 

CMEA 

Алгоритм, который используется в сотовых телефонах для шифрования служебных каналов. Был взломан by David Wagner, John Kelsey, and Bruce Schneier of Counterpane Systems. 

CRYPTON 

DES 

Data Encryption Standart - Алгоритм, который с 1977 года является федеральным стандартом для шифрования в США. Создан в исследовательской лаборатории корпорации IBM (1972-1975 годы) под руководством д-ра У. Тачмена. Длинна ключа 56 бит (64, но 8 из них не используются). Размер блока 64 бит. Число раундов - 16. Является симметричным алгоритмом. С использованием современных вычислительных систем вскрывается за время около 1-2 дней. Именно по причине недостаточной криптостойкости (на сегодняшний день) был объявлен конкурс на новый стандарт (AES)   Существует крипточип (Deep Crack), который позволяет перебирать ключи для DES со скоростью 88 милиардов ключей в секунду. Этот чип взламывает DES за время не превышающее 3 дня. Современные распределенные вычислительные системы и суперкомпьютеры вскрывают зашифрованные по алгоритму DES сообщения за еще меньшее время. Не запатентован. 

   Интересная информация о спецпроцессорах для взлома DES  находится на сайте EFF.  

DEAL 

Интересный алгоритм, который был предложен на конкурс AES. Оперирует 128-битовыми блоками данных и ключами длинной 128, 192 и 256 бит. Использует DES во внутренних итерациях. Для обеспечения сносной криптостойкости требуется не менее 8 итераций. Существуют атаки, которые успешно вскрывают шифр, если количество итераций меньше указанного значения. 

DFC 

E2 

ECC 

    Несимметричный криптоалгоритм на основе эллиптических кривых. Более быстр и стоек чем RSA, алгоритм Диффи-Хеллмана или DSA. 

FEAL 

Крайне ненадежный криптоалгоритм. Взломан! Разработан by the Nippon Telephone & Telegraph более быстрая, но менее надежная альтернатива DES. Известно множество атак, каждая из которых требует минимума информации. Например related key attack необходимо всего 17 chosen plaintexts для нахождения ключа. После взлома были опубликованы новые версии. 

FROG 

Goatboy's Encryption Algorithm 

Неплохой алгоритм, но его название служит ему плохую службу. (GoatBoy's - козлиный) 

GOST (ГОСТ 28147-89) 

   Американцы называют его "русский аналог DES". Но в отличие от DES алгоритм ГОСТ-28147-89 он значительно более криптостоек и сложен. Разработан в одном из институтов КГБ в конце 1970-х годов. В 1989 году принял статус официального стандарта шифрования СССР, а после распада СССР - стандарта Росийской Федерации на шифрование и имитозащиту данных. Авторы, само собой, неизвестны. Алгоритм использует несколько различных этапов на каждой итерации. Количество раундов 32. Длинна ключа 256 бит. Оперирует блоками данных по 64 бита. Имеет три режима рботы (простая замена, гаммирование и гаммирование с обратной связью) и один режим выработки имитовставки. При разработке этого криптоалгоритма были учтены недостатки и недоработки DES. Так он оптимизирован на программную реализацию, использует вдвое больше раундов шифрования с гораздо более простыми операциями и в 5 раз более длинный ключ. Кроме того S-блоки в ГОСТ не являются фиксированными и представляют собой долговременный ключ. В настоящее время генерацией и проверкой S-блоков для реализаций алгоритма занимается ФАПСИ (?). 

   Для этого криптоалгоритма существует некоторое количество "слабых" ключей. John Kelsey нашел для ГОСТ related key атаку. 

Рекомендован к применению в системах защиты информации, разрабатываемых в СНГ. Не запатентован. 

HPC 

IDEA 

International Decryption-Encryption Algorithm - разработанный в Щвейцарии (Цюрих) считается очень стойким криптоалгоритмом, хотя полной проверки еще не прошел. Авторы: Xuejia Lai, James Massey.Размер блока данных 64 бит. Длинна ключа 128 бит. Число раундов - 8. Оперирует 16-битовыми подюлоками. Оптимизирован для 16-битных процессоров. Запатентован в США, Европе и Японии. Свободен для некоммерческого применения. В остальных случаях необходима лицензия компании Аском (владелец патента) 

Khafre 

Khufu 

Lion 

LOKI 89/91/97 

Lucifer 

NSEA 

MacGuffin 

MAGENTA 

MARS 

    Новый симметричный блочный алгоритм от создателей DES. Один из 5ти финалистов AES. Разработан исследователями фирмы IBM. Оперирует 128-битовыми блоками. Длинна ключа переменная. Скорость работы - 65 Мбит/с на Pentium Pro 200 и 85 Мбит на 200MHz Power PC. Есть аппаратные реализации данного алгоритма. 

MISTY 

MMB 

MPJ 

NewDES 

Q128 

RC2 

    Блочный шифр разработанный Роном Ривестом для RSA Data Security. Криптостойкость считается очень высокой. Размер блока 64 бит. Длинна ключа переменная. Скорость работы примерно вдвое быстрее чем DES. Является собственностью RSA Data Security. 

RC5 

   Мощный и быстрый блочный симметричный криптоалгоритм разработанный Ривестом для RSA Data Security. Оперирует блоками данных длинной 32, 64 или 128 бит. Длинна ключа переменна. Количество проходов 0...255. Длинна ключа 0...2048 бит. Скорость алгоритма обусловлена применением только трех простых и быстрых операций - сложения, XOR и чередования (rotation). Был объявлен конкурс на взлом этого алгоритма. За три года были взломаны только слабо зашифрованные тексты (с малыми длинной ключа и количеством проходов). Собственность RSA Data Security. 

RC6 

    Алгоритм от RSA Data Security. Автор: Ron Rivest. RC6 является прямым развитием RC5. Запатентован. Скорость работы*: 

 

Microsoft Developer Studio97 со спец. инструкциями

Microsoft Developer Studio 97 без спец. инструкций

Borland

GCC

Encryption (Mbits/sec)

97.8

53.4

41.5

69.2

Decryption (Mbits/sec)

82.3

57.0

45.2

65.3

Java-версия 

 

Java (JDK)

Java (JIT)

Encryption (Mbits/sec)

1.6

25.2

Decryption (Mbits/sec)

1.6

26.8

Реализация: 

 

Pentium Assembly Code

8-bit platform (1 MHz)

Encryption 

100.8 Mbits/sec

9.2 Kbits/sec

Decryption 

100.8 Mbits/sec

9.2 Kbits/sec

*Материалы о скорости работы взяты с сайта компании RSA. 

REDOC 

Rijndael 

    Стандарт США (AES )созданный Joan Daemen (автор 3-Way) and Vincent Rijmen. Алгоритм оперирует блоками данных 128, 192 или 256 бит и ключами длинной 128, 192 или 256 бит (9 возможных комбинаций). 

   Описание: Updated documentation and complete specification, A more theoretic paper 

RSA 

    Широко используемый несимметричный алгоритм. Основан на сложности факторизации больших целых чисел. На данный момент (начало 2000-го года) факторизованы 500-битные числа. Ходили слухи о факторизации 800-битных чисел, но подтверждения не имеют. 

S1 

Safer 

Safer+ 

Serpent 

    128 битный алгоритм designed by Ross Anderson, Eli Biham and Lars Knudsen. Скорость в 5 раз быстрее DES. 

На сайте создателей есть описание алгоритма 

Solitare 

SQUARE 

Skipjack 

    Разработка АНБ США. До недавнего времени был секретным. Достаточно стоек. Размер блока 64 бит. Длинна ключа 80 бит. 32 нелинейных комплексных раунда. Создан чип, который шифроует данные по этому алгоритму. 

   Обзор на английском: http://www.austinlinks.com/Crypto/skipjack-review.html 

Tiny Encryption Algorithm (TEA) 

Twofish 

    Великолепный алгоритм, пришедший на смену Blowfish. Автор - все тот же Брюс Шайнер. Скорость работы может меняться в зависимости от глубины проведенной прекомпиляции ключа. Цитата с сайта Counterpane Internet Security Inc: 

Twofish can: 

Encrypt data at 16.1 clock cycles per byte on a Pentium Pro, after a 12700 clock-cycle key setup. 

Encrypt data at 54 clock cycles per byte on a Pentium Pro, after a 1250 clock-cycle key setup. 

Encrypt data at 1656 clock cycles per byte on a 6805 microprocessor, after a 1750 clock-cycle key setup. 

Известна атака на 5-проходный алгоритм. Но полнофункциональный 16-проходный на данный момент считается неуязвимым 

Tripple DES 

    Это ответ на вопрос "что будет если несколько раз зашифровать/расшифровать данные с разными кллючами?" Этот алгоритм позволяет используя DES увеличить его криптостойкость путем дифрования/дешифрования/шифрования по алгоритму DES с разными ключами. Объединение этих ключей в один дает длинну 3*56=168 бит. Но DES он и в Африке DES... 

ГОСТ 28147-89 

    см. GOST 

Кобра 

Эль-Гамаль 

    Несимметричный криптоалгоритм. Вариант алгоритма Диффи-Хеллмана, который может быть использован как для шифрования так и для цифровой подписи. 

Потоковые шифры:

ORYX 

RC4 

    Байт-ориентированный потоковый шифр. Ключ переменного размера. Примерно в 10 раз быстрее DES. Является конфиденциальным алгоритмом, которым владеет RSA Data Security. 

SEAL 

Sapphire 

Хэш-функции и алгоритмы генерации ПСЧ:

MD2 

    Самая медленная хэш-функция. Оптимизирована для 8-битных машин. 

MD4 

    Самая быстрая хэш-функция. Оптимизирована для 32-битных машин. 

MD5 

    Наиболее распространенная из семейства MD хэш-функция. Считается очень стойкой и безопасной. Похожа на MD4, но имеет несколько дополнительных средств для повышения безопасности, что замедляет ее примрно на треть по сравнению с MD4. 

RIPEMD 

SHA1 

    Secure Hash Algorithm. Создает 160-битовое значение хэш-функции из исходных данных переменного размера. Предложена NIST и принята правительством США как стандарт. Используется в стандарте DSS. 

Snefru 

Tiger 

Yarrow 

ГОСТ Р34.11-94 

Электронные подписи

    Предназначение - проверка целосности данных. Не для шифрования.  Может добавляться к сообщению и шифроваться вместе с ним.

DSA 

    Digital Signature Authorization. Алгоритм, использующий открытые ключи для создания электронной подписи. Секретное создание хэш-значения и публичная проверка ее - только один человек может создать хэш-значение сообщения, но любой может проверить ее корректность. Основан на вычислительной сложности взятия логарифмов в конечных полях. 

RSA 

    Отправитель создает хэш-функцию сообщения, а затем шифрует ее с использованием своего секретного ключа. Получатель использует открытый ключ отправителя для расшифровки хэша, сам рассчитывает хэш для сообщения, и сравнивает эти два хэша. Запатентовано RSA Data Security. 

MAC (Код аутентификации сообшения) 

    Электронная подпись, использующая схемы хэширования, аналогичные MD или SHA, но хэш-значение вычисляется с использованием как данных сообщения, так и секретного ключа. 

DTS (служба электронных временных меток) 

    Выдает пользователям временные метки, связанные с данными документа, криптографически стойким образом.