Вычисление значения ХЭШ функции сообщения

Вычисление значения ХЭШ функции выполняется методом посимвольной свертки сообщения в соответствии с алгоритмом: , где: - начальное значение функции, - текущие символы сообщения (таблица ASCII).

Приложение (рис. 1) содержит два поля ввода Edit1 и Edit2, кнопку Button1 и две метки Label1 и Label2. Исполняемый код реализован в обработчике события щелчка кнопки onClick.

Рис. 1 Дизайн приложения

ЛАБОРАТОРНАЯ РАБОТА

Криптографический алгоритм “Псевдослучайная последовательность ключа”

Алгоритм основан на псевдослучайной последовательности:

равной длине сообщения M, значения которой принадлежат алфавиту длиной L. Где: параметр а, взаимно простой с M; ; , i = 1, 2,…,N < M.

При этом общая процедура шифрования имеет вид: или

Приложение (рис. 2), реализующее алгоритм содержит:

Сетку StringGrid1, предназначенную для отображения собственного алфавита, пять полей ввода Edit1 – Edit5, поле ввода секретного числа - SpinEdit1, три кнопки Button1 – Button3 и метки Label1 – label5 статически описывающие назначение полей.

Рис 2. Дизайн приложения.

Личный алфавит описан глобальной константой A.

Для реализации алгоритма используются три личных метода. Процедура RND_CODE вычисляет последовательность ПСЧ. Функция ALNo возвращает номер символа в алфавите. Функция NoAL возвращает символ, соответствующий номеру символа в алфавите.

Вывод алфавита в сетку выполняется в процессе создания формы в обработчике события onCreate.

Процедура шифрования реализована в обработчике события onClick кнопки Button1.

Процедура дешифрования реализована в обработчике события onClick кнопки Button2.

Процедура очистки полей реализована в обработчике события onClick кнопки Button3.

Примечание: Для правильной работы программы, поле ввода SpinEdit1 должно иметь некоторое начальное значение.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: