GeoSELECT.ru



Программирование / Реферат: Шифрование по методу UUE (Программирование)

Космонавтика
Уфология
Авиация
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Аудит
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника
Бухгалтерский учет
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Инвестиции
Иностранные языки
Информатика
Искусство и культура
Исторические личности
История
Кибернетика
Коммуникации и связь
Компьютеры
Косметология
Криминалистика
Криминология
Криптология
Кулинария
Культурология
Литература
Литература : зарубежная
Литература : русская
Логика
Логистика
Маркетинг
Масс-медиа и реклама
Математика
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Мифология
Москвоведение
Музыка
Муниципальное право
Налоги
Начертательная геометрия
Оккультизм
Педагогика
Полиграфия
Политология
Право
Предпринимательство
Программирование
Психология
Радиоэлектроника
Религия
Риторика
Сельское хозяйство
Социология
Спорт
Статистика
Страхование
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Физика
Физкультура
Философия
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
   

Реферат: Шифрование по методу 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.

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






Реферат на тему: Шпаргалки по Fortrany

Автоматические массивы
В процедуре может быть задан локальный массив, размеры которого могут
меняться при разных вызовах процедуры.
Такие массивы, так же как и локальные строки переменной длины (разд. 10.4),
относятся к автоматическим объектам.

Рекурсивные процедуры

Фортран поддерживает рекурсивные вызовы внешних, модульных и внутренних
процедур.
Процедура называется рекурсивной, если она обращается сама к себе или
вызывает другую процедуру, которая, в свою очередь,
вызывает первую процедуру. В первом случае рекурсия называется прямой, во
втором - косвенной.
Оператор объявления рекурсивной процедуры должен предваряться префиксом
RECURSIVE. Внутри рекурсивной
процедуры интерфейс к этой процедуре является явным (см. разд. 16.4.3).
Пример. Разработать подпрограмму subst, которая в данной строке заменяет
все вхождения подстроки sub1
на подстроку sub2. Так, если дана строка 'abc1abc2abc3' и sub1 = 'abc', a
sub2 = ' d', то результатом должна быть строка ' dl d2 d3'.
program stgo
character(len = 20) :: st = 'abc1abc2abc3'
call subst(st, 'abc', d')
! subst содержит прямую
write(*, *) st
! рекурсию d1 d2 d3
end
recursive subroutine subst(st, subl, sub2)
character(len = *) st, sub1, sub2
! Длина каждой строки определяется

integer ip ! длиной соответствующего

ip = index(st, sub1)
! фактического параметра

if(ip > 0) then
st = st(:ip - 1) // sub2 // st(ip + len(subl):)
call subst(st, subl, sub2) ! Рекурсивный вызов подпрограммы

endif
! выполняется до тех пор,
пока
end ! не выполнены все замены subl на sub2
Если функция содержит прямую рекурсии, то есть непосредственно вызывает
сама себя, результату необходимо дать имя,
отличное от имени Функции. Это выполняется путем добавления в заголовок
функции предложения RESULT.
В случае косвенной рекурсии имя результирующей пе-Ременнрд и имя функции
могут совпадать.
Символьные типы данных
Символьный тип данных позволяет задать объект, состоящий из
последовательности символов.
Такую последовательность мы будем строкой. Символьный тип данных могут
иметь объекты: переменные,
константы и функции. Символьный тип является встроенным типом данных для
него существует одна
встроенная операция - операция конкатенации (обозначается двумя слешами
//), позволяющая выполнять
объединение отдельных строк или подстрок символов. Объявление
символьных.данных выполняется
оператором CHARACTER, например:
character :: ch = 'а' ! Символьная переменная длиной в 1 символ
character(len = 20) st ! Символьная переменная из 20 символов
st = 'Example' ! Присвоим значение символьной переменной
st == st // '_' // ch ! Возвращает: Example_a
Оператор CHARACTER содержит в скобках данные о длине символьного объекта.
Если длина не задана,
то по умолчанию она принимается равной единице.




Новинки рефератов ::

Реферат: Великая Отечественная Война - вторая мировая война (История)


Реферат: Buh uchet (Аудит)


Реферат: Разработка тиристорного преобразователя (Радиоэлектроника)


Реферат: Взгляд социологов (Социология)


Реферат: Государство и полновластие народа (Право)


Реферат: Биотехнологии в освоении Мирового океана (Биология)


Реферат: Сознание и мышление (Социология)


Реферат: Гражданское общество. Формирование теории гражданского общества. (Гражданское право и процесс)


Реферат: Партизанское движение в СССР в годы ВОВ (История)


Реферат: Трудовое воспитание детей в процессе хозяйственно – бытового труда (Педагогика)


Реферат: Из истории организаций, оказывающих экстренную медицинскую помощь, в России и других странах. Их настоящее и перспективы развития. (Безопасность жизнедеятельности)


Реферат: Лабораторная №6 вариант №13 по информатике, выполненная с использованием подпрограмм-процедур и подпрограмм-функций (Компьютеры)


Реферат: Аграрная реформа П.А. Столыпина (История)


Реферат: Происхождение человека (Биология)


Реферат: Организация проведения ТО и ТР автомобилей ЗиЛ-130 (Транспорт)


Реферат: Выбор стратегии деятельности предприятия (Менеджмент)


Реферат: Синтез цифрового автомата управления памятью (Радиоэлектроника)


Реферат: Страховые компании в системе инвестиций (Страхование)


Реферат: Налоговая система нэпа (Финансы)


Реферат: Эксплуатация осветительных электроустановок (Радиоэлектроника)



Copyright © GeoRUS, Геологические сайты альтруист