|
Шифр Виженера – модифицированный шифр Цезаря, шифр XORСтр 1 из 2Следующая ⇒ Лабораторная работа №1 Создание личных алфавитов Пример 1. Создать собственный алфавит, как массив символов, непосредственным описанием последовательности символов. procedure TForm1.Button1Click(Sender: TObject); Const A: array [0..15] of char = ('0','1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'); // Описываем алфавит Var i: integer; // объявляем переменную к-ва символов Begin {Вывод алфавита} Form1.Caption:= ''; // очищаем переменную for i:= 0 to 15 do // в цикле от 0 до 15 Form1.Caption:= Form1.Caption + A[i] + ' '; // соединяем символы через пробел end; Пример 2. Создать алфавит, как массив символов, используя функцию Succ, указав в качестве начального параметра первый символ алфавита. Пример 3. Создать обратный алфавит, как массив символов, используя функцию Pred, указав в качестве начального параметра последний символ алфавита. Задание. Создать свой алфавит из 15 символов: · добавить кнопку; · написать обработчик события. Лабораторная работа № 2 Шифр Виженера – модифицированный шифр Цезаря, шифр XOR
Установить в форму элементы управления (страница Standard): Edit1 для ввода пароля, Мемо1, Мемо2, Мемо3; Label1, Label2, Label3 (надписи); GroupBox1, GroupBox2, GroupBox3, в которые установить по 2 кнопки Button (рис. 1). Дать заголовки объектам.
В качестве алфавита будем использовать встроенную таблицу ASCII (Z256)
Шифр Виженера (модифицированный шифр Цезаря) Вариант 1 Декларирование функции
Описание функции
Шифрование
Расшифрование
Задание. Проверить работу функции: зашифровать и расшифровать произвольный текст, изменяя пароль.
Модифицированный шифр Цезаря (шифр Виженера) Вариант 2 Декларирование функции
Описание функции Шифрование
Расшифрование
Задание. Проверить работу функции: зашифровать и расшифровать произвольный текст, изменяя пароль. Убедитесь, что шифры Виженера и модифицированный шифр Цезаря дают один и тот же результат, т.е. реализуют одинаковый алгоритм с различной программной реализацией. Шифрование методом XOR Декларирование функции
Описание функции
Шифрование
Расшифрование
Задание. Проверить работу функции, изменяя пароль. Лабораторная работа №3 Модель шифровальной машины ”ЭНИГМА” Особенностью алгоритма ЭНИГМА является сдвиг текущего символа в строке текста на значение некоторой функции, зависимой от номера позиции символа в строке. В нашей работе будем применять функцию сдвига f(kx,i) = (kx * i)^2, где i – порядковый номер символа в строке, kx – множитель (нечетное число = 0, 1, 3, 5, 7,..., n).
В качестве алгоритма шифрования может выступать алгоритм Цезаря с переменным шагом замены. Шифрование по таблице ASCII , (1) Расшифрование по таблице ASCII . (2) При kx = 0 шифрование и расшифрование происходить не будут, так как Ci = Ti + 0 (mod 256) и Для выполнения работы будем использовать компоненты:
Ниже приводится универсальная функция шифрования и расшифрования текста по описанному алгоритму. Входными параметрами функции являются:
Результатом работы функции является текст либо криптограмма.
Декларирование функции
Задание 1. Выполнить шифрование и расшифрование текста при различных значениях множителя. Задание 2. Изменить функцию сдвига, например на и посмотрите на результат. Шифрование
Расшифрование
Примечание: множитель kx может принимать любые значения. Лабораторная работа №4 Простые числа Натуральное число p, большее единицы, называется простым, если оно имеет только 2 положительных делителя 1 и само число p. Например числа 3, 5, 7. Натуральное число называется составным, если оно имеет более 2-х положительных делителей. Например числа 6, 8, 9. 1 — ни простое, ни составное число. Теорема арифметики. Любое натуральное число n, большее единицы, может быть разложено в произведение простых чисел (множителей), причем это разложение единственное. Разложение натурального числа n имеет вид: , где p 1, p 2, ... pk — различные простые числа, Задача проверки, является ли число простым, а так же задача получения больших простых чисел являются важными в криптографии. Решается задача: о пределить, является ли натуральное число n простым.
Метод пробных делений Пусть число n N. Если n – составное число, то n = ab, где 1 < a b, причем (если b=a, то n=a2 → ). Будем искать делители числа n. Для этого достаточно проверить, делится ли число n Если делитель найден, то число n — составное (не является простым). Если, делитель не будет найден, то n – простое число.
Пример. Сгенерироватьтаблицупростых чисел в выбранном диапазоне значений.
В примере использованы:
Решето Эратосфена Алгоритм построения таблицы простых чисел в диапазоне от 2 до N. Из исходной таблицы чисел 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 …………
нужно вначале вычеркнуть все числа, делящиеся на 2, кроме 2. Затем взять число 3 и вычеркнуть все последующие числа, делящиеся на 3. Затем взять следующее, не вычеркнутое число (т. е. 5) и вычеркнуть все последующие делящиеся на него числа, и так далее. В итоге останутся лишь простые числа.
Задание.. Построитьтаблицупростых чисел в диапазоне от 2 до 70 пользуясь алгоритмом «Решето Эратосфена». Лабораторная работа №5 ЛАБОРАТОРНАЯ РАБОТА №6
Лабораторная работа № 7 Декларирование функции
Описание функции
Вызов функции
Задание. Внести изменения в программу, что бы числа вводились из компонента SpinEdit. Лабораторная работа №8 Лабораторная работа №1 Создание личных алфавитов Пример 1. Создать собственный алфавит, как массив символов, непосредственным описанием последовательности символов. procedure TForm1.Button1Click(Sender: TObject); Const A: array [0..15] of char = ('0','1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'); // Описываем алфавит Var i: integer; // объявляем переменную к-ва символов Begin {Вывод алфавита} Form1.Caption:= ''; // очищаем переменную for i:= 0 to 15 do // в цикле от 0 до 15 Form1.Caption:= Form1.Caption + A[i] + ' '; // соединяем символы через пробел end; Пример 2. Создать алфавит, как массив символов, используя функцию Succ, указав в качестве начального параметра первый символ алфавита. Пример 3. Создать обратный алфавит, как массив символов, используя функцию Pred, указав в качестве начального параметра последний символ алфавита. Задание. Создать свой алфавит из 15 символов: · добавить кнопку; · написать обработчик события. Лабораторная работа № 2 Шифр Виженера – модифицированный шифр Цезаря, шифр XOR
Установить в форму элементы управления (страница Standard): Edit1 для ввода пароля, Мемо1, Мемо2, Мемо3; Label1, Label2, Label3 (надписи); GroupBox1, GroupBox2, GroupBox3, в которые установить по 2 кнопки Button (рис. 1). Дать заголовки объектам.
В качестве алфавита будем использовать встроенную таблицу ASCII (Z256)
Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала... Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|