7


  • Учителю
  • Исследовательская работа Шифры и коды.

Исследовательская работа Шифры и коды.

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

Муниципальное бюджетное общеобразовательное учреждение «СОШ с. Яковлевка Базарно-Карабулакского муниципального района Саратовской области»









Исследовательская работа

КОДЫ И ШИФРЫ









Работу подготовила

обучающаяся 9б класса

ДосаеваЕсения

Руководитель:

учитель информатики

Дамаев Ряшит Харисович











2016 год.

Содержание.

  1. Введение

  2. Основная часть

    1. Понятия «код» и «кодирование». Азбука Морзе.

    2. Двоичное кодирование в компьютере.

    3. Двоично-десятичное кодирование.

    4. Алгоритмы сжатия двоичного кода.

    5. Понятия «шифр» и «шифрование».

    6. Примеры шифров

      1. Сцитала.

      2. Шифр Цезаря.

      3. Квадрат Полибия.

      4. Шифр Грюнфельда

      5. Решётка Кардано.

    7. Криптография в интересах государства.

    8. Современные стандарты шифрования.

    9. Криптоанализ.

      1. Частотный анализ.

      2. Метод полного перебора.

      3. Атака по ключам.

      4. Криптоанализ симметричных шифров.

      5. Бандитский криптоанализ.

  3. Заключение.

  4. Литература.





Введение.

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

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



Основная часть.

Понятия «код» и «кодирование». Азбука Морзе.

Код - правило (алгоритм) сопоставления каждому конкретному сообщению строго определённой комбинации символов (знаков) (или сигналов).

В повседневной жизни мы часто встречаемся с кодированной информацией: текст, запись чисел, нотная запись, формулы…

Очень интересным способом кодирования, который был технически реализован для передачи информации на большие расстояния с помощью световых, электрических и электромагнитных сигналов, является код Морзе (или «азбука Морзе») - способ знакового кодирования, представление букв алфавита, цифр, знаков препинания и других символов последовательностью сигналов: длинных («тире») и коротких («точек»). За единицу времени принимается длительность одной точки. Длительность тире равна трём точкам. Пауза между элементами одного знака - одна точка, между знаками в слове - 3 точки, между словами - 7 точек. Назван в честь американского изобретателя и художника Сэмюеля Морзе.Буквенные коды (собственно «азбука») были добавлены коллегой Морзе, Альфредом Вейлем - факт, который Морзе впоследствии всячески отрицал (а заодно приписывал себе изобретение телеграфа как такового). Вейлем же, возможно, была придумана и цифровая часть кода. А в 1848 году код Вейля/Морзе был усовершенствован немцем Фридрихом Герке. Код, усовершенствованный Герке, используется до настоящего времени. Современная телеграфная азбука (система кодировки символов короткими и длинными посылками для передачи их по линиям связи, известная как «код Морзе» или «морзянка») существенно отличается от той, что предложил в 1838 г. С. Морзе. Исходная таблица «кода Морзе» разительно отличалась от тех кодов, что сегодня звучат на любительских диапазонах. Во-первых, в ней использовались посылки трёх разных длительностей («точка», «тире» и «длинное тире» - в 4 раза длиннее «точки»). Во-вторых, некоторые символы имели паузы внутри своих кодов.

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

Передаваться и приниматься азбука Морзе может с различной скоростью - это зависит от возможностей и опыта радистов. Обычно средней квалификации радист работает в диапазоне скоростей 60 - 100 знаков в минуту. Достижения по скоростным приёму-передаче находятся в диапазоне скоростей 260-310 знаков в минуту.



Двоичный код.

Одним из самых удобных принципов кодирования является двоичное кодирование, применяемое для представления и дальнейшей обработки информации в компьютере. Двоичный код - это способ представления данных в одном разряде в виде комбинации двух знаков, обычно обозначаемых цифрами 0 и 1 (двоичный алфавит). Разряд в этом случае называется двоичным разрядом. В случае обозначения цифрами «0» и «1», возможные состояния двоичного разряда наделяются качественным соотношением «1» > «0» и количественными значениями чисел «0» и «1». Двоичный код может быть непозиционным и позиционным. Позиционный двоичный код лежит в основе двоичной системы счисления, широко распространенной в современной цифровой технике.

Используя два двоичных разряда можно закодировать четыре различные комбинации: 00 01 10 11, три двоичных разряда - восемь: 000 001 010 011 100 101 110 111, и так далее.

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

Двоичные коды являются комбинациями двух элементов и не являются двоичной системой счисления, но используются в ней как основа. Двоичный код также может использоваться для кодирования чисел в системах счисления с любым другим основанием. В школьном курсе информатики рассматривается двоичное кодирование в восьмеричной и шестнадцатеричной системах счисления где соответствие цифры и двоичного кода однозначно определяется связью N=2k :

Двоично-десятичный код.

В двоично-десятичном кодировании такжеиспользуется двоичный код для кодирования чисел в десятичной системе счисления.

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

Таблица соответствия двоично-десятичного кода и десятичных цифр:





Двоично-десятичный код также применяется в телефонной связи. В этом случае кроме десятичных цифр кодируются символы '*' или '#' или любые другие. Для записи этих символов в двоично-десятичном коде используются «запрещенные» комбинации:

Исследовательская работа Шифры и коды.

Преимущества

Часы с двоично-десятичной системой индикации. В этих часах каждая колонка отображает десятичное число в двоично-десятичной системе.

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

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

Упрощены умножение и деление на 10, а также округление.

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

Недостатки

Требует больше памяти.

Усложнены арифметические операции. Так как используются только 10 возможных комбинаций 4-х битового поля вместо 16, существуют запрещённые комбинации битов: 1010(1010), 1011(1110), 1100(1210), 1101(1310), 1110(1410) и 1111(1510).



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

В системах счисления k-разрядный двоичный код, (k-1)-разрядный двоичный код, (k-2)-разрядный двоичный код и т. д. могут отображать одно и то же число. Например, 0001, 001, 01, 1 - одно и то же число - «1» в двоичных кодах с разным числом разрядов - k.

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

Примеры представления информации двоичными кодами.

Алгоритмы сжатия.

Существуют алгоритмы дополнительного преобразования первичного двоичного кода, например, алгоритмы сжатия. Алгоритм Шеннона - Фано - один из первых алгоритмов сжатия, который впервые сформулировали американские учёные Шеннон и Роберт Фано. Данный метод сжатия имеет большое сходство с алгоритмом Хаффмана, который появился на несколько лет позже. Алгоритм использует коды переменной длины: часто встречающийся символ кодируется кодом меньшей длины, редко встречающийся - кодом большей длины. Коды Шеннона - Фано префиксные, то есть никакое кодовое слово не является префиксом любого другого. Это свойство позволяет однозначно декодировать любую последовательность кодовых слов.Алгоритм Шеннона - Фано использует избыточность сообщения, заключённую в неоднородном распределении частот символов его (первичного) алфавита, то есть заменяет коды более частых символов короткими двоичными последовательностями, а коды более редких символов - более длинными двоичными последовательностями. Алгоритм был независимо друг от друга разработан Шенноном (публикация «Математическая теория связи», 1948 год) и, позже, Фано (опубликовано как технический отчёт).

Код Шеннона - Фано строится с помощью дерева. Построение этого дерева начинается от корня. Всё множество кодируемых элементов соответствует корню дерева (вершине первого уровня). Оно разбивается на два подмножества с примерно одинаковыми суммарными вероятностями. Эти подмножества соответствуют двум вершинам второго уровня, которые соединяются с корнем. Далее каждое из этих подмножеств разбивается на два подмножества с примерно одинаковыми суммарными вероятностями. Им соответствуют вершины третьего уровня. Если подмножество содержит единственный элемент, то ему соответствует концевая вершина кодового дерева; такое подмножество разбиению не подлежит. Подобным образом поступаем до тех пор, пока не получим все концевые вершины. Ветви кодового дерева размечаем символами 1 и 0. При построении кода Шеннона - Фано разбиение множества элементов может быть произведено, вообще говоря, несколькими способами. Выбор разбиения на уровне n может ухудшить варианты разбиения на следующем уровне (n + 1) и привести к неоптимальности кода в целом. Поэтому код Шеннона - Фано не является оптимальным в общем смысле, хотя и дает оптимальные результаты при некоторых распределениях вероятностей. Если построить все возможные коды Шеннона - Фано для данного распределения вероятностей, то среди них будут находиться и все коды Хаффмана, то есть оптимальные коды.

Пример кодового дерева

Исходные символы:

A (частота встречаемости 50)

B (частота встречаемости 39)

C (частота встречаемости 18)

D (частота встречаемости 49)

E (частота встречаемости 35)

F (частота встречаемости 24)

Кодовое дерево



Исследовательская работа Шифры и коды.









Полученный код: A - 11, B - 101, C - 100, D - 00, E - 011, F - 010.

Кодирование Шеннона - Фано является достаточно старым методом сжатия, и на сегодняшний день оно не представляет особого практического интереса. В большинстве случаев длина последовательности, сжатой по данному методу, равна длине сжатой последовательности с использованием кодирования Хаффмана. Но на некоторых последовательностях могут сформироваться неоптимальные коды Шеннона - Фано, поэтому более эффективным считается сжатие методом Хаффмана.

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



Шифрование.

Шифрование - защита информации путём её преобразования с использованием определённых закрытых (в смысле доступности для всех) алгоритмов и ключей.

Наука о создании и использовании шифров называется криптографией.

Одно из основных понятий криптографии - шифр (араб. صِفْر (sifr) - «ноль», «ничто», «пустота», откуда фр. chiffre - «цифра»; арабы первыми стали заменять буквы цифрами с целью защиты исходного текста).

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

Составными элементами шифра являются:

- алфавиты для записи исходных сообщений (защищаемой информации, открытого текста) и шифрованных сообщений (шифртекстов, шифрограмм, криптограмм);

- алгоритмы криптографического преобразования (шифрования и дешифрования);

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

Шифрование информации применялось с древнейших времён.

Сцитала.

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

Шифр Цезаря.

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

Квадрат Полибия.

В Древней Греции (II в. до н. э.) был известен шифр, называемый «квадрат Полибия». Это устройство представляло собой квадрат 5х5, столбцы и строки которого нумеровались от 1 до 5. В каждую клетка этого квадрата записывалась одна буква (в греческом алфавит одна клетка оставалась пустой, а в латинском в одну клетку записывалось две буквы: I, J).

В результате каждой букве отвечала пара чисел, и шифрованное сообщение превращалось в последовательность пар чисел.

Шифр Гронфельда

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

Решётка Кардано.

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

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

Исследовательская работа Шифры и коды.

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

Исследовательская работа Шифры и коды.



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

Исследовательская работа Шифры и коды.

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

Исследовательская работа Шифры и коды.

Если повороты были на 900, то процедуру повторяем еще два раза.

Исследовательская работа Шифры и коды.

Далее решетку Кардано убираем и клетки, оставшиеся пустыми, заполняем "мусором": различными буквами, знаками препинания, цифрами (в произвольном порядке, чем хаотичнее, тем лучше).

Исследовательская работа Шифры и коды.

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

Последний из методов шифрования с помощью решетки Кардано в чем-то похож на предыдущий. Принципиальным отличием от предыдущего способа шифрования является расположение отверстий в трафарете: отверстия должны быть прорезаны так, чтобы при поворотах они замещали ВЕСЬ трафарет, но при этом не накладывались друг на друга (ни полностью, ни частично). Вот здесь без конструктора решеток Кардано будет тяжеловато. Для квадратных трафаретов со стороной 2 такая решетка единственная. Однако при увеличении размеров трафарета количество таких решеток резко возрастает (в квадрате со стороной 8 "помещается" более 4 миллиардов различных решеток Кардано), и определить, какой именно решеткой пользовались для шифрования, невозможно.

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

Рассмотрим, наконец, что же такое конструктор решеток Кардано. На рисунке ниже приведен конструктор решеток Кардано для квадрата со стороной 8.

Исследовательская работа Шифры и коды.

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

Вопрос второй. Как пользоваться конструктором решеток? Нетрудно заметить, что каждая из клеток конструктора имеет номер от 1 до 16, причем любое число от 1 до 16 является номером ровно четырех ячеек. Чтобы получить решетку Кардано для шифрования вторым способом нужно вырезать клетки таким образом, чтобы среди вырезанных клеток не было клеток с одинаковыми номерами и клетки нескольких номеров (желательно, чтобы количество этих номеров было от 5 до 9) остались невырезанными (каждая из четырех соответствующих клеток). Клетки с этими номерами и останутся пустыми после вписывания послания. Чтобы получить решетку Кардано для шифрования третьим способом необходимо вырезать клетки так, чтобы для каждого номера была вырезана ровно одна клетка (имеющая этот номер).

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



Криптография в интересах государства

Выше были рассмотрены, можно сказать, примеры шифров «любительского уровня». В профессиональном же смысле шифрование применялось и применяется для защиты информации - государственной, военной, коммерческой. Особое значение криптография приобретала во время войн. Во время Первой мировой войны криптография стала признанным боевым инструментом. Разгаданные сообщения противников вели к ошеломляющим результатам. Перехват телеграммы немецкого посла Артура Циммермана американскими спецслужбами привел к вступлению США в боевые действия на стороне союзников. Вторая мировая война послужила своеобразным катализатором развития компьютерных систем - через криптографию. Использованные шифровальные машины (немецкая «Энигма», английская «Бомба Тьюринга») ясно показали жизненную важность информационного контроля. (Шифратор - в криптографии устройство для автоматического шифрования. Электромеханические шифраторы появляются в начале 1920-х годов в США и Европе и широко используются вплоть до 1980-х годов, когда распространение получают шифры, предназначенные для использования с вычислительной техникой). В послевоенное время правительства многих стран наложили мораторий на использование криптографии не в военных целях. Ключевые работы публиковались исключительно в виде секретных докладов - таких, как, например книга Клода Шеннона «Теория связи в секретных системах», подходящая к криптографии как к новой математической науке.

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



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

Лучшие умы человечества на протяжении всей истории занимались проблемами составления шифров. Главное, к чему все стремились, - это создать криптоустойчивые шифры. Разработанные шифры и соответствующие ключи в дальнейшем использовали в алгоритмах шифрования. Современных алгоритмов шифрования существует великое множество, самые популярные из них, получили статус стандартов. Это DES (DataEncryptionStandard), RSA (алгоритм Rivest-Shamir-Adleman), PGP, наш отечественный ГОСТ 28147-89 (который в иностранной литературе чаще называется просто GOST) и другие. Причем современные шифры - это не только собственно алгоритмы шифрования, а криптографические системы, где определены также возможные типы и параметры ключей, способы организации работы с ключами и зашифрованными сообщениями, правила определения подлинности и целостности сообщений и т. п. Основа каждого стандарта - определенные математические построения. В основе любой криптографической системы лежат алгоритм шифрования, протокол взаимодействия участвующих сторон и процедура управления ключами. Протокол - это последовательность шагов, которые предпринимают стороны для совместного решения задачи. Все шаги следуют в порядке строгой очередности, и ни один из них не может быть сделан прежде, чем закончится предыдущий. Кроме того, любой протокол подразумевает участие, по крайней мере, двух сторон.

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



Криптоанализ - наука о методах получения исходного значения зашифрованной информации.

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

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

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

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

Криптоанализ симметричных шифров. Наибольший прогресс в разработке методов раскрытия блочных шифров был достигнут в самом конце ХХ века и в основном связан с появлением в начале 90-х годов двух методов - разностного (дифференциального) криптоанализа и линейного криптоанализа. (Примечание: Блочный шифр - разновидность симметричного шифра, оперирующего группами бит фиксированной длины - блоками, характерный размер которых меняется в пределах 64 - 256 бит. Если исходный текст (или его остаток) меньше размера блока, перед шифрованием его дополняют.Симметричные шифр - способ шифрования, в котором для шифрования и расшифрования применяется один и тот же криптографический ключ. До изобретения схемы асимметричного шифрования единственным существовавшим способом являлосьсимметричное шифрование. Ключ алгоритма должен сохраняться в секрете обеими сторонами.)

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









Заключение

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

Что же касается криптографии и криптоанализа. Возникает вопрос: если прогресс в области разработки новых методов взлома велик, почему мы продолжаем использовать криптосистемы, чья стойкость постоянно снижается? Ещё во времена Второй Мировой войны основоположник современной криптографии Клод Шеннон доказал существование принципиально не раскрываемых шифров - совершенно секретных систем, в которых ключ, «накладываемый» на текст, не может использоваться повторно, а его размер больше либо равен объёму текста. Дело в том, что использование способа шифрования, получившего название «одноразовых блокнотов», в большинстве случаев оказывается слишком дорогим и неоправданным. Нет смысла бороться за устойчивость системы защиты информации к взлому ниже некоторой «фоновой» вероятности, когда на другой чаше весов оказываются такие характеристики криптосистемы, как стоимость, сложность реализации и скорость доступа к зашифрованному тексту. Выбор необходимой степени защиты - это поиск компромисса между уровнем безопасности и расходами на ее обеспечение. Таким образом, разработка новых методов криптоанализа с последующей публикацией и открытым обсуждением результатов является основным двигателем современной криптографии.







Литература.

  1. Гатчин Ю.А., Коробейников А.Г. Основы криптографических алгоритмов. Учебное пособие. - СПб.:СПбГИТМО(ТУ), 2002.

  2. Коробейников А. Г. Математические основы криптографии. Учебное пособие. СПб: СПб ГИТМО (ТУ), 2002.

  3. Криптоанализ и криптография: история противостояния. Авдошин С. М., Савельева А. А. Бизнес-информатика. 2009. № 2. С. 3-11.

  4. ru.wikipedia.org

  5. citforum.ru/security/cryptography/yaschenko/78.html

  6. www.wikiznanie.ru/ru-wz/index.php/Шифр</</p>









 
 
X

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

После этого кнопка ЗАГРУЗКИ станет активной!

Кнопки рекомендации:

загрузить материал