Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Режим простой замены. Режими блокового шифрування

Режими блокового шифрування

Вступ

Преобразование в IEEE 754

155.625

n 1*27 +0*26+0*25+1*24+1*23+0*22+1* 21+
1*20+1*2-1+0*2-2+1*2-3

n 128 + 0 + 0 + 16 + 8 + 0 + 2 + 1 + 0.5 + 0 + 0.125

n 155.625 = 10011011.101 - число в двоичной системе с плавающей точкой

n 1.55625*10+2=1.0011011101*2+111- число в нормализованном экспоненциальном виде

n смещенная экспонента = 7+127=134

w 710 = 1112

13 = 1101 = 1.101 * 2^3

3+127 = 130 = 10000010

101000000000000000…

0.10000010.1010…


 

Почнемо розглядати більш сучасні підходи у шифруванні з блокових шифрів.

1. Загальні принципи блокових шифрів

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

 

Рис. 4.1. Блочное шифрование в режиме простой замены

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

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

 

где — это ключ. Процесс дешифрования обозначим через тогда.

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

Итак, основным свойством блочного шифра является потребность в памяти устройства шифрования.

Ясно, что шифрование двух одинаковых блоков открытого текста при помощи одного и того же ключа даст два одинаковых блока шифртекста. Это очень похоже на использование словаря или шифроблокнота. Из-за этого режим шифрования, показанный на рис. 4.1, называется режимом простой замены (кодовой книги). Разумеется, шифрование одного блока открытого текста дважды при помощи одного и того же ключа криптогафически небезопасно, поэтому блочные шифры обычно не используются в режиме простой замены.

□ Режим сцепления блоков

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

Для выполнения этой процедуры к шифрующему устройству требуется добавить какое-то запоминающее устройство, обычно называемое буфером (см. рис. 4.2). Разумеется, перед началом шифрования буфер должен быть инициализирован.

 

Рис. 4.2. Шифрование в режиме сцепления блоков

Заметим, что после введения в систему блока памяти возникает устройство, реализующее поточное шифрование.

Процесс дешифрования обратен описанному выше процессу. Буфер должен быть инициализирован точно таким же значением, как и перед процессом шифрования. Это может быть либо часть секретного ключа, либо некоторая фиксированная константа.

Через на рис. 4.3 обозначен блок, осуществляющий преобразование, обратное к тому, которое выполняет блок шифрования.

 

Рис. 4.3. Дешифрование в режиме сцепления блоков

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

Это замечание показывает, что имеет смысл выбирать длину блоков как можно большей. Например, в стандарте шифрования AES длина блока составляет 128 битов.

□ Режим обратной связи с шифртекстом

Другой способ шифрования, позволяющий шифровать одинаковые блоки открытого текста с помощью одного и того же ключа разными блоками шифртекста в разные моменты времени, называется режим обратной связи с шифртекстом (режим гаммирования с обратной связью).

Режим обратной связи с шифртекстом (режим гаммирования с обратной связью) изображен ниже на рис. 4.4, но в несколько более обобщенной форме. На практике во многих ситуациях, например, во многих протоколах сети Internet, требуется единовременно пересылать блоки, длина которых (битов) меньше, чем длина блока шифрования. Вместо чередования -битовых блоков с -битовыми последовательностями из нулей и подгонки длины входного блока под блок шифрования можно покоординатно складывать по модулю 2 входной блок с левыми битами зашифрованного блока.

 

Рис. 4.4. Режим обратной связи с шифртекстом

 

Застосування блокового шифрування у протоколі аутентифікації

Протокол представляет собой общение двух участников, в котором первый желает убедить второго, что в общении участвует именно он, а не кто-то другой. Этот протокол применяется, например, в обмене между устройством чтения карт и smart-картой некоторого человека, скажем Алисы, которая хочет снять деньги со своего счета.

При выдаче smart-карты банк записывает в неё два числа:

· личный номер Алисы,

· секретный ключ Алисы.

Ключ должен быть никому не доступен, далее сама Алиса может его не знать. Личный номер может быть доступен любому устройству чтения карт (его можно даже напечатать на карте снаружи). Эти числа связаны равенством:

(4.1)

где обозначает блочный шифр, а — банковский мастер-ключ.

Непрактично хранить в каждом устройстве чтения карт секретные ключи всех клиентов. Вместо этого в каждом устройстве чтения карт хранится.

В карте тоже выполняется блочное шифрование.

Когда карта вставлена в устройство чтения, с нее запрашивается личный номер (в нашем случае). После чего любое авторизованное устройство может вычислить секретный ключ Алисы по формуле (4.1).

Далее устройство чтения создает случайную последовательность из битов и использует ее как запрос (по англ. challenge) для карты. Карта возвращает устройству чтения отклик (по англ. response).

Устройству чтения остается лишь проверить это вычисление. Если ответ карты на запрос правилен, то устройство чтения "узнает", что на карте хранится ключ, и делает вывод об аутентичности карты. В противном случае оно не принимает карту.

 

Рис. 4.5. Протокол проверки идентичности

Карта может использовать тот же протокол для того, чтобы проверить подлинность устройства чтения. Она посылает свой запрос устройству чтения. Отклик устройства может быть корректным только в том случае, когда оно способно вычислить секретный ключ, т.е. когда ему известен мастер-ключ банка.

Для привязки карты к ее владельцу обычно используется персональный идентификационный код (PIN-код).

<== предыдущая лекция | следующая лекция ==>
IEEE 754 | 
Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 308; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.