83060

Разработка программы для работы с матрицами

Курсовая

Информатика, кибернетика и программирование

В данной работе путем одного из самых простых методов шифрования – шифровкой с использованием кодового слова, был зашифрован и ,затем расшифрован произвольный текст. Цель работы: Зашифровать и расшифровать текст с использованием кодового слова.

Русский

2015-03-07

71.47 KB

5 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФГБОУ ВПО «Брянский государственный технический университет»

КАФЕДРА

«Механика и динамика и прочность машин»

Разработка программы для работы с матрицами

Пояснительная записка к курсовой работе

по информационным технологиям.

Студент гр. 13-ПМ                          Кузора М.С.

Преподаватель:                               Яковлев А.В.

Брянск 2014.

СОДЕРЖАНИЕ:

  1.  Введение……………………………………………………………………………………………………3
  2.  Теоретическая часть……………………………………………………………………………………….4

а).Общие понятия………………………………………………………………………………………….4

б).Виды шифровок…………………………………………………………………………………………5

  1.  Программа…………………………………………………………………………………………….……6
  2.  Результат работы программы………………………………………………………………………….….7
  3.  Заключение…………………………………………………………………………………………………8
  4.  Список литературы………………………………………………………………………………………...9

 

  1.  Введение.

Данная работа предназначена для того, чтобы продемонстрировать возможности шифрования текста методом шифровки с использованием кодового слова. Шифровка производилась при помощи программы Microsoft Visual Studio.

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

Цель работы: Зашифровать и расшифровать текст с использованием кодового слова.

  1.  Теоретическая часть.

Общие понятия.

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

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

С помощью шифрования обеспечиваются три состояния безопасности информации:

Конфиденциальность.

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

Целостность.

Шифрование используется для предотвращения изменения информации при передаче или хранении.

Идентифицируемость.

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

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

 Виды  шифровок.

Самый простой шифр - подстановка. В нем каждая буква меняется на определенный символ, обычно на какую-то иную букву. Подстановка бывает и более сложной: диаграммной, трехграммной, многограммной когда вместо одной буквы используют сочетания из двух, трех и более букв.
Иногда при кодировании сообщение делится на группы букв или других символов определенной, фиксированной, длины. И для каждой такой группы применяется одна и та же перестановка.
Сообщения кодируют и перемешанным алфавитом с последующей многократной подстановкой. Работают и с шифром простой подстановки, но производимой с помощью перемешанного алфавита из 25 букв, записанных в виде квадрата - 5 рядов по 5 букв в каждом.
В матричной системе, которую часто применяют в шифровании, буквы нумеруют от 0 до 25 и рассматривают их как элементы своеобразного алгебраического кольца.
Каждому шифру и коду соответствует особый ключ. Так, в матричной системе ключом является определенная матрица. Для некоторых шифров ключ выбирается случайно и независимо среди чисел 0, 1, …, 25.
Бывают шифры, где ключом служит текст, имеющий смысл. Такой шифр называют шифром «бегущего ключа». Бывают шифры с автоключом, т. е. ключом, заложенным в самом шифре. В общем, сколько шифров, столько и способов дешифровки.
Теория секретных систем детально изучает коды и шифры. С ее помощью измеряют количество секретности и объем ключей. Кроме того, эта теория анализирует сложности шифрования и дешифровки, разрастания числа ошибок в сообщении, если, например, допущена ошибка хотя бы в одной букве, увеличение объема секретной информации при шифровании и многие другие вопросы. Среди них очень серьезный - оценка надежности секретной системы и возможность создания идеальных секретных систем.

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

  1.  ПРОГРАММА.

#include <iostream>

#include <conio.h>

#include <string>

using namespace std;

void main()

{

   string alphabet = "abcdefghijklmnopqrstuvwxyz ";//исходный алфавит.

   string shifrAlphabet="";//алфавит, после подстановки ключевого слова.

   string keyPhrase="";//ключ-слово.

   string text="";//вводимый текст.

   string encoder = "",//зашифрованный текст.

   decoder="";//расшифрованныый текст.

   bool notPovt;//чтобы не было повторений в ключе-слове.

cout<<"input text: ";

getline(cin,text);//вводим текст с пробелами.

   do

   {

       cout<<"input key-phrase: ";//вводим ключ фразу.

       cin>>keyPhrase;

       notPovt = true;//предполагаем, что повторов букв в слове нет.

 for (unsigned int i = 0; i < keyPhrase.length() - 1; i++)

 for (unsigned int j = i + 1; j < keyPhrase.length(); j++)

           if (keyPhrase[i] == keyPhrase[j])//если повторы находим

                   //,то необходимо переввести.

               {

                   notPovt = false;

    i=keyPhrase.length();

                   break;

               }

       if (notPovt == false)

           cout<<"Input without repeat"<<endl;

   }

   while (notPovt == false);//пока не введём без повторов.

   shifrAlphabet = keyPhrase;//начало алфавита - это ключ фраза.

 for (unsigned int i = 0; i < alphabet.length(); i++)

 // потом дописываем в

 // конец нового алфавита

 // все буквы из исходного

 // по порядкую.

 

 // За исключением тех, которые уже у нас есть.

 if (shifrAlphabet.find(alphabet[i]) >alphabet.length())

       shifrAlphabet += alphabet[i];

 //выводим алфавиты

cout<<endl<<"alphabet: "<<alphabet<<endl<<endl;

cout<<"shifrAlphabet: "<<shifrAlphabet<<endl<<endl;

           

 //шифрация.

 for (unsigned int i = 0; i < text.length(); i++)

 //ищем позицию буквы

 //в нормальном алфавите

 //и берём букву из другого алфавита

 // на этой же позиции.

 encoder += shifrAlphabet[alphabet.find(text[i])];

 //дешифрация.

 for (unsigned int i = 0; i < encoder.length(); i++)

 //здесь, как в шифрации ,

 //только позицию ищем в другом алфавите,

 //а букву берём из нормального .

       decoder+=alphabet[shifrAlphabet.find(encoder[i])];

 //выводим то ,что получилось.

   cout<<"encoder text: "<<encoder<<endl<<endl;

   cout<<"decoder text: "<<decoder<<endl<<endl;

   system("pause");

}

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

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

Итак, мы ознакомились с методом шифровки с использованием кодового слова.

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

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

  1.  Список литературы:

  1.  Яковлев, А. В. Основы программирования на C++: учебное пособие / А. В. Яковлев, - Брянск: БГТУ, 2013. – 263 с.

  1.  Шевченко, К. В. Основы программирования на C++: лаб. практикум / К. В. Шевченко, А. В. Яковлев, - Брянск: БГТУ, 2011. – 236с.

  1.  Интернет статьи.

 


 

А также другие работы, которые могут Вас заинтересовать

26767. Гражданское общество в начале ХХ века 29.5 KB
  Изменения в мире которые происходят под влиянием индустриальной модернизации оказывают влияния и на развитие идеи гражданского общества. Социологический анализ общества представлен концепцией формальной рациональности М.Тенниса и формальной теорией общества Г. Их следует рассматривать в литературе этой проблематики поскольку они дают весьма определенные характеристики современных им общественных устройств и позволяют делать выводы о новых проблемах формирования гражданского общества.
26768. Основатели российского государства 45.5 KB
  3 Нет сведений о сделках с землей на северовостоке России до первой половины XIV века и очень немного таких сведений во второй половине этого века. Государь был обладателем всей России и частная собственность вытекала из государственной писал историк далекого прошлого Александр Лакиер. Можно сказать что новгородская республика была единственной в истории России моделью гражданского общества почти со всеми его сущностными признаками которые мы наблюдали в западных странах и она также демонстрировала пример процветания и устойчивого...
26769. История прогрессивных идей в России 46 KB
  В это время в России впервые появляется первое печатное издание газета Ведомости издаваемая лично Петром I. Отсутствие в России достаточно влиятельной общественной силы и практики самостоятельного действия которая могла бы возглавить движение к гражданским реформам на столь огромной территории какой являлась Россия привело к своеобразному историческому парадоксу: эту роль взяло на себя государство.2 В России таким образом оказалась чрезвычайно сильна роль мыслящего меньшинства 1 от населения страны приобщенного к просвещению....
26770. Гражданское общество в 60-е годы 39.5 KB
  Именно с этого момента и принято говорить о зарождении в России какихто реальных элементов гражданского общества. И здесь особенно следует подчеркнуть что в отличие от западных стран в России формирование основ гражданского общества началось с реформ произведенных властью добровольно. Отныне управлял крестьянским миром выборный сельский сход которому предоставили довольно много полномочий: выборы сельского старосты и других должностных лиц увольнение из общества и принятие новых членов удаление из общества вредных и порочных членов что...
26771. История России и гражданского общества в конце ХІХ века 45 KB
  Журнал Вестник Европы в первом номере посвященном наступлению нового века писал что большинство цивилизованных стран живет в условиях торжества капитализма и буржуазной демократии а в России реформы не доведены до конца. Авторы от имени либеральной общественности в качестве задач которые России нужно решить в ХХ веке называют уничтожение сословного неравноправия введение независимого от администрации суда развитие самоуправления юридическое облегчение положения печати развитие частных обществ обеспечение реальной свободы совести...
26772. Открытое общество и его враги 30 KB
  Но можно сказать и иначе: с 1917 года история развития гражданского общества в России прерывается в связи с огосударствливанием всех сфер деятельности и активности. В Советском Союзе сохраняется главный элемент гражданского общества пусть не в массовом масштабе который вопреки давлению государства все же сохранил в себе способность формировать личное мировоззрение и личную судьбу. С момента перестройки с 1985 года правомерно становится говорить об активном процессе формирования гражданского общества в России.
26773. Историко-философский анализ развития идеи гражданского общества 58 KB
  Грамши и лидеров польской Солидарности которые жестко настаивают не только на разделении государства и гражданского общества но и на их противостоянии и даже на диктате гражданских активистов. Именно эти идеи и создали проблемную ситуацию в России с пониманием сути гражданского общества. Политики породили традицию конфликтно противопоставлять деятельность государства и институтов гражданского общества рассматривая их противоборство как источник развития.
26774. Устойчивые социальные системы 29 KB
  Совокупность ноосферных принципов взаимодействия общества с макросистемой окружающей средой в соответствии с 3 и 4 уровнями интеграции. Причем каждый принцип при практической реализации становится конкретным признаком общества. Таким образом мы получили перечень признаков устойчиво развивающегося общества: наличие граждан как активных свободных универсальных личностей реализация принципа № 1; наличие структур и институтов созданных по инициативе граждан для реализации своих и общественных потребностей № 2; наличие...
26775. Гражданское общество и гражданин 31.5 KB
  Гражданское общество есть общество основным элементом которого является гражданин как активная универсальная личность свободно реализующая свои потребности в тесном сотрудничестве с другими людьми и в составе различных групповых структур которые эффективно взаимодействуют друг с другом и с государственными институтами с учетом этикоправовых норм в условиях демократического управления обществом и наличия различных форм собственности в соответствии с целевой установкой на устойчивое развитие общества в ноосферном пространстве. Гражданским...