Рефетека.ру / Информатика и програм-ие

Шпаргалка: Криптография (блочный шифр)

Что такое Blowfish.

Blowfish это 64-бит блочный шифр разработанный Шнайером (Schneier) в 1993 году. Это шифр Файстела (Feistel) и каждый проход состоит из зависимой от ключа перестановки и зависимой от ключа с данными замены. Все операции основаны на операциях XOR и прибавлениях к 32-битным словам (XORs and additions on 32-bit words). Ключ имеет переменную длину (максимально 448 бит) и используется для генерации нескольких подключевых массивов (subkey arrays). Шифр был создан специально для 32-битных машин и существенно быстрее DES.

В 1994 Dr.Dobb журнал спонсировал открытое соревнование с выиграшем в $1000. Это соревнование закончилось в Апреле 1995 и среди результатов было открыто существование нескольких слабых ключей. Однако, Blowfish может считаться защищенным, и Шнайер пригласил криптоаналитиков для продолжения исследования его шифра.

Что такое DES.

DES (Data Encryption Standart) это симметричный алгоритм шифрования, т.е. один ключ используется как для зашифровывания, так и для расшифрования сообщений. Разработан фирмой IBM и утвержден правительством США в 1977 как официальный стандарт.

DES имеет блоки по 64 бит и основан на 16 кратной перестановке данных, также для зашифрования использует ключ в 56 бит. Существует несколько режимов DES, например Electronic Code Book (ECB) и Cipher Block Chaining (CBC).

56 бит - это 8 семибитовых ASCII символов, т.е. пароль не может быть больше чем 8 букв. Если вдобавок использовать только буквы и цифры, то количество возможных вариантов будет существенно меньше максимально возможных 2^56.

Один из шагов алгоритма DES:

Входной блок данных делится пополам на левую (L') и правую (R') части. После этого формируется выходной массив так, что его левая часть L'' представлена правой частью R' входного, из 32-битового слова R' с помощью битовых перестановок формируется 48-битовое слово. Полученное 48-битовое слово XOR-ится с 48-битовым раундовым ключом. Результирующее 48-битовое слово разбивается на 8 6-битовых групп, каждая 6-битовая группа посредством соответствующего S-box'а заменяется на 4-битовую группу и из полученных восьми 4-битовых групп составляется 32-битовое слово. Полученное слово XOR-ится с L', в результате получается R''. Можно убедиться, что все проведенные операции могут быть обращены и расшифрование осуществлятся за число операций, линейно зависящее от размера блока. После нескольких таких взбиваний можно считать, что каждый бит выходного блока шифровки может зависеть от каждого бита сообщения.

Что такое Тройной DES.

Так как текст, зашифроaвaнный двойным DES оказывается хрупким при криптографической атаке - встреча на середие (meet in the middle), то текст шифруется 3 раза DES. Таким образом длина ключа возрастает до 168-бит (56x3).

Не всегда, применеие тройного DES означает увелечение уровня безопасности сообщения.

Типы тройного шифрования DES:

DES-EEE3: Шифруется 3 раза с 3 различными ключами. DES-EDE3: 3 DES операции шифровка-расшифровка-шифровка с 3 различными ключами. DES-EEE2 и DES-EDE2: Как и предыдущие, за исключением того, что первая и третья операции используют одинаковый ключ.
Рефетека ру refoteka@gmail.com