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

Автор работы: Пользователь скрыл имя, 07 Июня 2013 в 13:47, контрольная работа

Краткое описание

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

Содержание

Введение.
Задание.
Постановка задачи.


Основная часть.
1) Текст программы.
2) Описание алгоритма решения.
3) Блок-схема алгоритма.

Заключение.

1) Результат работы программы.
2) Список литературы

Вложенные файлы: 1 файл

л.doc

— 62.50 Кб (Скачать файл)

 

Содержание.

 

      Введение.

  1. Задание.
  2. Постановка задачи.

 

 

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

1)  Текст программы.

2)   Описание алгоритма  решения.

3)  Блок-схема алгоритма.

 

                Заключение.

 

            1) Результат работы программы.

            2) Список литературы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание.

 

Шифрование текста — 1.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Постановка  задачи

То, что информация имеет  ценность, люди осознали очень. Ведь еще  с древних времен переписка правителей была объектом пристального внимания их недругов и друзей. Именно тогда и возникла задача защиты этой переписки от чрезмерно любопытных глаз. Древние пытались использовать для решения этой задачи самые разнообразные методы, и одним из них была тайнопись – умение составлять сообщения таким образом, чтобы его смысл был недоступен никому кроме посвященных в тайну. На протяжении всей своей многовековой истории, вплоть до совсем недавнего времени, это искусство служило немногим, в основном верхушке общества, не выходя за пределы резиденций глав государств, посольств и т.д. И лишь несколько десятилетий назад все изменилось коренным образом – информация приобрела самостоятельную коммерческую ценность и стала широко распространенным, почти обычным товаром. Ее производят, хранят, транспортируют, продают и покупают, а значит, воруют и подделывают и, следовательно, ее необходимо защищать. Современное общество все в большей степени становится информационно–обусловленным, успех любого вида деятельности все сильней зависит от обладания определенными сведениями и от отсутствия их у конкурентов. И чем сильней проявляется этот эффект, тем больше потребность в защите информации. Одним словом, возникновение индустрии обработки информации привело к возникновению индустрии средств защиты информации.

Целью данной курсового проекта является разработка программы, реализующей шифрование

В курсовом проекте были поставлены следующие задачи:

Анализ литературы при разработке программы шифрования

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

Разработка программы реализующей  алгоритм шифрования;

Разработка руководства пользователя;

Разработка руководства программы.

Объектом в курсовом проекте  является - методы шифрования

 

 

 

 

 

 

 

Описание алгоритма  решения.

 

Чтобы зашифровать и расшифровать тест, воспользуемся функциями encrypt и decrypt, где encrypt отвечает за зашифровку, а decrypt-расшифровку. Также нам понадобится формула


k:=ord(a[i])+31;  где k-номер буквы, к коду i-того символа введенной стоки добовляем

a[i]:=chr(k);      31(т.к.в русском алфавите 33 буквы, а буква «а» =«я» ) и преобразуем  обратно в символ.

То есть код символа в Паскале можно определить при помощи функции Ord. Ее формат: Ord(C), где С - либо непосредственно указанный символ, либо переменная символьного типа, либо один символ строковой переменной. Есть и обратная функция, которая возвращает символ по известному коду. Это функция Chr(N), где N - выражение, приводящее к целому числу в интервале от 0 до 255 (возможные значения кода символа).

Объявляем переменные a:string, а- это строка буквенного типа, состоящая из 255 символов.

Создаем условие, что  для i – того  элемента, который начинается с единицы, я возвращаю длину строковой переменной в символах с помощью функции Length.        Length(а). Условие продолжается: Если a[i] = А,то тогда выполняется действие k:=ord(a[i])+31;


                                        a[i]:=chr(k).

или же a[i] in ['Б'..'Я','б'..'я'],то   k:=ord(a[i])-1;

                                                    a[i]:=chr(k).

С помощью действия decrypt:=a ,мы получим -результат: текст.

Потом я создаю  такое  же условие для функции зашифрования, только                   

k:=ord(a[i])+ 1;

 a[i]:=chr(k).

 

 

 

Объявляем  переменные определенного типа: a:string; mode:byte;

Вывод на экран приглашения  для ввода числа.

Begin

Readln(a);

Repeat

Write('Выберите режим (1-шифрование, 2-расшифрование): ');

Readln(mode);

Дальше  нам нужен оператор Case –


 Пока  выполняется это условие делай  от начала


Case               Оператор( группы до конца);

                        Repeat;

          Повторяет  до тех пор пока условие не будет верным)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Текст программы.

Uses

crt;

 

Function decrypt(a:string):string;

Var i,k:integer;

Begin

For i:=1 to length(a) do

  If (a[i] = 'А') or (a[i] = 'а') then Begin

                                        k:=ord(a[i])+31;

                                        a[i]:=chr(k);

                                       End

                                  else

   If a[i] in ['Б'..'Я','б'..'я'] then Begin

                                        k:=ord(a[i])-1;

                                        a[i]:=chr(k);

                                       End;

decrypt:=a;

End;

 

Function encrypt(a:string):string;

Var i,k:integer;

Begin

For i:=1 to length(a) do

  If (a[i] = 'Я') or (a[i] = 'я') then Begin

                                        k:=ord(a[i])-31;

                                        a[i]:=chr(k);

                                       End

                                  else

   If a[i] in ['А'..'Ю','а'..'ю'] then Begin

                                        k:=ord(a[i])+1;

                                        a[i]:=chr(k);

                                       End;

encrypt:=a;

End;

 

Var

a:string;

mode:byte;

Begin

Readln(a);

 Repeat

  Write('Выберите режим  (1-шифрование, 2-расшифрование): ');

  Readln(mode);

Until (mode = 1) or (mode=2);

Case mode of

  1:writeln(encrypt(a));

  2:writeln(decrypt(a));

End;

End.

 

ПроверкаJ:

Например введем текст  «Я люблю маму»

Выберем режим (1-шифрование, 2-расшифрование): 1

Получим: А мявмя нбнф

 

Введем «А мявмя нбнф»

Выберем режим (1-шифрование, 2-расшифрование): 2

Я люблю маму

Вывод: зашифрованные  и расшифрованные данные полностью  совпадают.

Блок  схема


 


 


 

 



 

 

 

 



 

 

 

 

 



 

 

 

 



 

 

 

 


 

 


 

 

 

 



 

 

ОСНОВЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

 

Основными результатами работы стали:

.Изложение материала  по теме «шифрование и дешифрование  текста».

. Описание алгоритма программы

. Описание программы

. Составление блок-схемы, характеризующей работу программы

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

Выводы:

Я обрела навыки работы в среде программирования Pascal. Результатом моей работы стала программа «Шифрование и дешифрование текста».

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Литература

1)Web: <http://www.realcoding.net/article/view/>

2)Web: <http://ru.wikipedia.org/wiki/Шифр_подстановки>

3)Л.Д. Михелев. «Язык программирования паскаль» издательство.

Москва, 2007. - 432с.:ил.

4)Web: <http://www.asciitable.com/>

5)Web: <http://pascal-video.ru/help-pascal.php?id=215>

6)Web: <http://www.cyberforum.ru/pascal/thread50710.html>

7)Фарафонов В.В. Турбо Паскаль 7.0. Начальный курс: учеб. пособие. - М.: Кнорус, 2006.

8)Методические указания к лабораторным работам. ГОУВПО «воронежский государственный технический университет»; сост. Р.В.Батищев. Воронеж, 2006. 53с.

9) http://images.yandex.ru/ блок схемы

10) http://forum.developing.ru


Информация о работе Шифрование текста