|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Реферат: Шифрование по методу UUE. Шифрование реферат по информатикеРеферат - Криптография - ИнформатикаДля обеспечения секретности применяется шифрование, или криптография, позволяющая трансформировать данные в зашифрованную форму, из которой извлечь исходную информацию можно только при наличии ключа. В основе шифрования лежат два основных понятия: алгоритм и ключ. Алгоритм — это способ закодировать исходный текст, в результате чего получается зашифрованное послание. Зашифрованное послание может быть интерпретировано только с помощью ключа. Очевидно, чтобы зашифровать послание, достаточно алгоритма. Однако использование ключа при шифровании предоставляет два существенных преимущества. Во-первых, можно использовать один алгоритм с разными ключами для отправки посланий разным адресатам. Во-вторых, если секретность ключа будет нарушена, его можно легко заменить, не меняя при этом алгоритм шифрования. Таким образом, безопасность систем шифрования зависит от секретности используемого ключа, а не от секретности алгоритма шифрования. Многие алгоритмы шифрования являются общедоступными. Количество возможных ключей для данного алгоритма зависит от числа бит в ключе. Например, 8-битный ключ допускает 256 (28) комбинаций ключей. Чем больше возможных комбинаций ключей, тем труднее подобрать ключ, тем надежнее зашифровано послание. Так, например, если использовать 128-битный ключ, то необходимо будет перебрать 2128 ~= 1040 ключей, что в настоящее время не под силу даже самым мощным компьютерам. Важно отметить, что возрастающая производительность техники приводит к уменьшению времени, требующегося для вскрытия ключей, и системам обеспечения безопасности приходится использовать все более длинные ключи, что, в свою очередь, ведет к увеличению затрат на шифрование. Поскольку столь важное место в системах шифрования уделяется секретности ключа, то основной проблемой подобных систем является генерация и передача ключа. Существуют две основные схемы шифрования: симметричное шифрование (его также иногда называют традиционным или шифрованием с секретным ключом) и шифрование с открытым ключом (иногда этот тип шифрования называют асимметричным). При симметричном шифровании отправитель и получатель владеют одним и тем же ключом (секретным), с помощью которого они могут зашифровывать и расшифровывать данные. При симметричном шифровании используются ключи небольшой длины, поэтому можно быстро шифровать большие объемы данных. Симметричное шифрование используется, например, некоторыми банками в сетях банкоматов. Однако симметричное шифрование обладает несколькими недостатками. Во-первых, очень сложно найти безопасный механизм, при помощи которого отправитель и получатель смогут тайно от других выбрать ключ. Возникает проблема безопасного распространения секретных ключей. Во-вторых, для каждого адресата необходимо хранить отдельный секретный ключ. В третьих, в схеме симметричного шифрования невозможно гарантировать личность отправителя, поскольку два пользователя владеют одним ключом. В схеме шифрования с открытым ключом для шифрования послания используются два различных ключа. При помощи одного из них послание зашифровывается, а при помощи второго — расшифровывается. Таким образом, требуемой безопасности можно добиться, сделав первый ключ общедоступным (открытым), а второй ключ хранить только у получателя (закрытый, личный ключ). В таком случае любой пользователь может зашифровать послание при помощи открытого ключа, но расшифровать послание способен только обладатель личного ключа. При этом нет необходимости заботиться о безопасности передачи открытого ключа, а для того чтобы пользователи могли обмениваться секретными сообщениями, достаточно наличия у них открытых ключей друг друга. Недостатком асимметричного шифрования является необходимость использования более длинных, чем при симметричном шифровании, ключей для обеспечения эквивалентного уровня безопасности, что сказывается на вычислительных ресурсах, требуемых для организации процесса шифрования. www.ronl.ru Реферат - Шифрование по методу 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… HASh41). Алгоритм 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. 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. Листинг программы. www.ronl.ru Доклад - Криптография (блочный шифр)Что такое Blowfish.Blowfish это 64-бит блочный шифр разработанный Шнайером (Schneier) в 1993 году. Это шифр Файстела (Feistel) и каждый проход состоит из зависимой от ключа перестановки и зависимой от ключа с данными замены. Все операции основаны на операциях XOR и прибавлениях к 32-битным словам (XORs and additions on 32-bit words). Ключ имеет переменную длину (максимально 448 бит) и используется для генерации нескольких подключевых массивов (subkey arrays). Шифр был создан специально для 32-битных машин и существенно быстрее DES. В 1994 Dr.Dobb журнал спонсировал открытое соревнование с выиграшем в $1000. Это соревнование закончилось в Апреле 1995 и среди результатов было открыто существование нескольких слабых ключей. Однако, Blowfish может считаться защищенным, и Шнайер пригласил криптоаналитиков для продолжения исследования его шифра. Что такое DES.DES (Data Encryption Standart) это симметричный алгоритм шифрования, т.е. один ключ используется как для зашифровывания, так и для расшифрования сообщений. Разработан фирмой IBM и утвержден правительством США в 1977 как официальный стандарт. DES имеет блоки по 64 бит и основан на 16 кратной перестановке данных, также для зашифрования использует ключ в 56 бит. Существует несколько режимов DES, например Electronic Code Book (ECB) и Cipher Block Chaining (CBC). 56 бит — это 8 семибитовых ASCII символов, т.е. пароль не может быть больше чем 8 букв. Если вдобавок использовать только буквы и цифры, то количество возможных вариантов будет существенно меньше максимально возможных 2^56. Один из шагов алгоритма DES: Входной блок данных делится пополам на левую (L') и правую (R') части. После этого формируется выходной массив так, что его левая часть L'' представлена правой частью R' входного, из 32-битового слова R' с помощью битовых перестановок формируется 48-битовое слово. Полученное 48-битовое слово XOR-ится с 48-битовым раундовым ключом. Результирующее 48-битовое слово разбивается на 8 6-битовых групп, каждая 6-битовая группа посредством соответствующего S-box'а заменяется на 4-битовую группу и из полученных восьми 4-битовых групп составляется 32-битовое слово. Полученное слово XOR-ится с L', в результате получается R''. Можно убедиться, что все проведенные операции могут быть обращены и расшифрование осуществлятся за число операций, линейно зависящее от размера блока. После нескольких таких взбиваний можно считать, что каждый бит выходного блока шифровки может зависеть от каждого бита сообщения. Что такое Тройной DES.Так как текст, зашифроaвaнный двойным DES оказывается хрупким при криптографической атаке — встреча на середие (meet in the middle), то текст шифруется 3 раза DES. Таким образом длина ключа возрастает до 168-бит (56x3). Не всегда, применеие тройного DES означает увелечение уровня безопасности сообщения. Типы тройного шифрования DES:
Что такое DES с независимыми ключами (independent subkeys).DES выделяет из 56-битного ключа введенного пользователем 16 48-битных ключей, для использования в каждой из 16 перестановок. Интересно сравнение эффекта при использовании 768-битного ключа (разделенного на 16 48-битных подключиков) взамен использования 16 зависимых ключей создающимся режимом ключей в DES алгоритме. При использовании независимых ключей будет существенно увеличиваться количество попыток, нужных для исчерпывающего поиска ключей. Изменение шифра повлечет за собой лишь не значительное увеличение стойкости шифра против дифференциальной и линейной криптоаналитических атаках чем у обычного DES. Это было открыто Битамом (Bitham). Что такое IDEA.IDEA (International Data Encryption Algorithm) — это вторая версия блочного шифра разработанный К.Лейем (Lai )и Д.Месси (Massey) в конце 80-х. Это шифр состоящий из 64-битных повторяющихся блоков со 128-битным ключом и восемью проходами (rounds). Хотя этот шифр не шифр Файстела (Feistel), дешифрование выполняется по тому же принципу, что и шифрование. Структура шифра была разработана для легкого воплощения как программно, так и аппаратно, и безопасность IDEA основывается на использовании трех не совместимх типов арифметических операций над 16-битными словами. Скорость программного IDEA сравнима со скоростью DES. Один из принципов создания IDEA — затруднить дифференциальный криптоанализ. Также не одна линейная криптоаналитическая атака не закончилась успешно, как и не было выявлено алгебраически слабых мест. Самый полный анализ провел Daemen. Он открыл большой класс 2^51 слабых ключей, при использовании которых в процессе шифрования, ключ может быть обнаружен и востановлен. Однако, т.к. в IDEA существует 2^128 возможных вариантов ключей, то это открытие не влияет на практическую безопасность шифра. Что такое RC2 и RC4.RC2 и RC4 это блочные шифры с ключом переменной длины созданные Роном Ривестом (Ron Rivest) для RSA Data Security. «RC» расшифровывается как «Ron's Code» или «Rivest Cipher (шрифт)». RC2 быстрее чем DES и был спецально разработан для замены («drop-in» replacement) DES. Он может быть реализован более или менее защищенным чем DES, в зависимости от длины ключа. RC2 алгоритм конфиденциален и является собственностью RSA Data Security. RC2 может использоваться там, где используется DES. Соглашение, заключенное между Software Publishers Association (SPA) и правительством США дает RC2 и RC4 специальный статус, который означает, что разрешено экспортировать шифры длинной ключа до 40 бит. 56-битные ключи разрешено использовать заграничным отделениям американских компаний. Однако, несколько мощных компьютеров, могут перебрать все возможные у 40-битного ключа 2^40 варианты всего за неделю. Поэтому дополнительно могут использоваться строки называемые солью (salt), которые сильно мешают при переборе всех возможных вариантов. Соль присоединяется к исходному ключу, и удлиненный ключ используется для шифрования. сообщения, потом соль посылается с сообщением в не зашифрованном виде. RC2 и RC4 с ключами 128 бит обеспечивают такой же уровень безопасности как и IDEA или тройной DES. RC2 и RC4 используется широко разработчиками, чьи продукты экспортируются за пределы США, поскольку экспортировать DES запрещено. Надежность RC4 была недавно поставлена под сомнение из за несанкционированного соглашения текста программы, использующей этот шифр. Что такое RC5.RC5 это довольно-таки быстрый блочный шифр разработанный Ривестом для RSA Data Security. Этот алгаритм параметричен, т.е. с пременным размером блока, длинной ключа и переменным числом проходов. Размер блока может быть 32, 64, или 128 битов. Количество проходов в промежутке от 0 до 2048 бит. Параметричность такого рода дает гибкость и эффективность шифрования. RC5 состоит из ввода ключа (key expansion), шифрования и дешифрования. При вводе ключа вводятся также количество проходов, размер блока и т.д. Шифрование состоит из 3 примитвных операций: сложения, побитового XOR и чередования (rotation). Исключительная простота RC5 делает его простым в использовании, RC5 текст, также как и RSA, может быть дописан в конец письма в зашифрованном виде. Безопасность RC5 основывается на зависящем от данных чередованием и смешиванием результатов различных операций. RC5 с размером блока 64 бита и 12 или более проходов обеспечивает хорошую стойкость против дифференциального и линейного криптанализов. Что такое RSA.RSA (авторы: Rivest, Shamir и Alderman) это система с открытым ключом (public-key) предназначенная как для шифрования, так и для аутентификации была разработана в 1977 году. Она основана на трудности разложения очень больших целых чисел на простые сомножители. RSA очень медленный алгоритм. Для сравнения, на програмном уровне DES по меньше мере в 100 раз быстрее RSA, на апаратном аж в 1,000-10,000 раз, в зависимости от выполнения. RSA алгоритм: 1. Берутся два очень больших целых числа P и Q и находятся N=PQ и M=(P-1)(Q-1) 2. Выбирается случайное целое число D, взаимно простое с M и вычисляется E=(1 MOD M)/D 3. Потом публикуется D и N как открытый ключ, E сохраняется в тайне. 4. Если S — сообщение, длина которого, определяемая по значению выражаемого им целого числа, должна быть в интервале (1,N), то оно превращается в шифровку возведением в степень D по модулю N и отправляется получателю S'=S^D MOD N 5. Получатель сообщения расшифрорвывает его, возведя в степень E (число E ему уже известно) по модулю N, т.к. S=(S'^E MOD N)=S^(DE) MOD N Что такое ГОСТ 28147-89.ГОСТ 28147-89 — это стандарт, принятый в 1989 году в Советском Союзе и установивший алгоритм шифрования данных, составляющих гостайну. История создания этого алгоритма — тайна, покрытая мраком. По свидетельству причастных к его реализациям и использованию людей, алгоритм был разработан в 70-е годы в 8-м Главном Управлении КГБ СССР, тогда он имел гриф Сов.Секретно. Затем гриф был понижен до Секретно, а когда в 89-м году алгоритм был проведен через Госстандарт и стал официальным государственным стандартом, гриф с него был снят, однако алгоритм оставался ДСП. В начале 90-х годов он стал полностью открытым. ГОСТ предусматривает 3 режима шифрования (простая замена, гаммирование, гаммирование с обратной связью) и один режим выработки имитовставки. Первый из режимов шифрования предназначен для шифрования ключевой информации и не может использоваться для шифрования других данных, для этого предусмотрены два других режима шифрования. Режим выработки ИМИТОВСТАВКИ (криптографической контрольной комбинации) предназначен для ИМИТОЗАЩИТЫ шифруемых данных, то есть для их защиты от случайных или преднамеренных несанкционированных изменений. Алгоритм построен по тому же принципу, что и DES — это классический блочный шифр с секретным ключом — однако отличается от DES'а большей длиной ключа, большим количеством раундов, и более простой схемой построения самих раундов. Ниже приведены его основные параметры, для удобства — в сравнении с параметрами DES'а:
В силу намного большей длины ключа ГОСТ гораздо устойчивей DES'а к вскрытию «грубой силой» — путем полного перебора по множеству возможных значений ключа. Функция шифрования (*) ГОСТа гораздо проще функции шифрования DES'а, она не содержит операций битовых перестановок, коими изобилует DES и которые крайне неэффективно реализуются на современных универсальных процессорах (хотя очень просто аппаратно — путем разводки проводников в кристалле или на плате). В силу сказанного, при вдвое большем количестве раундов (32 против 16) программная реализация ГОСТа на процессорах Intel x86 более чем в 2 раза превосходит по быстродействию реализацию DES'а. Естественно, сравнивались близкие к оптимуму по быстродействию реализации [1]. Из других отличий ГОСТа от DES'а надо отметить следующее:
(*) Что такое функция шифрования? Многие алгоритмы, включая DES и ГОСТ, построены по одному и тому же принципу: Процесс шифрования состоит из набора раундов-шагов, на каждом шаге выполняются следующие действия.
Tак вот, функция шифрования ГОСТа очень проста:
Как видите, в отличие от DES'а очень простая и легко реализуемая функция шифрования. Более подробно обо всем этом можно прочитать в [2]. И последнее: ГОСТ не запантентован, поэтому его может свободно использовать любое юридическое и физическое лицо, если, конечно, это не противоречит законодательству страны где находятся это лицо. Со стороны авторов ГОСТа претензий нет и быть не может, так как юридические права на алгоритм ни за кем не закреплены. Составил Андрей Винокуров. (http://www.halyava.ru/crypto) www.ronl.ru Доклад - Шифрование по методу 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… HASh41). Алгоритм 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. 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. Листинг программы. www.ronl.ru |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|