Шифрование данных симметричным алгоритмом
Лабораторная работа
Шифрование данных симметричным алгоритмом
Цель работы: получить навыки по использованию симметричных криптографических алгоритмов для шифрования данных.
1. Основные положения.
Существует два основных типа криптографических алгоритмов:
- - симметричные, для которых ключ расшифрования совпадает с ключом зашифрования. - асимметричные (алгоритмы с открытым ключом), использующие для зашифрования и расшифрования два разных ключа.
Симметричные алгоритмы делятся на две категории:
- - потоковые шифры, в которых данные обрабатываются побитово (посимвольно), - блочные шифры, в которых операции производятся над группами битов.
Криптостойкость - характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа (основные характеристики: 1. количество всех возможных ключей 2. среднее время, необходимое для криптоанализа).
Общепринятые требования к криптографическим алгоритмам:
- 1. зашифрованный текст читается только при наличии ключа, 2. число операций для нахождения ключа по фрагменту шифрованного текста и соответствующего ему открытого текста - не менее общего числа возможных ключей. 3. число операций для дешифровки путем перебора всевозможных ключей, должно иметь строгую нижнюю оценку и выходить за пределы возможностей компьютеров, 4. знание алгоритма шифрования не должно влиять на надежность защиты, 5. незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа, 6. структурные элементы алгоритма шифрования должны быть неизменными, 7. дополнительные биты, вводимые в сообщение при шифровании должны быть полностью и надежно скрыты в шифрованном тексте, 8. длина шифрованного текста должна быть равной длине исходного текста, 9. не должно быть простых и легко устанавливаемых зависимостей между ключами, последовательно используемых при шифровании, 10. любой ключ из множества возможных должен обеспечивать надежную защиту информации, 11. алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования.
Среди методов криптографического закрытия можно выделить следующие:
- - Замена (подстановка) - Перестановка - Аналитическое преобразование - Гаммирование - Комбинированные методы.
Гаммирование - наложение на текст псевдослучайной последовательности, генерируемой на основе ключа. Возможны следующие разновидности гамм:
- - конечная короткая гамма, - конечная длинная гамма, - бесконечная гамма.
Шифрование методом гаммирования заключается в замене символов шифруемого текста и гаммы цифровыми эквивалентами (или в виде двоичного кода). Стойкость шифрования определяется длительностью периода и равномерностью статистических характеристик гаммы.
- 2. Выполнение работы 2.2 Лабораторное задание
Задача лабораторной работы - разработать приложение, в котором вводимый текст шифруется симметричным алгоритмом с помощью задаваемого ключа.
- 3. Рекомендации при разработке приложения 3.3 Возможный вариант процедур шифрования/дешифрования с оформлением каждого из действий в отдельную процедуру:
Interface
Const
StartKey = 981; {Start default key}
MultKey = 12674; {Mult default key}
AddKey = 35891; {Add default key}
Function Encrypt(const InString:string; StartKey, MultKey, AddKey:Integer): string;
Function Decrypt(const InString:string; StartKey, MultKey, AddKey:Integer): string;
Implementation
{$R-}
{$Q-}
{*******************************************************
- * Standard Encryption algorithm - Copied from Borland * *******************************************************}
Function Encrypt(const InString:string; StartKey, MultKey, AddKey:Integer): string;
Var
I : Byte;
Begin
Result := '';
For I := 1 to Length(InString) do
Begin
Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8));
StartKey := (Byte(Result[I]) + StartKey) * MultKey + AddKey;
End;
End;
{*******************************************************
- * Standard Decryption algorithm - Copied from Borland * *******************************************************}
Function Decrypt(const InString:string; StartKey, MultKey, AddKey:Integer): string;
Var
I : Byte;
Begin
Result := '';
For I := 1 to Length(InString) do
Begin
Result := Result + CHAR(Byte(InString[I]) xor (StartKey shr 8));
StartKey := (Byte(InString[I]) + StartKey) * MultKey + AddKey;
End;
End;
{$R+}
{$Q+}
End.
- 3.4 Рекомендуется разработать процедуры шифрования/дешифрования с использованием наложения на шифруемый текст конечной короткой гаммы (ключа):
- - символы текста и ключа переводятся в цифровой (тип Byte) аналог таблицы ASCII, - организуется цикл перебора элементов массива текста с наложением на них (сложение или вычитание с контролем выхода за границы типа данных) соответствующих элементов массива ключа.
Program Crypt;
{$APPTYPE CONSOLE}
Uses Windows;
Var
Key, text, longkey, result : String;
I : integer;
Toto, c : char;
F : TextFile;
Begin
Writeln('Enter the key:');
Readln(key);
Writeln('Enter the text:');
Readln(text);
For i := 0 to (length(text) div length(key)) do
Longkey := longkey + key;
For i := 1 to length(text) do
Begin
// XOR алгоритм
Toto := chr((ord(text[i]) Xor Ord(longkey[i])));
Result := result + toto;
End;
Writeln('The crypted text is:');
Writeln(result);
Write('Should i save it to result. txt?');
Read(c);
If in ['Y','y'] then
C Begin
AssignFile(F,'result. txt');
Rewrite(F);
Writeln(F, result);
CloseFile(F);
End;
End.
4. Содержание отчета
Отчет должен содержать:
- 1. Тему работы, цель работы. 2. Распечатку программы. 3. Скрин-шоты выполнения программы с указанием авторства. 4. Описание хода выполнения. 5. Ответы на контрольные вопросы. 5. Контрольные вопросы
Ключ шифр дешифрование криптографический
- 1. Почему криптографические алгоритмы, требующие сохранения в тайне последовательности преобразования данных, не находят в настоящее время широкого применения? 2. Каким должен быть объем ключевого пространства для обеспечения криптографической стойкости алгоритма? 3. Зависит ли криптографическая стойкость алгоритма от набора возможных символов ключа? 4. Что такое ключ? 5. Можно ли использовать последовательности цифр фундаментальных констант при формировании гаммы? 6. Назовите основные показатели криптостойкости. 7. Охарактеризуйте меры по защите ключей. 8. Исходя из чего определяется необходимость смены ключей шифрования?
Похожие статьи
-
Для оценки возможности выполнения проекта имеющимся в распоряжении разработчика штатным составом исполнителей, нужно рассчитать их среднее количество,...
-
Приложение, которое необходимо разработать, должно производить геометрическую реконструкцию сцены и вычисление цвета вершин модели. Для геометрической...
-
Для вычисления цвета могут быть использованы различные подходы. Вычисление цвета может проводиться одновременно с геометрической реконструкцией,...
-
Разработка программного обеспечения предполагает необходимость координации значительного количества весьма разноплановых работ, в которых принимают...
-
Для создания трехмерной реконструкции сцены или объекта необходимо создать его трехмерную модель и вычислить цвет ее вершин. Для геометрической...
-
Постановление Правительства Российской Федерации №1119 "Об утверждении требований к защите персональных данных при их обработке в информационных системах...
-
ER - диаграмма базы данных была представлена на рис. 2. Рис.2. ER-диаграмма базы данных. Таблица admin - содержит два столбца login и password которые...
-
ДВОИЧНЫЙ ПОИСК, АВЛ-Дерево - Структуры и алгоритмы обработки данных
Алгоритм двоичного поиска в упорядоченном массиве сводится к следующему. Берем средний элемент отсортированного массива и сравниваем с ключом X. Возможны...
-
Формулировка задания: Составьте программу подсчета числа тех гласных букв в слове X, что не используются в написании слова Z. Описание входных/выходных и...
-
Введение В настоящем дипломном проекте исследуются вопросы, связанные с генерацией искусственных биометрических образов. Рассматриваются различные...
-
Выбор программ и алгоритмы реализации базы данных - База данных "Кинотеатр"
Microsoft Office Access - мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows....
-
Согласно нормативным документам, суммарные отчисления в пенсионный фонд, фонд социального страхования и фонды обязательного медицинского страхования...
-
Для иллюстрации последовательности проводимых работ приведем диаграмму Гантта данного проекта, на которой по оси Х изображены календарные дни от начала...
-
Сервисное обслуживание разрабатываемого ПО будет выполнять один сотрудник. Для выполнения данной работы привлечем программиста, который участвовал в...
-
ОПИСАНИЕ ПРОГРАММЫ, ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ - Структуры и алгоритмы обработки данных
ОСНОВНЫЕ ПЕРЕМЕННЫЕ И СТРУКТУРЫ Struct BD { char FIO[32]; // фоpмат <Фамилия>_<Имя>_<Отчество> int numberO; char dolzhnost[32]; char dateB[8]; }...
-
ОСОБЕННОСТИ РЕАЛИЗАЦИИ АЛГОРИТМОВ - Структуры и алгоритмы обработки данных
В ходе выполнения курсовой работы, помимо основных алгоритмов, потребовалось реализовать также несколько вспомогательных, необходимых для корректной...
-
В ходе выполнения дипломного проекта был разработан алгоритм генерации искусственных биометрических образов, позволяющий создавать правдоподобные...
-
МЕТОДОВ МЕТОД СОРТИРОВКИ Пирамидальная сортировка Пирамидальная сортировка основана на алгоритме построения пирамиды. Последовательность aI, aI+1,...,aK...
-
ПОСТАНОВКА ЗАДАЧИ - Структуры и алгоритмы обработки данных
Хранящуюся в файле базу данных загрузить в оперативную память компьютера и построить индексный массив, упорядочивающий данные По дням рождения и ФИО ,...
-
Уголовное законодательство -- система нормативных правовых актов, принимаемых уполномоченными органами государственной власти, содержащих нормы,...
-
Гражданский кодекс Российской Федерации в части четвертой регулирует вопросы охраны результатов интеллектуальной деятельности и средств индивидуализации....
-
В настоящее время биометрия входит в состав наиболее распространенных технологий и средств защиты информации. Отпечатки пальцев являются самой широко...
-
Защита персональных данных регламентируется Федеральным Законом РФ № 152-ФЗ "О персональных данных", принятым 27 июля 2006 года. Целью настоящего...
-
Федеральный Закон РФ № 149-ФЗ "Об информации, информационных технологиях и о защите информации", принятый Государственной Думой 8 июля 2006 года и...
-
Расчет затрат, связанных с организацией рабочих мест для исполнителей проекта, проводится на основе требований СНИПа (санитарные нормы и правила) и...
-
В алгоритме Zhou&;Koltun при вычислении отклонений цвета используется изображение, переведенное в градации серого. В данной реализации используется...
-
Затраты на выплату исполнителям заработной платы линейно связаны с трудоемкостью и определяется следующим соотношением: , Где - основная заработная...
-
Разработка концептуальной схемы БД Концептуальная схема базы данных формируется путем перехода в Erwin с логического уровня на физический. Все отношения...
-
Конституция Российской Федерации, принятая 12 декабря 1993 года, имеет высшую юридическую силу, прямое действие и применяется на всей территории...
-
ОПИСАНИЕ ПОДПРОГРАММ - Структуры и алгоритмы обработки данных
Процедуры начальной обработки базы данных: 1. void Read() - считывает базу данных и формирует индексный массив. 2. void PrintMas(void) - осуществляет...
-
Законодательство Российской Федерации в области информационных технологий и их защиты представляет собой совокупность целого ряда нормативно-правовых...
-
Свойства алгоритмов - Алгоритм
Данное выше определение алгоритма нельзя считать строгим - не вполне ясно, что такое "точное предписание" или "последовательность действий,...
-
МЕТОД КОДИРОВАНИЯ - Структуры и алгоритмы обработки данных
Код Шеннона Код Шеннона позволяет построить почти оптимальный код с длинами кодовых слов. Тогда по теореме Шеннона из п. 5.1 . Код Шеннона,...
-
Шифрование и расшифрование, Исходный код - Алгоритм кодировки RSA
Предположим, Боб хочет послать Алисе сообщение. Сообщениями являются целые числа в интервале от до, т. е. Шифрование : - Взять Открытый Ключ Алисы -...
-
Даталогическое проектирование - Банки и базы данных. Системы управления базами данных
Даталогической моделью БД называется модель логического уровня, построенная в рамках конкретной СУБД, в среде которой проектируется БД. Описание...
-
ИИС "Шлаковые расплавы" позволяет вести моделирование КЭ в нескольких "режимах", с полным набором получаемых свойств. 1. Моделирование комплекса свойств...
-
Полное наименование разрабатываемой системы - корпоративная информационная система "Бюджетное планирование и отчетность" группы компаний, занимающейся...
-
Data Encryption Standard - созданный в 1975 году и стандартизированный в 1977 году блочный алгоритм симметричного шифрования. Алгоритм Triple DES (3DES)...
-
Да, BitLocker поддерживает многофакторную проверку подлинности для дисков операционной системы. Если включить BitLocker на компьютере с доверенным...
-
В данной главе приводится описание различных криптографических алгоритмов для безопасной передачи данных в приложении. RSA Для того, чтобы избежать...
Шифрование данных симметричным алгоритмом