ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.12.2023

Просмотров: 84

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Существует довольно много алгоритмов шифрования информации.

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

Чтобы расшифровать данное сообщение, нужно всего лишь знать на какое количество позиций необходимо сместить буквы. Специалисты расходятся во мнениях по поводу практического применения шифра Цезаря, кто-то, утверждает, что сам Гай Юлий Цезарь заменял букву текста, смещая на четыре позиции в алфавите, а кто-то говорит, что он смещал на 3 позиции относительно первоначальной буквы. Также нет точного ответа, в какую именно сторону необходимо было двигаться по алфавиту, вправо или влево.

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

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

Общее направление разработки в Delphi достаточно несложное. В первую очередь создается интерфейс. На этот процесс требуется около восьмидесяти процентов времени от общей разработки программы. Необходимые компоненты помещаются на поверхность Windows-окна и с помощью специального инструмента Object Inspector настраиваются их свойства. Данный инструмент может связывать действия таких компонентов: выбор мышью элемента из списка, нажатие на кнопку, применение кода для обработки. Простое приложение готово. При этом разработчик имеет в своём распоряжении удобную контекстную справочную систему, серьёзные средства отладки, средства совместной работы над проектом и многое другое. Создание компонентов ActiveX без применения Microsoft IDL, расширяет возможность web-сервера, не зная практически ничего об ASP или HTML XML. Формирование распределённых приложений на базе CORBA и СОМ, intranet и интернет приложений, используется для доступа к данным ODBC-драйверы, Borland DataBase Engine или Microsoft ADO.


Язык Object Pascal используется в Delphi, он всё время дополняется и расширяется Borland. Данный язык по всем критериям поддерживает требования, которые предъявляются к объектно-ориентированному языку программирования. Перегрузка методов и подпрограмм (overload) в стиле C++, поддержка обработки исключительных ситуаций - относятся к числу не совсем удачных особенностей языка. Поддержка длинных строк в формате WideChar и AnsiChar стоит отнести к числу удачных особенностей. Тип AnsiStrmg даёт возможность использования всех успешных динамических размещений информации в памяти. Delphi автоматически производит выделение и сборку мусора, не доставляя никаких забот. Свободный стиль программирования имеет открытые варианты, массивы и вариантные массивы. Они позволяют размещать в памяти всё, что угодно и смешивают типы данных.

Использование Delphi подходит для создания самых простых приложений, на разработку которых потребуется не более трёх часов. Также можно создать и серьезный проект, предназначенный для работы десятков и сотен пользователей. Для этого используются самые новые разработки в мире компьютерных технологий, при этом затраты времени и сил минимальны.

1. Постановка задачи
Кодирование - это процесс присвоения экономической информации условных обозначений, подчиненных определенным правилам. Совокупность правил, по которым осуществляется кодирование, называется системой кодирования. Код является обозначением признака объекта в виде знака или группы знаков в соответствии с принятой системой кодирования. Различают два типа кодов: машинные и экономические. Машинные коды используют для управления ПК и представления команд, экономические объединяют все виды кодов, используемых для представления технико-экономической информации. Знаки, используемые в процессе кодирования, составляют азбуку кода. Число знаков буквенного кода, используемых в кодовом обозначении, называется основанием кода. Цифровая азбука кода состоит из цифр, смешанная - из букв и цифр.

В вычислительной технике существует система, которая называется двоичная система кодирования, основанная на представлении данных последовательностью всего двух знаков: 0 и 1. Иногда системы кодирования называют системами счисления. Также есть восьмеричная (от 0 до 7), шестнадцатеричная (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, B, C, D, E, F) и десятичная (от 0 до 9) системы счисления.

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



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

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

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

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

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

Комбинированная система кодирования основывается на сочетании различных систем кодирования с учетом их предпочтений. В зависимости от конкретных случаев целесообразно использовать, например, серийно-позиционный код, построчно-серийный и т. д.

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

Кодирование информации в двоичном коде.

Существуют разные способы кодирования и декодирования информации в компьютере. Это зависит от вида информации: текст, число, графическое изображение или звук. Для числа также важно, как оно будет использовано: в тексте, или в вычислениях, или в процессе ввода-вывода. Вся информация кодируется в двоичной системе счисления: с помощью цифр 0 и 1. Эти два символа называют двоичными цифрами или битами. Такой способ кодирования технически просто организовать: 1 - есть электрический сигнал, 0 - нет сигнала. Недостаток двоичного кодирования - длинные коды. Но в технике легче иметь дело с большим числом простых однотипных элементов, чем с небольшим числом сложных.


Кодирование текстовой информации.

При нажатии клавиши клавиатуры сигнал посылается в компьютер в виде двоичного числа, которое хранится в кодовой таблице. Кодовая таблица - это внутреннее представление символов в компьютере. В качестве стандарта в мире принята таблица ASCII (American Standart Code for Information Interchange - Американский стандартный код для обмена информацией). Для хранения двоичного кода одного символа выделен 1 байт = 8бит. Так как 1 бит принимает значение 0 или 1, то с помощью одного байта можно закодировать 28 = 256 различных символов, т.к. именно столько различных кодовых комбинаций можно составить. Эти комбинации и составляют таблицу ASCII. Например, буква S имеет код 01010011; при нажатии ее на клавиатуре происходит декодирование двоичного кода и по нему строится изображение символа на экране монитора.

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

Кодирование чисел.

В двоичной системе счисления для представления используются две цифры 0 и 1.

Сравните:

в десятичной системе счисления 435,6710 = 4 102 + 3 101 + 5 100 + 6 10-1 + 7 10-2 в десятичной системе счисления 10110,1012 = 1 24 +0 23 +1 22 +1 21 +0 20 +1 2-1 +0 2-2 +1 2-3

Действия с числами в двоичной системе счисления изучает наука двоичная арифметика. Все основные законы арифметических действий для таких чисел также выполняются.

Для сравнения рассмотрим два варианта кодирования для числа 45. При использовании числа в тексте каждая цифра кодируется 8 битами в соответствии с ASCII (т.е. потребуется 2 байта): 4 - 01000011, 5 - 01010011. При использовании в вычислениях код этого числа получается по специальным правилам перевода из десятичной системы счисления в двоичную в виде 8-разрядного двоичного числа: 4510 = 001011012, что потребует 1 байт.

Кодирование графической информации.

Графический объект в компьютере может быть представлен как растровое или векторное изображение. От этого зависит и способ кодирования. Растровое изображение представляет собой совокупность точек различного цвета. Объем растрового изображения равен произведению количества точек на информационный объем одной точки, который зависит от количества возможных цветов. Для черно-белого изображения информационный объем точки равен 1 биту, т.к. она может быть либо белой, либо черной, что можно закодировать двумя цифрами 0 и 1. Рассмотрим, сколько потребуется бит для изображения точки: 8 цветов - 3 бита (8 = 23); для 16 цветов - 4 бита (16 = 24); для 256 цветов - 8 битов (1 байт). Различные цвета получаются из трех основных - красного, зеленого и синего. Векторное изображение представляет собой графический объект, состоящий из элементарных отрезков и дуг. Положение этих элементарных объектов определяется координатами точек и длиной радиуса. Для каждой линии указывается ее тип (сплошная, пунктирная, штрих-пунктирная), толщина и цвет. Информация о векторном изображении кодируется как обычная буквенно-цифровая и обрабатывается специальными программами.


Кодирование звуковой информации.

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

Тема: Разработать программу для Windows «Шифр Цезаря».

Условие задачи: «Шифр Цезаря» реализует следующее преобразование текста: каждая буква исходного текста заменяется третьей после нее буквой в алфавите, который считается написанным по кругу.

Объект исследования - шифрование и дешифрование текста, для обеспечения доступа к файлам определенному кругу лиц. За основу создания данной программы шифрования взята технология шифра Цезаря.

Задачи исследования:

) Проанализировать научную литературу о криптографии.

) Разработка автоматизированной системы шифрования методом шифра Цезаря.

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

Методы исследования. Для решения поставленных задач использовались методы эмпирического исследования: анализ литературы по теме исследования, сравнительно-сопоставительного анализ; обобщения и систематизации полученных данных, разработка программного обеспечения.

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

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