Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Поточные шифры. Криптографический приём ошб (однократный шифровальный блокнот) и rc4. Выбор алгоритма шифрования. Блок или поток. Что лучше.
Поточный шифр — это симметричный шифр, в котором каждый символ открытого текста преобразуется в символ шифрованного текста в зависимости не только от используемого ключа, но и от его расположения в потоке открытого текста. Поточный шифр реализует другой подход к симметричному шифрованию, нежели блочные шифры. Большинство существующих шифров с секретным ключом однозначно могут быть отнесены либо к поточным, либо к блочным шифрам. Но теоретическая граница между ними является довольно размытой. Например, используются алгоритмы блочного шифрования в режиме поточного шифрования (пример: для алгоритма DES режимы CFB и OFB). Рассмотрим основные различия между поточными и блочными шифрами не только в аспектах их безопасности и удобства, но и с точки зрения их изучения в мире: · важнейшим достоинством поточных шифров перед блочными является высокая скорость шифрования, соизмеримая со скоростью поступления входной информации; поэтому, обеспечивается шифрование практически в реальном масштабе времени вне зависимости от объема и разрядности потока преобразуемых данных. · в синхронных поточных шифрах (в отличие от блочных) отсутствует эффект размножения ошибок, то есть число искаженных элементов в расшифрованной последовательности равно числу искаженных элементов зашифрованной последовательности, пришедшей из канала связи. · структура поточного ключа может иметь уязвимые места, которые дают возможность криптоаналитику получить дополнительную информацию о ключе (например, при малом периоде ключа криптоаналитик может использовать найденные части поточного ключа для дешифрования последующего закрытого текста). · ПШ в отличие от БШ часто могут быть атакованы при помощи линейной алгебры (так как выходы отдельных регистров сдвига с обратной линейной связью могут иметь корреляцию с гаммой). Также для взлома поточных шифров весьма успешно применяется линейный и дифференциальный анализ. Теперь о положении в мире: · в большинстве работ по анализу и взлому блочных шифров рассматриваются алгоритмы шифрования, основанные на стандарте DES; для поточных же шифров нет выделенного направления изучения; методы взлома ПШ весьма разнообразны. · для поточных шифров установлен набор требований, являющихся критериями надёжности (большие периоды выходных последовательностей, постулаты Голомба, нелинейность); для БШ таких чётких критериев нет.
· исследованием и разработкой поточных шифров в основном занимаются европейские криптографические центры, блочных – американские. · исследование поточных шифров происходит более динамично, чем блочных; в последнее время не было сделано никаких заметных открытий в сфере DES-алгоритмов, в то время как в области поточных шифров случилось множество успехов и неудач (некоторые схемы, казавшиеся стойкими, при дальнейшем исследовании не оправдали надежд изобретателей). RC4 (англ. Rivest Cipher 4 или англ. Ron’s Code, также известен как ARCFOUR или ARC4 (англ. Alleged RC4)) — потоковый шифр, широко применяющийся в различных системах защиты информации в компьютерных сетях (например, в протоколах SSL и TLS, алгоритме безопасности беспроводных сетей WEP). Шифр разработан компанией RSA Security и для его использования требуется лицензия. Алгоритм RC4, как и любой потоковый шифр, строится на основе параметризованного ключом генератора псевдослучайных битов с равномерным распределением. Длина ключа может составлять от 40 до 256 бит[1]. Основные преимущества шифра — высокая скорость работы и переменный размер ключа. RC4 довольно уязвим, если используются не случайные или связанные ключи, один ключевой поток используется дважды. Эти факторы, а также способ использования могут сделать криптосистему небезопасной (например WEP)
61 Упрощенный S-DES его общая структура. Вычисление ключей S-DES (Simplify-DES). Функция шифрования fк и её роль в комбинации перестановки и подстановки. Упрощенный DES – это алгоритм шифрования, имеющий, скорее, учебное, чем практическое значение. По свойствам и структуре он подобен DES, но имеет гораздо меньше параметров. Данный алгоритм был разработан профессором Эдвардом Шейфером (Edward Schaefer) из Университета Санта-Клара. На рис. 1 показана общая структура упрощенного алгоритма DES (S-DES). Данный алгоритм получает на входе 8-битовый блок открытого текста и 10-битовый ключ, а на выходе генерируется 8-битовый блок шифрованного текста. Алгоритм дешифрования S-DES в качестве исходных данных использует 8-битовый блок шифрованного текста и тот же 10-битовый ключ, который применялся для шифрования, а в результате работы алгоритм дешифрования должен генерировать 8-битовый блок открытого текста.
Алгоритм шифрования включает последовательное выполнение пяти операций: начальной перестановки IP, сложной функции fK, являющейся композицией операций перестановки и подстановки и зависящей от полученного ключа, перестановки SW, при которой две половинки последовательности данных просто меняются местами, еще раз функции fK и, наконец, перестановки, обратной начальной (IP−1). Функция fK использует в качестве исходных данных не только шифруемый текст, но и 8-битовый ключ Данный алгоритм можно представить в виде композиции функций: шифрованный текст = IP−1(fk2(SW(fk1(IP(открытый текст))))), где K1 = P8(сдвиг(P10(ключ))), K2 = P8(сдвиг(сдвиг(P10(ключ)))). Процесс дешифрования, по сути, является процессом, обратным процессу шифрования: открытый текст = IP−1(fk1(SW(fk2(IP(шифрованный текст))))). Вычисление ключей S-DES В алгоритме S-DES используется 10-битовый ключ, который должен быть как у отправителя, так и у получателя сообщения. Из этого ключа на определенных этапах шифрования и дешифрования генерируется два 8-битовых подключа. На рис. 2 показана схема процедуры создания этих подключей. ^ Рис. 2. Вычисление ключей S-DES Сначала выполняется перестановка битов ключа следующим образом. Перестановка P10 в табличной форме имеет вид:
Эту таблицу следует читать слева направо. Каждый ее элемент идентифицирует позицию бита исходных данных в генерируемой выходной последовательности. После этого отдельно для первых пяти битов и отдельно для вторых выполняется циклический сдвиг влево (LS-1). Затем применяется перестановка P8, в результате которой из 10-битового ключа сначала выбираются, а затем переставляются 8 битов по следующему правилу.
В результате этой операции получается первый подключ (K1). Теперь нужно вернуться к двум 5-битовым строкам, полученным в результате применения функций LS-1, и выполнить с каждой из этих строк циклический сдвиг влево на две позиции (LS-2). Наконец, применив к полученной в результате последовательности перестановку P8, получим подключ K2. Шифрование S-DES На рис. 3 представлена более подробная схема алгоритма шифрования S-DES. На вход алгоритма поступает 8-битовый блок открытого текста, к которому применяется начальная перестановка, заданная функцией IP.
Все 8 битов открытого текста сохраняют свои значения, но меняется порядок их следования. На завершающей стадии алгоритма выполняется обратная перестановка.
Рис.3. Подробная схема шифрования S-DES Функция fK Самым сложным компонентом S-DES является функция fK, представляющая собой комбинацию перестановки и подстановки. Пусть L и R означают соответственно первые 4 бита и последние 4 бита 8-битовой последовательности, подаваемой на вход fK, и пусть F– некоторое отображение пространства 4-битовых строк в себя, не обязательно являющееся взаимно однозначным. Тогда положим
fK(L,R) = (L ⊕ F(R, SK), R), где SK обозначает подключ, а ⊕ – операцию XOR. Теперь опишем отображение F.На входе этого отображения имеем 4-битовое значение (n1, n2, n3, n4). Первой операцией является операция расширения/перестановки.
Для дальнейшего рассмотрения удобнее представить результат в следующей форме: n4|n1 n2|n4 n2|n3 n4|n1 К этому значению с помощью операции XOR добавляется 8-битовый подключ K1 = (k11, k12, k13, k14, k15, k16, k17, k18): n4+k11|n1+k12 n2+k13|n4+k14 n2+k15|n3+k16 n4+k17|n1+k18 Давайте переименуем полученные в результате 8 битов, как показано ниже p0,0| p0,1 p0,2|p0,3 p1,0| p1,1 p1,2|p1,3 Первые четыре бита (первая строка приведенной выше матрицы) поступают на вход S0, на выходе которого получается 2-битовая последовательность, а оставшиеся четыре бита (вторая строка матрицы) – на вход модуля S1, на выходе которого получается другая 2-битовая последовательность. Модули S0 и S1 можно определить так: S0: S1: Эти S-модули (матрицы кодирования) работают следующим образом. Первый и четвертый биты входной последовательности рассматриваются как 2-битовые числа, определяющие строку, а второй и третий – как числа, определяющие столбец S-матрицы. Элементы, находящиеся на пересечении соответствующих строки и столбца, задают 2-битовые выходные значения. Теперь 4 бита, полученные на выходе модулей S0 и S1, преобразуются с помощью перестановки следующим образом.
Результат применения перестановки P4 и является результатом функции F. Функция-переключатель Функция fK изменяет только четыре левых бита. Поэтому следующей операцией в алгоритме шифрования является использование функции SW, которая меняет местами первые и последние четыре бита последовательности, чтобы при следующем вызове функции fK последняя работала уже с другой четверкой битов. При втором вызове fK функции E/P, S0, S1 и P4 остаются теми же, что и при первом, но вместо ключа K1 используется ключ K2.
62 Принципы блочного шифрования на примере подстановочного шифра для п-битовых блоков (случай n =4 ). Многобуквенный шифр Хилла. При использовании подстановочных шифров символы шифруемого текста заменяются символами того же или другого алфавита в соответствии с заранее определенной схемой замены. При этом одинаковым символам исходного текста должны соответствовать одинаковые символы выходного текста, а разным символам – разные.
Подстановочный шифр с фиксированным сдвигом Поскольку каждый символ текста хранится в компьютере в виде своего числового кода, то простейший подстановочный шифр можно реализовать с помощью прибавления к коду символа фиксированного числа. Это число будет являться ключом шифра. При этом надо учитывать, что сложения должны выполняться «по модулю 256», т.е. если в результате сложения кода символа и ключа шифра получается число, равное или превышающее 256, то от результата отнимается 256. Это связанно с тем, что результат тоже должен представлять собой код некоторого символа, т.е. занимать один байт (а в байте может содержаться число от 0 до 255). пример многоалфавитного шифра — шифр Хилла, изобретенный Лестером С. Хиллом. В отличие от других многоалфавитных шифров, которые мы уже рассмотрели, здесь исходный текст разделен на блоки равного размера. Блоки зашифрованы по одному таким способом, что каждый символ в блоке вносит вклад в шифрование других символов в блоке. По этой причине шифр Хилла принадлежит к категории шифров, названных блочными шифрами. Другие шифры, которые мы изучали до сих пор, принадлежат к категории, называемой шифры потока. Отличие между шифрами блока и шифрами потока обсуждаются в конце этой лекции. В шифре Хилла ключ — квадратная матрица размера ., в котором m. является размером блока. Если мы вызываем ключевую матрицу K, то каждый элемент ki,j определяется матрицей, как показано на рис. 4.15.
Покажем, как получается один блок зашифрованного текста. Если мы обозначим m символов блоков исходного текста P1, P2..., Pm, соответствующие символы в блоках зашифрованного текста будут C1, C2,..., Cm. Тогда мы имеем C1 = P1k11+P2k21+……+Pmkm1C2 = P1k12+P2k22+……+Pmkm2………………………………………………………Cm = P1k1m+ P2k2m +……+ PmkmmУравнения показывают, что каждый символ зашифрованного текста, такой, как C1, зависит от символов всего исходного текста в блоке (P1, P2,..., Pm). Однако мы должны знать, что не все квадратные матрицы имеют мультипликативные инверсии в Z26, так что Алиса и Боб должны быть осторожны в выборе ключа. Боб не сможет расшифровать зашифрованный текст, передаваемый Алисой, если матрица не имеет мультипликативной инверсии. Ключевая матрица в шифре Хилла должна иметь мультипликативную инверсию. Пример 4.20 Использование матриц позволяет Алисе зашифровать весь исходный текст. В этом случае исходный текст — матрица, в которой l является номером блоков. Например, исходный текст "code is ready" ("код готов"), может быть представлен как матрица при добавлении дополнительного фиктивного символа "z" к последнему блоку и удалении пробелов; зашифрованный текст выглядит как "OHKNIHGKLISS". Боб может расшифровать сообщение, используя инверсную матрицу-ключ. Шифрование и дешифрование показано на рис. 4.16. Рис. 4.16. Пример 4.20
Криптоанализ шифров Хилла Криптоанализ только для зашифрованного шифрами Хилла текста труден. Во-первых, атака грубой силы при шифре Хилла чрезвычайно сложна, потому что матрица-ключ — . Каждый вход может иметь одно из 26 значений. Во-первых, это означает размер ключа . Однако, не все матрицы имеют мультипликативную инверсию. Поэтому область существования ключей все же не такая огромная. Во-вторых, шифры Хилла не сохраняют статистику обычного текста. Ева не может провести анализ частоты отдельных букв из двух или трех букв. Анализ частоты слов размера m мог бы cработать, но очень редко исходный текст имеет много одинаковых строк размера m. Ева, однако, может провести атаку на шифр, используя метод знания исходного текста, если она знает значение m и знает пары "исходный текст/зашифрованный текст", по крайней мере m блоков. Блоки могут принадлежать тому же самому сообщению или различным сообщениям, но должны быть различны. Ева может создать две . матрицы, P (обычный текст) и C (зашифрованный текст), в котором соответствующие строки представляют известные пары обычного/зашифрованного текста. Поскольку C = PK, Ева может использовать отношения K = CP-1, чтобы найти ключ, если P является обратимым. Если P не является обратимым, то Ева должна задействовать различные наборы m пар обычного/зашифрованного текста. Если Ева не знает значение m, она может попробовать различные значения при условии, что m не является очень большим. Пример 4.21 Предположим, что Ева знает, что m = 3. Она перехватила три пары блока исходного/зашифрованного текста (не обязательно из того же самого сообщения), как показано на рис. 4.17. Рис. 4.17. Пример 4.22, формирования шифра зашифрованного текста Она составляет матрицы P и C из этих пар. Поскольку в данном случае матрица P обратима, она инвертирует эту матрицу и умножает ее на C, что дает матрицу ключей K, как это показано на рис. 4.18. Рис. 4.18. Пример 4.22, поиска ключа Теперь она имеет ключ и может взломать любой шифрованный текст, где применен этот ключ.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 804; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.196.27.171 (0.04 с.) |