RSS    

   Реферат: Композиции шифров

        Это быстрее обычного тройного шифрования, так как тремя шифрованиями шифруется блок, длина которого вдвое больше длины блока используемого блочного алгоритма. Но при этом возможна простая атака «встреча посередине», которая позволяет найти ключ с помощью таблицы размером 2k, где k - размер ключа блочного алгоритма. Правая половина блока открытого текста шифруется с помощью всех возможных значений К1, и выполняется операция XOR с левой половиной открытого текста, и полученные значения сохраняются в таблице. Затем правая половина шифртекста шифруется с помощью всех возможных значений K3, и выполняется поиск совпадений в таблице. При совпадении пара ключей К1 и К3 - возможный вариант правого ключа. После нескольких попыток вскрытия останется только один кандидат. Таким образом, xDES1 нельзя назвать идеальным решением. Более того, известно вскрытие с подобранным открытым текстом, доказывающее, что xDES1 ненамного прочнее используемого в нем блочного алгоритма.

        В xDES2 эта идея расширяется до 5-раундового алгоритма, размер блока которого в 4, а размер ключа - в 10 раз превышают размеры блока и ключа используемого блочного шифра. На Рис. 8. показан один этап xDES2, каждый из четырех подблоков по размеру равен блоку используемого блочного шифра, а все 10 ключей независимы.

Рис. 8. Один этап xDES2

        Эта схема также быстрее тройного шифрования: для шифрования блока, который в четыре раза больше блока используемого блочного шифра, нужно 10 шифрований. Однако этот метод уязвим к дифференциальному криптоанализу, и использовать его не стоит. Такая схема остается чувствительной к дифференциальному криптоанализу, даже если используется DES с независимыми ключами раундов.

        При i ³ 3 xDESi вероятно слишком громоздок, чтобы использовать его в качестве блочного алгоритма. Например, размер блока xDES3 в 6 раз больше, чем у лежащего и основе блочного шифра, ключ в 21 раз длиннее, а для шифрования блока, который в 6 раз длиннее блока, лежащего в основе блочного шифра, нужно 21 шифрование. Тройное шифрование выполняется быстрее.

                                                                                                             

4.4.4. Пятикратное шифрование

        Если тройное шифрование недостаточно надежно – к примеру, хотят зашифровать ключи тройного шифрования еще более сильным алгоритмом - кратность шифрования можно увеличить. Очень устойчиво к вскрытию «встреча посередине» пятикратное шифрование. (Аргументы, аналогичные рассмотренным для двойного шифрования, показывают, что четырехкратное шифрование по сравнению с тройным лишь незначительно повышает надежность).

        С = ЕК1(DK2(EK3(DK2(EK1(P)))))

        P = DK1(EK2(DK3(EK2(DK1(C)))))

        Эта конструкция обратно совместима с тройным шифрованием, если К2=К3, и с однократным шифрованием, если К1=К2=К3. Конечно, она будет еще надежней, если использовать пять независимых ключей.

4.5. Уменьшение длины ключа в CDMF

        Этот метод разработан в IBM для продукта CDMF (Commercial Data Masking Facility -аппаратура закрытия коммерческих данных). Он предназначен для преобразования 56-битового ключа DES в 40-битовый ключ, разрешенный для экспорта. Предполагается, что в первоначальный ключ DES включены биты четности.

1. Обнуляются биты четности: биты 8, 16, 24, 32, 40, 48, 56, 64.

2. Результат этапа 1 шифруется с помощью DES ключом 0xc408b0540ba1e0ae, результат шифрования объединяется операцией XOR с результатом этапа 1.

3. В результате этапа 2 обнуляются следующие биты: 1, 2, 3, 4, 8, 16, 17, 18, 19, 20, 24, 32, 33, 34, 35, 36, 40, 48, 49, 50, 51, 52, 56, 64.

4. Результат   этапа   3   шифруется   с   помощью   DES   ключом 0xef2c041ce6382fe6.

Полученный ключ используется для шифрования сообщения.

        Но не следует забывать, что этот метод укорачивает ключ и, следовательно, ослабляет алгоритм.

4.6. Отбеливание

        Отбеливанием (whitening) называют такое преобразование, при котором выполняется операция XOR над входом блочного алгоритма и частью ключа и XOR над выходом блочного алгоритма и другой частью ключа. Впервые этот метод применен для варианта DESX, разработанного в RSA Data Security, Inc., а затем (по-видимому, независимо) в Khufu и Khafre. (Необычное имя методу дано Ривестом).

        Смысл этих действий в том, чтобы помешать криптоаналитику восстановить пары «открытый текст/шифртекст» для исследуемого блочного алгоритма. Метод заставляет криптоаналитика угадывать не только ключ алгоритма, но и одно из значений отбеливания. Так как операция XOR выполняется и до, и после исполнения блочного алгоритма, этот метод считается устойчивым к атаке «встреча посередине».

        C = K3Å   EK1(PÅ   K1)

        P = K1Å   DK2(CÅ   K3)

        Если K1=K3, то для вскрытия «в лоб» потребуется 2n+m/p операций, где п - размер ключа, m - размер блока, a р - число известных открытых текстов. Если К1 и К3. различны, то для вскрытия «в лоб» с тремя известными открытыми текстами потребуется 2n+m+1 операций. Против дифференциального и линейного криптоанализа такие меры обеспечивают защиту на уровне всего нескольких битов ключа. Но с вычислительной точки зрения это очень дешевый способ повышения надежности блочного алгоритма.

4.7. Каскадное применение блочных алгоритмов

        Есть вариант шифрования сначала алгоритмом А и ключом КA, а затем еще раз алгоритмом В и ключом KB? Может быть, у Алисы и Боба различные мнения о том, какой алгоритм надежнее: Алиса хочет пользоваться алгоритмом А, а Боб - алгоритмом В. Этот прием, иногда называемый каскадным применением, можно распространить и на большее количество алгоритмов и ключей.

        Пессимисты утверждают, что совместное использование двух алгоритмов не гарантирует повышения безопасности. Алгоритмы могут взаимодействовать каким-то хитрым способом, что на самом деле их надежность даже уменьшится. Даже тройное шифрование тремя различными алгоритмами может оказаться не столь безопасным, как вы рассчитываете. Криптография - довольно тонкое искусство, поэтому если не совсем понимать, что и как делать, то можете легко попасть впросак.

        Действительность намного светлее. Упомянутые предостережения верны, только если различные ключи зависят друг от друга. Если все используемые ключи независимы, сложность взлома последовательности алгоритмов, по крайней мере, не меньше сложности взлома первого из применяемых алгоритмов. Если второй алгоритм уязвим к атаке с подобранным открытым текстом, то первый алгоритм может облегчить эту атаку и при каскадном применении может сделать второй алгоритм уязвимым к атаке с известным открытым текстом. Такое возможное облегчение вскрытия не ограничивается только алгоритмами шифрования: если вы позволите кому-то другому определить любой из алгоритмов, делающих что-то с вашим сообщением до шифрования, стоит удостовериться, что ваше шифрование устойчиво по отношению к атаке с подобранным открытым текстом.  Можно заметить, что наиболее часто используемым алгоритмом для сжатия и оцифровки речи до модемных скоростей, применяемым перед любым алгоритмом шифрования, служит CELP, разработанный в АНБ.

        Это можно сформулировать и иначе: при вскрытии с подобранным открытым текстом каскад шифров взломать не легче, чем любой из шифров каскада. Предыдущий результат показал, что взломать каскад, по крайней мере, не легче, чем самый прочный из шифров каскада. Однако в основе этих результатов лежат некоторые не сформулированные предположения. Только если алгоритмы коммутативны, как в случае каскадных потоковых шифров (или блочных шифров в режиме OFB), надежность их каскада не меньше, чем у сильнейшего из используемых алгоритмов.

        Если Алиса и Боб не доверяют алгоритмам друг друга, они могут использовать их каскадом. Для потоковых алгоритмов порядок шифрования значения не имеет. При использовании блочных алгоритмов Алиса может сначала использовать алгоритм А, а затем алгоритм В. Боб, который больше доверяет алгоритму В, может использовать алгоритм В перед алгоритмом А. Между алгоритмами они могут вставить хороший потоковый шифр. Это не причинит вреда и может значительно повысить безопасность.

        Ключи для каждого алгоритма в каскаде должны быть независимыми. Если алгоритм А использует 64-битовый ключ, а алгоритм В - 128-битовый ключ, то получившийся каскад должен использовать 192-битовый ключ. При использовании зависимых ключей у пессимистов гораздо больше шансов оказаться правыми.

4.8. Объединение нескольких блочных алгоритмов

        Есть еще один способ объединения нескольких блочных алгоритмов, надежность которого с гарантией не хуже надежности обоих алгоритмов. Для двух алгоритмов (и двух независимых ключей):

1. Генерируется строка случайных битов R того же размера, что и сообщение М.

2. Зашифровывается R первым алгоритмом.

3. Зашифровывается МÅR вторым алгоритмом.

4. Шифртекст сообщения представляет собой объединение результатов этапов 2 и 3.

        При условии, что строка случайных битов действительно случайна, этот метод шифрует M с помощью одноразового блокнота, а затем содержимое блокнота и получившееся сообщение шифруются каждым из двух алгоритмов. Так как для восстановления М необходимо и то, и другое, криптоаналитику придется взламывать оба алгоритма. К недостаткам относится удвоение размера шифртекста по сравнению с открытым текстом.

        Этот метод можно расширить для нескольких алгоритмов, но добавление каждого алгоритма увеличивает размер шифртекста. Сама по себе идея неплоха, но не слишком практична.


ЗАКЛЮЧЕНИЕ

        Известны два основных типа шифров, комбинации которых образуют классические криптографические системы. Главная идея, положенная в основу их конструирования, состоит в комбинации функций, преобразующих исходные сообщения в текст шифровки, то есть превращающих эти исходные сообщения с помощью секретных ключей в нечитаемый вид. Но непосредственное применение функций сразу ко всему сообщению реализуется очень редко. Все практически применяемые криптографические методы связаны с разбиением сообщения на большое число частей фиксированного размера, каждая из которых шифруется отдельно, если не независимо.

        Базовые криптографические методы являются "кирпичами" для создания прикладных систем. На сегодняшний день криптографические методы применяются для идентификации и аутентификации пользователей, защиты каналов передачи данных от навязывания ложных данных, защиты электронных документов от копирования и подделки.



СПИСОК ЛИТЕРАТУРЫ:

1.   Шнайер Б. «Прикладная криптография», М.: Издательство Триумф, 2003 г.

2.   Фомичев В.М. «Дискретная математика и криптология», М.: Диалог-МИФИ, 2003 г.

3.   Ященко В.В. «Введение в криптографию». М., 1988 г.

4.   Cryptography.ru. Статьи Интернет-сайтов.


Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.