Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Алгоритмы шифрования и дешифрования




По треугольнику Паскаля

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

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

    Шифрование происходит по следующему алгоритму:

из предложения выделяется очередное слово;

0:                                         1

1:                                    1       1

2:                                 1     2     1

3:                               1    3    3     1

4:                                1    4     6     4    1

5:                               1   5     10 10     5    1

6:                        1   6    15    20   15     6     1

7:                              1    7     21     35    35    21     7     1

8:                      1   8     28   56    70   56   28     8    1

9:                      1      9     36   84    126  126    84     36     9    1

10:                      1   10     45     120     210     252     210   120     45    10   1

11:                  1 11 55 165    330    462   462     330     165    55    11    1

12:                  1 12 66 220 495 792    924 792 495 220 66   12 1

13:                  1 13 78 286 715 1287 1716 1716 1287    715    286   78    13    1

14:                 1    14    91    364     1001     2002     3003     3432     3003     2002     1001    364     91     14    1

Рис.4.1 – первые 15 строк треугольника Паскаля.

 

1.из треугольника Паскаля выбирается строка с номером, равным числу букв в слове;

2.k-я буква исходного слова заменяется на букву, отстоящую от исходной на число букв, указанное в k-м столбце выбранной строки треугольника Паскаля (отсчет производится по часовой стрелке, как показано на рис.4.2).

А Б В Г Д Е Ж З

 Я                  И

 Ю                 Й

 Э                   К

 Ь                   Л

 Ы                  М

 Ъ                  Н

Щ                  О

 Ш                 П

  Ч Ц Х Ф У Т С Р

Рис.4.2 – схема отсчета

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

Метод Гронсфельда   

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

По матрице Виженера

    Матрица Виженера представлена на рис.4.3. Применительно к шифру Цезаря каждая шифруемая буква сдвигалась бы на три строки (сдвиг  +3), т.е. А стало бы Г, Б стало бы Д и т.д. Здесь же сдвиг зависит от буквы ключа.

 

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

Рис.4.3 – матрица Виженера

 

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

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

    Если буквы А-Я соответствуют числам 1-32 (без буквы Ё), то шифрование и дешифрование по матрице Виженера можно записать в виде формул соответственно:

,

,

где  - буква зашифрованного текста,  - буква исходного текста,  - буква ключа.

 

Проектирование приложения.










Последнее изменение этой страницы: 2018-05-29; просмотров: 173.

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