Как написать программу для шифрования текста алгоритм

В прошлой статье из цикла “Создание своего метода шифрования” мы узнали отличие шифров от кодов , выбрали 2 шифра и скрестили их. Чтобы зашифровать 1-2 предложения не нужно много времени и сил, но что делать если текст, над которым придётся работать состоит из пары 10-ов страниц? В таком случае процесс сокрытия информации надо сделать автоматизированным. Написание не сложной программы по определенному методу шифрования – это как раз то что нам и нужно!

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

Процедуры

Для того чтобы программа могла начать работать с данными по нашему методу , она должна получить 2 ключа. Ключ №1 — длинной 5 символов , и Ключ №2 — длинной 6 символов. Значит первым действием при запуске нашего приложения должен быть ввод 2 ключей.

  1. Ввод ключевых слов в систему

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

Picocrypt: портативная и очень простая программа для шифрования

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

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

Итак , мы определили последовательность действий для достижения нужного результата. Что теперь?

Блок-схема алгоритма программы

Если вдруг вы человек далекий от программирования, не пугайтесь, каждая картинка из представленных ниже получит очень подробное описание!

Так как писать программу мы будем в Visual Studio на языке C# , то сейчас разберём только основные 3 процедуры. Почему только 3 ? Потому что это алгоритм шифрования , дешифрования и редактирования (подготовка текста для шифрования). Именно эти 3 алгоритма являются главными , так как писать вашу программу вы можете и на таких структурных язык как Free Pascal , но принцип работы будет один и тот же на любом языке.

Редактирование текста

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

  1. Знаки препинания , Ъ , Ь , пробелы – эти символы удаляем из текста начисто.
  2. Ё = Е и Й = И. Заменяем эти буквы по всему тексту.

Блок-схема алгоритма шифрования

Как будет происходить замена оригинальных символов в тексте на ключевые ? Сначала мы создадим цикл который будет иметь число повторений = длине нашего текста Далее цикл по длине ключа №2 и внутри него цикл по ключу №1.

Читайте также:
Программа которая скачивает файлы с любого сайта

Потом используя условие “ если символ текста равен символу из таблицы алфавита” , прибавим к текстовой переменной символ ключа №1 и символ ключа №2 , которые стоят под тем же номером в слове , что и координата символа исходного текста.

Как сделать свой скрипт для шифрования (+ задачка)

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

Блок-схема алгоритма дешифрования

А теперь самая сложная часть – дешифровка. Казалось бы, чего сложного? Повторение шифрования в обратном порядке! Вот только есть одно но. При расшифровке нам надо 2 символа заменить 1 и сделать это в одном цикле.

Что невозможно т.к. длина ключевых слов у нас разная. Как и в шифровании первой цикл – это цикл от первого до последнего символа. Далее введем две переменные числового типа x и y. X приравняем к 0 (т.к. нумерация идет с 0) а Y зададим значение 1.

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

Для чего нам эти переменные? В них мы будем хранить номер символа зашифрованного текста, который бы будем сравнивать с символами ключевого слова. X – номер символа для сравнения с ключом столбцов (ключ №1), а Y номер символа для сравнения с ключом строк (ключ №2).

Алгоритм дешифровки-1

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

Так же , при совпадении символов мы будем прибавлять к переменным 2-ку. Это нужно для того чтобы цикл с ключом строк проверял только 1-ю букву в паре , а цикл с ключом столбцов 2-ю.

При прибавлении 2 — ряд переменной y = 1, 3, 5, 7 ….. ; ряд переменной x = 0, 2, 4, 6 …..

Алгоритм дешифровки-2

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

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

Источник: bazanovv.ru

Создание компонента для шифрования-дешифрования текста

Аббат Тритемеус – автор первой печатной книги о тайнописи (1518 г.) – предложил несколько шифров и среди них шифр, который можно считать усовершенствованием шифра Цезаря. Этот шифр устроен так. Все буквы алфавита нумеруются по порядку (от 1 до 31 в русском варианте). Затем выбирают какое-нибудь слово, называемое «ключом», и подписывают под сообщением с повторением.

Введение — 3 —
1. Постановка задачи — 5 —
2. Алгоритм создания компонента — 5 —
3. Исходный текст компонента — 7 —
4. Инструкция пользователя — 13 —
5. Исходный текст программы — 14 —
6. Приложение 1 — 17 —
Список литературы — 21 —

Читайте также:
Программой называют упорядоченную последовательность команд
Прикрепленные файлы: 1 файл

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Пермский национальный исследовательский политехнический университет»

по дисциплине «Технология программирования»

«Создание компонента для шифрования-дешифрования текста»

Выполнил: студент группы ИВТ-09д ______________ Яковлев Д.В.

Дата сдачи «____» _________ 20___ г.

Проверил: ассистент кафедры АТП _____________Иванова Е.В.

Дата проверки «____» _________ 20___ г.

Введение

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

При создании компонента шифрования текста я использовал три метода шифрования: алгоритм «Цезаря», алгоритм «Модифицированного Цезаря» и алгоритм «Скитала».

1.Алгоритм шифрования «Цезарь»

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

Шифр назван в честь римского императора Гая Юлия Цезаря, использовавшего его для секретной переписки. Естественным развитием шифра Цезаря стал шифр Виженера. С точки зрения современного криптоанализа, шифр Цезаря не имеет приемлемой стойкости.

2.Шифр «Модифицированного Цезаря»

Аббат Тритемеус – автор первой печатной книги о тайнописи (1518 г.) – предложил несколько шифров и среди них шифр, который можно считать усовершенствованием шифра Цезаря. Этот шифр устроен так. Все буквы алфавита нумеруются по порядку (от 1 до 31 в русском варианте). Затем выбирают какое-нибудь слово, называемое «ключом», и подписывают под сообщением с повторением.

Чтобы получить шифрованный текст, складывают номер очеред-ной буквы с номером соответствующей буквы ключа. Если полученная сумма больше 31, то из нее вычитают 31. В результате получают последовательность чисел от 1 до 31. Вновь заменяя числа этой последовательности соответствующими буквами, получают шифрованный текст. Разбиваем этот текст на группы одной длины, получают шифрованное сообщение.

В криптографии скитала (или сцитала от греческого σκυτάλη, жезл), известный также как шифр Древней Спарты, представляет собой прибор, используемый для осуществления перестановочного шифрования, состоит из цилиндра и узкой полоски пергамента, обматывавшейся вокруг него по спирали, на которой писалось сообщение. Античные греки и спартанцы в частности, использовали этот шифр для связи во время военных кампаний.

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

Читайте также:
У производителей каких продуктов как правило отсутствуют сильные программы ксо

Таким образом, длина блока n определялась длиной и диаметром палочки, а само шифрование заключалось в перестановке символов исходного текста в соответствии с длиной окружности палочки. Например, используя палочку, по длине окружности которой помещается 4 символа, а длина палочки позволяет записать 6 символов, исходный текст: «это шифр древней спарты» превратится в шифрограмму: «эфвптрнао ер дйтшр ыиес».

Источник: www.referat911.ru

Создание программы для шифрования и дешифрования текста на языке Pascal

Информационные войны

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

3.

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

4.

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

5.

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

6.

Мой шифр
Всего 256 символов
Алфавит символов, которые я буду шифровать:
АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШш
ЩщЪъЫыЬьЭэЮюЯяABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkl
mnopqrstuvwxyz1234567890
Алфавит символов, которые я зашифровал:
ĀĂÂÃÀÁÄÅĄÆÇČĆÐĒĘĞĢ√ĮÌÍÎÏĪĶŁÑÖŐÓÕØŒßŞŠŚŢŪŬÚÙÛŽŹŻ☺☻♥
♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─
┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ÿý

7.

8.

9.

Пример работы программы

10.

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

Источник: ppt-online.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru