Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Вектор инициализации





В режиме CBC одинаковые блоки открытого текста при шифровании переходят в различные блоки шифротекста только, если отличались какие-то из предшествующих блоков открытого текста. Два идентичных сообщения, однако, будут шифроваться как один и тот же шифротекст. Что еще хуже, два одинаково начинающихся сообщения будут шифроваться одинаково, пока не появится первое различие. У ряда сообщений может быть одинаковый заголовок - тема письма, строка "From'' или еще что-нибудь. Хотя повтор блока будет невозможен, такое одинаковое начало может предоставить криптоаналитику какую-нибудь полезную информацию.

Избежать этого можно, шифруя в качестве первого блока какие-то случайные данные. Этот блок случайных данных называется вектором инициализации (initialization vector,IV). IV не имеет никакого смыслового значения, он используется только для того, чтобы сделать каждое сообщение уникальным. Когда получатель расшифровывает этот блок, он испольтзует его только для заполнения регистра обратной связи. Хорошим IV служит метка времени. Или использование каких-нибудь случайных битов.

С использованием IV сообщения с идентичным открытым текстом при шифровании переходят в сообщения с различным шифротекстом. Следовательно, злоумышленник не сможет предпринять повтор блока, и затруднится создание шифровальной книги. Хотя рекомендуется для каждого сообщения, шифруемого одним и тем же ключом, выбирать уникальный IV, это требование не является обязательным.

IV не обязательно должен храниться в секрете, он может передаваться открыто вместе с шифротекстом.

Свойства

1. Распространение ошибки – единичная ошибка распространяется на весь остальной текст. В среднем половина битов искажается.

Режим CBC характеризуется прямой обратной связью шифротекста при шифровании и инверсной обратной связью шифротекста при дешифрировании. При этом приложения должны уметь бороться с ошибками. Единственная битовая ошибка в блоке открытого текста повлияет на данный блок шифротекста и все последующие блоки шифротекста. Это не важно, потому что дешифрирование инвертирует этот эффект, и восстановленный открытый текст будет содержать ту же единственную ошибку.

Чаще встречаются ошибки шифротекста. Они легко появляются из-за шума линий передачи или сбоев устройств хранения. В режиме CBC ошибка одного бита шифротекста влияет на один блок и один бит восстановленного открытого текста. Блок, соответствующий содержащему ошибку блоку шифротекста, искажается полностью. В следующем блоке искажается единственный бит, находящийся в той же позиции, что и ощибочный бит.

Это свойство превращения малой ошибки шифротекста в большую ошибку открытого текста называется распространением ошибки.Это является главным недостатком. Эта ошибка не влияет на блоки, расположенные через один от испорченного и далее, поэтому режим CBC является самовосстанавливающимся. Ошибка влияет на два блока, но система продолжает работать правильно для всех последующих блоков. CBC представляет собой пример блочного шифра, используемого в самосинхронизирующейся манере, но только на блоковом уровне.

2. Хотя режим CBC быстро восстанавливается от битового сбоя, он абсолютно не устойчив к ошибкам синхронизации. Если в потоке шифротекста теряется или добавляется бит, то положение всех последующих блоков сдвигаются на один бит, и на выходе дешифрирования будет сплошной мусор. Любая криптосистема, использующая режим CBC должна обеспечивать целостность блочной структуры либо при помощи кадров, либо сохраняя данные в структуры из нескольких блоков.

Вопросы безопасности

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

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

Наконец, хотя структура открытого текста маскируется сцеплением, структура очень длинных сообщений все равно будет заметна. Парадокс дня рождения предсказывает, что после 2m/2 блоков, где m - размер блока, появляются одинаковые блоки. Для 64-битового блока длина такого сообщения примерно равны 32 Гбайтам. Подобная проблема возникает только для сообщений немаленького размера.

Применение:

Для шифрования файлов лучше всего подходит CBC. Значительно увеличивается безопасность, и при появлении ошибок в хранимых данных почти никогда не бывает сбоев синхронизации. Если ваше приложение - программное, то CBC почти всегда будет лучшим выбором. Так же хорошо подходит для аутентификации, так как единичная ошибка распространяется на весь остальной текст.

Режим обратной связи по шифру (CFB)

Блочный шифр может быть реализован и как самосинхронизирующийся потоковый шифр. Такой режим называется режимом обратной связи по шифру (cipher-feedback,CFB). В режиме CBC шифрование не могло начаться, пока не получен целый блок данных. Это создает проблемы для некоторых сетевых приложений. Например, в безопасной сетевой среде терминал должен иметь возможность передавать главному компьютеру каждый символ сразу, как только он введен. Если данные нужно обрабатывать байтами, режим CBC также не работает.

В режиме CFB единица зашифрованных данных может быть меньше размера блока. В следующем примере каждый раз шифруется только один символ ASCII (это называется 8-битовым шифрованием), но в числе 8 нет ничего волшебного. Вы можете шифровать данные по одному биту с помощью 1-битового CFB, хотя использование для единственного бита полного шифрования блочным шифром потребует много ресурсов, потоковый шифр в этом случае был бы идеей получше. Можно также использовать 64-битовый CFB, или любой n-битовый CFB, где n больше или равно размеру блока.

На рисунке показан 8-битовый режим CFB, работающий с 64-битовым алгоритмом. Блочный алгоритм в режиме CFB работает с очередью, размер которой равен размеру используемого блока. Сначала очередь заполнена IV, как и в режиме CBC. Очередь шифруется и для крайних левых восьми битов результата выполняется XOR с первыми 8-битовым символом открытого текста для получения первого 8-битового символа шифротекста. Теперь этот символ передается. Те же восемь битов также передвигаются на место крайних правых восьми битов очереди, а крайними левыми битами становятся следующие восемь битов. Крайние восемь левых битов отбрасывается. Следующий символ открытого текста шифруется тем же способом. Дешифрирование является обратным процессом. И шифрующей, и дешифрирующей стороной блочный алгоритм используется в режиме шифрования.

Если размер блока алгоритма - n, то -битовый CFB выглядит следующим образом (см. рис):

Ci = Pi ÅEk(Ci-1)

Pi = Ci ÅEk(Ci-1)

Pi – блок открытого текста, C0 – вектор инициализации

Рис. Режим 8-битовой обратной связи по шифру.

Рис. n-битовый CBF с n-битовым алгоритмом.

Как и режим CBC, режим CFB связывает вместе символы открытого текста так, что шифротекст зависит от всего предшествующего открытого текста.

Date: 2016-08-30; view: 624; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию