Проект по математике "криптография как метод кодирования и декодирования информации". Кодирование и шифрование Криптография как метод кодирования и декодирования информации

Проект по математике "криптография как метод кодирования и декодирования информации". Кодирование и шифрование Криптография как метод кодирования и декодирования информации

Возникновение индустрии обработки информации привело к возникновению индустрии средств ее защиты и к актуализации самой проблемы защиты информации, проблемы информационной безопасности.

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

Вопросами защиты и скрытия информации занимается наука кpиптология . Кpиптология имеет два основных напpавления - кpиптогpафию и кpиптоанализ .

Цели этих направлений пpотивоположны. Кpиптогpафия занимается построением и исследованием математических методов пpеобpазования инфоpмации, а кpиптоанализ - исследованием возможности pасшифpовки инфоpмации без ключа.

Термин "криптография" - система перекодировки сообщения с целью сделать его непонятным для непосвященных лиц.

Введем некоторые основные понятия кодирования и шифрования.

Код - правило соответствия набора знаков одного множества Х знакам другого множества Y. Если каждому символу Х при кодировании соответствует отдельный знак Y, то это кодирование. Если для каждого символа из Y однозначно отыщется по некоторому правилу его прообраз в X, то это правило называется декодированием.

Пример . Если каждый цвет кодировать двумя битами, то можно закодировать не более 2 2 = 4 цветов, тремя - 2 3 = 8 цветов, восемью битами (байтом) - 256 цветов.

Сообщение, которое мы хотим передать адресату, назовем открытым сообщением. Оно определено над некоторым алфавитом.

Зашифрованное сообщение может быть построено над другим алфавитом. Назовем его закрытым сообщением. Процесс преобразования открытого сообщения в закрытое сообщение и есть шифрование.

Если А - открытое сообщение, В - закрытое сообщение (шифр) , f - правило шифрования, то f(A) = B.

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

При кодировании нет такого секретного ключа, так как кодирование ставит целью лишь более сжатое, компактное представление сообщения.

Если k - ключ, то можно записать f(k(A)) = B. Для каждого ключа k, преобразование f(k) должно быть обратимым, то есть f(k(B)) = A. Совокупность преобразования f(k) и соответствия множества k называется шифром.


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

Функциональная схема взаимодействия участников симметричного криптографического обмена приведена на рис. 4.1.

Рис. 2.1. Функциональная схема симметричной криптосистемы

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

В настоящее время симметричные шифры - это:

· блочные шифры. Обрабатывают информацию блоками определенной длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект - нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.

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

Существует множество (не менее двух десятков) алгоритмов симметричных шифров, существенными параметрами которых являются:

· стойкость;

· длина ключа;

· число раундов;

· длина обрабатываемого блока;

· сложность аппаратной/программной реализации.

Распространенные алгоритмы симметричного шифрования:

В частности, AES — симметричный алгоритм блочного шифрования, принятый в качестве американского стандарта шифрования правительством США в 2002году, до него c 1977 года официальным стандартом США был алгоритм DES . По состоянию на 2006 год AES является одним из самых распространённых алгоритмов симметричного шифрования.

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

1. Шифры замены.

2. Шифры перестановки.

3. Шифры гаммирования.

Шифрование методом замены

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

Рассмотрим наиболее известные шифры моноалфавитной замены.

Свое название данный шифр получил по имени римского императора Гая Юлия Цезаря, который использовал этот шифр при переписке с Цицероном (около 50 г. до н.э).

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

Общая формула шифра Цезаря имеет следующий вид:

Табл. 2.1. Табл. подстановок шифра Цезаря для ключа K=3

А ® Г Р ® У
Б ® Д С ® Ф
В ® Е Т ® Х
Г ® Ж У ® Ц
Д ® З Ф ® Ч
Е ® И Х ® Ш
Ж ® Й Ц ® Щ
З ® К Ч ® Ь
И ® Л Ш ® Ы
Й ® М Щ ® Ъ
К ® Н Ь ® Э
Л ® О Ы ® Ю
М ® П Ъ ® Я
Н ® Р Э ® А
О ® С Ю ® Б
П ® Т Я ® В

Согласно формуле (4.2) открытый текст «БАГАЖ» будет преобразован в шифротекст «ДГЖГЙ».

Дешифрование закрытого текста, зашифрованного методом Цезаря согласно (4.1), осуществляется по формуле

P=C-K (mod M) (2.3)

Шифрование методами перестановки

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

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

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

Пример. Зашифруем открытый текст «ПРИЕЗЖАЮДНЕМ» методом перестановки с ключом К=3142.

П Р И Е З Ж А Ю Д Н Е М
И П Е Р А З Ю Ж Е Д М Н

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

Под гаммированием понимают наложение на открытые данные по определенному закону гаммы шифра .

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

Общая схема шифрования методом гаммирования представлена на рис. 2.3.

Рис. 2.3. Схема шифрования методом гаммирования

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

Перед шифрованием открытые данные обычно разбивают на блоки одинаковой длины, например по 64 бита. Гамма шифра также вырабатывается в виде последовательности блоков той же длины.

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

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

Описание презентации по отдельным слайдам:

1 слайд

Описание слайда:

2 слайд

Описание слайда:

ПРОБЛЕМА ЗАЩИТЫ ИНФОРМАЦИИ, ПРОБЛЕМА ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ кpиптология (криптос – тайный, логос – наука) кpиптогpафия кpиптоанализ построение и исследование математических методов пpеобpазования инфоpмации исследование возможности pасшифpовки инфоpмации без ключа криптоc и грофейн – писать. Это тайнопись, система перекодировки сообщения с целью сделать его непонятным для непосвященных лиц и дисциплина, изучающая общие свойства и принципы систем тайнописи.

3 слайд

Описание слайда:

основные понятия кодирования и шифрования Код – правило соответствия набора знаков одного множества Х знакам другого множества Y. Если каждому символу Х при кодировании соответствует отдельный знак Y, то это кодирование. Если для каждого символа из Y однозначно отыщется по некоторому правилу его прообраз в X, то это правило называется декодированием. Кодирование – процесс преобразования букв (слов) алфавита Х в буквы (слова) алфавита Y. При представлении сообщений в ЭВМ все символы кодируются байтами. Сообщение, которое мы хотим передать адресату, назовем открытым сообщением. Оно определено над некоторым алфавитом. Зашифрованное сообщение может быть построено над другим алфавитом. Назовем его закрытым сообщением. Процесс преобразования открытого сообщения в закрытое сообщение и есть шифрование. Если А – открытое сообщение, В – закрытое сообщение (шифр) , f – правило шифрования, то f(A) = B.

4 слайд

Описание слайда:

правила шифрования Правила шифрования должны быть выбраны так, чтобы зашифрованное сообщение можно было расшифровать. Однотипные правила (например, все шифры типа шифра Цезаря, по которому каждый символ алфавита кодируется отстоящим от него на k позиций символом) объединяются в классы, и внутри класса определяется некоторый параметр (числовой, символьный табличный и т.д.), позволяющий перебирать (варьировать) все правила. Такой параметр называется шифровальным ключом. Он, как правило, секретный и сообщается лишь тому, кто должен прочесть зашифрованное сообщение (обладателю ключа). При кодировании нет такого секретного ключа, так как кодирование ставит целью лишь более сжатое, компактное представление сообщения. Если k – ключ, то можно записать f(k(A)) = B. Для каждого ключа k, преобразование f(k) должно быть обратимым, то есть f(k(B)) = A. Совокупность преобразования f(k) и соответствия множества k называется шифром.

5 слайд

Описание слайда:

Шифры шифры перестановки шифры замены изменяет только порядок следования символов исходного сообщения. Это такие шифры, преобразования которых приводят к изменению только следования символов открытого исходного сообщения. заменяет каждый символ кодируемого сообщения на другой(ие) символ(ы), не изменяя порядок их следования. Это такие шифры, преобразования которых приводят к замене каждого символа открытого сообщения на другие символы, причем порядок следования символов закрытого сообщения совпадает с порядком следования соответствующих символов открытого сообщения. Под надежностью понимается способность противостоять взлому шифра. При дешифровке сообщения может быть известно все, кроме ключа, то есть надежность шифра определяется секретностью ключа, а также числом его ключей. Применяется даже открытая криптография, которая использует различные ключи для шифрования, а сам ключ может быть общедоступным, опубликованным. Число ключей при этом может достигать сотни триллионов. Один из лучших примеров алгоритма шифрования – принятый в 1977 году Национальным бюро стандартов США алгоритм стандарта шифрования данных DES (Data Encrypted Standard). Исследования алгоритма специалистами показали, что пока нет уязвимых мест, на основе которых можно было бы предложить метод криптоанализа, существенно лучший, чем полный перебор ключей. В июле 1991 года введен в действие аналогичный отечественный криптоалгоритм (стандарта ГОСТ 28147-89), который превосходит DES по надежности.

6 слайд

Описание слайда:

Криптогpафическая система криптосистемы симметpичные системы электронной подписи с откpытым ключом

7 слайд

Описание слайда:

В системах с откpытым ключом используются два ключа – откpытый и закpытый, котоpые математически (алгоритмически) связаны дpуг с дpугом. Инфоpмация шифpуется с помощью откpытого ключа, котоpый доступен всем желающим, а pасшифpовывается лишь с помощью закpытого ключа, который известен только получателю сообщения. Электpонной (цифpовой) подписью (ЭЦП) называется пpисоединяемое к тексту его кpиптогpафическое пpеобpазование, котоpое позволяет пpи получении текста дpугим пользователем пpовеpить автоpство и подлинность сообщения. К ЭЦП предъявляются два основных требования: легкость проверки подлинности подписи; высокая сложность подделки подписи. криптосистемы симметpичные системы электронной подписи с откpытым ключом

8 слайд

Описание слайда:

Системы упpавления ключами это информационные системы, целью которых является составление и pаспpеделение ключей между пользователями информационной системы. Разработка ключевой, парольной информации является типовой задачей администратора безопасности системы. Ключ может быть сгенерирован как массив нужного размера статистически независимых и равновероятно распределенных на двоичном множестве {0, 1} элементов. Пароли должен генерировать и раздавать пользователям системный администратор по безопасности, исходя из основного принципа: обеспечения равной вероятности появления каждого из символов алфавита в пароле. В процессе шифрования, чтобы ключ был использован полностью, необходимо многократно выполнять процедуру кодировки с различными элементами. Базовые циклы заключаются в многократном применении разных элементов ключа и отличаются друг от друга только числом повторения и порядком использования ключевых элементов.

9 слайд

Описание слайда:

Все современные криптосистемы построены по принципу Кирхгоффа: секретность зашифрованных сообщений определяется секретностью ключа. Это означает, что если даже алгоритм шифрования будет известен криптоаналитику, тот тем не менее не в состоянии будет расшифровать закрытое сообщение, если не располагает соответствующим ключом. Все классические шифры соответствуют этому принципу и спроектированы таким образом, чтобы не было пути вскрыть их более эффективным способом, чем полный перебор по всему ключевому пространству, то есть перебор всех возможных значений ключа. Ясно, что стойкость таких шифров определяется размером используемого в них ключа. Пример. В российских шифрах часто используется 256-битовый ключ, а объем ключевого пространства составляет 2256. Ни на одном реально существующем или возможном в недалеком будущем компьютере нельзя подобрать ключ (полным перебором) за время, меньшее многих сотен лет. Российский криптоалгоритм проектировался с большим запасом надежности, стойкости.

10 слайд

Описание слайда:

Информационная безопасность информационной системы – защищенность информации, обрабатываемой компьютерной системой, от внутренних (внутрисистемных) или внешних угроз, то есть состояние защищенности информационных ресурсов системы, обеспечивающее устойчивое функционирование, целостность и эволюцию системы. К защищаемой информации (информационным ресурсам системы) относятся электронные документы и спецификации, программное обеспечение, структуры и базы данных и др. Оценка безопасности компьютерных систем базируется на различных классах защиты систем: класс систем минимальной защищенности (класс D); класс систем с защитой по усмотрению пользователя (класс C); класс систем с обязательной защитой (класс B); класс систем с гарантированной защитой (класс A).

11 слайд

Описание слайда:

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

Описание слайда:

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

14 слайд

Описание слайда:

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

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

Ответ от Проскочить [новичек]
Шифрование - это способ изменения сообщения или другого документа.
Кодирование – это преобразование обычного, понятного, текста в код.


Ответ от Alexey Glazov [гуру]
Кодирование - преобразование информации с целью обеспечить удобство ее хранения или передачи. НЕТ никакого засекречивания. Это просто перевод в другой формат, который по какой-то причине более удобен
Шифрование - преобразование информации с целью затруднить или сделать невозможным ПОНИМАНИЕ или изменение этой информации неавторизованными лицами с случае перехвата. Здесь ЕСТЬ засекречивание.


Ответ от Sergey Andrianov [гуру]
Оба термина многозначны, остановлюсь по одному значению для каждого термина, где можно провести аналогию.
Кодирование - преобразование ПРЕДСТАВЛЕНИЯ одной и той же информации в другом виде. Например, цифрового (дискретного) сигнала посредством непрерывно изменяющегося напряжения, тока либо напряженности ЭМ-поля. Представление текста в виде пследовательности битов и т. п.
Шифрование - преобразование информации с целью защитить ее от несанкционированного доступа, как правило, без изменени способа представления. Т. е. из одного файла на диске получается другой файл.


Ответ от Посохнуть [гуру]
Шифрование сложнее


Ответ от Алексей Бараев [гуру]
Кодирование - неоднозначный термин. Достаточно часто "кодированием" называют написание программного кода, про психотерапевтическое кодирование я умолчу:))
Итак кодирование vs шифрование.
При кодировании некоемому алфавиту А ставится в ПРЯМОЕ соответствие некий алфавит В.
Слова, сформированные из алфавита А могут быть однозначно переведены в слова, написанные алфавитом В с помощью таблицы перекодировки.
Например - кодировка ASСII, широко используемая до сих пор.
Символу A соответсвует число 65, символу В соответствует число 66 и т. д.
Описанный Эдгаром По в рассказе "Золотой жук" "шифр" на самом деле шифром не является. Это пример кодирования.
Шифрование же это процесс применения некоего криптографического преобразования открытого текста на основе алгоритма и ключа, в результате которого возникает шифрованный текст.
Если говорить на очень примитивном уровне, то для кодирования не требуется ключ, да и алгоритм как правило простой - однозначная замена элемента алфавита А на алфавит B. И обратно. Кодирование только симметрично. Шифрование в зависимости от алгоритма может быть как симметричным, так и асимметричным.

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

Одна из наиболее важных задач (всего общества) – задача кодирования сообщений и шифрования информации.

Вопросами защиты и скрытия информации занимается наука криптология (криптос – тайный,логос – наука). Криптология имеет два основных направления – криптографию и криптоанализ. Цели этих направлений противоположны. Криптография занимается построением и исследованием математических методов преобразования информации, а криптоанализ – исследованием возможности расшифровки информации без ключа. Термин "криптография" происходит от двух греческих слов:криптос игрофейн – писать. Таким образом, это тайнопись, система перекодировки сообщения с целью сделать его непонятным для непосвященных лиц и дисциплина, изучающая общие свойства и принципы систем тайнописи.

Введем некоторые основные понятия кодирования и шифрования.

Код – правило соответствия набора знаков одного множества Х знакам другого множества Y. Если каждому символу Х при кодировании соответствует отдельный знак Y, то это кодирование. Если для каждого символа из Y однозначно отыщется по некоторому правилу его прообраз в X, то это правило называется декодированием.

Кодирование – процесс преобразования букв (слов) алфавита Х в буквы (слова) алфавита Y.

При представлении сообщений в ЭВМ все символы кодируются байтами. Пример. Если каждый цвет кодировать двумя битами, то можно закодировать не более 2 2 = 4 цветов, тремя –2 3 = 8 цветов, восемью битами (байтом) –2 8 =256 цветов. Для кодирования всех символов на клавиатуре компьютера достаточно байтов.

Сообщение, которое мы хотим передать адресату, назовем открытым сообщением. Оно, естественно, определено над некоторым алфавитом.

Зашифрованное сообщение может быть построено над другим алфавитом. Назовем его закрытым сообщением. Процесс преобразования открытого сообщения в закрытое сообщение и есть шифрование.

Если А – открытое сообщение,В – закрытое сообщение (шифр) ,f – правило шифрования, тоf(A) = B .

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

При кодировании нет такого секретного ключа, так как кодирование ставит целью лишь более сжатое, компактное представление сообщения.

Если k – ключ, то можно записатьf(k(A)) = B . Для каждого ключаk , преобразованиеf(k) должно быть обратимым, то естьf(k(B)) = A . Совокупность преобразованияf(k) и соответствия множестваk называется шифром.

Имеются две большие группы шифров: шифры перестановки и шифры замены.

Шифр перестановки изменяет только порядок следования символов исходного сообщения. Это такие шифры, преобразования которых приводят к изменению только следования символов открытого, исходного сообщения.

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

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

Один из лучших примеров алгоритма шифрования – принятый в 1977 году Национальным бюро стандартов США алгоритм стандарта шифрования данных DES (Data Encryрted Standard). Исследования алгоритма специалистами показали, что пока нет уязвимых мест, на основе которых можно было бы предложить метод криптоанализа, существенно лучший, чем полный перебор ключей. В июле 1991 года введен в действие аналогичный отечественный криптоалгоритм (стандарта ГОСТ 28147-89), который превосходит DES по надежности.

Криптографическая система – семейство Хпреобразований открытых текстов. Члены этого семейства индексируются, обозначаются символомk ; параметрk являетсяключом. МножествоключейK – это набор возможных значенийключаk . Обычноключпредставляет собой последовательный ряд букв алфавита.

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

Криптосистемы разделяются на симметричные с открытым ключоми системы электронной подписи.

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

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

Электронной (цифровой) подписью (ЭЦП) называется присоединяемое к тексту его криптографическое преобразование, которое позволяет при получении текста другим пользователем проверить авторство и подлинность сообщения. К ЭЦП предъявляются два основных требования: легкость проверки подлинности подписи; высокая сложность подделки подписи.

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

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

Разработка ключевой, парольной информации является типовой задачей администратора безопасности системы.Ключможет быть сгенерирован как массив нужного размера статистически независимых и равновероятно распределенных на двоичном множестве{0, 1}элементов.

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

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

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

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

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

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

Пример.В российскихшифрахчасто используется 256-битовыйключ, а объем ключевого пространства составляет2 256 . Ни на одном реально существующем или возможном в недалеком будущем компьютере нельзя подобратьключ(полным перебором) за время, меньшее многих сотен лет. Российский криптоалгоритм проектировался с большим запасомнадежности, стойкости.

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

Оценка безопасности компьютерных систем базируется на различных классах защиты систем:

класс систем минимальной защищенности (класс D);

класс систем с защитой по усмотрению пользователя (класс C);

класс систем с обязательной защитой (класс B);

класс систем с гарантированной защитой (класс A).

Эти классы имеют и подклассы, но мы их не будем здесь детализировать.

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

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

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

Стеганография

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

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

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

ROT1 и шифр Цезаря

Название этого шифра ROTate 1 letter forward, и он известен многим школьникам. Он представляет собой шифр простой замены. Его суть заключается в том, что каждая буква шифруется путем смещения по алфавиту на 1 букву вперед. А -> Б, Б -> В, ..., Я -> А. Например, зашифруем фразу «наша Настя громко плачет» и получим «общб Обтуа дспнлп рмбшеу».

Шифр ROT1 может быть обобщен на произвольное число смещений, тогда он называется ROTN, где N - это число, на которое следует смещать шифрование букв. В таком виде шифр известен с глубокой древности и носит название «шифр Цезаря».

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

Транспозиционные или перестановочные шифры

Данные виды шифра простой перестановки более серьезны и активно применялись не так давно. В Гражданскую войну в США и в Первую мировую его использовали для передачи сообщений. Его алгоритм заключается в перестановке букв местами - записать сообщение в обратном порядке или попарно переставить буквы. Например, зашифруем фразу «азбука Морзе - тоже шифр» -> «акубза езроМ - ежот рфиш».

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

Азбука Морзе

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

Телеграф и азбука был тем, кто первый запатентовал «свое» изобретение в 1840 году, хотя до него и в России, и в Англии были изобретены подобные аппараты. Но кого это теперь интересует... Телеграф и азбука Морзе оказали очень большое влияние на мир, позволив почти мгновенно передавать сообщения на континентальные расстояния.

Моноалфавитная замена

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

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

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

Шифр Гронсфельда, или полиалфавитная замена

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

Алгоритм шифрования ADFGX

Это самый известный шифр Первой мировой войны, используемый немцами. Свое имя шифр получил потому, что алгоритм шифрования приводил все шифрограммы к чередованию этих букв. Выбор самих же букв был определен их удобством при передаче по телеграфным линиям. Каждая буква в шифре представляется двумя. Рассмотрим более интересную версию квадрата ADFGX, которая включает цифры и называется ADFGVX.

A D F G V X
A J Q A 5 H D
D 2 E R V 9 Z
F 8 Y I N K V
G U P B F 6 O
V 4 G X S 3 T
X W L Q 7 C 0

Алгоритм составления квадрата ADFGX следующий:

  1. Берем случайные n букв для обозначения столбцов и строк.
  2. Строим матрицу N x N.
  3. Вписываем в матрицу алфавит, цифры, знаки, случайным образом разбросанные по ячейкам.

Составим аналогичный квадрат для русского языка. Например, создадим квадрат АБВГД:

А Б В Г Д
А Е/Е Н Ь/Ъ А И/Й
Б Ч В/Ф Г/К З Д
В Ш/Щ Б Л Х Я
Г Р М О Ю П
Д Ж Т Ц Ы У

Данная матрица выглядит странно, так как ряд ячеек содержит по две буквы. Это допустимо, смысл послания при этом не теряется. Его легко можно восстановить. Зашифруем фразу «Компактный шифр» при помощи данной таблицы:

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Фраза К О М П А К Т Н Ы Й Ш И Ф Р
Шифр бв гв гб гд аг бв дб аб дг ад ва ад бб га

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

Шифр Виженера

Данный шифр на порядок более устойчив к взлому, чем моноалфавитные, хотя представляет собой шифр простой замены текста. Однако благодаря устойчивому алгоритму долгое время считался невозможным для взлома. Первые его упоминания относятся к 16-му веку. Виженер (французский дипломат) ошибочно считается его изобретателем. Чтобы лучше разобраться, о чем идет речь, рассмотрим таблицу Виженера (квадрат Виженера, tabula recta) для русского языка.

Приступим к шифрованию фразы «Касперович смеется». Но, чтобы шифрование удалось, нужно ключевое слово — пусть им будет «пароль». Теперь начнем шифрование. Для этого запишем ключ столько раз, чтобы количество букв из него соответствовало количеству букв в шифруемой фразе, путем повтора ключа или обрезания:

Теперь по как по координатной плоскости, ищем ячейку, которая является пересечением пар букв, и получаем: К + П = Ъ, А + А = Б, С + Р = В и т. д.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Шифр: Ъ Б В Ю С Н Ю Г Щ Ж Э Й Х Ж Г А Л

Получаем, что "касперович смеется" = "ъбвюснюгщж эйхжгал".

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

Следует также упомянуть, что помимо абсолютно случайного ключа может быть использована совершенно разная таблица Виженера. В данном случае квадрат Виженера состоит из построчно записанного русского алфавита со смещением на единицу. Что отсылает нас к шифру ROT1. И точно так же, как и в шифре Цезаря, смещение может быть любым. Более того, порядок букв не должен быть алфавитным. В данном случае сама таблица может быть ключом, не зная которую невозможно будет прочесть сообщение, даже зная ключ.

Коды

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

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

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

"Энигма"

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

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

Взломать "Энигму" активно пытались в течение всей военной кампании Гитлера. В Англии в 1936 г. для этого построили один из первых вычислительных аппаратов (машина Тьюринга), ставший прообразом компьютеров в будущем. Его задачей было моделирование работы нескольких десятков "Энигм" одновременно и прогон через них перехваченных сообщений нацистов. Но даже машине Тьюринга лишь иногда удавалось взламывать сообщение.

Шифрование методом публичного ключа

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

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

Рассмотрим простой пример. Пусть публичным ключом будет 905. Его делителями являются числа 1, 5, 181 и 905. Тогда секретным ключом будет, например, число 5*181. Вы скажете слишком просто? А что если в роли публичного числа будет число с 60 знаками? Математически сложно вычислить делители большого числа.

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

Стойкость шрифта

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

На сегодняшний день не существует единых стандартов, по которым можно было бы оценить стойкость шифра. Это трудоемкий и долгий процесс. Однако есть ряд комиссий, которые изготовили стандарты в этой области. Например, минимальные требования к алгоритму шифрования Advanced Encryption Standart или AES, разработанные в NIST США.

Для справки: самым стойким шифром к взлому признан шифр Вернама. При этом его плюсом является то, что по своему алгоритму он является простейшим шифром.

© 2024 udalayagvardia.ru - Строительный портал - Udalayagvardia