Программирование и комп-ры

Шифрование по методу UUE


Российский ГОСударственный социальный университет
                  факультет: Автоматизации и информационных

                                 технологий
                             КАФЕДРА: МАТЕМАТИКИ



                  СПЕЦИАЛЬНОСТЬ: АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ

                      ОБРАБОТКИ ИНФОРМАЦИИ И УПРАВЛЕНИя


                               КУРСОВАЯ РАБОТА
            ПО ДИСЦИПЛИНЕ: «МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ»
                     НА ТЕМУ: «ШИФРОВАНИЕ ПО МЕТОДУ 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.

                                                          Листинг программы.




смотреть на рефераты похожие на "Шифрование по методу UUE "