Реферат: Шифрование по методу UUE
РоссийскийГОСударственный социальный университет
факультет: Автоматизации иинформационных
технологий
Кафедра: математики
специальность: Автоматизированныесистемы
обработки информации и управления
КУРСОВАЯ РАБОТА
подисциплине: «Методы и средства защиты информации»
на тему:«Шифрование по методу UUE»
Выполнили студенты 4 курса,
дневного отделения
_____________
подпись
Руководитель КасьянВладимир Николаевич
_____________
подпись
Курсовой проект (работа) защищена с оценкой
_________________
«____» ____________________ 2004 г.
________________
подпись
АНАПА
2004
Содержание
TOC o «1-2» h z u Содержание… PAGEREF _Toc91315422 h 2
ВВЕДЕНИЕ… PAGEREF _Toc91315423 h 3
ОПИСАНИЕМЕТОДА ХАФФМАНА… PAGEREF _Toc91315424 h 5
МетодХаффмана… PAGEREF _Toc91315425 h 5
Статистическийи адаптивный (динамический) алгоритм сжатия.PAGEREF _Toc91315426 h 10
анализалгоритма сжатия по методу Хаффмана… PAGEREF _Toc91315427 h 11
Описаниеработы программы.PAGEREF _Toc91315428 h 11
Практическоеприменение программы.PAGEREF _Toc91315429 h 11
Различиястатической и динамической моделей.PAGEREF _Toc91315430 h 12
Заключение… PAGEREF _Toc91315431 h 15
Используемаялитература:PAGEREF _Toc91315432 h 16
Приложение1. Листингпрограммы.PAGEREF _Toc91315433 h 17
ВВЕДЕНИЕ
Актуальностьюпроблемы шифрования данных в сфере криптографии является то, что использованиесистем шифрования в сфере защиты информациивелико и на сегодня существует множество различных алгоритмов позволяющихосуществлять шифрование. Главным критерием каждого метода является егокриптостойкость.
Объектом исследованияв данной курсовой взят метод шифрования данных по алгоритму UUE. Данный метод используется вбольшинстве распространенных в настоящее время операционных систем на основеядра UNIX (Solaris, FreeBSD, RedHat и др).
Целью проектаставится рассмотрениеи изучение алгоритма шифрования данных по методу UUE, анализ его эффективности.
Далее в курсовой будут рассмотрена модель шифрования данных по алгоритмуUUE.
Любая информационная система должна обеспечивать выполнение следующихосновных функций: прием, шифрование, дешифрование и выдача информации.
Шифровальные алгоритмы, как например, шифровальный алгоритм IDEA,который использован в PGP, применяют единственную сложную функцию к открытомутексту для того, чтобы производить шифрование текста. С тех пор как алгоритм становитсяизвестным это означает, что даже если поток данных в алгоритме неизвестный,операции приложенные к этому потоку данных известны. Любой такой шифровальныйалгоритм теоретически может быть взломан. Например, мы можем быть уверены, чтоесть много людей с дорогостоящим оборудованием, пытающихся, взломать шифр IDEAпрямо сейчас, фактически это возможно уже произошло. Если обычно используемыйшифровальный алгоритм уже перехвачен некоторым агентством, мы можем бытьуверены, в том что это агентство продаст его другим организациям, что можетповлечь за собой крах и большие потеридля многих организаций.
ОПИСАНИЕМЕТОДА ШИФРОВАНИЯ UUE
Метод шифрования UUE
Описание алгоритма
<span Book Antiqua",«serif»;mso-bidi-font-family: «Arial CYR»;color:black">Алгоритм UUE основан на идее Фила Карна.
<span Book Antiqua",«serif»; mso-bidi-font-family:«Arial CYR»;color:black;mso-ansi-language:EN-US"><span Book Antiqua",«serif»;mso-bidi-font-family: «Arial CYR»;color:black">Берётся открытый текст 2N байтов и разделяется на две половины T1 и T2, каждыйиз N байтов. Также ключ шифрования делиться на две половины K1 и K2. Теперь находитсяфункцию хэша пути S и это используется, чтобы смешивать K1 и T1 для того, чтобыполучить блок из N байтов, затем производится второй этап шифрования открытоготекста
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black; mso-ansi-language:EN-US">T<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black">2 при помощи алгоритма шифрования XOR; в результате получаем блокC2 состоящий из <span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">N<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black"> байтов — это вторая половина зашифрованного текста:<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">S(K1, T1 ) xor T2 -> C2
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Аналогичнымспособом шифруем другую половину текста, чтобы получить C1 — это перваяполовина зашифрованного текста:
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">S(K2, C2 ) xor T1 -> C1
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Полныйзашифрованный текст — сочетание блоков C1 и C2.
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Длятого, чтобы дешифровать зашифрованный текст, необходимо повторить операцию вобратном порядке:
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">S(K2, C2 ) xor C1 -> T1
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">S(K1, T1 ) xor C2 -> T2
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Преимуществоданной идеи в том, что безопасность основана в качестве скремблера S. Если Выможете создать хороший скремблер, тогда Вы можете создать хороший шифровальныйалгоритм.
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Сердцемалгоритма
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black; mso-ansi-language:EN-US">UUE<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black"> является параметрический скремблер (GSSCRAMBLE). Скремблер состоитиз 7 простых скремблеров (SCRAMBLE0… SCRAMBLE6). Также используются 32 функциихэша (HASH0… HASH31).<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Алгоритм
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black;mso-ansi-language: EN-US">UUE<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black"> основан навышеописанном методе, но он отличается от него.<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">-Первое отличие – производится деление ключа на четыре равных части: K1s, K1t,K2s, K2t. Компонент K1t используется как первая половина ключа шифрования, компонент K1s используется, чтобы выбирать избольшого числа скремблеров — один, чтобы использовать его в дальнейшем длякодировки первой половины открытого текста T1:
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">S ( K1t, T1 ) xor T2 -> C2 K1s
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Аналогичномспособом использованы K2t и K2s, чтобы кодировать вторую часть зашифрованноготекста, чтобы получить первую половину зашифрованного текста:
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">S ( K2t, C2 ) xor T1 -> C1 K2s
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Длятого, чтобы дешифровать зашифрованный текст (C1,C2)необходимо повторить эти жеоперации в обратном порядке:
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">S ( K2t, C2 ) xor C1 -> T1 K2s
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">S ( K1t, T1 ) xor C2 -> T2 K1s
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">КакВы можете видеть, K1t и K2t использованы, чтобы модифицировать данные, которыенужно смешиваться, и подключи K1s и K2s использованы, чтобы выбирать скремблер,который определяет как данные будутсмешаны. Поскольку
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">UUE<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black"> использует ключ в 256 байтов, который делится на четыре равныечасти, каждая длиной в 64 байт (512 битов).<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Второеотличие предназначено для устранения слабости в алгоритме Фила Карна. Это можнопроиллюстрировать следующим образом: предположим,что мы знаем открытый текст (A,B) и мы знаем, что это производит зашифрованныйтекст (X,Y), и мы также знаем, что открытый текст (A,C) — в котором мы знаемпервую половину сообщения, но не знаем вторую половину — производитзашифрованный текст (W,Z). Затем мы можем вычислить неизвестный открытый текст Cследующим образом:
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">S( K1, A ) xor B -> Y;
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black">следовательно<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US"> S( K1, A ) = B xor Y<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">S( K1, A ) xor C -> W;
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black">следовательно<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US"> C = S( K1, A) xor W<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Объединениеэти два результата дает мне величину C в форме:
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">C= ( B xor Y ) xor W
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">UUE
<span Book Antiqua",«serif»; mso-bidi-font-family:«Arial CYR»;color:black"> <span Book Antiqua",«serif»;mso-bidi-font-family: «Arial CYR»;color:black">свободен от этой слабости<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Чтобызакодировать сообщение:
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">S( K1, T1 xor T2 ) xor T2 -> C2 S( <st1:place w:st=«on»>K2</st1:place>, C2 ) xor ( T1 xor T2 ) -> C1
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Чтобыдекодировать сообщение
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">S(K2, C2 ) xor C1 -> (T1 xor T2 ) S( K1, T1 xor T2 ) xor C2 -> T2 ( T1 xorT2 ) xor T2 -> T1
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Третьеотличие – предназначено для защиты против словарной атаки, когда нападающийпытается определять ключ шифрования тестируя величины в словаре потенциальныхключей. Словарная атака основана на том, что люди не любят делать большие исложные ключи. Независимо от того, насколько хорош алгоритм шифрования, еслинападающий подбирает несколько миллион вариаций и таким образом может обнаружитьключ шифрования пользователя тогда безопасность целой организации может попастьв опасность. В алгоритме
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">UUE<span Book Antiqua",«serif»; mso-bidi-font-family:«Arial CYR»;color:black"> <span Book Antiqua",«serif»;mso-bidi-font-family: «Arial CYR»;color:black">имеется защита от такого рода взлома.<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Алгоритмиспользует отмычку для генерации ключа шифрования. Используется следующая процедура:перед кодированием или декодированием текста, сначала
<span Book Antiqua",«serif»; mso-bidi-font-family:«Arial CYR»;color:black;mso-ansi-language:EN-US">UUE<span Book Antiqua",«serif»; mso-bidi-font-family:«Arial CYR»;color:black"> <span Book Antiqua",«serif»;mso-bidi-font-family: «Arial CYR»;color:black">использует XOR отмычку с реальной произвольнойпоследовательностью символов, которая — включается в код <span Book Antiqua",«serif»; mso-bidi-font-family:«Arial CYR»;color:black;mso-ansi-language:EN-US">UUE<span Book Antiqua",«serif»; mso-bidi-font-family:«Arial CYR»;color:black">, для того, чтобы стирать любые«статистические характеристики»; затем это объединяет результат с ключомпользователя; и наконец, это смешивает результат, чтобы получить «реальный» ключ, который впоследствиииспользуется, для кодирования или декодирования блока данных.<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
<span Book Antiqua",«serif»; mso-fareast-font-family:«Times New Roman»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA"><span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Вотподробное описание двух циклов
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">UUE<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black">:<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Чтобыкодировать:
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">process( master-key, user-password ) ->K1t, K1s, K2t, K2s, Ksep, Kuni
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">separate( T ) -> T1, T2
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">Ksep
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">S (K1t, T1 xor T2 ) xor T2 -> C2
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">K1s
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">S (K2t, C2 ) xor ( T1 xor T2 ) -> C1
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">K2s
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">unite ( C1, C2 ) -> C
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">Kuni
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»; color:black;mso-ansi-language:EN-US">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">Чтобы
<span Book Antiqua",«serif»; mso-bidi-font-family:«Arial CYR»;color:black;mso-ansi-language:EN-US"> <span Book Antiqua",«serif»; mso-bidi-font-family:«Arial CYR»;color:black">декодировать<span Book Antiqua",«serif»; mso-bidi-font-family:«Arial CYR»;color:black;mso-ansi-language:EN-US">:<span Book Antiqua",«serif»;mso-ansi-language: EN-US">process( master-key, user-password ) -> K1t, K1s, K2t, K2s, Ksep,Kuni
<span Book Antiqua",«serif»;mso-ansi-language: EN-US">separate( C ) -> C1, C2
<span Book Antiqua",«serif»;mso-ansi-language: EN-US">Kuni
<span Book Antiqua",«serif»;mso-ansi-language: EN-US">S ( K2t, C2 ) xor C1 -> ( T1 xor T2 )
<span Book Antiqua",«serif»;mso-ansi-language: EN-US">K2s
<span Book Antiqua",«serif»;mso-ansi-language: EN-US">S ( K1t, T1 xor T2 ) xor C2 -> T2
<span Book Antiqua",«serif»;mso-ansi-language: EN-US">K1s
<span Book Antiqua",«serif»;mso-ansi-language: EN-US">( T1 xor T2 ) xor T2 -> T1
<span Book Antiqua",«serif»;mso-ansi-language: EN-US">unite ( T1, T2 ) -> T
<span Book Antiqua",«serif»;mso-ansi-language: EN-US">Ksep
<span Book Antiqua",«serif»;mso-ansi-language:EN-US">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
<span Book Antiqua",«serif»;mso-bidi-font-family:«Arial CYR»;color:black">
анализ алгоритма сжатия по методу Хаффмана
Описание работы программы.
<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;text-transform:uppercase;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">Заключение
Основываясь на полученных данных можно сказать, что шифрование пометоду UUE наиболееэффективно будет использоваться для шифрования больших текстовых файлов.
<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;text-transform:uppercase;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">Используемаялитература:
1. program.rin.ru/razdel/html/949.html /UUE-кодирование
2. Метод Хаффмана: Методические указания к лабораторной работе/ О.Е. Александров, Попков В.И. Екатеринбург: УГТУ, 2000.
3. Чарльз Сейтер, Сжатие данных, Мир ПК,N2 1991
4. Шеннон К. Работы по теории информации и кибернетике. — М.: ИЛ,1963.
5. Huffman, D.A. Amethod for the construction of minimum-redundancy codes. Proc. Inst. Electr. Radio<st1:place w:st=«on»><st1:country-region w:st=«on»>Eng.</st1:country-region></st1:place> 40, 9 (Sept. 1952),
<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-fareast-language:RU;mso-bidi-language: AR-SA">Приложение1.
Листингпрограммы.