Помощь в написании студенческих работ
Антистрессовый сервис

Модуль вычисления контрольной суммы

РефератПомощь в написанииУзнать стоимостьмоей работы

Const Count: Cardinal — значение промежуточного счетчика. S: array of LongWord — развернутый подключ шифрования; CRC64Stream: Int64 — итоговая контрольная сумма файла. Const BufSize: Cardinal = 1024 — размер выделенного буфера. DataStream: TStream — поток данных для расшифрования; DataStream: TStream — поток данных для шифрования; KCONST: Array of cardinal — вектор инициализации. KCONST: Array… Читать ещё >

Модуль вычисления контрольной суммы (реферат, курсовая, диплом, контрольная)

Модуль CRC64. pas позволяет вычислить контрольную сумму CRC64 файла. Основные применяемые функции и процедуры представлены в таблице 1.

Таблица 1 — Основные функции и процедуры модуля CRC64.pas.

Входные данные.

Выходные данные.

Описание.

CRC64Stream.

const Source: TStream — имя файла от которого берется сумма;

Count: Integer — размер этого файла;

const BufSize: Cardinal = 1024 — размер выделенного буфера.

CRC64Stream: Int64 — итоговая контрольная сумма файла.

Основная функция модуля — выполняет подсчет контрольной суммы файла.

CRC64Next.

const Data — входные данные для расчета промежуточного значения контрольной суммы;

const Count: Cardinal — значение промежуточного счетчика.

CRC64: Int64 — итог вычислений.

Вычисление промежуточных данных.

Модуль алгоритма шифрования RC6

Модуль RC6. pas позволяет производить шифрование, расшифрование файлов по алгоритму RC6. Основные применяемые функции и процедуры представлены в таблице 2.

Таблица 2 — Основные функции и процедуры модуля RC6.pas.

Функция или процедура.

Входные данные.

Выходные данные.

Описание.

CalculateSubKeys.

KeyPtr: PChar — исходный ключ шифрования.

S: array[0.KeyLength-1] of LongWord — развернутый подключ шифрования;

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

DecipherBlock.

Block: array[1.4] of LongWord — входной блок данных.

DecipherBlock: Boolean — успешное или незавершенное расшифрование блока данных.

Выполняется расшифрование одного блока входных данных по алгоритму RC6.

EncipherBlock.

Block: array[1.4] of LongWord — входной блок данных.

EncipherBlock: Boolean — успешное или незавершенное расшифрование блока данных.

Выполняется шифрование одного блока входных данных по алгоритму RC6.

EncryptCopy.

DestStream, SourseStream: TStream — итоговый и исходный потоки для шифрования;

Count: Int64 — размер потока данных;

Key: string — ключ шифрования.

EncryptCopy: Boolean — успешное или аварийное завершение работы.

Шифрование одного потока данных в другой согласно алгоритму RC6.

DecryptCopy.

DestStream, SourseStream: TStream — итоговый и исходный потоки для расшифрования;

Count: Int64 — размер потока данных;

Key: string — ключ расшифрования.

DecryptCopy: Boolean — успешное или аварийное завершение работы.

Расшифрование одного потока данных в другой согласно алгоритму RC6.

EncryptStream.

DataStream: TStream — поток данных для шифрования;

Count: Int64 — размер потока;

Key: string — ключ шифрования;

KCONST: Array of cardinal — вектор инициализации.

EncryptStream: Boolean — успешное или аварийное завершение работы.

Выполняет шифрование одного потока данных согласно алгоритму RC6.

DecryptStream.

DataStream: TStream — поток данных для расшифрования;

Count: Int64 — размер потока;

Key: string — ключ расшифрования;

KCONST: Array of cardinal — вектор инициализации.

DecryptStream: Boolean — успешное или аварийное завершение работы.

Выполняет расшифрование одного потока данных согласно алгоритму RC6.

Initialize.

AKey: string — ключ шифрования.

KeyPtr: PChar — развернутый ключ.

Производит разворачивание ключа шифрования до 64 байт.

Показать весь текст
Заполнить форму текущей работой