Метод замены. Использование алгебры матриц. — КиберПедия 

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Метод замены. Использование алгебры матриц.

2023-01-02 30
Метод замены. Использование алгебры матриц. 0.00 из 5.00 0 оценок
Заказать работу

Частным случаем метода замены, обеспечивающим надежное шифрование информации, является использование алгебры матриц (например правила умножения матрицы на вектор). Это правило, как известно, заключается в следующем:

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

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

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

Аддитивные методы

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

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

ü символы исходного текста и гамма представляются в двоичном коде и располагаются один под другим

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

ü полученная последовательность двоичных знаков шифрованного текста заменяется символами алфавита в соответствии с выбранным кодом

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

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

Стеганология

Этот метод шифрования позволяет прятать сообщения в файлы.bmp,.gif,.wav и предназначен для тех случаев, когда автор сообщения не хочет, чтобы у кого-то создалось впечатление, что он использует криптографические средства. Пример такой программы — S-tools Энди Брауна. Она очень проста в применении. Внешне графический файл остается практически неизменным, лишь кое-где меняются оттенки цвета. Причем, без знания определенного ключевого слова, никто не может быть уверенным, что в картинке зашифрован текст.

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

Ключ. Основные понятия, связанные с ключом и алгоритмом.

Основные понятия.

Если вы хотите преобразовать важную информацию в бессмысленный набор символов, вы зашифровываете данные. Чтобы преобразовать их об­ратно, вы расшифровываете данные.

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

Данные, которые нужно зашифровать, называются открытым (неза­шифрованным) текстом. Открытым текстом может быть текстовый файл, например, записка, которая может быть прочитан человеком, или же им может быть двоичный файл, который выгладит бессмысленно для человека, но вполне понятен для компьютерной программы. Например, если вы откроете файл PowerPoint в Блокноте Windows, файл будет выглядеть как непонятный набор символов, поскольку программа не может.пре­образовать данные PowerPoint; но если открыть этот же файл в Power­Point, он будет иметь осмысленный вид. Независимо от того, может ли ин­формация быть прочитанной человеком или определенной программой, она называется открытым текстом.

После того, как данные зашифрованы, они называются шифротек-стом.

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

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

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

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

Итак, все криптографические системы, вне зависимости от их сложности, имеют следующие составные части:

(Исходное) Сообщение — то, что мы хотим защитить от несанкциониро­ванного чтения/использования. В качестве сообщения может выступать как произвольный текст, так и программное обеспечение, различная медиа-информация.

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

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

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

Ключ.

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

В криптографии для того, чтобы защитить содержимое файлов, нужно установить замок (программу шифрования)/на дверь (компьютер). Чтобы запереть замок (зашифровать данные), нужно вставить ключ (секретное число) и выполнить определенные действия (вместо поворота ключа нужно запустить программу двойным щелчком мыши или нажатием клавиши ENTER). Алгоритм выполняет действия, используя ключ для преобразова­ния открытого текста в шифротекст. Чтобы “отпереть” зашифрованный файл, используется тот же самый ключ и те же действия. Алгоритм выпол­няет свою работу в обратном порядке и преобразует шифротекст в исход­ный открытый текст.

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

Однако ключи не являются взаимозаменяемыми для различ­ных алгоритмов. Например, предположим, что вы зашифровали данные с помощью алгоритма Triple DES (Digital Encryption Standard), о котором пойдет речь ниже. Если вы попытаетесь расшифровать данные с использо­ванием Advanced Encryption Standard (AES), о котором также будет рас­сказано далее в этой главе, даже при использовании одного и того же клю­ча, корректный результат не будет получен.

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

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

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

Вот реальный вопрос: кому вы больше доверяете при хранении секре­тов — алгоритму, который должен быть сохранен в секрете, или алгоритму, который может выполнять свою работу, хотя все на свете знают, как он ра­ботает? Здесь-то и возникает вопрос о необходимости использования ключа.

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

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


Поделиться с друзьями:

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.023 с.