На бирже курсовых и дипломных проектов можно найти образцы готовых работ или получить помощь в написании уникальных курсовых работ, дипломов, лабораторных работ, контрольных работ, диссертаций, рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


реферат Поточное шифрование

Информация:

Тип работы: реферат. Добавлен: 19.07.2012. Сдан: 2011. Страниц: 7. Уникальность по antiplagiat.ru: < 30%

Описание (план):


Содержание
Введение 2
Классификация поточных шифров 3
Отличие блочных  шифров от  поточных 4
Основные Виды шифров 6
  SEAL 6
  A3 8
  A5 10
  RC4(подробно) 12 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

   Основная  идея поточного шифрования состоит в том, что каждый из последовательных знаков открытого текста подвергается своему преобразованию. В идеале разные знаки открытого текста подвергаются разным преобразованиям, т.о. преобразование, которому подвергаются знаки открытого текста, должно изменяться с каждым следующим моментом времени. Реализуется эта идея следующим образом. Некоторым образом получается последовательность знаков k1, k2, … , называемая ключевым потоком (keystream) или бегущим ключом (running key, RK). Затем каждый знак xi открытого текста подвергается обратимому преобразованию, зависящему от ki – соответствующего знака ключевого потока. Хотя подавляющее большинство существующих шифров с секретным ключом с определенностью могут быть отнесены или к поточным или к блочным шифрам, теоретически граница между этими классами остается довольно размытой. Так, например, допускается использование алгоритмов блочного шифрования в режиме поточного шифрования (например, режимы CBF и OFB для алгоритма DES или режим гаммирования для алгоритма ГОСТ 28147-89). Как крайний случай любой блочный шифр можно рассматривать как подстановочный поточный шифр, использующий знаки алфавита большой мощности. Например, алгоритмы DES и ГОСТ 28147-89 – подстановочные шифры над алфавитом мощности 264 ~ 1,8·1019. Кроме того, известны поточные шифры, построенные на основе криптографических алгоритмов с открытым ключом.
Поточные  шифры
Блочный алгоритм предназначен для шифрования блоков определенной длины. Однако может возникнуть необходимость шифрования данных не блоками, а, например, по символам. Поточный шифр (stream cipher) выполняет преобразование входного сообщения по одному биту (или байту) за операцию. Поточный алгоритм шифрования устраняет необходимость разбивать сообщение на целое число блоков достаточно большой длины, следовательно, он может работать в реальном времени. Таким образом, если передается поток символов, каждый символ может шифроваться и передаваться сразу.
Работа типичного  поточного шифра представлена на рис.
 

Принцип работы поточного шифра
Генератор ключей выдает поток битов ki, которые будут использоваться в качестве гаммы. Источник сообщений генерирует биты открытого текста хi, которые складываются по модулю 2 с гаммой, в результате чего получаются биты зашифрованного сообщения уi:

Чтобы из шифротекста y1, y2,..., yn восстановить сообщение x1, x2,..., xn, необходимо сгенерировать точно такую же ключевую последовательность k1, yk,..., kn, что и при шифровании, и использовать для расшифрования формулу

Обычно исходное сообщение и ключевая последовательность представляют собой независимые  потоки бит. Таким образом, так как  шифрующее (и расшифрующее) преобразование для всех поточных шифров одно и  то же, они должны различаться только способом построения генераторов ключей. Получается, что безопасность системы  полностью зависит от свойств  генератора потока ключей. Если генератор  потока ключей выдает последовательность, состоящую только из одних нулей (или из одних единиц), то зашифрованное  сообщение будет в точности таким  же, как и исходный поток битов (в случае единичных ключей зашифрованное  сообщение будет инверсией исходного). Если в качестве гаммы используется один символ, представленный, например, восемью битами, то хотя зашифрованное  сообщение и будет внешне отличаться от исходного, безопасность системы будет очень низкой. В этом случае при многократном повторении кода ключа по всей длине текста существует опасность его раскрытия статистическим методом. Поясним это на простом примере цифрового текста, закрытого коротким цифровым кодом ключа методом гаммирования. 

Классификация поточных шифров
Допустим, например, что в режиме гаммирования для  поточных шифров при передаче по каналу связи произошло искажение одного знака шифротекста. Очевидно, что  в этом случае все знаки, принятые без искажения, будут расшифрованы правильно. Произойдёт потеря лишь одного знака текста. А теперь представим, что один из знаков шифротекста при  передаче по каналу связи был потерян. Это приведёт к неправильному расшифрованию всего текста, следующего за потерянным знаком. Практически во всех каналах передачи данных для поточных систем шифрования присутствуют помехи. Поэтому для предотвращения потери информации решают проблему синхронизации шифрования и расшифрования текста. По способу решения этой проблемы шифрсистемы подразделяются на синхронные и системы с самосинхронизацией.
    Синхронные поточные шифры
    Определение:
    Синхронные  поточные шифры (СПШ) — шифры, в которых поток ключей генерируется независимо от открытого текста и шифротекста.
    При шифровании генератор потока ключей выдаёт биты потока ключей, которые идентичны  битам потока ключей при дешифровании. Потеря знака шифротекста приведёт к нарушению синхронизации между  этими двумя генераторами и невозможности  расшифрования оставшейся части  сообщения. Очевидно, что в этой ситуации отправитель и получатель должны повторно синхронизоваться для продолжения  работы.
    Обычно синхронизация  производится вставкой в передаваемое сообщение специальных маркеров. В результате этого пропущенный  при передаче знак приводит к неверному  расшифрованию лишь до тех пор, пока не будет принят один из маркеров.
    Заметим, что  выполняться синхронизация должна так, чтобы ни одна часть потока ключей не была повторена. Поэтому переводить генератор в более раннее состояние  не имеет смысла.
    Плюсы СПШ:
      отсутствие эффекта распространения ошибок (только искажённый бит будет расшифрован неверно);
      предохраняют от любых вставок и удалений шифротекста, так как они приведут к потере синхронизации и будут обнаружены.
    Минусы  СПШ:
      уязвимы к изменению отдельных бит шифрованного текста. Если злоумышленнику известен открытый текст, он может изменить эти биты так, чтобы они расшифровывались, как ему надо.
    Самосинхронизирующиеся поточные шифры
    Определение:
    Самосинхронизирующиеся  поточные шифры (асинхронные  поточные шифры (АПШ)) – шифры, в которых поток ключей создаётся функцией ключа и фиксированного числа знаков шифротекста.
    Итак, внутреннее состояние генератора потока ключей является функцией предыдущих N битов  шифротекста. Поэтому расшифрующий генератор потока ключей, приняв N битов, автоматически синхронизируется с  шифрующим генератором.
    Реализация  этого режима происходит следующим  образом: каждое сообщение начинается случайным заголовком длиной N битов; заголовок шифруется, передаётся и  расшифровывается; расшифровка является неправильной, зато после этих N бит  оба генератора будут синхронизированы.
    Плюсы АПШ:
      Размешивание статистики открытого текста. Так как каждый знак открытого текста влияет на следующий шифротекст, статистические свойства открытого текста распространяются на весь шифротекст. Следовательно, АПШ может быть более устойчивым к атакам на основе избыточности открытого текста, чем СПШ.
    Минусы  АПШ:
      распространение ошибки (каждому неправильному биту шифротекста соответствуют N ошибок в открытом тексте);
      чувствительны к вскрытию повторной передачей.
Основные  отличия поточных шифров от блочных
Большинство существующих шифров с секретным ключом однозначно могут быть отнесены либо к поточным, либо к блочным шифрам. Но теоретическая граница между ними является довольно размытой. Например, используются алгоритмы блочного шифрования в режиме поточного шифрования (пример: для алгоритма DES режимы CFB и OFB). Рассмотрим основные различия между поточными и блочными шифрами не только в аспектах их безопасности и удобства, но и с точки зрения их изучения в мире:
    важнейшим достоинством поточных шифров перед блочными является высокая скорость шифрования, соизмеримая со скоростью поступления входной информации; поэтому, обеспечивается шифрование практически в реальном масштабе времени вне зависимости от объема и разрядности потока преобразуемых данных.
    в синхронных поточных шифрах (в отличие от блочных) отсутствует эффект размножения ошибок, то есть число искаженных элементов в расшифрованной последовательности равно числу искаженных элементов зашифрованной последовательности, пришедшей из канала связи.
    структура поточного ключа может иметь уязвимые места, которые дают возможность криптоаналитику получить дополнительную информацию о ключе (например, при малом периоде ключа криптоаналитик может использовать найденные части поточного ключа для дешифрования последующего закрытого текста).
    ПШ в отличие от БШ часто могут быть атакованы при помощи линейной алгебры (так как выходы отдельных регистров сдвига с обратной линейной связью могут иметь корреляцию с гаммой). Также для взлома поточных шифров весьма успешно применяется линейный и дифференциальный анализ.
Теперь о положении  в мире:
    в большинстве работ по анализу и взлому блочных шифров рассматриваются алгоритмы шифрования, основанные на стандарте DES; для поточных же шифров нет выделенного направления изучения; методы взлома ПШ весьма разнообразны.
    для поточных шифров установлен набор требований, являющихся критериями надёжности (большие периоды выходных последовательностей, постулаты Голомба, нелинейность); для БШ таких чётких критериев нет.
    исследованием и разработкой поточных шифров в основном занимаются европейские криптографические центры, блочных – американские.
    исследование поточных шифров происходит более динамично, чем блочных; в последнее время не было сделано никаких заметных открытий в сфере DES-алгоритмов, в то время как в области поточных шифров случилось множество успехов и неудач (некоторые схемы, казавшиеся стойкими, при дальнейшем исследовании не оправдали надежд изобретателей).
Проектирование  поточных шифров
Согласно Райнеру  Рюппелю можно выделить четыре основных подхода к проектированию поточных шифров:
    Cистемно-теоретический подход основан на создании для криптоаналитика сложной, ранее неисследованной проблемы.
    Cложно-теоретический подход основан на сложной, но известной проблеме (например, факторизация чисел или дискретное логарифмирование).
    Информационно-технический подход основан на попытке утаить открытый текст от криптоаналитика – вне зависимости от того сколько времени потрачено на дешифрование, криптоаналитик не найдёт однозначного решения.
    Рандомизированный подход основан на создании объёмной задачи; криптограф тем самым пытается сделать решение задачи расшифрования физически невозможной. Например: криптограф может зашифровать некоторую статью, а ключом будут указания на то, какие части статьи были использованы при шифровании. Криптоаналитику придётся перебирать все случайные комбинации частей статьи, прежде чем ему повезёт, и он определит ключ.
 
 
Виды  шифров:
Основными видами поточных шифров являются:
    SEAL
    A3;
    A5;
    RC4
 
 
SEAL (англ. Software-optimized Encryption Algorithm, программно-оптимизированный алгоритм шифрования) — симметричный поточный алгоритм шифрования данных, оптимизированный для программной реализации.
Разработан в IBM Филом Рогэвеем и Доном Копперсмитом в 1993 году. Алгоритм оптимизирован и рекомендован для 32-битных процессоров. Для работы ему требуется кэш-память на несколько килобайт и восемь 32-битовых регистров. Cкорость шифрования — примерно 4 машинных такта на байт текста. Для кодирования и декодирования используется 160-битный ключ. Чтобы избежать нежелательной потери скорости по причине медленных операций обработки ключа, SEAL предварительно выполняет с ним несколько преобразований, получая в результате три таблицы определенного размера. Непосредственно для шифрования и расшифрования текста вместо самого ключа используются эти таблицы.
Алгоритм считается  очень надёжным, очень быстрым  и защищён патентом США № 545403 с декабря 1993 года. 

Схема алгоритма SEAL
 

При разработке этого алгоритма главное внимание отводилось следующим свойствам  и идеям:
    использование большой (примерно 2 Кб ) таблицы T, получаемой из большого 160-битного ключа;
    чередование арифметических операций (сложение и побитовый XOR);
    использование внутреннего состояния системы, которое явно не проявляется в потоке данных (значения n1, n2, n3 и n4, которые изменяют регистры в конце каждой итерации);
    использование отличных друг от друга операций в зависимости от этапа итерации и ее номера.
Для шифрования и расшифрования каждого байта текста шифр SEAL требует около четырех машинных тактов. Он работает со скоростью примерно 58 Мбит на 32-битном процессоре с тактовой частотой 50 МГц и является одним из самых быстрых шифров. 
 
 
 
 
 

A3 — алгоритм, используемый в процессе аутентификации в глобальном цифровом стандарте для мобильной сотовой связи GSM. A3 является, таким образом, элементом системы обеспечения конфиденциальности разговора в GSM наряду с алгоритмами A5 и A8. Задача алгоритма — генерация отзыва (SRES — Signed Response) на случайный пароль (RAND — Random), получаемый сотовым телефоном (MS — Mobile Station) от центра коммутации MSC (MSC — Mobile Switching Centre) в процедуре аутентификации. А3 содержится в SIM-карте абонента.

Описание алгоритма:

Формат входных  и выходных данных для алгоритма A3, а также весь процесс аутентификации строго определены консорциумом 3GPP. Стоит отметить, что каждый отдельный оператор выбирает принцип действия алгоритма A3. Таким образом, A3 не является стандартизованным, а определяется оператором. Однако если оператор не хочет придумывать свой алгоритм A3, он может воспользоваться стандартной реализацией алгоритма.
В настоящее  время принят следующий формат входных  и выходных данных RAND, Ki, SRES алгоритма A3: длина Ki — 128 бит длина RAND — 128 бит длина SRES — 32 бита
Время выполнения алгоритма A3 должно быть меньше 500 миллисекунд.
В настоящее  время известны следующие стандартные  реализации алгоритма A3:
    COMP128
    COMP128-2
    COMP128-3
    MILENAGE
COMP128 является  самой первой версией алгоритма  A3. Изначально алгоритм COMP128 держался  в секрете. Разработчики первой  версии A3 полагались на безопасность  за счёт неизвестности, то есть  алгоритмы труднее взломать, если  они не доступны публично. Однако COMP-128 был скомпрометирован криптоаналитиками  Marc Briceno, David Wagner и Ian Goldberg исследовательской  группы ISAAC security research group После публикации уязвимостей COMP128 были разработаны исправленные версии COMP128-2 и COMP128-3.
COMP128
В 1998 году произошла  утечка описания алгоритма COMP128 в Интернет. Хотя описание было не полным, посредством  обратной разработки код был полностью восстановлен и теперь он доступен публично
По сути, COMP128 является хэш-функцией разрядности 128 бит. Разрядность аргумента 256 бит  или 32 байта (128 бит Ki + 128 бит RAND). 32 старших  бита вычисленного значения берутся  в качестве SRES, а 64 младших бита в  качестве сессионного ключа Kc. Пусть X [0..32] — 32байтный вход алгоритма, где X [0..15] = Ki, а X [16..31] = RAND. T0 [0..511], T1 [0..255],T2 [0..127],T3 [0..63] и T4 [0..31] — секретные таблицы подстановки байт. Алгоритм состоит из 8 раундов, в каждом раунде 5 итераций. Каждая итерация заключается в поиске по соответствующей таблице (T0 для первой итерации, T1 — для второй, и т. д.) и подстановке байт. В конце каждого раунда, за исключением последнего, происходит перестановка полученных 128 бит результата, и после перестановки эти 128 бит используется в следующем раунде. Описание одного раунда в псевдокоде:
  
 
 
 

(подстановки)
for i = 0 to 4 do:
 for j = 0 to 2^i - 1 do:
 for k = 0 to 2^(4-i) - 1 do:
{
   s = k + j*2^(5 - i)
   t = s + 2^(4-i)
   x = (X[s] + 2X[t]) mod (2^(9 - i))
   y = (2X[s] + X[t]) mod (2^(9 - i))
   X[s]=Ti[x]
   X[t]=Ti[y]
}
 
(образование бит  из байт)
 for j = 0 to 31 do:
 for k = 0 to 7 do:
{         
   bit [4*j+k] = the (8-k)th bit of byte j
}
(перестановка)
 if (i < 8) then
 for j = 0 to 15 do:
 for k = 0 to 7 do:
{
   next bit = (8 x j + k) x 17 mod 128
   Bit k of X[j + 16] = bit[next_bit]
 }
 
На каждой итерации выходной байт зависит  от двух входных байт. Два входных  байта используются для определения  элемента в таблице подстановки. Этот элемент обновит выходной байт. Таблица подстановки для i-ой итерации содержит 2^(9 — i) элементов размером в (8 — i) бит. То есть

таблица    число элементов    размер одного элемента
T0         512                8 бит
T1         256                7 бит
T2         128                6 бит
T3         64                 5 бит 
T4         32                 4 бита 
По сути, каждый из 32 выходных байт последней итерации раунда имеет лишь 4 значимых бита. Поэтому  в конце итерации происходит преобразование этих 32 байт перестановкой в 16 байт, все биты которых значимые. Эти 16 байт записываются в X [16 .. 31], и запускается следующий раунд алгоритма (в X [0 .. 15] значение Ki никак не меняется).
Такую структуру  алгоритма David Wagner назвал butterfly structure, что  означает «в форме бабочки»
COMP128-2 и COMP128-3
Хотя сейчас ясно, что принцип «безопасность  за счёт неизвестности» не работает, верcии COMP128-2 и COMP128-3 держатся в секрете 
 

Milenage
Алгоритмы аутентификации и генерации сеансового ключа Milenage были разработаны консорциумом 3GPP объединёнными усилиями входящих в 3GPP организаций. Нет никаких дополнительных требований или разрешений, необходимых для использования этих алгоритмов. Пример использования Mileage в качестве A3 показан в документе 3GPP TS 55.205 «Specification of the GSM-MILENAGE Algorithms: An example algorithm set for the GSM Authentication and Key Generation functions A3 and A8». Полная спецификация Milenage представлена на сайте консорциума 3GPP
Milenage является  неуязвимым к каким-либо известным  атакам. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

А5 — это поточный алгоритм шифрования, используемый для обеспечения конфиденциальности передаваемых данных между телефоном и базовой станцией в европейской системе мобильной цифровой связи GSM (Group Special Mobile).
Шифр основан  на побитовом сложении по модулю два (булева операция XOR) генерируемой псевдослучайной последовательности и шифруемой информации. В A5 псевдослучайная последовательность реализуется на основе трёх линейных регистров сдвига с обратной связью. Регистры имеют длины 19, 22 и 23 бита соответственно. Сдвигами управляет специальная схема, организующая на каждом шаге смещение как минимум двух регистров, что приводит к их неравномерному движению. Последовательность формируется путём операции XOR над выходными битами регистров.
Алгоритм A5 в настоящее время — это целое семейство шифров. Для описания возьмем А5/1, как родоначальника этого семейства. Изменения в производных алгоритмах опишем отдельно.
Потоковое шифрование
    Основная  статья: поточный шифр


Схема поточного  шифра: сложение открытого текста и  последовательности бит даёт шифротекст
В этом алгоритме  каждому символу открытого текста соответствует символ шифротекста. Текст не делится на блоки (как  в блочном шифровании) и не изменяется в размере. Для упрощения аппаратной реализации и, следовательно, увеличения быстродействия используются только простейшие операции: сложение по модулю 2 (XOR) и сдвиг реестра.
Формирование  выходной последовательности происходит путём сложения потока исходного  текста с генерируемой последовательностью (гаммой). Особенность операции XOR заключается  в том, что применённая чётное число раз, она приводит к начальному значению. Отсюда, декодирование сообщения  происходит путём сложения шифротекста  с известной последовательностью.
Таким образом, безопасность системы полностью  зависит от свойств последовательности. В идеальном случае каждый бит  гаммы — это независимая случайная величина, и сама последовательность является случайной. Такая схема была изобретена Вернамом в 1917 году и названа в его честь. Как доказал Клод Шеннон в 1949 году, это обеспечивает абсолютную криптостойкость. Но использование случайной последовательности означает передачу по защищённому каналу сообщения равного по объёму открытому тексту, что значительно усложняет задачу и практически нигде не используется.
В реальных системах создаётся ключ заданного размера, который без труда передаётся по закрытому каналу. Последовательность генерируется на его основе и является псевдослучайной. Большой класс  поточных шифров (в том числе A5) составляют шифры, генератор псевдослучайной последовательности которой основан на регистрах сдвига с линейной обратной связью. 
 
 
 

Последний шифр рассмотрим  подробнее:
     RC4 (англ. Rivest Cipher 4 или англ. Ron’s Code, также  известен как ARCFOUR или ARC4 (англ. Alleged RC4)) — это потоковый шифр, широко применяющийся в различных  системах защиты информации в  компьютерных сетях (например, в  протоколах SSL и TLS, алгоритме безопасности  беспроводных сетей WEP, для шифрования  паролей в Windows NT).
     Шифр  разработан компанией RSA Security и для  его использования требуется  лицензия.
     Алгоритм RC4 строится, как и любой потоковый  шифр на основе параметризованного ключом генератора псевдослучайных битов  с равномерным распределением. Длина  ключа обычно составляет от 5 до 64 байт. Максимальная длина ключа 256 байт.
     Основные  преимущества шифра — высокая  скорость работы и переменный размер ключа. RC4 довольно уязвим, если используются не случайные или связанные ключи, один ключевой поток используется дважды. Эти факторы, а также способ использования  могут сделать криптосистему  небезопасной (например, WEP).
     Потоковый шифр RC4 был создан Роном Ривестом из RSA Security в 1987 году. Хотя официально сокращение обозначает Rivest Cipher 4, его часто считают  сокращением от Ron’s Code.Шифр RC4 применяется в некоторых широко распространённых стандартах и протоколах шифрования таких, как WEP, WPA и TLS.
     Главными  факторами, способствовавшими широкому применению RC4, были простота его аппаратной и программной реализации, а также  высокая скорость работы алгоритма  в обоих случаях.
     В США длина ключа для использования  внутри страны рекомендуется равной 128 битов, но соглашение, заключённое  между Software Publishers Association (SPA) и правительством США даёт RC4 специальный статус, который  означает, что разрешено экспортировать шифры длиной ключа до 40 бит. 56-битные ключи разрешено использовать заграничным  отделениям американских компаний.
Описание  алгоритма

Генератор ключевого потока RC4
     Ядро  алгоритма состоит из функции  генерации ключевого потока. Эта  функция генерирует последовательность битов (ki), которая затем объединяется с открытым текстом (mi) посредством  суммирования по модулю два. Так получается шифрограмма (ci):
.

     Расшифровка заключается в регенерации этого  ключевого потока (ki) и сложении его  и шифрограммы (ci) по модулю два. В  силу свойств суммирования по модулю два на выходе мы получим исходный незашифрованный текст (mi):
     
.

     Другая  главная часть алгоритма —  функция инициализации, которая  использует ключ переменной длины для  создания начального состояния генератора ключевого потока.
     RC4 — фактически класс алгоритмов, определяемых размером его блока.  Этот параметр n является размером  слова для алгоритма. Обычно, n = 8, но в целях анализа можно  уменьшить его. Однако для повышения  безопасности необходимо увеличить  эту величину. Внутреннее состояние  RC4 представляется в виде массива  слов размером 2n и двух счетчиков,  каждый размером в одно слово.  Массив известен как S-бокс, и  далее будет обозначаться как  S. Он всегда содержит перестановку 2n возможных значений слова. Два  счетчика обозначены через i и  j.
и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.