Высокоуровневые методы информатики и программирования - Программирование, компьютеры и кибернетика курсовая работа

Высокоуровневые методы информатики и программирования - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Высокоуровневые методы информатики и программирования

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


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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

2.6 Экспериментальная проверка работы программы
Приложение В. Квадрат Виженера (tabula recta)
Вообще, историю криптографии можно считать равной по возрасту истории существования письменности, потому что именно с появлением письменности возникла потребность придумывать различные способы для хранения информации в виде, доступном только для определенного круга лиц. Например, до нашей эры был придуман известный «Шифр Цезаря», который заключался в замене каждого символа в тексте на элемент, отстоящий от него в алфавите на фиксированное число позиций.
Естественно, что люди, от которых информация утаивалась, искали всяческие способы расшифровать закодированные сообщения. Таких людей сейчас называют криптоаналитиками. Обе враждующие стороны находились в постоянном противоборстве: первые постоянно придумывали новые шифры, с первого взгляда недоступные для криптоаналитиков, а вторые находили способы дешифровки скрытых сообщений.
Благодаря работе Абу аль - Кинди оказалось, что шифры типа «Шифра Цезаря» (то есть моноалфавитные шифры, в которых каждой букве кодируемого текста ставится в соответствие однозначно какая-то шифрованная буква) довольно-таки легко поддаются частотному криптоанализу. Возникла потребность в разработке таких шифров, ручная расшифровка которых может потребовать очень значительных усилий. И на смену моноалфавитным шифрам пришли полиалфавитные шифры. Абу аль - Кинди первым предложил использовать многоалфавитный шифр. В европейских странах это произошло в эпоху Возрождения, когда развитие торговли потребовало надежные способы защиты информации. Одним из первых предложил полиалфавитный шифр итальянский архитектор Батисте Альберти. Впоследствии данный шифр получил имя дипломата XVI века Блеза де Виженера. Также вклад в развитие полиалфавитных шифров внес немецкий аббат XVI века Иоганн Трисемус. Простым, но стойким способом полиалфавитной замены является шифр Плейфера, открытый в начале XIX века Чарльзом Уитстоном.
Этот шифр использовался вплоть до I мировой войны. Последним словом в развитии полиалфавитных шифров стали так называемые роторные машины, которые позволяли легко создавать устойчивые к криптоатакам полиалфавитные шифры. Примером такой машины является немецкая машина Enigma, разработанная в 1917 г. Эдвардом Хеберном.
Целью курсовой работу является реализация криптографического алгоритма шифрования и дешифрования с использованием шифра Виженера.
Вводить понятие полиалфавитного шифра удобнее всего, сначала определив моноалфавитный шифр, что было сделано в исторических сведениях.
Суть полиалфавитного шифра заключается в циклическом применении нескольких моноалфавитных шифров к определённому числу букв шифруемого текста. Например, пусть у нас имеется некоторое сообщение x1 , x2 , x3 , ….. xn , …… x2n , ….., которое надо зашифровать. При использовании полиалфавитного шифра имеется несколько моноалфавитных шифров (например, n штук). И в нашем случае к первой букве применяется первый моноалфавитный шифр, ко второй букве -- второй, к третьей -- третий….. к n-ой букве -- n-й, а к n+1 опять первый, ну и так далее. Таким образом, получаётся довольно-таки сложная последовательность, которую уже не так просто вскрыть, как один моноалфавитный шифр. Самым важным эффектом, достигаемым при использовании полиалфавитного шифра, является маскировка частот появления тех или иных букв в тексте, на основании которой обычно очень легко вскрываются моноалфавитные шифры.
Шифр Виженера (фр. Chiffre de Vigenere) - метод полиалфавитного шифрования буквенного текста с использованием ключевого слова.
Этот метод является простой формой многоалфавитной замены. Шифр Виженера изобретался многократно. Впервые этот метод описал Джован Баттиста Беллазо (итал. Giovan Battista Bellaso) в книге La cifra del. Sig. Giovan Battista Bellaso в 1553 году, однако, в XIX веке получил имя Блеза Виженера, французского дипломата. Метод прост для понимания и реализации, он является недоступным для простых методов криптоанализа.
Первое точное документированное описание многоалфавитного шифра было сформулировано Леоном Баттиста Альберти в 1467 году, для переключения между алфавитами использовался металлический шифровальный диск. Система Альберти переключает алфавиты после нескольких зашифрованных слов. Позднее, в 1518 году, Иоганн Трисемус в своей работе «Полиграфия» изобрел tabula recta -- центральный компонент шифра Виженера.
Блез Виженер представил свое описание простого, но стойкого шифра перед комиссией Генриха III во Франции в 1586 году, и позднее изобретение шифра было присвоено именно ему. Давид Кан в своей книге «Взломщики кодов» отозвался об этом осуждающе, написав, что история «проигнорировала важный факт и назвала шифр именем Виженера, несмотря на то, что он ничего не сделал для его создания».
Шифр Виженера имел репутацию исключительно стойкого к «ручному» взлому. Известный писатель и математик Чарльз Лютвидж Доджсон (Льюис Кэрролл) назвал шифр Виженера не взламываемым в своей статье «Алфавитный шифр» англ. The Alphabet Cipher, опубликованной в детском журнале в 1868 году. В 1917 году Scientific American также отозвался о шифре Виженера, как о неподдающемся взлому. Это представление было опровергнуто после того, как Касиски полностью взломал шифр в XIX веке, хотя известны случаи взлома этого шифра некоторыми опытными криптоаналитиками еще в XVI веке.
Шифр Виженера достаточно прост для использования в полевых условиях, особенно если применяются шифровальные диски. Например, «конфедераты» использовали медный шифровальный диск для шифра Виженера в ходе Гражданской войны. Послания Конфедерации были далеки от секретных, и их противники регулярно взламывали сообщения. Во время войны командование Конфедерации полагалось на три ключевых словосочетания: «Manchester Bluff», «Complete Victory» и -- так как война подходила к концу -- «Come Retribution».
Гилберт Вернам попытался улучшить взломанный шифр (он получил название шифр Вернама-Виженера в 1918 году), но, несмотря на его усовершенствования, шифр так и остался уязвимым к криптоанализу. Однако работа Вернама в конечном итоге все же привела к получению шифра, который по-настоящему трудно взломать.
В шифре Цезаря каждая буква алфавита сдвигается на несколько строк; например в шифре Цезаря при сдвиге +3, A стало бы D, B стало бы E и так далее. Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига. Для шифрования может использоваться таблица алфавитов, называемая tabula recta или квадрат (таблица) Виженера (Приложение В). Применительно к латинскому алфавиту таблица Виженера составляется из строк по 26 символов, причем каждая следующая строка сдвигается на несколько позиций. Таким образом, в таблице получается 26 различных шифров Цезаря. На разных этапах кодировки шифр Виженера использует различные алфавиты из этой таблицы. На каждом этапе шифрования используются различные алфавиты, выбираемые в зависимости от символа ключевого слова. Например, предположим, что исходный текст имеет вид:
Человек, посылающий сообщение, записывает ключевое слово («LEMON») циклически до тех пор, пока его длина не будет соответствовать длине исходного текста:
Первый символ исходного текста A зашифрован последовательностью L, которая является первым символом ключа. Первый символ L шифрованного текста находится на пересечении строки L и столбца A в таблице Виженера. Точно так же для второго символа исходного текста используется второй символ ключа; то есть второй символ шифрованного текста X получается на пересечении строки E и столбца T. Остальная часть исходного текста
Расшифровывание производится следующим образом: находим в таблице Виженера строку, соответствующую первому символу ключевого слова; в данной строке находим первый символ зашифрованного текста. Столбец, в котором находится данный символ, соответствует первому символу исходного текста. Следующие символы зашифрованного текста расшифровываются подобным образом.
Если буквы A-Z соответствуют числам 0-25, то шифрование Виженера можно записать в виде формулы:
Допустим, что нам надо зашифровать некий текст, первым словом которого является слово DANCE. Зашифруем первые две буквы, а все остальные делаются аналогично. В графе «ключ» многократно повторяем слово ABC, в графе «открытый текст» приводим открытый текст, в графе «шифрованный текст» приводим зашифрованный текст:
Берём первую букву и смотрим, какая буква ключа находится над ней, а затем полученную букву ключа находим в первом столбце квадрата Виженера, а шифруемую букву в первой строке, затем смотрим, какая буква находится на пересечении полученной строки и столбца -- она и будет зашифрованной буквой:
В результате подобных операций получаем DBPCF. Обратим внимание на тот факт, что длина ключа равна числу всех моноалфавитных шифров, суперпозицией которых является наш полиалфавитный шифр. Одной из модификаций данного метода является использование в качестве ключа всего открытого текста (то есть в графе «ключ» просто пишется подряд весь исходный текст), только с одной поправкой, необходимой для запутывания криптоаналитика: первую букву ключа выберем произвольно, а дальше уже текст сообщения:
Шифр Виженера «размывает» характеристики частот появления символов в тексте, но некоторые особенности появления символов в тексте остаются. Главный недостаток шифра Виженера состоит в том, что его ключ повторяется. Поэтому простой криптоанализ шифра может быть построен в два этапа:
1. Поиск длины ключа. Можно анализировать распределение частот в зашифрованном тексте с различным прореживанием. То есть брать текст, включающий каждую 2-ю букву зашифрованного текста, потом каждую 3-ю и т. д. Как только распределение частот букв будет сильно отличаться от равномерного (например, по энтропии), то можно говорить о найденной длине ключа.
2. Криптоанализ. Совокупность l-шифров Цезаря (где l - найденная длина ключа), которые по отдельности легко взламываются.
Тесты Фридмана и Касиски могут помочь определить длину ключа.
В 1863 году Фридрих Касиски был первым, кто опубликовал успешный алгоритм атаки на шифр Виженера, хотя Чарльз Беббидж разработал этот алгоритм уже в 1854 году. В то время когда Беббидж занимался взломом шифра Виженера, John Hall Brock Thwaites представил новый шифр в «Journal of the Society of the Arts»; когда Беббидж показал, что шифр Thwaites'а является лишь частным случаем шифра Виженера, Thwaites предложил ему его взломать.
Беббидж расшифровал текст, который оказался поэмой «The Vision of Sin» Альфреда Теннисона, зашифрованной ключевым словом Emily -- именем жены поэта.
Тест Касиски опирается на то, что некоторые слова, такие как «the» могут быть зашифрованы одинаковыми символами, что приводит к повторению групп символов в зашифрованном тексте. Например: сообщение, зашифрованное ключом ABCDEF , не всегда одинаково зашифрует слово «crypto»:
Ключ: ABCDEF AB CDEFA BCD EFABCDEFABCD
Исходный текст: CRYPTO IS SHORT FOR CRYPTOGRAPHY
Шифрованный текст: CSASXT IT UKSWT GQU GWYQVRKWAQJB
Зашифрованный текст в данном случае не будет повторять последовательности символов, которые соответствуют повторным последовательностям исходного текста. В данном шифрованном тексте есть несколько повторяющихся сегментов, которые позволяют криптоаналитику найти длину ключа:
Более длинные сообщения делают тест более точным, так как они включают в себя больше повторяющихся сегментов зашифрованного текста. В данном шифрованном тексте есть несколько повторяющихся сегментов, которые позволяют криптоаналитику найти длину ключа:
DYDUXRMHTVDVNQDQNWDYDUXRMHARTJGWNQD
Расстояние между повторяющимися DYDUXRMH равно 18, это позволяет сделать вывод, что длина ключа равна одному из значений: 18,9,6,3 или 2. Расстояние между повторяющимися NQD равно 20. Из этого следует, что длина ключа равна 20 или 10, или 5, или 4 или 2. Сравнивая возможные длины ключей, можно сделать вывод, что длина ключа (почти наверняка) равна 2.
Тест Фридмана (иногда называемый каппа-тест) был изобретен Вильямом Фридманом в 1920 году. Фридман использовал индекс совпадения, который измеряет частоты повторения символов, чтобы взломать шифр. Зная вероятность того, что два случайно выбранных символа текста совпадают (примерно 0,067 для англ. языка) и вероятность совпадения двух случайно выбранных символов алфавита (примерно 0,0385 для англ. языка), можно оценить длину ключа как:
Из наблюдения за частотой совпадения следует:
где -- размер алфавита (26 символов для английского языка), -- длина текста, и до -- наблюдаемые частоты повторения символов зашифрованного текста. Однако, это только приблизительное значение, точность которого увеличивается при большем размере текста. На практике это было бы необходимо для перебора различных ключей приближаясь к исходному.
Как только длина ключа становится известной, зашифрованный текст можно записать во множество столбцов, каждый из которых соответствует одному символу ключа. Каждый столбец состоит из исходного текста, который зашифрован шифром Цезаря; ключ к шифру Цезаря является всего-навсего одним символом ключа для шифра Виженера, который используется в этом столбце. Используя методы, подобные методам взлома шифра Цезаря, можно расшифровать зашифрованный текст. Усовершенствование теста Касиски, известное как метод Кирхгофа, заключается в сравнении частоты появления символов в столбцах с частотой появления символов в исходном тексте для нахождения ключевого символа для этого столбца. Когда все символы ключа известны, криптоаналитик может легко расшифровать шифрованный текст, получив исходный текст. Метод Кирхгофа не применим, когда таблица Виженера скремблирована, вместо использования обычной алфавитной последовательности, хотя тест Касиски и тесты совпадения все еще могут использоваться для определения длины ключа для этого случая.
Вариант running key (англ. - бегущий ключ) шифра Виженера когда-то был не взламываемым. Эта версия использует в качестве ключа блок текста, равный по длине исходному тексту. Так как ключ равен по длине сообщению, то методы предложенные Фридманом и Касиски не работают (так как ключ не повторяется). В 1920 году Фридман первым обнаружил недостатки этого варианта. Проблема с running key шифра Виженера состоит в том, что криптоаналитик имеет статистическую информацию о ключе (учитывая, что блок текста написан на известном языке) и эта информация будет отражаться в шифрованном тексте. Если ключ действительно случайный, его длина равна длине сообщения, и он использовался единожды, то шифр Виженера теоретически будет не взламываемым.
Виженер фактически изобрел более стойкий шифр -- шифр с автоключом. Несмотря на это, «шифр Виженера» ассоциируется с более простым многоалфавитным шифром. Фактически эти два шифра часто путали, называя их le chiffre indechiffrable. Беббидж фактически взломал более стойкий шифр с автоключом, в то время когда Касиски издал первое решение взлома многоалфавитного шифра с фиксированным ключом. Метод Виженера зашифровки и расшифровки сообщений иногда относится к «варианту Битфорда». Его отличие от шифра Битфорда, изобретенного сэром Френсисом Битфордом, который, тем не менее, подобен шифру Виженера, заключается в использовании немного измененного механизма шифрования и таблиц.
Несмотря на очевидную стойкость шифра Виженера, он широко не использовался в Европе. Большее распространение получил шифр Гронсфилда, созданный графом Гронсфилдом, идентичный шифру Виженера, за исключением того, что он использовал только 10 различных алфавитов (соответствующих цифрам от 0 до 9). Преимущество шифра Гронсфилда состоит в том, что в качестве ключа используется не слово, а недостаток -- в небольшом количестве алфавитов. Шифр Гронсфилда широко использовался по всей Германии и Европе, несмотря на его недостатки.
2.6 Экспериментальная проверка работы программы
Для проверки работы программы, выполняющей шифрование по таблице Виженера, возьмем, например, слово «приветствие», а ключевым символом будет являться, например, слово «два».
После шифрования был получен следующий зашифрованный текст:
Для проверки работы программы дешифрования по таблице Виженера возьмем этот же зашифрованный текст «СРМДЕЦУТЖКЕ». При этом ключевым символом должно являться слово «два». При расшифровке текста получим первоначальный текст «приветствие».
Проще всего взломать полиалфавитный шифр, зная его период, то есть число используемых моноалфавитных шифров. Тогда, выбрав буквы, соответствующие каждому из моноалфавитных шифров, можно к каждому из них применить так называемый частотный анализ (или какой-нибудь другой метод взлома моноалфавитных шифров). Метод основан на том, что каждая буква в произвольном тексте появляется с вполне определенной частотой, а значит, посмотрев частоты появления тех или иных букв, можно узнать, как происходит замена. Одним из методов нахождения периода полиалфавитных шифров является метод, предложенный Фредериком Касиски в 1836 году. Он заключается в том, что в зашифрованном тексте находятся одинаковые сегменты длины не меньше, чем три буквы, затем вычисляются расстояния между первыми буквами соседних сегментов. Оказывается, предполагаемый период является кратным наибольшему общему делителю для этих расстояний.
В результате выполнения курсовой работы была разработана программа, реализующая криптографический алгоритм шифрования и дешифрования с использованием шифра Виженера. Разработанная программа написана на языке Delphi ("Делфи").
Также была выполнена экспериментальная проверка работы данной программы, подтверждающая правильность шифрования.
С развитием ЭВМ полиалфавитные шифры перестали быть столь устойчивыми к криптоатакам, и, так же, как в свое время и моноалфавитные шифры, отошли на задний план, став частью истории.
1. А.В. Яковлев, А.А. Безбогов, В.В. Родин, В.Н. Шамкин. Криптографическая защита информации. -- Тамбов: Издательство ТГТУ, 2006
2. David, Kahn. On the Origin of a Species. The Codebreakers: The Story of Secret Writing. Simon & Schuster, 1999
3. Henk C.A. van Tilborg, ed. Encyclopedia of Cryptography and Security (First ed.). Springer. pp. 115, 2005
4. Э. М. Габидулин. Курс лекций по Защите Информации. -- Москва: Издательство МФТИ, 2007
5. А. П. Алферов, А. Ю. Зубов, А. С. Кузьмин, А. В. Черемушкин. Основы криптографии. -- Москва: Издательство Гелиос АРВ, 2005
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, ComCtrls, ExtCtrls, StdCtrls, Buttons, Menus,hlp;
procedure FormCreate(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure REd1KeyPress(Sender: TObject; var Key: Char);
procedure SG2KeyPress(Sender: TObject; var Key: Char);
procedure SB1Click(Sender: TObject);
procedure SB2Click(Sender: TObject);
procedure REd2KeyPress(Sender: TObject; var Key: Char);
procedure SB7Click(Sender: TObject);
procedure SB3Click(Sender: TObject);
procedure SB5Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure SB4Click(Sender: TObject);
procedure SB6Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
var Rez :TStrings; Old1, Old2 :String;
Cont :Set of Char; // Допустимые символы
Function Det0(Tb :TStringGrid):Boolean;
Function Invert(S :String; N :LongInt):String;
Function KeyR(Tb :TStringGrid; Zn :Char; N :Integer=0):Integer;
Function KeyS(Tb :TStringGrid; Zn :Char; N :Integer=0):Integer;
Function Znak(Tb :TStringGrid; C, R :LongInt):Char;
procedure TForm1.FormCreate(Sender: TObject);
IF FileExists( ExtractFilePath(ParamStr(0))+'Grid.cfg' ) Then
Lst.LoadFromFile( ExtractFilePath(ParamStr(0))+'Grid.cfg' );
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IF FileExists(ExtractFilePath(ParamStr(0))+'Grid.cfg') Then
SG2.Cols[0].LoadFromFile(ExtractFilePath(ParamStr(0))+'Grid.cfg');
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IF(REd1.Lines.Count>0)OR(REd2.Lines.Count>0)Then SB7.Enabled:=True ELSE
Function Det0(Tb :TStringGrid):Boolean;
VAR R :LongInt; //Заполненость таблицы
ShowMessage('ЗАПОЛНИТЕ ВСЁ!'); Break;
procedure TForm1.N1Click(Sender: TObject);
//=============================================== Фильтр символов
Cont := Cont + [ Znak(Sg2, 0, I) ];
//===============================================
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
SG2.Cols[0].SaveToFile(ExtractFilePath(ParamStr(0))+'Grid.cfg');
Function Invert(S :String; N :LongInt):String;
ShowMessage('ВНУТРЕНЯЯ ОШИБКА!'); Exit;
procedure TForm1.Button1Click(Sender: TObject);
procedure TForm1.Button2Click(Sender: TObject);
procedure TForm1.Button3Click(Sender: TObject);
procedure TForm1.Button4Click(Sender: TObject);
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
'а'..'я', 'a'..'z': Key:=Chr(Ord(Key)-32);
procedure TForm1.REd1KeyPress(Sender: TObject; var Key: Char);
'а'..'я', 'a'..'z': Key:=Chr(Ord(Key)-32);
procedure TForm1.REd2KeyPress(Sender: TObject; var Key: Char);
'а'..'я', 'a'..'z': Key:=Chr(Ord(Key)-32);
procedure TForm1.SG2KeyPress(Sender: TObject; var Key: Char);
'а'..'я', 'a'..'z': Key:=Chr(Ord(Key)-32);
Function KeyR(Tb :TStringGrid; Zn :Char; N :Integer=0):Integer;
Var R :LongInt; // ОБЩЕЕ: сканер столбцов
begin // Определение номера строки ключа " 1-ый столбец "
IF Tb.Cells[N, R]=Zn Then Begin Result:=R; Break; End;
Function KeyS(Tb :TStringGrid; Zn :Char; N :Integer=0):Integer;
Var C :LongInt; // ОБЩЕЕ: сканер строк
begin // Определение номера столбца
IF Tb.Cells[C, N]=Zn Then Begin Result:=C; Break; End;
Function Znak(Tb :TStringGrid; C, R :LongInt):Char;
procedure TForm1.SB1Click(Sender: TObject);
Var I,J,K :LongInt; Key,Txt, Oyt :String; Ch :Char; A,B :Longint;
Txt:=REd1.Lines.Strings[ K ]; //Грузим строку
For I:=1 To Length(Txt{REd1.Lines.Text})Do
IF {REd1.Lines.Text[I]}Txt[I] in Cont{['А'..'Я','Ё']} Then
A:=KeyR(SG1, Ch, 0) ; // Ищем номер символа ключа в столбце
B:=KeyS(SG1, Ch, 0) ; // Ищем номер символа текста в строке
//REd2.Text:=REd2.Text+Znak(SG1, B, A);
IF J<=Length(Key)-1 Then J:=J+1 ELSE J:=1; //Перебор Ключа
procedure TForm1.SB2Click(Sender: TObject);
Var I,J,K :LongInt; Key,Txt, Oyt :String; Ch :Char; A,B :Longint;
IF Txt[I] IN Cont{['А'..'Я','Ё']} Then
A:=KeyR(SG1, Ch, 0) ; // Ищем номер символа ключа в столбце
B:=KeyS(SG1, Ch, A) ; // Ищем номер символа текста в строке " Main "
//REd1.Text:=REd1.Text+Znak(SG1, B, 0);
IF J<=Length(Key)-1 Then J:=J+1 ELSE J:=1; //Перебор Ключа
procedure TForm1.SB7Click(Sender: TObject);
IF REd1.Lines.Count>0 Then REd1.Clear;
IF REd2.Lines.Count>0 Then REd2.Clear;
SB7.Enabled:=False; SB1.Enabled:=False;
SB2.Enabled:=False; SB4.Enabled:=False;
procedure TForm1.SB3Click(Sender: TObject);
OD1.Title:='Открыть исходный текст ...';
SBar1.Panels[0].Text:=ExtractFileName( OD1.FileName );
BEEP; ShowMessage('Нет доступа к: '+Old1);
SBar1.Panels[0].Text:=''; SD1.FileName:='';
procedure TForm1.SB5Click(Sender: TObject);
OD1.Title:='Открыть шифрованный текст ...';
SBar1.Panels[1].Text:=ExtractFileName( OD1.FileName );
BEEP; ShowMessage('Нет доступа к: '+Old2);
procedure TForm1.N3Click(Sender: TObject);
procedure TForm1.N4Click(Sender: TObject);
ShowMessage('Логвинов М.Ю 313ПИ Курсовая на тему:"Шифрование Вижинера" 2012');
procedure TForm1.SB4Click(Sender: TObject);
SD1.Title:='Сохранить Исходный текст как ...';
SBar1.Panels[0].Text:=ExtractFileName( Old1 );
IF MessageBox(Handle, PChar( 'Если хотите использовать имеющийся путь'+
#13' Нажмите " Да ".' ), 'Сохранение',
MB_YESNO+MB_ICONINFORMATION)=MrYes Then
REd1.Lines.SaveToFile(Old1) ELSE GoTo 0;
procedure TForm1.SB6Click(Sender: TObject);
SD1.Title:='Сохранить Зашифрованный текст как ...';
SBar1.Panels[1].Text:=ExtractFileName( Old2 );
IF MessageBox(Handle, PChar( 'Если хотите использовать имеющийся путь'+
#13' Нажмите " Да ".' ), 'Сохранение',
MB_YESNO+MB_ICONINFORMATION)=MrYes Then
REd2.Lines.SaveToFile( Old2 ) ELSE GoTo 1;
procedure TForm1.LokBut(Sender: TObject);
IF(REd1.Lines.Count>0)OR(REd2.Lines.Count>0)Then SB7.Enabled:=True ELSE
label5.Caption:=Format('Таблица - [R=%d, C=%d]',
J := RowCount - 1; // Последняя строка
procedure InsCol(StrGrid: TStringGrid);
StrGrid.ColCount := StrGrid.ColCount + 1;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin // Добавить Строку для символов
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin // Удалить Строку для символов
криптографический шифрование виженер полиалфавитный
Разработка криптографического алгоритма программы ручного шифра по таблице Виженера. Разработка программы, выполняющей шифрование и расшифрование. Особенности использования в качестве ключа самого открытого текста. Алгоритмы решения "обратных" задач. курсовая работа [45,0 K], добавлен 13.11.2009
Проблема скрытия и защиты информации от несанкционированного использования. История создания шифра. Решения задачи шифрования текста и кодирования данных. Тестирование полученного приложения и анализ работы программы с точки зрения пользователя. курсовая работа [3,0 M], добавлен 24.11.2013
Принцип программной реализации классических криптографических методов. Метод шифрования с использованием таблицы Виженера. Создание текстового редактора "Блокнот", содержащего методы шифрования. Вербальный алгоритм и программа для методов шифрования. курсовая работа [2,0 M], добавлен 20.01.2010
Основные требования к разрабатываемым программам и исходным текстовым файлам. Характеристика шифров замены. Укрупненные структурные схемы и коды программ шифрования и дешифрования, скриншоты их выполнения. Пример зашифрованного текста и его дешифрования. курсовая работа [556,8 K], добавлен 14.01.2013
Программа на языке Turbo Pascal для шифрования данных с помощью шифра Тритемиуса. Входные, выходные данные. Схема алгоритма и текст программы. Порядок ввода исходных данных и описание получаемых результатов. Тестовых задания и анализ их функционирования. курсовая работа [4,0 M], добавлен 06.01.2011
Схема работы и требования к программам шифрования и дешифрования. Алгоритмы и тексты программы шифрования и программы дешифрования, выполненные на языке программирования C/C++. Содержание файла с исходным текстом, с шифротекстом, с дешифрованным текстом. курсовая работа [24,7 K], добавлен 20.10.2014
Формирование ключей для шифрования сообщения. Описание алгоритма RSA: шифрование и дешифрование. Понятие и история изобретения криптосистемы с открытым ключом. Свойства односторонней функции и сложность раскрытия шифра. Сущность цифровой подписи. лабораторная работа [326,0 K], добавлен 04.11.2013
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Высокоуровневые методы информатики и программирования курсовая работа. Программирование, компьютеры и кибернетика.
Реферат: Законный интерес как форма выражения правовых возможностей (дозволений) и объект судебно-правовой защиты
Написать Мини Сочинение Про Осень
Курсовая работа по теме Проектирование холодильной установки
Курсовая На Тему Подростковый Возраст
Курсовая Работа База Данных Магазин Access
Реферат по теме Вивчення декоративно-прикладного мистецтва як метод виховної роботи у позаучбовий час
Контрольная работа по теме Дискретная математика
Принцип свободного передвижения товаров в рамках общего рынка ес.
Дипломная работа по теме Структурные схемы простого предложения в удмуртском языке на примере произведения Г. Красильникова 'Арлэн кутсконэз'
Реферат: Antigone Essay Research Paper Final Fantasy IX
Контрольная работа: Установи виконання покарань
Контрольная Работа На Тему Строение Атома
Реферат: Шпаргалка по отечественной истории с X по XIII века
Реферат На Тему Изография
Курсовая работа: Месторождения магматогенной серии
Контрольные Работы Английский В Фокусе 7 Класс
Реферат по теме Характеристика правового регулирования общественных отношений в Древней Индии по законам Ману
Реферат: Основные черты административного процесса
Курсовая работа по теме Маркетинговая деятельность предприятия и механизм ее совершенствования на основе маркетингового подхода
Реферат по теме Пиелонефрит беременных
Институт арбитражных заседателей в системе арбитражных судов России - Государство и право дипломная работа
Кримінальний аборт та його судово-медична експертиза - Государство и право реферат
Стратегия ценообразования предприятия и проведение рекламы - Маркетинг, реклама и торговля курсовая работа


Report Page