КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Симметричные криптосистемы и их свойства 2 страница
Поточная криптосистема Trivium ориентирована, в первую очередь, на аппаратную реализацию с гибким равновесием между скоростью работы и количеством элементов, имеющая также возможность достаточно эффективной программной реализации. Криптосистема была представлена в декабре 2008 года. Авторами криптосистемы являются Кристоф Де Канниэр и Барт Пренил. Криптосистема Trivium генерирует вплоть до бит выходного потока из 80 бит ключа и 80 бит вектора инициализации IV. Это самая простая криптосистема, которая, однако, показывает отличные результаты по криптостойкости. В криптосистеме Trivium, также как и во всех поточных криптосистемах, для зашифрования и расшифрования применяются одни и те же действия: генерируется гамма, которая накладывается на шифруемое сообщение путем сложения по модулю 2. Поточная криптосистема MICKEY (Mutual Irregular Clocking KEYstream generator) существует в двух вариантах - с длиной ключа 80 бит (MICKEY) и 128 бит (MICKEY-128). Криптосистема был разработана Стивом Бэббиджем и Мэтью Доддом в 2005 году с целью использования в системах с ограниченными ресурсами. Эта криптосистема имеет простую аппаратную реализацию при высокой степени защищенности, в ней используется нерегулярное тактирование сдвиговых регистров, а также новые методы, обеспечивающие достаточно большой период и псевдослучайность ключевой последовательности, а также устойчивость к криптоатакам. Криптосистема имеет входные параметры: ключ длиной 80 бит, вектор инициализации длиной от 0 до 80 бит. Несколько слов о европейском проекте eSTREAM. Проект eSTREAM имел целью получить поточную криптосистему, которая может быть использована в качестве стандарта поточного шифрования. В ноябре 2004 г. организаторами проекта было объявлено о приеме предложений по алгоритмам поточных криптосистем. Сбор предложений закончился в апреле 2005 г. На конкурс eSTREAM было представлено 34 алгоритма поточного шифрования. В феврале 2006 г. завершился первый этап оценки шифров, в июле начался второй этап, который продлился до сентября 2007 г. В апреле 2008 г. проект был завершен. Впервые в истории в международном криптографическом конкурсе достигли успехов и российские криптосистемы. Это очень быстрая криптосистема АВС и криптосистема YAMB. Хотя данные криптосистемы в ходе рассмотрения были «взломаны», но вместе с тем оказались одними из самых быстрых. Результаты проекта eSTREAM представлены в табл. 2.1. Поточные криптосистемы объединены в группы: 1 - наиболее перспективные; 2 - другие; 3 - не рассматриваемые далее.
Таблица 2.1. Результаты проекта eSTREAM
Интересным промежуточным результатом проекта eSTREAM можно считать предложенные новые статистические тесты криптографических генераторов. В отличие от предыдущих подходов (криптогенератор - черный ящик), в этих тестах внимание уделяется анализу зависимостей между гаммой и ключом, между гаммой и вектором инициализации IV, между отрезками гаммы, сгенерированными при разных векторах инициализации IV, а также влиянию на свойства гаммы внутреннего состояния генератора. Эти наборы тестов позволяют выявить неочевидные свойства генераторов гаммы.
2.4. Блочные криптосистемы
Блочные симметричные криптосистемы (БСК) представляют собой семейство обратимых криптографических преобразований блоков (частей фиксированной дины) исходного текста [2,4,10,11,14]. Фактически БСК – система подстановки на алфавите блоков (она может быть моно- или многоалфавитной в зависимости от режима блочного шифра).
2.4.1. Принципы построения блочных криптосистем Первым опытом создания блочной криптосистемы явилась разработанная американской фирмой IBM криптосистема LUCIFER. Блоки открытого и шифрованного текста, обрабатываемые криптосистемой LUCIFER, представляют собой двоичные векторы длиной 128 бит. Криптосистема построена по принципу «сэндвича», составленного из нескольких слоев – преобразований замены S (substitution) блоков и преобразований перестановки P (permutation) элементов блоков. Такие схемы получили название SP-сетей, т.е. сетей перестановок и замен. Криптографическая идея SP-сетей заключается в построении сложного криптопреобразования с помощью композиции нескольких относительно простых, удобно реализуемых преобразований (см. рис. 2.4). Рис. 2.4. Пример реализации SP-сети
Однако полученная криптосистема LUCIFER получилась достаточно громоздкой и обладала низкой производительностью. Скорость шифрования при программной реализации криптосистемы не превышала 8 кбайт/с, аппаратная реализация давала скорость шифрования не более 97 кбайт/с. К тому же у разработчиков были опасения по поводу криптостойкости, которые впоследствии подтвердились. Вместе с тем, накопленный разработчиками опыт при создании криптосистемы LUCIFER пригодились при разработки последующих блочных криптосистем. В 1974 году фирмой IBM был разработана криптосистема, получившая название DES (Data Encryption Standart) [2,8,10,11]. Подобно криптосистеме LUCIFER криптосистема DES частично реализует принцип SP-сети и построена по итеративному принципу, то есть на основе нескольких однотипных преобразований. В дальнейшем итеративный принцип использовался в подавляющем большинстве разработок блочных криптосистем. Рассмотрим криптографическое преобразование итеративной блочной криптосистемы. Как правило, блок открытого текста подвергается предварительному шифрованию (как правило, перестановке) , где - ключ входного криптопреобразования. Затем полученная криптограмма многократно подвергается шифрованию с помощью однотипного криптопреобразования , , где - цикловой (раундовый) ключ, - входной блок го цикла шифрования. Криптопреобразование называется цикловой функцией, а переменная определяет количество циклов (раундов) шифрования. После реализации всех раундов шифрования осуществляется еще одно финальное преобразование (как правило, перестановка) , где - выходной блок последнего раунда шифрования, - ключ выходного криптопреобразования. Таким образом, криптографическое преобразование итеративной блочной криптосистемы имеет вид: . (2.13) Криптопреобразование называется входным преобразованием, а - выходным преобразованием. Обратное криптографическое преобразование определяется равенством: . (2.14) Многократное использование цикловой функции должно обеспечить следующие свойства криптопреобразования: - рассеивание (позволяет скрыть статистические зависимости между символами открытого текста и обеспечивает невозможность определения ключа по частям); - перемешивание (позволяет усложнить зависимость между ключом и криптограммой). Один из первых способов построения цикловой функции основан на использовании отображения типа регистра сдвига. Конструкция была признана удачной и нашла широкое применение в дальнейших разработках блочных криптосистем (FEAL, Khufu, Khafre, LOKI, Blowfish, ГОСТ 28147-89). Эта конструкция названа в честь разработчика схемой Фейстеля [2,12]. Схема Фейстеля представляет собой блочный симметричный шифр, криптографическая функция которого оперирует «половинами» входных блоков и имеет вид: , (2.15) где и - половины входного блока; - функция усложнения; || - операция конкатенации. На рис. 2.5 представлена структура схемы Фейстеля. Варианты схемы Фейстеля отличаются конструкцией функции усложнения. Рис. 2.5. Схема Фейстеля
Для получения криптопреобразования (2.15), обладающего хорошими криптографическими свойствами, функция усложнения реализуется в виде композиции элементарных преобразований, называемых слоями функции усложнения (или цикловой функции). Конструктивные слои функции усложнения имеют следующие назначения: подмешивание раундовых ключей; перемешивание входных блоков; реализацию сложной нелинейной зависимости между знаками ключа, входного и выходного блоков. Цикловая функция должна удовлетворять ряду условий: - цикловая функция должна быть обратимой (функция усложнения схемы Фейстеля в принципе может не удовлетворять этому требованию, так как обратимость преобразования обеспечивается за счет использования операции XOR); - цикловая функция должна быть нелинейной; - перемешивающие слои цикловой функции должны реализовывать связи между входными и выходными битами S-блоков (блоков замены) таким образом, чтобы каждый S-блок удовлетворял критериям лавинного эффекта, а также совокупность входных битов каждого S-блока зависела от выходов нескольких S-блоков предыдущего цикла; - цикловая функция должна обладать свойствами, затрудняющими применение методов дифференциального и линейного криптоанализа, т.е. цикловая функция должна иметь минимальную корреляцию между разностью открытых текстов и соответствующих криптограмм. Для затруднения применения методов криптоанализа блочные криптосистемы должны использовать в качестве входного и выходного преобразований операции XOR. Эти операции получили название отбеливания, а использующий эти операции шифр называют шифром с отбеливанием. Операция отбеливания улучшает криптографические свойства шифра, не нарушая при этом обратимости криптопреобразования.
2.4.2. Режимы шифрования Для шифрования исходного открытого текста БСК могут использоваться в различных режимах [2,11]. Далее будут рассмотрены четыре режима шифрования наиболее часто встречающиеся на практике: - режим электронной кодировочной книги - ECB (Electronic Code Book); - режим сцепления блоков криптограммы - CBC (Cipher Block Chaining); - режим обратной связи по криптограмме - CFB (Cipher Feed Back); - режим обратной связи по выходу - OFB (Output Feed Back). Режим электронной кодировочной книги ECB. Исходный текст разбивается на блоки, равные размеру блока шифра. Затем каждый блок шифруется независимо от других с использованием одного ключа шифрования (см. рис. 2.6). Непосредственно этот режим применяется для шифрования небольших объемов информации, размером не более одного блока или для шифрования ключей. Это связано с тем, что одинаковые блоки открытого текста преобразуются в одинаковые блоки криптограмма, что может дать криптоаналитику определенную информацию о содержании сообщения. Рис. 2.6. Режим электронной кодировочной книги ECB
Стойкость режима ECB равна стойкости самого шифра, однако, структура исходного текста при этом не скрывается. Скорость шифрования равна скорости блочного шифра. Основным достоинством этого режима является простота реализации. Режим сцепления блоков криптограммы CBC. В данном режиме каждый блок исходного текста складывается по модулю 2 с предыдущим блоком криптограммы, а затем шифруются (см. рис. 2.7). Для начала процесса шифрования используется синхропосылка (или начальный вектор) . Процессы шифрования и расшифрования описывается выражениями: , . (2.16) , . (2.17) Рис. 2.7. Режим сцепления блоков криптограммы CBC
Стойкость режима CBC равна стойкости блочного шифра, лежащего в его основе. Структура исходного текста скрывается за счет сложения по модулю 2 предыдущего блока криптограммы с очередным блоком открытого текста. Стойкость шифрованного текста увеличивается, поскольку становиться невозможным прямая манипуляция исходным текстом. Скорость шифрования равна скорости работы блочного шифра, однако простого способа распараллеливания процесса шифрования, как для режима ECB, не существует. Начальный вектор может передаваться по линии связи как в открытом, так и в шифрованном виде. Однако следует избегать повторения начального вектора, это позволит затруднить криптоатаку. Искажение одного бита в блоке открытого текста влечет за собой искажение в среднем половины битов во всех блоках криптограммы, начиная с . Для расшифрования это несущественно, так как восстановленный текст будет содержать ту же единственную ошибку. Искажение бита в блоке влечет за собой искажение около половины битов в блоке , начиная с этого бита, и в блоке Следующие блоки расшифровываются корректно. Режим обратной связи по криптограмме CFB. В данном режиме предыдущий блок криптограммы шифруется еще раз, и для получения очередного блока криптограммы результат складывается по модулю 2 с блоком исходного текста (см. рис. 2.8). Для начала процесса шифрования также используется начальный вектор . Процессы шифрования и расшифрования описывается выражениями: , . (2.18) , . (2.19) Особенностью режима является то, что в (2.18) и (2.19) базовый алгоритм используется только для шифрования. Искажение одного бита в блоке влечет за собой искажение одного бита в и в среднем половины битов во всех блоках криптограммы, начиная с , но при расшифровании получается открытый текст с той же единственной ошибкой. Рис. 2.8. Режим обратной связи по криптограмме CFB
Искажение бита в блоке влечет искажение соответствующего бита в блоке . Затем ошибка искажает в среднем половину битов в каждом из последующих блоков, но в дальнейшем блоки расшифровываются корректно. Данный режим, как и ССПК, самостоятельно восстанавливается после ошибок синхронизации. Стойкость режима равна стойкости блочного шифра, лежащего в его основе, и структура исходного текста скрывается за счет использования операции сложения по модулю 2. Скорость шифрования равна скорости работы блочного шифра, и простого способа распараллеливания процесса шифрования не существует. Режим обратной связи по выходу OFB. Данный режим подобен режиму CFB, за исключением того, что величины, складываемые по модулю 2 с блоками исходного текста, генерируются независимо от исходного текста и криптограммы (см. рис. 2.9). Процессы шифрования и расшифрования описывается выражениями: , . (2.20) , . (2.21) Для начала процесса шифрования используется начальный вектор . Рис. 2.9. Режим обратной связи по выходу OFB
В данном режиме ошибки не распространяются, что является преимуществом при передаче шифрованных речевых сигналов и видеоизображений. Блочный шифр в данном режиме можно рассматривать как СПК. В связи с этим, при использовании режима OFB чрезвычайно важно сохранять синхронизм.
2.4.3. Усложнение блочных криптосистем Постоянное развитие методов криптоанализа не позволяет долгое время использовать блочную криптосистему без определенного рода ее усовершенствований, которые усложняют работу криптоаналитика. Наиболее простым методом усложнения блочных криптосистем является увеличение длины ключа, однако этот метод не всегда приемлем и, к тому же, требует существенной перестройки базовой блочной криптосистемы. Другим методом усложнения является многократное шифрование с использованием базовой блочной криптосистемы. Этот метод применим к любой блочной криптосистеме, но его использование снижает скорость шифрования. Рассмотрим различные схемы многократного шифрования. Простейшая схема кратного шифрования - двойное шифрование с использованием независимых ключей: , . (2.22) Эта схема была отвергнута сразу, так как ключи можно определить по открытому тексту и криптограмме методом согласования. Другой способ двойного шифрования, называемый методом Дэвиса-Прайса, построен на идеи режима шифрования СВС: , . (2.23) Более стойкие схемы используют тройное шифрование. Схему тройного шифрования Тачмена с парой независимых ключей называют часто схемой EDE: , . (2.24) При эта схема равносильна однократному шифрованию. Наиболее надежной схемой тройного шифрования является схема тройного шифрования с тремя независимыми ключами: , . (2.25) Еще одна схема усложнения блочный криптосистемы, определяемая выражением: , , (2.26) использует «зашумляющие» ключи и называется схемой Рона Ривеста. Здесь ключи являются не ключами шифрования, а «зашумляющими» ключами. К методам многократного шифрования относится и схема двойного гаммирования: , . (2.27) Гаммы и генерируются с использованием независимых ключей .Перечисленные схемы кратного шифрования не являются единственными. Существует множество схема с использованием нескольких алгоритмов шифрования, переменным размером ключей и обрабатываемых блоков [11].
2.4.4. Блочная криптосистема DES Криптосистема DES – итеративная 16-раундовая обратимая блочная криптосистема на основе схемы Фейстеля. Размер входного блока - 64 бита. Размер ключа – 64 бита, причем каждый восьмой бит ключа, являющийся двоичной суммой предыдущих семи бит, является служебным и в шифровании не участвует. Раундовые ключи есть алгоритмически вырабатываемые выборки 48 бит из 56 бит ключа криптосистемы. Криптосистема DES была принята в качестве национального стандарта шифрования в США и опубликована в 1975 году. Это был беспрецедентный случай в истории криптографии. Открытое опубликование криптосистемы DES привело к тому, что эта криптосистема, как никакая другая, тщательно изучалась криптоаналитиками всего мира. Процесс криптопреобразования включает три этапа (см. рис. 2.10) [2,11]: - биты исходного сообщения подвергаются начальной перестановке ; - полученный блок разбивается на две равные части и подвергается 16-ти раундовому шифрованию по схеме Фейстеля; - полученный после 16-го раунда блок подвергается конечной перестановке . Структурная схема функции усложнения схемы Фейстеля представлена на рис. 2.11. Функция усложнения состоит из следующих слоев: 1) перестановки с расширением (РЕ) 32 битового вектора до 48 битового вектора; 2) подмешивания 48 битового раундового ключа путем операции сложения по mod2; 3) нелинейной замены с помощью S-блоков 48 битового вектора на 32 битовый вектор; 4) перестановки Р координат 32 битового вектора. Алгоритм формирования раундовых ключей из основного ключа криптосистемы состоит из следующих этапов: 1) из 64 битового основного ключа криптосистемы устраняются 8,16,…,64 служебные биты, а оставшиеся 56 бит подвергаются перестановке ;
Рис. 2.10. Cхема алгоритма DES Рис. 2.11. Функция усложнения
2) выходной 56 битовый блок после перестановки разбивается на две равные части по 28 бит, каждая из которых подвергается циклическому сдвигу, причем при 1,2,9,16 сдвиг осуществляется на одну позицию влево, в остальных случаях – сдвиг на две позиции влево; 3) осуществляется конкатенация 28 битовых блоков; 4) результат конкатенации подвергается перестановке , на выходе которой образуется 48 битовый раундовый ключ. За последние два десятилетия вычислительная техника развивалась настолько быстро, что временные и стоимостные затраты на реализацию криптоатаки на криптосистему DES постоянно снижались. Это привело к тому, что использование криптосистемы DES не удовлетворяет требованиям скрытности информации. В настоящее время используются варианты усложненной криптосистемы DES. Наиболее широко известна криптосистема 3DES («тройной DES»). Схема усложнения, применяемая в данной криптосистеме, описывается выражением (2.25). Таким образом, ключ криптосистемы 3DES имеет длину 583=168 бит. Криптосистема 3DES примерно в три раза медленнее, чем криптосистема DES. Во многих системах защиты информации такое уменьшение скорости шифрования является неприемлемым. В 1984 году Рон Ривест предложил схему усложнения криптосистемы, которая определяется выражением (2.26). Эта криптосистема получила название DESХ (DES eXtended) и оказалась свободной от недостатков 3DES. Ключ криптосистемы DESХ состоит из 56+64+64=184 бит и включает основной ключ шифрования и два «зашумляющих» ключа. Дальнейшим развитием криптосистемы DESХ стала криптосистема DES-РЕР, в схеме усложнения которой операции сложения по модулю 2 были заменены на операции сложения по модулю : , , (2.28) где обозначает операцию сложения по модулю . 2.4.5. Блочная криптосистема ГОСТ 28147-89 В Российской Федерации установлен единый стандарт криптографического преобразования для информационных систем. Он носит обязательный характер для государственных организаций, предприятий, банковских и иных учреждений, чья деятельность связана с обеспечением информационной безопасности государства. Для других организаций и частных лиц ГОСТ 28147-89 имеет рекомендательный характер. Данный стандарт формировался с учетом мирового опыта и, в частности, были приняты во внимание недостатки и нереализованные возможности DES. Алгоритм шифрования построен с использованием схемы Фейстеля. Криптосистема ГОСТ 28147-89 – блочный 32 раундовый итерационный шифр [2,10,11,14]. Размер входного блока 64 бита, размер ключа - 256 бит. Алгоритм шифрования включает в себя следующие этапы: - 64 битный блок открытого текста разбивается на две равные части; - 32 битные подблоки подвергаются итеративному процессу шифрования по схеме Фейстеля; - полученный на 32 раунде 64 битный блок подвергается транспозиции, т.е. левый и правых 32 битные подблоки меняются местами. Основное отличие схемы Фейстеля криптосистемы ГОСТ от схемы Фейстеля криптосистемы DES – лишь в конструкции функции усложнения. Функция усложнения представленная на рис. 2.12 имеет следующие слои: 1) подмешивание 32 битового раундового ключа путем суммирования по модулю ;
Дата добавления: 2014-12-26; Просмотров: 1456; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |