COM объекты. ЛБ 1_Com. Лабораторная работа 1 часть 1 взаимодействие с унаследованным программным кодом 1 реализация внутреннего сервера com в delphi 2
Скачать 0.79 Mb.
|
2.2. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫI. Разработайте компонент ActiveX, выполняющий следующие действия: Создание элемента ActiveX, в окне которого отображается строка, бегущая изнутри (например, пусть введена строка "АБВГ....ЭЮЯ", тогда последовательность отображения ее символов следующая: "АЯ", "АБЮЯ", "АБВЭЮЯ" и т.д.). Программа должна содержать меню, которое позволяет осуществлять выбор шрифта для отображения текста и вызывать диалоговое окно для ввода пользователем текста отображаемой строки и скорости вывода символов (задержка в миллисекундах). II. Составить приложение ActiveX для шифрования/дешифрирования по следующим методам: Шифр перестановки «Скитала» Шифрующих таблиц. Шифрующих таблиц с ключевым словом. Шифрующих таблиц. Двойная перестановка. Магических квадратов Полибианский квадрат (Только, пожалуйста, не используйте греческий алфавит) Системы шифрования Цезаря (кому-то повезло!) Аффинной системы подстановок Цезаря Системы Цезаря с ключевым словом Шифрующих таблиц Трисемуса Биграммного шифра Плейфейра Шифра Гронсфельда Двойного квадрата Уитстона Шифрование методом гаммирования Программной реализации роторной машины. 2.3. ОПИСАНИЕ МЕТОДОВ ШИФРОВАНИЯШифр перестановки «Скитала»В V веке до нашей эры правители Спарты, наиболее воинственного их греческих государств, имели хорошо отработанную систему секретной военной связи и шифровали свои послания с помощью скитала, первого простейшего криптографического устройства, реализующего метод простой перестановки. Шифрование выполнялось следующим образом. На стержень цилиндрической формы, который назывался скитала, наматывали спиралью (виток к витку) полоску пергамента и писали на ней вдоль стержня несколько строк текста сообщения. Затем снимали со стержня полоску пергамента с написанным текстом. Буквы на этой полоске оказывались расположенными хаотично. Такой же результат можно получить, если буквы сообщения писать по кольцу не подряд, а через определенное число позиций до тех пор, пока не будет исчерпан весь текст.
Рис.1. Сообщение НАСТУПАЙТЕ при размещении его по окружности стержня по три буквы дает шифртекст НУТАПЕСА_ТЙ Для расшифрования такого шифртекста нужно не только знать правило шифрования, но и обладать ключом в виде стержня определенного диаметра. Зная только вид шифра, но не имея ключа, расшифровать сообщение было непросто. Шифр скитала многократно совершенствовался в последующие времена Шифрующие таблицыС начала эпохи Возрождения (конец XIV столетия) начала возрождаться и криптография. Наряду с традиционными применениями криптографии в политике, дипломатии и военном деле появляются и другие задачи - защита интеллектуальной собственности от преследований инквизиции или заимствований злоумышленников. В разработанных шифрах перестановки того времени применяются шифрующие таблицы, которые в сущности задают правила перестановки букв в сообщении В качестве ключа в шифрующих таблицах используются' • размер таблицы; • слово или фраза, задающие перестановку, • особенности структуры таблицы. Одним из самых примитивных табличных шифров перестановки является простая перестановка, для которой ключом служит размер таблицы. Этот метод шифрования сходен с шифром скитала Например, сообщение ТЕРМИНАТОР ПРИБЫВАЕТ СЕДЬМОГО В ПОЛНОЧЬ записывается в таблицу поочередно по столбцам. Результат заполнения таблицы из 5 строк и 7 столбцов показан на рис. 2.
Рис 2. Заполнение таблицы из 5 строк и 7 столбцов После заполнения таблицы текстом сообщения по столбцам для формирования шифртекста считывают содержимое таблицы по строкам. Если шифртекст записывать группами по пять букв, получается такое шифрованное сообщение ТНПВЕ ГЛЕАР АДОНР ТИЕЬВ ОМОБТ МПЧИР ЫСООЬ Естественно, отправитель и получатель сообщения должны заранее условиться об общем ключе в виде размера таблицы Следует заметить, что объединение букв шифртекста в 5-буквенные группы не входит в ключ шифра и осуществляется для удобства записи несмыслового текста. При расшифровании действия выполняют в обратном порядке. Несколько большей стойкостью к раскрытию обладает метод шифрования, называемый одиночной перестановкой по ключу Этот метод отличается от предыдущего тем, что столбцы таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы. Применим в качестве ключа, например, слово ПЕЛИКАН, а текст сообщения возьмем из предыдущего примера. На рис. 3 показаны две таблицы, заполненные текстом сообщения и ключевым словом, при этом левая таблица соответствует заполнению до перестановки, а правая таблица- заполнению после перестановки.
До перестановки После перестановки Рис 3. Таблицы, заполненные ключевым словом и текстом сообщения В верхней строке левой таблицы записан ключ, а номера под буквами ключа определены в соответствии с естественным порядком соответствующих букв ключа в алфавите. Если бы в ключе встретились одинаковые буквы, они бы были понумерованы слева направо. В правой таблице столбцы переставлены в соответствии с упорядоченными номерами букв ключа. При считывании содержимого правой таблицы по строкам и записи шифртекста группами по пять букв получим шифрованное сообщение: ГНВЕП ЛТООА ДРНЕВ ТЕЬИО РПОТМ БЧМОР СОЫЬИ Для обеспечения дополнительной скрытности можно повторно зашифровать сообщение, которое уже прошло шифрование. Такой метод шифрования называется двойной перестановкой. В случае двойной перестановки столбцов и строк таблицы перестановки определяются отдельно для столбцов и отдельно для строк. Сначала в таблицу записывается текст сообщения, а потом поочередно переставляются столбцы, а затем строки. При расшифровании порядок перестановок должен быть обратным. Пример выполнения шифрования методом двойной перестановки показан на рис. 4. Если считывать шифртекст из правой таблицы построчно блоками по четыре буквы, то получится следующее: ТЮАЕ ООГМ РЛИП ОЬСВ Ключом к шифру двойной перестановки служит последовательность номеров столбцов и номеров строк исходной таблицы (примере – это последовательности 4132 и 3142).
Исходная таблица Перестановка столбцов Перестановка строк Рис. 4. Пример выполнения шифрования методом двойной перестановки Число вариантов двойной перестановки быстро возрастает при увеличении размера таблицы: • для таблицы 3х3 36 вариантов; • для таблицы 4х4 576 вариантов; • для таблицы 5х5 14400 вариантов. Однако двойная перестановка не отличается высокой стойкостью и сравнительно просто "взламывается" при любом размере таблицы шифрования. |