Методы шифрования (краткий обзор)
Защита информации методами криптографического преобразования заключается в изменении ее составных частей (слов, букв, слогов, цифр) с помощью специальных алгоритмов либо аппаратных решений и кодов ключей, то есть в приведении ее к неявному виду. Для ознакомления с шифрованной информацией применяется обратный процесс: декодирование (дешифрование). Использование криптографии один из распространенных методов, значительно повышающих безопасность передачи данных в сетях ЭВМ, данных, хранящихся в удаленных устройствах памяти, и при обмене информацией между удаленными объектами. Для преобразования (шифрования) обычно используется некоторый алгоритм или устройство, реализующее заданный алгоритм, которые могут быть известны широкому кругу лиц. Управление процессом шифрования осуществляется с помощью периодически меняющегося кода ключа, обеспечивающего каждый раз оригинальное представление информации при использовании одного и того же алгоритма или устройства. Знание ключа позволяет просто и надежно расшифровать текст. В противном случае эта процедура может быть практически невыполнима даже при известном алгоритме шифрования. Простое преобразование информации служит весьма эффективным средством, дающим возможность скрыть ее смысл от большинства неквалифицированных нарушителей. Коды и шифры использовались в течение многих веков задолго до появления ЭВМ. Между кодированием и шифрованием не существует отчетливой разницы. Заметим только, что в последнее время на практике слово "кодирование" применяют в целях цифрового представления информации при ее обработке на технических средствах, а "шифрование" – при преобразовании информации в целях защиты он НСД. В настоящее время некоторые методы шифрования хорошо проработаны и являются классическими.
Множество современных методов защитных преобразований можно классифицировать на четыре большие группы: перестановки, замены (подстановки), аддитивные и комбинированные методы. Методы перестановки и подстановки обычно характеризуются короткой длиной ключа, а надежность их защиты определяется сложностью алгоритмов преобразования. Аддитивным методам присущи простые алгоритмы преобразования, а их криптостойкость основана на увеличении длины ключа. Все перечисленные методы относятся к симметричному шифрованию: один и тот же ключ применяется для шифрования и дешифрования. Сейчас также распространены методы несимметричного шифрования: один ключ для шифрования (открытый), второй – для дешифрования (закрытый). 1.1. Методы перестановки. Суть методов перестановки состоит в том, что входной поток исходного текста делится на блоки, в каждом из которых выполняется перестановка символов. Перестановки в классической криптографии обычно получаются в результате записи исходного текста и чтения шифрованного текста по разным путям геометрической фигуры. Простейшим примером перестановки являются запись исходного текста по строкам некоторой матрицы и его чтение по столбцам этой матрицы. Последовательность заполнения строк и чтения столбцов может быть любой и задается ключом. Таким образом, для матрицы размером 8*8 (длина блока 64 символа) возможно 1,6*10^9 ключей, что позволяет на современных ЭВМ путем перебора расшифровать заданный текст. Однако для матрицы размером 16*16 (длина блока 256 символов) имеется 1,4*10^26 ключей, и перебор их с помощью современных средств вычисления весьма затруднителен. Примером применения метода перестановки может быть также восьмиэлементная таблица, обладающая совокупностью маршрутов, носящих название маршрутов Гамильтона. Последовательность заполнения таблицы каждый раз соответствует нумерации ее элементов. Если длина шифруемого текста не кратна числу элементов, то при последнем заполнении в свободные элементы заносится произвольный символ. Выборка из таблицы для каждого заполнения может выполняться по своему маршруту При этом маршруты могут использоваться как последовательно, так и в порядке, задаваемом ключом.
Для методов перестановки характерны простота алгоритма, возможность программной реализации и низкий уровень защиты, так как при большой длине исходного текста в его зашифрованном варианте проявляются статистические закономерности ключа, что и позволяет его быстро раскрыть. Другой недостаток этих методов – легкое раскрытие, если удается направить в систему для шифрования несколько специально подобранных сообщений. Так, если длина блока в исходном тексте равна К символам, то для раскрытия ключа достаточно пропустить через шифровальную систему К-1 блоков исходного текста, в которых все символы, кроме одного, одинаковы. Существуют и другие способы перестановки, которые можно реализовать программно и аппаратно. Например, реализованный аппаратно блок перестановки, использует для преобразования информации электрические цепи, по которым она передается параллельным способом. Преобразование текста заключается в "перепутывании" порядка разрядов в цифровой кодограмме путем изменения электрического монтажа схемы в блоке. Для дешифрации на приемном пункте устанавливается другой блок, восстанавливающий порядок цепей. 1.2. Методы замены (подстановки). Методы шифрования заменой заключаются в том, что символы исходного текста (блока), записанные в одном алфавите, заменяются символами другого алфавита в соответствии с принятым ключом преобразования. Одним из простейших методов считается прямая замена исходных символов их эквивалентом из вектора замен. Для очередного символа открытого текста отыскивается его местоположение в исходном алфавите. Эквивалент из вектора замены выбирается как отстоящий на полученное смещение от начала алфавита. При дешифровании поиск выполняется в векторе замен, а эквивалент выбирается из исходного алфавита. Полученный таким методом текст имеет сравнительно низкий уровень защиты, так как открытый и закрытый тексты имеют одинаковые статистические характеристики.
Более стойкой в отношении раскрытия считается схема шифрования, основанная на таблице Вижинера. Таблица представляет собой квадратную матрицу с числом элементов К, где К – количество символов в алфавите. В первой строке матрицы записываются буквы в порядке их очередности в алфавите, во второй – та же последовательность букв, но со сдвигом влево на одну позицию, в третьей – со сдвигом на две позиции и т.д. Освободившиеся места справа заполняются вытесненными влево символами, записываемыми в естественной последовательности. Для шифрования текста устанавливается ключ, представляющий собой некоторое слово или набор символов. Далее из полной матрицы выбирается подматрица шифрования, включающая, например, первую строку матрицы и строки, начальные буквы которых являются последовательностью ключа. Процесс шифрования включает следующую последовательность действий: – под каждой буквой шифруемого текста записываются символы ключа, повторяющие ключ требуемое количество раз; – шифруемый текст по подматрице заменяется буквами, расположенными на пересечениях линий, соединяющих буквы текста первой строки подматрицы и символы ключа находящиеся под ней. Раскрыть текст, полученный по данному алгоритму, только на основе статистических характеристик языка невозможно, так как одни и те же символы открытого текста могут быть заменены различными символами закрытого текста. С другой стороны различные буквы открытого текста могут быть заменены одинаковыми знаками шифрованного текста. Для дешифрования необходимо знать ключ, который может быть введен пользователем со своего терминала или храниться в памяти ЭВМ в зашифрованном виде. Для шифрования ключа можно использовать другую систему шифрования. Расшифровка текста выполняется в следующей последовательности:
– над буквами зашифрованного текста последовательно записываются символы ключа; – в строке подматрицы в таблице Вижинера для каждой буквы ключа отыскивается символ, соответствующий знаку шифрованного текста. Находящаяся над ней буква первой строки и будет знаком расшифрованного текста. Один из недостатков метода шифрования по таблице Вижинера – ненадежность алгоритма при небольшой длине ключа и сложность формирования длинных ключей. Так как в ключе не допускается повторение букв (в противном случае шифрование будет неоднозначным), а сам ключ должен легко запоминаться, последовательность букв, не имеющих определенного смысла, запомнить трудно. 1.3. Метод гаммирования. Данный способ преобразования заключается в том, что символы закрываемого текста последовательно складываются с символами некоторой специальной последовательности именуемой гаммой. Такое преобразование иногда называют наложением гаммы на открытый текст. Собственно процедура наложения может осуществляться одним из двух способов: 1. Символы закрываемого текста и гаммы заменяются цифровыми эквивалентами, а затем складываются по модулю К, где К – кол-во символов алфавита, т.е. Тш = (То + Тг) mod K, (1) где Тш — закрываемый; То — открытый текст; Тг — гамма. 2. Символы текста и гаммы представляются в двоичных кодах, а затем каждая пара двоичных разрядов складывается по модулю 2. Сложение по модулю 2 может быть расширено до преобразования по правилу логической эквивалентности или логической неэквивалентности. Нетрудно видеть, что такое расширение равносильно введению еще одного ключа, именно – правил замены. Стойкость закрытия способом гаммирования зависит, главным образом, от качества гаммы, которое определяется двумя характеристиками: длиной периода и случайностью распределения по периоду. Длиной периода гаммы называется минимальное количество символов, после которого последовательность начинает повторяться. Случайность распределения символов по периоду означает отсутствие закономерностей между появлением различных символов в пределах периода. По длине периода различаются гаммы с конечным и бесконечным периодами. Конечные гаммы, в свою очередь, могут быть разделены на короткие и длинные, хотя это деление в известной мере условное. При хорошем качестве гаммы по характеристике случайности стойкость закрытия определятся исключительно длиной ее периода. При этом если длина периода гаммы превышает длину закрываемого текста, то такое преобразование теоретически является абсолютно стойким, т.е. его нельзя вскрыть на основе статистической обработки закрытого текста. Однако теоретическая невозможность вскрытия не означает, что вскрытие вообще невозможно; при наличии некоторой дополнительной информации открытый текст может быть полностью или частично разгадан даже при бесконечной гамме.
В качестве гаммы может быть использована любая последовательность случайных символов: например последовательность цифр основания натуральных логарифмов числа е, числа Р и т.п. Если же закрытие осуществляется на ЭВМ, то такие последовательности можно генерировать с помощью датчика псевдослучайных чисел (ПСЧ). К настоящему времени известно несколько таких датчиков, обеспечивающих удовлетворительное качество гаммы. 1.4. Общие сведения. Основные требования, которые предъявляются к методам защитного преобразования информации: 1. Сложность и трудоемкость процедур прямого и обратного преобразований (т.е. закрытия и санкционированного раскрытия) должны определяться в зависимости от степени секретности защищаемых данных. 2. Надежность закрытия должна быть такой, чтобы секретность не нарушалась даже в том случае, когда злоумышленнику известен способ закрытия. 3. Способ закрытия и набор используемых служебных данных (ключевых установок) не должны быть слишком сложными. Затраты на защитные преобразования должны быть приемлемые при заданном уровне сохранности информации. 4. Выполнение процедур прямого и обратного преобразований должно быть формальным и как можно проще. 5. Процедуры прямого и обратного преобразований не должны зависеть от длины сообщения. 6. Ошибки, возникающие в процессе преобразования, не должны распространяться по системе и вызывать потерю информации. Из-за появления ошибок передачи зашифрованного сообщения по каналам связи не должна исключаться возможность надежной расшифровки текста на приемном конце. 7. Избыточность сообщений, вносимая закрытием, должна быть как можно меньшей. Или – длина зашифрованного текста не должна превышать длину исходного текста. 8. Объем ключа не должен затруднять его запоминание и пересылку. 9. Необходимые временные и стоимостные ресурсы на шифрование и дешифрование информации определяются требуемой степенью защиты информации. Перечисленные требования характерны в основном для традиционных средств защитных преобразований. С развитием устройств памяти, позволяющих с большей плотностью записывать и надежно хранить длительное время большие объемы информации, ограничение на размер ключа может быть значительно снижено. Появление и развитие электронных элементов позволили разработать недорогие устройства, обеспечивающие преобразование информации. 1.5. Вскрытие шифра. В лабораторной работе рассматривается способ вскрытия шифра, основанный на переборе всех вариантов ключа. Критерием правильности варианта служит наличие в тексте «вероятного слова». Перебирается множество всех возможных ключей, шифрованный текст расшифровывается на каждом ключе. В получившемся «псевдооткрытом» тексте ищется вероятное слово. Если такого слова нет, текущий текст бракуется, осуществляется переход к следующему ключу. Если такое слово найдено, на экран выводится вариант ключа. Затем перебор ключей продолжается до тех пор, пока не исчерпается все множество вариантов. Возможно обнаружение нескольких ключей, при которых в «псевдооткрытых текстах» имеется вероятное слово. После завершения перебора необходимо расшифровать текст на найденных ключах. «Псевдооткрытый текст» выводится на экран для визуального контроля. Если оператор признает текст открытым, то работа по вскрытию заканчивается. Иначе, данный вариант ключа бракуется и осуществляется переход к следующему ключу.
Работа с программой Программа предназначена для шифрования, дешифрования и расшифрования (методом протяжки вероятного слова) файлов. Система реализует следующие функции: – ввод, удаление и селекция ключей пользователя; – поддержка списка ключей; – шифрование и дешифрование текста; – расшифрование текста путем подбора ключей, методом протяжки вероятного слова. Система поддерживает следующие методы криптографического преобразования информации: – замена; – перестановка; – гаммирование; – таблица Вижинера. При запуске утилит шифрования, дешифрования и расшифрования у пользователя спрашивается подтверждение на правильность выбранного метода для работы и соответствия заданного ключа целям пользователя. (Также всегда при изменении файла в текстовом редакторе выдается запрос на сохранение изменений при каждом шаге, дальнейшее развитие которого приведет к необратимым изменениям в файле и потере изначальной информации). Операционная среда: WIN’95 и WIN NT; Минимальная конфигурация: На которой запускается WINDOWS. Рабочее поле основного окна: – Окно текстового редактора с широким набором дополнительных функций. – Таблица всех ключей введенных в систему с быстрым доступом для ввода, удаления или выбора текущего ключа. – Список всех методов шифрования для быстрого и удобного переключения между ними. – Основное меню (Наверху экрана). – Дополнительное меню (вызывается нажатием правой кнопки мыши). – Набор вспомогательных кнопок для быстрого и удобного интерфейса с пользователем. – Поля вывода текущего состояния системы: – текущий ключ; – вероятное слово; – сила ключа для протяжки. В целом, функции выполняемые системой, можно разбить на две: текстовый процессор и криптографическую поддержку. Текстовый процессор содержит весь набор основных функций, присущий многочисленным текстовым редакторам под WINDOWS, таких как: – работа с файлами (загрузка, сохранение, создание, закрытие); – изменение параметров работы (шрифт, цвет и т.п.); – диалоги поиска и замены слов; – печать файла и настройка принтера.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|