Российский ГОСударственный социальный университет
факультет: Автоматизации и информационных
технологий
Кафедра: математики
специальность: Автоматизированные системы
обработки информации и управления
КУРСОВАЯ РАБОТА
по дисциплине: «Методы и средства защиты информации»
на тему: «Шифрование по методу UUE»
Выполнили студенты 4 курса,
дневного отделения
_____________
подпись
Руководитель Касьян Владимир Николаевич
_____________
подпись
Курсовой проект (работа) защищена с оценкой
_________________
«____» ____________________ 2004 г.
________________
подпись
АНАПА
2004
Содержание
Содержание.. 2
ВВЕДЕНИЕ.. 3
ОПИСАНИЕ МЕТОДА ХАФФМАНА.. 5
Метод Хаффмана.. 5
Статистический и адаптивный (динамический) алгоритм сжатия. 10
анализ алгоритма сжатия по методу Хаффмана.. 11
Описание работы программы. 11
Практическое применение программы. 11
Различия статической и динамической моделей. 12
Заключение.. 15
Используемая литература: 16
Приложение 1. Листинг программы. 17
Актуальностью проблемы шифрования данных в сфере криптографии является то, что использование систем шифрования в сфере защиты информации велико и на сегодня существует множество различных алгоритмов позволяющих осуществлять шифрование. Главным критерием каждого метода является его криптостойкость.
Объектом исследования в данной курсовой взят метод шифрования данных по алгоритму UUE. Данный метод используется в большинстве распространенных в настоящее время операционных систем на основе ядра UNIX (Solaris, FreeBSD, RedHat и др).
Целью проекта ставится рассмотрение и изучение алгоритма шифрования данных по методу UUE, анализ его эффективности.
Далее в курсовой будут рассмотрена модель шифрования данных по алгоритму UUE.
Любая информационная система должна обеспечивать выполнение следующих основных функций: прием, шифрование, дешифрование и выдача информации.
Шифровальные алгоритмы, как например, шифровальный алгоритм IDEA, который использован в PGP, применяют единственную сложную функцию к открытому тексту для того, чтобы производить шифрование текста. С тех пор как алгоритм становится известным это означает, что даже если поток данных в алгоритме неизвестный, операции приложенные к этому потоку данных известны. Любой такой шифровальный алгоритм теоретически может быть взломан. Например, мы можем быть уверены, что есть много людей с дорогостоящим оборудованием, пытающихся, взломать шифр IDEA прямо сейчас, фактически это возможно уже произошло. Если обычно используемый шифровальный алгоритм уже перехвачен некоторым агентством, мы можем быть уверены, в том что это агентство продаст его другим организациям, что может повлечь за собой крах и большие потери для многих организаций.
ОПИСАНИЕ МЕТОДА ШИФРОВАНИЯ UUE
Метод шифрования UUE
Описание алгоритма
Алгоритм UUE основан на идее Фила Карна.
Берётся открытый текст 2N байтов и разделяется на две половины T1 и T2, каждый из N байтов. Также ключ шифрования делиться на две половины K1 и K2. Теперь находится функцию хэша пути S и это используется, чтобы смешивать K1 и T1 для того, чтобы получить блок из N байтов, затем производится второй этап шифрования открытого текста T2 при помощи алгоритма шифрования XOR; в результате получаем блок C2 состоящий из N байтов - это вторая половина зашифрованного текста:
S( K1, T1 ) xor T2 -> C2
Аналогичным способом шифруем другую половину текста, чтобы получить C1 - это первая половина зашифрованного текста:
S( K2, C2 ) xor T1 -> C1
Полный зашифрованный текст - сочетание блоков C1 и C2.
Для того, чтобы дешифровать зашифрованный текст, необходимо повторить операцию в обратном порядке:
S( K2, C2 ) xor C1 -> T1
S( K1, T1 ) xor C2 -> T2
Преимущество данной идеи в том, что безопасность основана в качестве скремблера S. Если Вы можете создать хороший скремблер, тогда Вы можете создать хороший шифровальный алгоритм.
Сердцем алгоритма UUE является параметрический скремблер (GSSCRAMBLE). Скремблер состоит из 7 простых скремблеров (SCRAMBLE0.. SCRAMBLE6). Также используются 32 функции хэша (HASH0.. HASH31).
Алгоритм UUE основан на вышеописанном методе, но он отличается от него.
- Первое отличие – производится деление ключа на четыре равных части: K1s, K1t, K2s, K2t. Компонент K1t используется как первая половина ключа шифрования, компонент K1s используется, чтобы выбирать из большого числа скремблеров - один, чтобы использовать его в дальнейшем для кодировки первой половины открытого текста T1:
S ( K1t, T1 ) xor T2 -> C2 K1s
Аналогичном способом использованы K2t и K2s, чтобы кодировать вторую часть зашифрованного текста, чтобы получить первую половину зашифрованного текста:
S ( K2t, C2 ) xor T1 -> C1 K2s
Для того, чтобы дешифровать зашифрованный текст (C1,C2)необходимо повторить эти же операции в обратном порядке:
S ( K2t, C2 ) xor C1 -> T1 K2s
S ( K1t, T1 ) xor C2 -> T2 K1s
Как Вы можете видеть, K1t и K2t использованы, чтобы модифицировать данные, которые нужно смешиваться, и подключи K1s и K2s использованы, чтобы выбирать скремблер, который определяет как данные будут смешаны. Поскольку UUE использует ключ в 256 байтов, который делится на четыре равные части, каждая длиной в 64 байт (512 битов).
Второе отличие предназначено для устранения слабости в алгоритме Фила Карна. Это можно проиллюстрировать следующим образом: предположим, что мы знаем открытый текст (A,B) и мы знаем, что это производит зашифрованный текст (X,Y), и мы также знаем, что открытый текст (A,C) - в котором мы знаем первую половину сообщения, но не знаем вторую половину - производит зашифрованный текст (W,Z). Затем мы можем вычислить неизвестный открытый текст C следующим образом:
S( K1, A ) xor B -> Y; следовательно S( K1, A ) = B xor Y
S( K1, A ) xor C -> W; следовательно C = S( K1, A) xor W
Объединение эти два результата дает мне величину C в форме:
C = ( B xor Y ) xor W
UUE свободен от этой слабости
Чтобы закодировать сообщение:
S( K1, T1 xor T2 ) xor T2 -> C2 S( K2, C2 ) xor ( T1 xor T2 ) -> C1
Чтобы декодировать сообщение
S( K2, C2 ) xor C1 -> (T1 xor T2 ) S( K1, T1 xor T2 ) xor C2 -> T2 ( T1 xor T2 ) xor T2 -> T1
Третье отличие – предназначено для защиты против словарной атаки, когда нападающий пытается определять ключ шифрования тестируя величины в словаре потенциальных ключей. Словарная атака основана на том, что люди не любят делать большие и сложные ключи. Независимо от того, насколько хорош алгоритм шифрования, если нападающий подбирает несколько миллион вариаций и таким образом может обнаружить ключ шифрования пользователя тогда безопасность целой организации может попасть в опасность. В алгоритме UUE имеется защита от такого рода взлома.
Алгоритм использует отмычку для генерации ключа шифрования. Используется следующая процедура: перед кодированием или декодированием текста, сначала UUE использует XOR отмычку с реальной произвольной последовательностью символов, которая - включается в код UUE, для того, чтобы стирать любые "статистические характеристики"; затем это объединяет результат с ключом пользователя; и наконец, это смешивает результат, чтобы получить "реальный" ключ, который впоследствии используется, для кодирования или декодирования блока данных.
Вот подробное описание двух циклов UUE:
Чтобы кодировать:
process( master-key, user-password ) -> K1t, K1s, K2t, K2s, Ksep, Kuni
separate( T ) -> T1, T2
Ksep
S ( K1t, T1 xor T2 ) xor T2 -> C2
K1s
S ( K2t, C2 ) xor ( T1 xor T2 ) -> C1
K2s
unite ( C1, C2 ) -> C
Kuni
Чтобы декодировать:
process( master-key, user-password ) -> K1t, K1s, K2t, K2s, Ksep, Kuni
separate( C ) -> C1, C2
Kuni
S ( K2t, C2 ) xor C1 -> ( T1 xor T2 )
K2s
S ( K1t, T1 xor T2 ) xor C2 -> T2
K1s
( T1 xor T2 ) xor T2 -> T1
unite ( T1, T2 ) -> T
Ksep
анализ алгоритма сжатия по методу Хаффмана
Основываясь на полученных данных можно сказать, что шифрование по методу UUE наиболее эффективно будет использоваться для шифрования больших текстовых файлов.
1. http://program.rin.ru/razdel/html/949.html /UUE-кодирование
2. Метод Хаффмана: Методические указания к лабораторной работе/ О. Е. Александров, Попков В.И. Екатеринбург: УГТУ, 2000.
3. Чарльз Сейтер, Сжатие данных,Мир ПК,N2 1991
4. Шеннон К. Работы по теории информации и кибернетике. - М.: ИЛ, 1963.
5. Huffman, D.A. A method for the construction of minimum-redundancy codes. Proc. Inst. Electr. Radio Eng. 40, 9 (Sept. 1952),
Приложение 1.
Листинг программы.