Меню Услуги

Практическая реализация и исследование криптостойкости

Страницы:   1   2   3   4   5   6


СОДЕРЖАНИЕ

 

  • Введение
  • 1. Краткий обзор и анализ современных алгоритмов шифрования
  • 1.1 Классификация криптоалгоритмов
  • 1.2 Сеть Фейштеля как популярный атрибут блочных шифров
  • 1.3 Стандарт шифрования данных DES и AES
  • 1.4 Схемы построения широко распространенных алгоритмов шифрования
  • 1.4.1 Обзор симметричных криптосистем
  • 1.4.1.1 Шифр MARS
  • 1.4.1.2 Шифр Serpent
  • 1.4.1.3 Шифр TwoFish
  • 1.4.1.4 Шифр Rijndael
  • 1.4.1.5 Стандарт шифрования данных ГОСТ 28147-89
  • 1.4.2 Обзор ассиметричных криптосистем
  • 1.4.2.1 Система с открытым ключом RSA
  • 1.4.2.2 Криптосистема Эль-Гамаля
  • 1.4.2.3 Криптосистемы на основе эллиптических уравнений
  • 1.5 Сравнительные характеристики алгоритмов шифрования
  • 1.6 Наиболее устойчивые к взлому алгоритмы шифрования
  • 1.7 Идентификация и аутентификация пользователей
  • 1.8 Электронно-цифровая подпись
  • 1.8.1 Электронно-цифровая подпись при помощи симметричных криптосистем
  • 1.8.2 Электронно-цифровая подпись при помощи асимметричных криптосистем
  • 1.9 Хеширование паролей
  • 1.10 Управление криптографическими ключами
  • 1.10.1 Симметричная методология
  • 1.10.2 Асимметричная методология
  • 2. Проектирование модифицированного алгоритма RC6
  • 2.1 Стандартный вариант шифрования RC6
  • 2.1.1 Процедура шифрования стандартного RC6
  • 2.1.2 Процедура расшифрования стандартного RC6
  • 2.1.3 Процедура генерации ключа стандартного RC6
  • 2.2 Модифицированный вариант шифрования RC6
  • 2.2.1 Процедура шифрования модифицированного RC6
  • 2.2.2 Процедура расшифрования модифицированного RC6
  • 2.2.3 Процедура генерации ключа модифицированного RC6
  • 3. Практическая реализация и исследование криптостойкости модифицированного RC6
  • 3.1 Блок-схемы процессов шифрующей программы FileCoder на основе RC6
  • 3.1.1 Блок-схемы процесса шифрования файла
  • 3.1.2 Блок-схемы процесса расшифрования файла
  • 3.1.3 Блок-схемы процесса подбора пароля
  • 3.2 Тестирование и исследование технологии шифрующей программы FileCoder на основе RC6
  • 3.2.1 Шифрование/расшифрование файлов
  • 3.2.2 Подбор пароля в файлах
  • Заключение
  • Библиография

 

Введение

 

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

Объем циркулирующей в обществе информации стабильно возрастает. Популярность всемирной сети Интернет в последние годы способствует удвоению информации каждый год. Произошедшие за последнее десятилетие изменения можно охарактеризовать следующим образом:

  • объемы обрабатываемой информации возросли на несколько порядков;
  • информация используется как обозначение специального товара, который можно прибрести, продать, обменять на что-то другое. При этом стоимость информации часто превосходит в сотни и тысячи раз стоимость компьютерной системы, в которой она находится;
  • характер обрабатываемых данных стал чрезвычайно многообразным и более не сводится к исключительно текстовым данным;
  • субъектами информационных процессов теперь являются не только люди, но и созданные ими автоматические системы, действующие по заложенной в них программе.

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

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

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

Актуальность и важность проблемы обеспечения безопасности информационных технологий обусловлены следующими причинами:

  • резкое увеличение вычислительной мощности современных компьютеров при одновременном упрощении их эксплуатации;
  • резкое увеличение объемов информации, накапливаемой, хранимой и обрабатываемой с помощью компьютеров и других средств автоматизации;
  • вычислительные «способности» современных компьютеров подняли на совершенно новый уровень как возможности по реализации шифров, ранее немыслимых из-за своей высокой сложности, так и возможности аналитиков по их взлому.
  • сосредоточение в единых базах данных информации различного назначения и различной принадлежности;
  • высокие темпы роста парка компьютеров, находящихся в эксплуатации в самых разных сферах деятельности;
  • резкое расширение круга пользователей, имеющих непосредственный доступ к вычислительным ресурсам и массивам данных;
  • бурное развитие программных средств, не удовлетворяющих даже минимальным требованиям безопасности;
  • повсеместное распространение сетевых технологий и объединение локальных сетей в глобальные;
  • развитие глобальной сети Интернет, практически не препятствующей нарушениям безопасности систем обработки информации во всем мире.

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

Прежде всего важны экономические потери от последствия «атак на информацию», которые заключаются в следующем:

  • раскрытие коммерческой информации может привести к серьезным прямым убыткам на рынке.
  • известие о краже большого объема информации обычно серьезно влияет на репутацию фирмы, приводя косвенно к потерям в объемах торговых операций.
  • фирмы-конкуренты могут воспользоваться кражей информации, если та осталась незамеченной, для того чтобы полностью разорить фирму, навязывая ей фиктивные либо заведомо убыточные сделки.

Таким образом, основными задачами защиты информации является:

  • обеспечение конфиденциальности информации;
  • обеспечение целостности информации;
  • обеспечение достоверности информации;
  • обеспечение оперативности доступа у информации;

Исследовательским центром DataPro Research в 1998 году были получены статистические данные об атаках на информацию [5. C.10-12]. Основные причины повреждений электронной информации распределились следующим образом: неумышленная ошибка человека – 52% случаев, умышленные действия человека – 10% случаев, отказ техники – 10% случаев, повреждения в результате пожара – 15% случаев, повреждения водой – 10% случаев. Как видим, каждый десятый случай повреждения электронных данных связан с компьютерными атаками.

Кто был исполнителем этих действий: в 81% случаев – текущий кадровый состав учреждений, только в 13% случаев – совершенно посторонние люди, и в 6% случаев – бывшие работники этих же учреждений. Доля атак, производимых сотрудниками фирм и предприятий, просто ошеломляет и заставляет вспомнить не только о технических, но и о психологических методах профилактики подобных действий.

И, наконец, что же именно предпринимают злоумышленники, добравшись до информации: в 44% случаев взлома были произведены непосредственные кражи денег с электронных счетов, в 16% случаев выводилось из строя программное обеспечение, столь же часто – в 16% случаев – производилась кража информации с различными последствиями, в 12% случаев информация была cфальсифицирована, в 10% случаев злоумышленники с помощью компьютера воспользовались либо заказали услуги, к которым в принципе не должны были иметь доступа.

Для решения указанных и других подобных проблем не существует какого-либо одного технического приема или средства. Однако, общим в решении многих из них является использование криптографии и криптоподобных преобразований системы.

Узнай стоимость написания такой работы!

Ответ в течение 5 минут!Без посредников!

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

Современные криптографические алгоритмы должны обладать следующими условиями:

  • должны быть адаптированы к новейшей программно-аппаратной базе (например, алгоритмы блочного шифрования в программной реализации должны быть адаптированы к операциям с 64-разрядными числами);
  • объем ключа должен соответствовать современным методам и средствам расшифрования зашифрованных сообщений;
  • операции расшифрования и зашифрования должны по возможности быть простыми, чтобы удовлетворять современным требованиям по скоростным характеристикам;
  • не должны допускать появления постоянно увеличивающегося числа ошибок;
  • должны сводить к минимуму объем сообщения в ходе выполнения операции шифрования.

Основными функциями, возлагаемыми на аппаратную часть программного комплекса криптографической защиты информации являются генерация ключевой информации и хранение ключевой информации в устройствах, защищенных от несанкционированного доступа со стороны злоумышленника. Кроме того, посредством методик такого типа можно осуществлять аутентификацию пользователей с помощью паролей (статических или динамически изменяемых, хранящихся на переносимых устройствах).

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

Необходимо указать цели и задачи данной работы.

Цель работы: разработка, исследование и практическая реализация модифицированного алгоритма шифрования данных RC6.

Задачи:

  1. Исследовать основные теоретические положения проектирования и разработки алгоритмов шифрования.
  2. Проанализировать и исследовать эффективность криптостойкости модифицированного алгоритма шифрования данных RC6.
  3. Реализовать и исследовать модифицированный алгоритм RC6 с использованием инструментальных средств разработки Delphi.

Структура работы:

В первой главе приведена характеристика основных теоретических положений и выполнен анализ современных алгоритмов шифрования.

Во второй главе рассмотрены основные процедуры шифрования, расшифрования и генерации ключа стандартного и модифицированного алгоритмов RC6.

Третья глава содержит исследования по криптостойкости модифицированного RC6 с двумя вариантами шифрования, расшифрования и генерации ключа в своем практическом выполнении.

Приложение. Содержит подробное описание и скриншоты разработанной программы FileCoder.

При написании данной работы были использованы труды таких авторов, как С.Г.Баричев «Криптография без секретов»; С.Г.Баричев, Р.Е.Серов «Основы современной криптографии»; В.В.Ященко «Введение в криптографию»; О.В.Казарин «Безопасность программного обеспечения компьютерных систем» и многих других, чье изложение и подача материала послужило при создании первой теоретической главы данной работы.

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

Неоценимый вклад в развитии отечественной криптографии внес А.Винокуров. Его статья «Алгоритм шифрования ГОСТ 28147-89, его использование и реализация для компьютеров платформы Intel x86» содержит описание алгоритма, принятого в качестве стандарта шифрования в Российской Федерации, и его надежность реализации для процессоров семейства Intel x86, а также обсуждение различных вопросов его практического использования.

Также необходимо отметить А.В.Беляева и его работу «Методы и средства защиты информации», которая описывает многие современные алгоритмы шифрования данных и их схемы построения, одним из которых является алгоритм RC6. Его теоретические стандарты послужили основой при проектировании и разработке модифицированного алгоритма RC6.

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


1. Краткий обзор и анализ современных алгоритмов шифрования

 

Криптография – это наука об обеспечении безопасности данных. Она занимается поисками решений четырех важных проблем безопасности – конфиденциальности, аутентификации, целостности и контроля участников взаимодействия. Шифрование – это преобразование данных в нечитабельную форму, используя ключи шифрования/расшифрования. Шифрование позволяет обеспечить конфиденциальность, сохраняя информацию в тайне от того, кому она не предназначена.

 

1.1 Классификация криптоалгоритмов

 

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

Укрупнено все криптосистемы подразделяются на симметричные и асимметричные [3. C. 18].

Симметричные криптосистемы (с секретным ключом – secret key systems) – данные криптосистемы построены на основе сохранения в тайне ключа шифрования. Процессы шифрования и расшифрования используют один и тот же ключ. Секретность ключа является постулатом. Основная проблема при применении симметричных криптосистем для связи заключается в сложности передачи обоим сторонам секретного ключа. Однако данные системы обладают высоким быстродействием. Раскрытие ключа злоумышленником грозит раскрытием только той информации, что была зашифрована на этом ключе. Американский и Российский стандарты шифрования DES, AES и ГОСТ 28147-89 – все эти алгоритмы являются представителями симметричных криптосистем. В табл. 1 представлены наиболее популярные симметричные алгоритмы.

Табл. 1. Популярные симметричные криптоалгоритмы

Тип Описание
DES (Data Encryption
Standard)
Популярный алгоритм шифрования, используемый как стандарт шифрования данных правительством США.

Шифруется блок из 64 бит, используется 64-битовый ключ (требуется только 56 бит), 16 проходов

Может работать в 4 режимах:

· Электронная кодовая книга (ECB-Electronic Code Book ) — обычный DES, использует два различных алгоритма.

· Цепочечный режим (CBC-Cipher Block Chaining), в котором шифрование шифрование блока данных зависит от результатов шифрования предыдущих блоков данных.

· Обратная связь по выходу (OFB-Output Feedback), используется как генератор случайных чисел.

· Обратная связь по шифратору (CFB-Cipher Feedback), используется для получения кодов аутентификации сообщений.

3-DES или
тройной DES
64-битный блочный шифратор, использует DES 3 раза с тремя различными 56-битными ключами.

Достаточно стоек ко всем атакам

Каскадный 3-DES Стандартный тройной DES, к которому добавлен механизм обратной связи, такой как CBC, OFB или CFB

Очень стоек ко всем атакам.

FEAL (быстрый
алгоритм шифрования)
Блочный шифратор, используемый как альтернатива DES

Вскрыт, хотя после этого были предложены новые версии.

IDEA (международный
алгоритм шифрования)
64-битный блочный шифратор, 128-битовый ключ, 8 проходов

Предложен недавно; хотя до сих пор не прошел полной проверки, чтобы считаться надежным, считается более лучшим, чем DES

Skipjack Разработано АНБ в ходе проектов правительства США «Clipper» и «Capstone».

До недавнего времени был секретным, но его стойкость не зависела только от того, что он был секретным.

64-битный блочный шифратор, 80-битовые ключи используются в режимах ECB, CFB, OFB или CBC, 32 прохода

RC2 64-битный блочный шифратор, ключ переменного размера

Приблизительно в 2 раза быстрее, чем DES

Может использоваться в тех же режимах, что и DES, включая тройное шифрование.

Конфиденциальный алгоритм, владельцем которого является RSA Data Security

RC4 Потоковый шифр, байт-ориентированный, с ключом переменного размера.

Приблизительно в 10 раз быстрее DES.

Конфиденциальный алгоритм, которым владеет RSA Data Security

RC5 Имеет размер блока 32, 64 или 128 бит, ключ с длиной от 0 до 2048 бит, от 0 до 255 проходов

Быстрый блочный шифр

Алгоритм, которым владеет RSA Data Security

CAST 64-битный блочный шифратор, ключи длиной от 40 до 64 бит, 8 проходов

Неизвестно способов вскрыть его иначе как путем прямого перебора.

Blowfish. 64-битный блочный шифратор, ключ переменного размера до 448 бит, 16 проходов, на каждом проходе выполняются перестановки, зависящие от ключа, и подстановки, зависящие от ключа и данных.

Быстрее, чем DES

Разработан для 32-битных машин

Устройство с
одноразовыми ключами
Шифратор, который нельзя вскрыть.

Ключом (который имеет ту же длину, что и шифруемые данные) являются следующие ‘n’ бит из массива случайно созданных бит, хранящихся в этом устройстве. У отправителя и получателя имеются одинаковые устройства. После использования биты разрушаются, и в следующий раз используются другие биты.

Поточные шифры Быстрые алгоритмы симметричного шифрования, обычно оперирующие битами (а не блоками бит).

Разработаны как аналог устройства с одноразовыми ключами, и хотя не являются такими же безопасными, как оно, по крайней мере практичны.

 

Асимметричные криптосистемы (системы открытого шифрования, с открытым ключом – public key systems) – смысл данных криптосистем состоит в том, что для шифрования и расшифрования используются разные преобразования [3. С.25].

Суть их состоит в том, что каждым адресатом информационной системы генерируются два ключа, связанные между собой по определенному правилу. Один ключ объявляется открытым, а другой закрытым. Открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. Секретный ключ сохраняется в тайне.

Исходный текст шифруется открытым ключом адресата и передается ему. Зашифрованный текст в принципе не может быть расшифрован тем же открытым ключом. Расшифрование сообщения возможно только с использованием закрытого ключа, который известен только самому адресату (рис. 1).

Рис. 1. Асимметричный алгоритм

 

Таким образом, пропадает проблема передачи секретного ключа (как у симметричных систем). Однако, несмотря на все свои преимущества, эти криптосистемы достаточно трудоемки и медлительны. Стойкость асимметричных криптосистем базируется, в основном, на алгоритмической трудности решить за приемлемое время какую-либо задачу. Если злоумышленнику удастся построить такой алгоритм, то дискредитирована будет вся система и все сообщения, зашифрованные с помощью этой системы. В этом состоит главная опасность асимметричных криптосистем в отличие от симметричных.

Поэтому чтобы гарантировать надежную защиту информации, к системам с открытым ключом предъявляются два важных и очевидных требования [4. С. 32-37]:

  1. Преобразование исходного текста должно быть необратимым и исключать его восстановление на основе открытого ключа.
  2. Определение закрытого ключа на основе открытого также должно быть невозможным на современном технологическом уровне. При этом желательна точная нижняя оценка сложности (количества операций) раскрытия шифра.

Алгоритмы шифрования с открытым ключом получили широкое распространение в современных информационных системах. Примеры – системы открытого шифрования RSA, система Рабина, Эль Гамаля, система на основе эллиптических уравнений и другие. В табл. 2 представлены наиболее популярные асимметричные алгоритмы.

Табл. 2. Популярные асимметричные криптоалгоритмы

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

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

Современные его реализации показывают, что эта система гораздо более эффективна, чем другие системы с открытыми ключами. Его производительность приблизительно на порядок выше, чем производительность RSA, Диффи-Хеллмана и DSA.

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

 

В зависимости от размера блока информации криптоалгоритмы делятся на [4. С. 45-60]:

  1. Потоковые шифры. Единицей кодирования является один бит. Результат кодирования не зависит от прошедшего ранее входного потока. Схема применяется в системах передачи потоков информации, то есть в тех случаях, когда передача информации начинается и заканчивается в произвольные моменты времени и может случайно прерываться. Наиболее распространенными предстателями поточных шифров являются скремблеры [6. С. 55-60].
  2. Шифры перестановок. Шифрование перестановкой заключается в том, что символы шифруемого текста переставляются по определенному правилу в пределах некоторого блока этого текста. При достаточной длине блока, в пределах которого осуществляется перестановка, и сложном неповторяющемся порядке перестановки можно достигнуть приемлемой для простых практических приложений стойкости шифра.
  3. Шифрование заменой (подстановкой) заключается в том, что символы шифруемого текста заменяются символами того же или другого алфавита в соответствии с заранее обусловленной схемой замены.
  4. Гаммирование. Гаммирование является также широко применяемым криптографическим преобразованием. Принцип шифрования гаммированием заключается в генерации гаммы шифра с помощью датчика псевдослучайных чисел и наложении полученной гаммы на открытые данные обратимым образом (например, используя сложение по модулю 2) [7. С. 10-15].

Процесс расшифрования данных сводится к повторной генерации гаммы шифра при известном ключе и наложении такой гаммы на зашифрованные данные.

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

Метод гаммирования становится бессильным, если злоумышленнику становится известен фрагмент исходного текста и соответствующая ему шифрограмма. Злоумышленники может сделать это на основе догадок о содержании исходного текста. Так, если большинство посылаемых сообщений начинается со слов “СОВ.СЕКРЕТНО”, то криптоанализ всего текста значительно облегчается. Это следует учитывать при создании реальных систем информационной безопасности.

Блочные шифры. Единицей кодирования является блок из нескольких байтов (в настоящее время 4-32). Результат кодирования зависит от всех исходных байтов этого блока. К блочным шифрам предъявляются следующие требования [5. С. 25]:

  • достаточная криптостойкость;
  • простота процедур зашифрования и расшифрования;
  • приемлемая надежность;

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

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

Суть алгоритмов блочного шифрования заключается в применении к блоку открытого текста многократного математического преобразования. Многократность подобных операций приводит к тому, что результирующее преобразование оказывается криптографически более сильным, чем преобразование над отдельно взятым блоком. Основная цель подобного трансформирования – создать зависимость каждого бита ключа и каждого бита блока открытого сообщения.

Характерной особенностью блочных криптоалгоритмов является тот факт, что в ходе своей работы они производят преобразование блока входной информации фиксированной длины и получают результирующий блок того же объема, но недоступный для прочтения сторонним лицам, не владеющим ключом. Таким образом, схему работы блочного шифра можно описать функциями Z=EnCrypt(X,Key) и X=DeCrypt(Z,Key) [11. С. 34-45].

Ключ Key является параметром блочного криптоалгоритма и представляет собой некоторый блок двоичной информации фиксированного размера. Исходный (X) и зашифрованный (Z) блоки данных также имеют фиксированную разрядность, равную между собой, но необязательно равную длине ключа.

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

Таким образом, на функцию стойкого блочного шифра Z=EnCrypt(X,Key) накладываются следующие условия:

  1. Функция EnCrypt должна быть обратимой.
  2. Не должно существовать иных методов прочтения сообщения X по известному блоку Z, кроме как полным перебором ключей Key.
  3. Не должно существовать иных методов определения каким ключом Key было произведено преобразование известного сообщения X в сообщение Z, кроме как полным перебором ключей.

Все действия, производимые над данными блочным криптоалгоритмом, основаны на том факте, что преобразуемый блок может быть представлен в виде целого неотрицательного числа из диапазона, соответствующего его разрядности. Так, например, 32-битный блок данных можно интерпретировать как число из диапазона 0..4 294 967 295. Кроме того, блок, разрядность которого обычно является «степенью двойки», можно трактовать как несколько независимых неотрицательных чисел из меньшего диапазона (рассмотренный выше 32-битный блок можно также представить в виде 2 независимых чисел из диапазона 0..65535 или в виде 4 независимых чисел из диапазона 0..255) [12 С. 12].

Характерным признаком блочных алгоритмов является многократное и косвенное использование материала ключа. Это диктуется в первую очередь требованием невозможности обратного декодирования в отношении ключа при известных исходном и зашифрованном текстах. Для решения этой задачи в приведенных выше преобразованиях чаще всего используется не само значение ключа или его части, а некоторая, иногда необратимая (небиективная) функция от материала ключа. Более того, в подобных преобразованиях один и тот же блок или элемент ключа используется многократно. Это позволяет при выполнении условия обратимости функции относительно величины X сделать функцию необратимой относительно ключа Key.

Поскольку операция шифрования или расшифрования отдельного блока в процессе кодирования пакета информации выполняется многократно (иногда до сотен тысяч раз), а значение ключа и, следовательно, функций Vi(Key) остается неизменным, то иногда становится целесообразно заранее однократно вычислить данные значения и хранить их в оперативной памяти совместно с ключом. Поскольку эти значения зависят только от ключа, то они в криптографии называются материалом ключа. Необходимо отметить, что данная операция никоим образом не изменяет ни длину ключа, ни криптостойкость алгоритма в целом.


Узнай стоимость написания такой работы!

Ответ в течение 5 минут! Без посредников!

Страницы:   1   2   3   4   5   6