ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.09.2024
Просмотров: 3996
Скачиваний: 0
СОДЕРЖАНИЕ
Проверка подлинности, целостность и неотрицание авторства
Подстановочные и перестановочные шифры
Передача информации с использованием симметричной криптографии
Коды проверки подлинности сообщения
Передача информации с использованием криптографии с открытыми ключами
Подпись документа с помощью симметричных криптосистем и посредника
Подпись документа с помощью криптографии с открытыми ключами
Подпись документа и метки времени
Подпись документа с помощью криптографии с открытыми ключами и однонаправленных хэш-функций
Невозможность отказаться от цифровой подписи
Использование цифровых подписей
Возвращение сообщения при приеме
Обнаружение вскрытия, основанного на возвращении сообщения
Вскрытия криптографии с открытыми ключами
Генерация случайных и псевдослучайных последовательностей
Псевдослучайные последовательности
Криптографически безопасные псевдослучайные последовательности
Настоящие случайные последовательности
Типы алгоритмов и криптографические режимы
Режим электронной шифровальной книги
Устройство генератора потока ключей.
Использование других уникальных предметов
Методы биометрической аутентификации
Идентификация по отпечаткам пальцев
Идентификация по Сетчатке и радужной оболочке глаза
Распознавание по форме лица, руки или ладони
Распознавание по рукописному почерку.
Классификация угроз Digital Security (Digital Security Classification of Threats)
Технологические угрозы информационной безопасности
Организационные угрозы информационной безопасности
Режим сцепления блоков шифра.
Вектор инициализации
В режиме СВС одинаковые блоки открытого текста при шифровании переходят в различные блоки шифр о-текста только, если отличались какие-то из предшествующих блоков открытого текста . Два идентичных сообщения, однако, будут шифроваться как один и тот же шифротекст . Что еще хуже, два одинаково начинающихся сообщения будут шифроваться одинаково, пока не появится первое различие .
У ряда сообщений может быть одинаковый заголовок - тема письма, строка "From" или еще что-нибудь. Хотя повтор блока будет невозможен, такое одинаковое начало может предоставить криптоаналитику какую-нибудь полезную информацию.
Избежать этого можно, шифруя в качестве первого блока какие-то случайные данные . Этот блок случайных данных называется вектором инициализации (initialization vector, IV), инициализирующей переменной или начальным значением сцепления. IV не имеет никакого смыслового значения, он используется только для того, чтобы сделать каждое сообщение уникальным. Когда получатель расшифровывает этот блок, он испольтзует его только для заполнения регистра обратной связи. Хорошим IV служит метка времени. Или используйте какие-нибудь случайные биты.
С использованием IV сообщения с идентичным открытым текстом при шифровании переходят в сообщения с различным шифротекстом. Следовательно, злоумышленник не сможет предпринять повтор блока, и затруднится создание шифровальной книги. Хотя рекомендуется для каждого сообщения, шифруемого одним и тем же ключом, выбирать уникальный IV, это требование не является обязательным.
IV не должен храниться в секрете, он может передаваться открыто вместе с шифротекстом . Если вы не понимаете почему, рассмотрите следующий довод. Пусть наше сообщение состоит из нескольких блоков: Ви В 2, ..., Bt. В; шифруется вместе с IV. В2 шифруется с использованием шифротекста В; в роли IV. Вз шифруется с использованием шифротекста В2 в роли IV, и так далее. Итак, если количество блоков - п, то п-1 "векторов инициализации" открыты, даже если первоначальный IV хранится в секрете. Поэтому причин хранить в секрете IV нет, IV - это просто блок-заглушка, можно считать его нулевым блоком сцепления Во-
Набивка
Набивка используется также, как и в режиме ЕСВ, но в некоторых приложениях размер шифротекст должен в точности совпадать с размером открытого текста. Может быть, зашифрованный файл должен занять в точн о-сти тот же объем памяти, что и файл открытого текста. В этом случае последний короткий блок придется ши ф-ровать иначе. Пусть последний блок состоит из / битов. Зашифровав последний полный блок, снова зашифруйте шифротекст, выберите старшие / битов и выполните для них и короткого блока операцию XOR, создавая шифротекст. Эта процедура показана на 5-й.
Слабость этого способа в том, что хотя Мэллори не сможет раскрыть последний блок шифротекста, он м о-жет систематически изменять его, меняя отдельные биты шифротекста. Если последние несколько битов ши ф-ротекста содержат важную информацию, это опасно. Если последние биты просто содержат совет по домово д-ству, то ничего страшного.
Лучшим способом является похищение щифротекста (см. 4th). Рп_] - последний полный блок открытого текста, Рп - заключительный, короткий блок открытого текста. С„_; - последний полный блок шифротекста, С„ -заключительный, короткий блок шифротекста. С" - это просто промежуточный результат, не являющийся ч а-стью переданного шифротекста. Преимуществом этого метода является то, что все биты открытого текста соо б-щения проходят через алгоритм шифрования.
Похищение шифротекста в режимеСВС.
Распространение ошибки
Режим СВС характеризуется прямой обратной связью шифротекста при шифровании и инверсной обратной связью шифротекста при дешифрировании. При этом приложения должны уметь бороться с ошибками. Единственная битовая ошибка в блоке открытого текста повлияет на данный блок шифротекста и все поел е-дующие блоки шифротекста. Это не важно, потому что дешифрирование инвертирует этот эффект, и восстано в-
ленный открытый текст будет содержать ту же единственную ошибку.
Чаще встречаются ошибки шифротекста. Они легко появляются из-за шума линий передачи или сбоев ус т-ройств хранения. В режиме СВС ошибка одного бита шифротекста влияет на один блок и один бит восстано в-ленного открытого текста. Блок, соответствующий содержащему ошибку блоку шифротекста, искажается полн о-стью. В следующем блоке искажается единственный бит, находящийся в той же позиции, что и ошибочный бит .
Это свойство превращения малой ошибки шифротекста в большую ошибку открытого текста называется распространением ошибки. Это является главным недостатком. Эта ошибка не влияет на блоки, расположе н-ные через один от испорченного и далее, поэтому режим СВС является самовосстанавливающимся. Ошибка влияет на два блока, но система продолжает работать правильно для всех последующих блоков . СВС представляет собой пример блочного шифра, используемого в самосинхронизирующейся манере, но только на блоковом уровне.
Хотя режим СВС быстро восстанавливается от битового сбоя, он абсолютно не устойчив к ошибкам синхр о-низации. Если в потоке шифротекста теряется или добавляется бит, то положение всех последующих блоков сдвигаются на один бит, и на выходе дешифрирования будет сплошной мусор . Любая криптосистема, использующая режим СВС должна обеспечивать целостность блочной структуры либо при помощи кадров, либо с сохраняя данные в структуры из нескольких блоков.
Вопросы безопасности
Ряд возможных проблем обуславливаются структурой СВС. Во первых, так как блок шифротекста достаточно просто влияет на следующий блок, Мэллори может тайно добавлять блоки к концу зашифрованного сообщ е-ния. Конечно, при дешифрировании они превратятся в чепуху, но в некоторых ситуациях это нежелательно .
При использовании СВС вы должны структурировать ваш открытый текст так, чтобы вы знали, где находя т-ся концы сообщений, и могли обнаружить добавление лишних блоков .
Во вторых, Мэллори может изменить блок шифротекста, изменения определенным образом блоки расши ф-рованного открытого текста. Например, если Мэллори изменит один бит шифротекста, весь блок будет расши ф-рован неправильно, а в следующем блоке в соответствующей позиции будет неправильный бит . Возможны ситуации, когда это нежелательно. Открытое сообщения должно обладать некоторой избыточностью или среде т-вами идентификации.
Наконец, хотя структура открытого текста маскируется сцеплением, структура очень длинных сообщений все равно будет заметна. Парадокс дня рождения предсказывает, что после 2т/2 блоков, где т - размер блока, появляются одинаковые блоки. Для 64-битового блока длина такого сообщения примерно равны 32 Гбайтам. Подобная проблема возникает только для сообщений немаленького размера.
Потоковые шифры
Потоковые шифры преобразуют открытый текст в шифротекст по одному биту за операцию. Простейшая реализация потокового шифра показана на 3-й. Генератор потока ключей (иногда называемый генератором с бегущим ключом) выдает поток битов: k1, k2, k3, ..., Ki. Этот поток ключей (иногда называемый бегущим ключом) и поток битов открытого текста, P1,P2, P3, —,Pi, подвергаются операции "исключающее или", и в результате получаетсяы поток битов шифротекста.
Ci =pt XOR kt
При дешифрировании операция XOR выполняется над битами шифротекста и тем же самым потоком кл ю-чей для восстановления битов открытого текста.
Pi = C, XOR kt
Так как
Pi XOR ki XOR ki=pi
это работает правильно.
Безопасность системы полностью зависит от свойств генератора потока ключей . Если генератор потока ключей выдает бесконечную строку нулей, шифротекст будет совпадать с открытым текстом, и все операция будет бессмысленна. Если генератор потока ключей выплевывает повторяющийся 16-битовый шаблон, алгоритм б у-дет являться простым XOR с пренебрежимо малой безопасностью. Если генератор потока ключей выплевывает бесконечный поток случайных битов, вы получаете одноразовый блокнот и идеальную безопасность.
На деле безопасность потокового шифра находится где-то между простым XOR и одноразовым блокнотом.
Генератор потока ключей создает битовый поток, который похож на случайный, но в действительности детерминирован и может быть безошибочно воспроизведен при дешифрировании. Чем ближе выход генератора потока ключей к случайному, тем больше времени потребуется криптоаналитику, чтобы взломать
Потоковый шифр
Однако, если генератор потока ключей при каждом включении создает один и тот же битовый поток , то использующую его криптосистему взломать нетрудно. Покажем на примере, почему это так.
Если к Еве попал шифротекст и соответствующий открытый текст, то она, выполняя операцию XOR над открытым текстом и шифротекстом, раскрывает поток ключей. Или, если у нее есть два различных шифротекста, зашифрованных одинаковым ключом, она может выполнить над ними операцию XOR, получая два открытых текста сообщений, над которыми выполнена операция XOR. Это нетрудно взломать, и затем она может получить поток ключей, выполняя операцию XOR над одним из открытых текстов и шифротекстом.
Теперь, перехватив любое другое шифрованное сообщение, она сможет расшифровать его, используя пол у-ченный поток ключей. Кроме того, она может расшифровать и прочитать любое из ранее перехваченных соо б-щений. Когда Ева получит пару открытый текст/шифротекст, она сможет читать все .
Поэтому для всех потоковых шифров используются ключи. Выход генератора потока ключей является фун к-цией ключа. Теперь, если Ева получит пару открытый текст/шифротекст, она сможет читать только те сообщения, которые зашифрованы тем же ключом. Измените ключ, и противнику придется начать все сначала. Потоковые шифры особенно полезны для шифрования бесконечных потоков коммуникационного трафика, напр и-мер, канала Т1, связывающего два компьютера.
Генератор потока ключей состоит из трех основных частей (см. 2nd). Внутреннее состояние описывает текущее состояние генератора потока ключей. Два генератора потока ключей, с одинаковым ключом и одинаковым внутренним состоянием, выдают одинаковые потоки ключей. Функция выхода по внутреннему состоянию генерирует бит потока ключей. Функция следующего состояния по внутреннему состоянию генерирует новое вну т-реннее состояние.