Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Защита информации в ПЭВМ. Шифр Плейфера

Тип Реферат
Предмет Информатика и программирование
Просмотров
1174
Размер файла
46 б
Поделиться

Ознакомительный фрагмент работы:

Защита информации в ПЭВМ. Шифр Плейфера

Защита информации в ПЭВМ. Шифр Плейфера

Московский государственный Авиационный институт

(технический университет)

Кафедра 403

“алгоритмические языки и программирование”

Расчетно графическая работа

на тему

_ _

Защита информации в ПЭВМ _

Шифр Плэйфера _

студент гр. 04-109

ᅣ↓│￲￰│← ᅢ￳￰¥■↑○¬

Научный руководитель

Кошелькова Л.В.

Москва год

Оглавление

Защита информации в ПЭВМ 4

Криптографические методы защиты информации 5

Модель одноключевой криптосистемы для передачи сообщений 6

Шифр простой подстановки. 7

Шифр перестановки (транспозиции) с фиксированным d (блок d -группа символов). 7

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

Шифрование с помощью датчика случайных чисел (ПСЧ) 9

ШИФР ПЛЭЙФЕРА 10

Блок схемы 10

ПП SHIFR_PLEYFER 10

ПФ SHIFR_TXT 11

ПФ DESHIFR_TXT 13

ОСНОВНАЯ ПРОГРАММА 15

Программа 16

Результаты 21

СПИСОК ЛИТЕРАТУРЫ 22

Защита информации в ПЭВМ

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

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

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

- проверка целостности информации;

-исключение несанкционированного доступа к ресурсам ПЭВМ и хранящимся в ней программам и данным (с целью сохранения трех основных свойств защищаемой информации: целостности, конфи­денциальности, готовности);

- исключение несанкционированного использования хранящихся в ПЭВМ программ (т.е. защита программ от копирования).

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

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

- чтение информации с экрана посторонним лицом;

- расшифровка программой зашифрованной информации;

- хищение носителей информации (магнитных дисков, дискет, лент и т. д.).

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

- подключение к ПЭВМ специально разработанных аппаратных средств, обеспечивающих доступ к информации;

- использование специальных технических средств для перехвата

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

- несанкционированный доступ программы к информации;

- расшифровка программой зашифрованной информации;

- копирование программой информации с носителей.

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

Обзор методов защиты информации

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

Средства защиты можно подразделить на следующие категории:

1. - средства собственной защиты;

2. - средства защиты в составе вычислительной системы;

3. - средства защиты с запросом информации;

4. - средства активной защиты;

5. - средства пассивной защиты.

Классификация средств защиты информации

Средства защиты информации

Собственной защиты

В составе ВС

С запросом информации

Актив

ные

Пассивные

- документация

- машинный код

- сопровождение

- авторское право

- заказное проектирование

- защита магнитных дисков

- специальная аппаратура

- замки защиты

- изменения функций

- пароли

- шифры

- сигнатура

- аппаратура защиты (ПЗУ, преобразователи) генератор случайных чисел

- замки защиты

(время, данные)

- искаженные программы

(программы

вирусы, искажение функций)

- сигнал тревоги

- запуск по ключам

- авторская эстетика

- идентификация программ

- частотный анализ

- корреляционный анализ

- «родимые пятна»

- устройство контроля

Наиболее надежными являются криптографические методы защиты информации, относящиеся к классу средств защиты с запросом информа­ции.

Криптографические методы защиты информации

1. Основные определения

Криптология (от греческих корней: cryptos-тайный и logos-слово) как научная дисциплина оформилась в 1949 г. с появлением работы Шеннона, в которой устанавливалась связь криптологии с теорией информации. Криптология включает два направления: криптографию и криптоанализ. Задача криптографа - обеспечить как можно большие секретность и аутентичность (подлинность) передаваемой информации. Криптоаналитик, напротив, "взламывает " систему защиты, пытаясь раскрыть зашифрован­ный текст или выдать поддельное сообщение за настоящее.

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

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

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

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

Процесс передачи сообщений использует 2 алгоритма: шифрования E-Encipherment и дешифрования D-Decipherment, в которых для преобра­зования используется ключ К.

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

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

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

Криптосистемы с закрытым ключом (одноключевые)

Модель одноключевой криптосистемы для передачи сообщений

санкционированный получатель

Х У = Ек(Х) Х= Dк(У)

исходный

текст R К К

защищенный

канал связи для передачи ключа.

Источник сообщения передает "открытый текст" X, а рандомизатор формирует рандомизируюшую последовательность R. Задача рандомизатора состоит в том, чтобы выровнять частоты появления символов источ­ника сообщения путем перехода к алфавиту большего объема. Источник ключа генерирует некоторый ключ К, а шифратор преобразует открытый текст Х в шифротекст (криптограмму), который является некоторой функцией X, а конкретный вид криптограммы определяется секретным ключом и рандомизирующей последовательностью.

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

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

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

Шифр простой подстановки.

Это простейший метод шифрования, его называют также моноалфа­витной подстановкой. Ключом является переставленный алфавит, буквами которого заменяют буквы нормального алфавита. Например, каждая буква заменяется на букву, стоящую на 3 позиции впереди: A®D, B®E и т.д. Тогда текст АВС заменяется на DEF. Все моноалфавитные подстановки можно представить в виде:

Y, = а хi + b( mod g),

а - некоторый постоянный десятичный коэффициент;

b - коэффициент сдвига;

g - длина используемого алфавита;

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

Шифр перестановки (транспозиции) с фиксированным d (блок d -группа символов).

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

123456

316524

Тогда открытый текст преобразуется в закодированный так: первый символ становится вторым, второй - пятым и так далее

MICROC

OMPUTE

R - открытый текст

CMCOIR

POETMU

R - закодированный текст

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

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

Шифр, задаваемый формулой

уi = хi + ki(mod g),

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

Буква

А

Б

В

Г

Д

Е

Ж

3

И

И

К

Л

Код

01

02

03

04

05

06

07

08

09

10

11

12

Буква

М

Н

О

П

Р

С

Т

У

Ф

X

Ц

Ч

Код

13

14

15

16

17

18

19

20

21

22

23

24

Буква

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

(пробел)

Код

25

26

27

28

29

30

31

32

33

Пусть имеется открытый текст "ЗАМЕНА" и подстановка шифра Вижинера задана таблицей:

3

А

М

Е

Н

А

К

Л

Ю

Ч

К

Л

По формуле шифра Вижинера находим:

Y1= 8 + ll (mod33) = 19 Ю T;

Y2= l + 12 (mod33) = 13 Ю M;

Y3= 13 + 31 (mod 33) = 11 Ю К;

Y4= 6 + 24 (mod 33) = 30 Ю Ю;

Y5= 14 + 11 (mod 33) = 25 Ю Ш;

Y6 = 1 + 12 (mod 33) = 13 Ю М.

Шифротекст: "ТМКЭШМ".

Шифры Бофора используют формулы:

yi = ki - xi(mod g) и

yi = Xi - ki(mod g).

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

Шифрование с помощью датчика случайных чисел (ПСЧ)

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

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

На основе теории групп разработано несколько типов датчиков ПСЧ. Наиболее доступны и эффективны конгруэнтные генераторы ПСЧ. Напри­мер, линейный конгруэнтный датчик ПСЧ вырабатывает последовательно­сти псевдослучайных чисел T(i), описываемые соотношением

T(i+l) = [AT(i) + C]mod M,

Где А и С - константы; Т(0) - исходная величина, выбранная в качестве порождающего числа.

Такой датчик ПСЧ генерирует псевдослучайные числа с определен­ным периодом повторения, зависящим от выбранных значений А и С. Значение М обычно устанавливается равным 25, где b - длинна слова ЭВМ в битах.

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

ШИФР ПЛЭЙФЕРА

Блок схемы

ПП SHIFR_PLEYFER

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

SHIFR_PLEYFER(Alfavit, INDEX)


Список формальных параметров:

Alfavit, INDEX

Входные параметры:

INDEX - матрица символов Плэйфера, величина символьная.

Выходные параметры:

Alfavit - хранит координаты символов матрицы Плэйфера, величины целого типа.

Алгоритм

Начало ПП SHIFR_PLEYFER (Alfavit, INDEX)

Описание массивов: Alfavit[255], INDEX[6, 6]

I = 1

нет

I <= 6

J = 1

нет

J <= 6

Alfavit[Ord(INDEX[I, J])].Strok = I

Alfavit[Ord(INDEX[I, J])].Stolb = J

J = J + 1

I = I + 1

Конец ПП SHIFR_PLEYFER

Обозначения

1. Описание массивов Alfavit, INDEX

2 .. 5, 7, 8 Организация цикла заполнения массива Alfavit типа запись

6. Определение строк и столбов для символов матрицы INDEX

ПФ SHIFR_TXT

ПФ SHIFR_TXT производит шифрование строки открытого текста.

SHIFR_TXT(Str, Alfavit, INDEX)

Список формальных параметров:

Str, Alfavit, INDEX

Входные параметры:

Str - строка открытого текста, величина строка.

Alfavit - хранит координаты символов матрицы Плэйфера, величины целого типа.

INDEX - матрица символов Плэйфера, величина символьная.

Выходные параметры:

SHIFR_TXT - принимает значение зашифрованной строки, величины строка.

Обозначения

1. Описание массивов Alfavit, INDEX.

2 .. 7 В открытом тексте вставляется “-”между одинаковыми символами.

8 .. 9 Добавление “-” в конец открытого текста, в случае нечет. кол-ва символов в строке .

10 .. 13 Организация по парного перебора символов строки открытого текста.

14 .. 15 Пара символов находится в одной строке матрицы алфавита Плэйфкра.

16 .. 17 Пара символов находится в одном столбце матрицы алфавита Плэйфера.

18. Пара символов находится в разных строках и столбцах матрицы алфавита Плэйфера.

19. Присваивание ПФ SHIFR_TXT значения новой строки

Продолжение следуетј

Алгоритм

Начало ПФ SHIFR_TXT (Str, Alfavit, INDEX)

Описание массивов: Alfavit[255], INDEX[6, 6]

New = “, Dlina_str = Length(Str), I = 1

нет

I <= Dlina_str

да нет

Str[I] = Str[I + 1]

New = ( New + Str[I] + ‘-’ ) New = ( New + Str[I] )

I = I + 1

нет

Odd(Length(Str)) = TRUE

New = New + ‘-’

Str = “, Dlina_new = Length(New)div 2, I = 1

нет

I <= Dlina_new

SIM1 = New[2*I - 1], SIM2 = New[2*I] SHIFR_TXT = Str

I = I + 1 Конец ПФ SHIFR_TXT

нет

ALFAVIT[Ord(SIM1)].STROK = ALFAVIT[Ord(SIM2)].STROK

Str = Str + INDEX[(ALFAVIT[Ord(SIM1)].STROK), ((ALFAVIT[Ord(SIM1)].STOLB mod 6) + 1)]

+ INDEX[(ALFAVIT[Ord(SIM2)].STROK), ((ALFAVIT[Ord(SIM2)].STOLB mod 6) + 1)]

нет

ALFAVIT[Ord(SIM1)].STOLB = ALFAVIT[Ord(SIM2)].STOLB

Str = Str + INDEX[((ALFAVIT[Ord(SIM1)].STROK mod 6) + 1), (ALFAVIT[Ord(SIM1)].STOLB)]

+ INDEX[((ALFAVIT[Ord(SIM2)].STROK mod 6) + 1), (ALFAVIT[Ord(SIM2)].STOLB)]

Str = Str + INDEX[(ALFAVIT[Ord(SIM2)].STROK), (ALFAVIT[Ord(SIM1)].STOLB)]

+ INDEX[(ALFAVIT[Ord(SIM1)].STROK), (ALFAVIT[Ord(SIM2)].STOLB)]

ПФ DESHIFR_TXT

ПФ DESHIFR_TXT производит расшифрацию строки открытого текста.

DESHIFR_TXT(Str, Alfavit, INDEX)

Список формальных параметров:

Str, Alfavit, INDEX

Входные параметры:

Str - строка открытого текста, величина строка.

Alfavit - хранит координаты символов матрицы Плэйфера, величины целого типа.

INDEX - матрица символов Плэйфера, величина символьная.

Выходные параметры:

DESHIFR_TXT- принимает значение расшифрованной строки, величины строка.

Обозначения

1. Описание массивов Alfavit, INDEX.

2 .. 5 Организация по парного перебора символов строки открытого текста.

6 .. 7 Пара символов находится в одной строке матрицы алфавита Плэйфкра.

8 .. 9 Пара символов находится в одном столбце матрицы алфавита Плэйфера.

10. Пара символов находится в разных строках и столбцах матрицы алфавита Плэйфера.

11 .. 15 Из расшифрованной строки создается новая строка без спец. знак “-”.

16. Присваивание ПФ DESHIFR_TXT значения новой строки

Продолжение следуетј

Алгоритм

Начало ПФ DESHIFR_TXT (Str, Alfavit, INDEX)

Описание массивов: Alfavit[255], INDEX[6, 6]

New = “, Dlina_str = Length(Str)div 2, I = 1

нет

I <= Dlina_str

SIM1 = Str[2*I - 1], SIM2 = Str[2*I]

I = I + 1

нет

ALFAVIT[Ord(SIM1)].STROK = ALFAVIT[Ord(SIM2)].STROK

New = New + INDEX[(ALFAVIT[Ord(SIM1)].STROK), (((ALFAVIT[Ord(SIM1)].STOLB + 4)mod 6) + 1)]

+ INDEX[(ALFAVIT[Ord(SIM2)].STROK), (((ALFAVIT[Ord(SIM2)].STOLB + 4)mod 6) + 1)]

нет

ALFAVIT[Ord(SIM1)].STOLB = ALFAVIT[Ord(SIM2)].STOLB

New = New + INDEX[(((ALFAVIT[Ord(SIM1)].STROK + 4)mod 6) + 1), (ALFAVIT[Ord(SIM1)].STOLB)]

+ INDEX[(((ALFAVIT[Ord(SIM2)].STROK + 4)mod 6) + 1), (ALFAVIT[Ord(SIM2)].STOLB)]

New = New + INDEX[(ALFAVIT[Ord(SIM2)].STROK), (ALFAVIT[Ord(SIM1)].STOLB)]

+ INDEX[(ALFAVIT[Ord(SIM1)].STROK), (ALFAVIT[Ord(SIM2)].STOLB)]

Str = “, Dlina_new = Length(New), I = 1

нет

I <= Dlina_new

нет

New[I] № ‘-’

Str = Str + New[I]

I = I + 1

DESHIFR_TXT = Str

Конец ПФ DESHIFR_TXT

ОСНОВНАЯ ПРОГРАММА

Алгоритм

Начало основного блока программы

Описание массивов: Alfavit[255], INDEX[6, 6]

Вывод: “Выберите (S)ШИФРОВАТЬ или (D)ДЕШИФРОВАТЬ”

нет Ввод: K

нет

UpCase(K) = ‘S’ UpCase(K) = ‘D’

Вывод: “Путь к файлу: ”

Ввод: Name1

Assign (Var_file1, Name1)

Reset (Var_file1)

нет

IOResult = 0

Вывод: “Сохранить как: ”

Ввод: Name2

нет

Length(Name2) № 0

Assign (Var_file2, Name2)

ReWrite (Var_file2)

SHIFR_PLEYFER(ALFAVIT, INDEX)

нет

NOT EOF(Var_file1)

Ввод из файла Var_file1: Str

нет да

UpCase(K) = ‘S’

Str = DESHIFR_TXT(Str, ALFAVIT, INDEX) Str = SHIFR_TXT(Str, ALFAVIT, INDEX)

Вывод в файл Var_file2: Str

Close (Var_file1)

Close (Var_file2)

Конец основного блока программы


Обозначения

1. Описание массивов Alfavit, INDEX.

2 .. 5 Выбор шифрование или расшифрация файла.

6 .. 9 Определение файла ввода данных.

10 .. 13 Определение файла вывода полученных результатов.

14. Обращение к ПП SHIFR_PLEYFER(ALFAVIT, INDEX).

15 .. 16 Перебор строк из файла Var_file1.

17. Выбор действий шифрование либо расшифрация строки .

18. Обращение к ПФ DESHIFR_TXT(Str, ALFAVIT, INDEX).

19. Обращение к ПФ SHIFR_TXT(Str, ALFAVIT, INDEX).

20. Вывод результата в файл Var_file2.

21. Закрытие файлов ввода и вывода.

Программа

PROGRAM SHIFR_PLEYFERA;

USES Crt;

TYPE

path = STRING[14];

Stroca = STRING[255];

Simvol = array [1..6, 1..6] of CHAR;

MATR = array [1..255] of RECORD

STROK, STOLB: Byte;

END;

CONST INDEX: Simvol = (('А', 'Ж', 'Б', 'М', 'Ц', 'В'), {типизированные константы для матрицы Плэйфера}

('Ч', 'Г', 'Н', 'Ш', 'Д', 'О'),

('Е', 'Щ', ' , ', 'Х', 'У', 'П'),

(' . ', 'З', 'Ъ', 'Р', 'И', 'Й'),

('С', 'Ь', 'К', 'Э', 'Т', 'Л'),

('Ю', 'Я', ' ', 'Ы', 'Ф', '-'));

VAR

Var_file1 ,Var_file2: Text;

Name1, Name2: path;

ALFAVIT: MATR;

Str: Stroca;

K: Char;

{Определение координат символов матрицы Плэйфера}

PROCEDURE SHIFR_PLEYFER(Var ALFAVIT: MATR; INDEX: Simvol);

VAR I, J: Byte; {I, J - счетчики циклов}

BEGIN {Начало основного блока ПП SHIFR_PLEYFER}

FOR I:= 1 TO 6 DO for J:= 1 to 6 do

WITH ALFAVIT[Ord(INDEX[I, J])] DO

begin

STROK:= I; {строка символа}

STOLB:= J; {столбец символа}

end;

END; {Конец основного блока ПП SHIFR_PLEYFER}

{Производится шифрование строки открытого текста}

FUNCTION SHIFR_TXT(Str: Stroca; Alfavit: MATR; INDEX: Simvol): Stroca;

VAR {Объявление переменных}

SIM1, SIM2: Char;

New: STRING;

I, Dlina_str, Dlina_new: Byte; {I - счетчик цикла}

BEGIN {Начало основного блока ПФ SHIFR_TXT}

{В открытом тексте вставляется спец. знак “-” между одинаковыми символами}

New:= '';

Dlina_str:= Length(Str);

FOR I:= 1 TO Dlina_str DO IF (Str[I] = Str[I+1]) THEN New:= (New + Str[I] + '-') ELSE New:= (New + Str[I]);

{Добавление спец. знака “-” в конец открытого текста в случае нечетного количества символов в строке }

IF Odd(Length(Str)) = TRUE THEN New:= New + '-';

{Шифрование открытого текста по матрице алфавита Плэйфера}

Str:= '';

Dlina_new:= Length(New)div 2;

FOR I:= 1 TO Dlina_new DO

begin

SIM1:= New[2*I - 1];

SIM2:= New[2*I];

IF (ALFAVIT[Ord(SIM1)].STROK = ALFAVIT[Ord(SIM2)].STROK) THEN

{Пара символов находятся в одной строке матрицы}

Str:= Str + INDEX[(ALFAVIT[Ord(SIM1)].STROK), ((ALFAVIT[Ord(SIM1)].STOLB mod 6) + 1)]

+ INDEX[(ALFAVIT[Ord(SIM2)].STROK), ((ALFAVIT[Ord(SIM2)].STOLB mod 6) + 1)]

ELSE

IF (ALFAVIT[Ord(SIM1)].STOLB = ALFAVIT[Ord(SIM2)].STOLB) THEN

{Пара символов находятся в одном столбце матрицы}

Str:= Str + INDEX[((ALFAVIT[Ord(SIM1)].STROK mod 6) + 1), (ALFAVIT[Ord(SIM1)].STOLB)]

+ INDEX[((ALFAVIT[Ord(SIM2)].STROK mod 6) + 1), (ALFAVIT[Ord(SIM2)].STOLB)]

ELSE

{Пара символов находятся в разных строках и столбцах матрицы}

Str:= Str + INDEX[(ALFAVIT[Ord(SIM2)].STROK), (ALFAVIT[Ord(SIM1)].STOLB)]

+ INDEX[(ALFAVIT[Ord(SIM1)].STROK), (ALFAVIT[Ord(SIM2)].STOLB)];

end;

SHIFR_TXT:= Str;

END; {Конец основного блока ПФ SHIFR_TXT}

{Производится расшифрация строки }

FUNCTION DESHIFR_TXT(Str: Stroca; Alfavit: MATR; INDEX: Simvol): Stroca;

VAR {Объявление переменных}

SIM1, SIM2: Char;

NEW: STRING;

I, Dlina_str, Dlina_new: Byte; {I - счетчик цикла}

BEGIN {Начало основного блока ПФ DESHIFR_TXT}

{Дешифрование открытого текста по матрице алфавита Плэйфера}

New:= '';

Dlina_str:= Length(Str)div 2;

FOR I:= 1 TO Dlina_str DO

begin

SIM1:= Str[2*I - 1];

SIM2:= Str[2*I];

IF (ALFAVIT[Ord(SIM1)].STROK = ALFAVIT[Ord(SIM2)].STROK) THEN

{Пара символов находятся в одной строке матрицы}

New:= New + INDEX[(ALFAVIT[Ord(SIM1)].STROK), (((ALFAVIT[Ord(SIM1)].STOLB + 4) mod 6) + 1)]

+ INDEX[(ALFAVIT[Ord(SIM2)].STROK), (((ALFAVIT[Ord(SIM2)].STOLB + 4) mod 6) + 1)]

ELSE

IF (ALFAVIT[Ord(SIM1)].STOLB = ALFAVIT[Ord(SIM2)].STOLB) THEN

{Пара символов находятся в одном столбце матрицы}

New:= New + INDEX[(((ALFAVIT[Ord(SIM1)].STROK + 4) mod 6) + 1), (ALFAVIT[Ord(SIM1)].STOLB)]

+ INDEX[(((ALFAVIT[Ord(SIM2)].STROK + 4) mod 6) + 1), (ALFAVIT[Ord(SIM2)].STOLB)]

ELSE

{Пара символов находятся в разных строках и столбцах матрицы}

New:= New + INDEX[(ALFAVIT[Ord(SIM2)].STROK), (ALFAVIT[Ord(SIM1)].STOLB)]

+ INDEX[(ALFAVIT[Ord(SIM1)].STROK), (ALFAVIT[Ord(SIM2)].STOLB)];

end;

{В открытом тексте убирается спец. знак “-”}

Str:= '';

Dlina_new:= Length(New);

FOR I:= 1 TO Dlina_new DO IF (New[I] <> '-') THEN Str:= (Str + New[I]);

DESHIFR_TXT:= Str;

END; {Конец основного блока ПФ DESHIFR_TXT}

{Начало основного блока программы}

BEGIN

ClrScr;

{Выбор шифрование или дешифрование файла}

WriteLn ('Выбери: (S)ШИФРОВАТЬ или (D)ДЕШИФРОВАТЬ ?');

REPEAT

K:= ReadKey;

UNTIL (UpCase(K) = 'S') OR (UpCase(K) = 'D');

{Определение файла ввода}

{$I-}

REPEAT

Write ('Путь к файлу: ');

ReadLn (Name1);

Assign (Var_file1, Name1);

Reset (Var_file1);

UNTIL (IOResult = 0);

{$I+}

{Определение файла вывода}

REPEAT

Write ('Сохранить как: ');

ReadLn (Name2);

UNTIL (Length(Name2) <> 0);

Assign (Var_file2, Name2);

Rewrite(Var_file2);

{Обращение к ПП SHIFR_PLEYFER}

SHIFR_PLEYFER(ALFAVIT, INDEX);

{Цикл перебора строк открытого текста}

WHILE NOT EOF(Var_file1) DO

begin

ReadLn (Var_file1, Str);

{Обращение к ПФ SHIFR_TXT либо ПФ DESHIFR_TXT}

IF UpCase(K) = 'S' THEN Str:= SHIFR_TXT(Str, Alfavit, INDEX) ELSE Str:= DESHIFR_TXT(Str, Alfavit, INDEX);

WriteLn (Var_file2, Str);

end;

Close (Var_file2); {Закрытие файла Name2}

Close (Var_file1); {Закрытие файла Name1}

END. {Конец основного блока программы}

Результаты

{test.txt} - исходный открытый текст.

ШИФР ПЛЭЙФЕРА

МАЛЬЧИК НА КУХНЕ УКСУС НАШЕЛ.

С ЧАЙНОЙ ЧАШКОЙ К ДЕДУ ПРИШЕЛ.

ДЕДУШКА, МИЛЕНЬКИЙ, СДЕЛАЙ ГЛОТОК...

СТАРЕНЬКИЙ ДЕДУШКА НА ПОЛ ПОТЕК.

{test.plf} - зашифрованный файл (test.txt)

РДИЫ,-СТ-И.ХЮВ

БЫСВГСТЪБ,ЮБ,ТШ,Ю,Т,ЕТЮКБЧХЧЙС

КЮНЮ.ВШЧ-ЪЕЧЭНПЛБ НФЧУФ,ЙХДРСПЮЙ

НФЧУДХБСЪБРЦПСКГЪТПЪКЮУЧВС-ЪЬОЛДЛНЮЙЮЙЮЙ

КЮЦСХ.КГЪТ-ЪУЧУИЭНЮББЧ,-П-,-ЛДС,ЮЙ

{test.new} - расшифрованный файл (test.plf)

ШИФР ПЛЭЙФЕРА

МАЛЬЧИК НА КУХНЕ УКСУС НАШЕЛ.

С ЧАЙНОЙ ЧАШКОЙ К ДЕДУ ПРИШЕЛ.

ДЕДУШКА, МИЛЕНЬКИЙ, СДЕЛАЙ ГЛОТОК...

СТАРЕНЬКИЙ ДЕДУШКА НА ПОЛ ПОТЕК.

СПИСОК ЛИТЕРАТУРЫ

1. Защита информации в персональных ЭВМ/ А.В.Спесивцев, В.А.Вегнер, А.Ю.Крутяков и др. - М.: Радио и связь, МП 'Веста',1993.

2. 3ащита программного обеспечения: Перевод с английского./ Под редакцией Д.Гроувера. - М.: Мир 1992.

3. Рощин Б.В.Элементы криптозащиты информации: Учебное пособие. - М.: Издательство МАИ, 1995.

4. А.В.Петраков. Защита и охрана личности, собственности, информации: Справное пособие. - М.: Радио и связь, 1997.

И


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

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

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно