Приветствую Вас Гость | RSS

Воскресенье, 29.09.2024, 03:15
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
7. Блочные шифры. Общие сведения о блочных шифрах
BlofeldДата: Понедельник, 28.03.2011, 14:10 | Сообщение # 1
Местный копирайтер
Группа: Администраторы
Сообщений: 583
Репутация: 2012
Статус: Offline
Блочные шифры шифруют целые блоки информации (от 4 до 32 байт) как единое целое.

Характерной особенностью блочных криптоалгоритмов является тот факт, что в ходе своей работы они производят преобразование блока входной информации фиксированной длины и получают результирующий блок того же объема, но недоступный для прочтения сторонним лицам, не владеющим ключом. Таким образом, схему работы блочного шифра можно описать функциями Z=EnCrypt(X,Key) и X=DeCrypt(Z,Key). Ключ Key является параметром блочного криптоалгоритма и представляет собой некоторый блок двоичной информации фиксированного размера. Исходный (X) и зашифрованный (Z) блоки данных также имеют фиксированную разрядность, равную между собой, но необязательно равную длине ключа.

В большинстве блочных алгоритмов симметричного шифрования используются следующие типы операций:
1. Табличная подстановка, при которой группа битов отображается в другую группу битов. Это так называемые S-box.
2. Перемещение, с помощью которого биты сообщения переупорядочиваются.
3. Операция сложения по модулю 2, обозначаемая XOR или .
4. Операция сложения по модулю 232 или по модулю 216.
5. Циклический сдвиг на некоторое число битов. Большинство блочных алгоритмов основано на использовании сети Фейштеля Плюсы блочных алг-в: Быстрота работы. Отсутствие статистической корреляции между битами выходного потока блочного шифра.

Стойкие блочные алгоритмы: IDEA (128-битовый ключ для шифрования данных блоками по 64 бита), CAST128, BlowFish, ГОСТ 28147 (длина блока равна 64 битам, длина ключа равна 256 битам, количество раундов равно 32, алгоритм представляет собой классическую сеть Фейштеля), TwoFish, MARS.

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

Таким образом, на функцию стойкого блочного шифра Z=EnCrypt(X,Key) накладываются следующие условия:
1. Функция EnCrypt должна быть обратимой.
2. Не должно существовать иных методов прочтения сообщения X по известному блоку Z, кроме как полным перебором ключей Key.
3. Не должно существовать иных методов определения каким ключом Key было произведено преобразование известного сообщения X в сообщение Z, кроме как полным перебором ключей.

Поскольку операция зашифровки или расшифровки отдельного блока в процессе кодирования пакета информации выполняется многократно, а значение ключа и/или значение необратимых функций Vi(Key) от ключа остается неизменным, то иногда становится целесообразно заранее однократно вычислить данные значения и хранить их в оперативной памяти совместно с ключом. Поскольку эти значения зависят только от ключа, то они в криптографии называются материалом ключа. Необходимо отметить, что данная операция никоим образом не изменяет ни длину ключа, ни криптостойкость алгоритма в целом. Здесь происходит лишь оптимизация скорости вычислений путем кеширования (англ. caching) промежуточных результатов. Описанные действия носят название расширение ключа (англ. key scheduling)

 
-=BlackWolf=-Дата: Вторник, 05.04.2011, 00:08 | Сообщение # 2
Лейтенант
Группа: Администраторы
Сообщений: 49
Репутация: 0
Статус: Offline
Дополнительно

Блочный шифр — разновидность симметричного шифра. В отличие от поточного, блоковый шифр об-рабатывает открытый текст блоками по несколько (как правило 8 или 16) байт за одну итерацию. Если исходный текст (или его остаток) меньше размера блока, перед шифрованием его дополняют.
Преобразование должно использовать следующие принципы:
 Рассеивание (diffusion) — то есть изменение любого знака открытого текста или ключа влияет на большое число знаков шифротекста, что скрывает статистические свойства открытого текста;
 Перемешивание (confusion) — использование преобразований, затрудняющих получение статисти-ческих зависимостей между шифротектстом и открытым текстом.
К достоинствам блочных шифров относят похожесть процедур шифрования и расшифрования, которые, как правило, отличаются лишь порядком действий. Это упрощает создание устройств шифрования, так как позволяет использовать одни и те же блоки в цепях шифрования и дешифрования.
Блочный шифр состоит из двух взаимосвязанных алгоритмов: алгоритм шифрования E и алгоритм рас-шифрования E−1. Входными данными служат блок размером n бит и k-битный ключ. На выходе получа-ется n-битный зашифрованный блок. Для любого фиксированного ключа функция расшифрования яв-ляется обратной к функции шифрования для любого блока M и ключа K.
Для любого ключа K, EK является биективной функцией (перестановкой) на множестве n-битных бло-ков.
Блочные шифры бывают двух основных видов:
 шифры перестановки (transposition, permutation, P-блоки);
 шифры замены (подстановки, substitution, S-блоки).
Шифры перестановок переставляют элементы открытых данных (биты, буквы, символы) в некотором новом порядке. Различают шифры горизонтальной, вертикальной, двойной перестановки, решетки, ла-биринты, лозунговые и др.
Шифры замены заменяют элементы открытых данных на другие элементы по определенному правилу. Paзличают шифры простой, сложной, парной замен
В современных криптографических системах, как правило, используют оба способа шифрования (заме-ны и перестановки). Такой шифратор называют составным (product cipher). Oн более стойкий, чем шифратор, использующий только замены или только перестановки. Блочное шифрование можно осуществлять двояко:
1. Без обратной связи (ОС). Несколько битов (блок) исходного текста шифруются одновременно, и каждый бит исходного текста влияет на каждый бит шифротекста. Однако взаимного влияния блоков нет, то есть два одинаковых блока исходного текста будут представлены одинаковым шифртекстом. Поэтому подобные алгоритмы можно использовать только для шифрования случайной последовательности битов (например, ключей). Примерами являют-ся DES в режиме ECB и ГОСТ 28147-89 в режиме простой замены.
2. С обратной связью. Обычно ОС организуется так: предыдущий шифрованный блок складывается по модулю 2 с текущим блоком. В качестве первого блока в цепи ОС используется инициализирующее значение. Ошибка в одном бите влияет на два блока - ошибочный и следующий за ним. Пример - DES в режиме CBC.
При блочном шифровании может также применяться ГПСЧ (генератор псевдослучайных чисел):
1. Поблочное шифрование потока данных. Шифрование последовательных блоков (подстановки и перестановки) зависит от ГПСЧ, управляемого ключом.
2. Поблочное шифрование потока данных с ОС. ГПСЧ управляется шифрованным или исходным текстом или обоими вместе.


Прости Бог!Ибо мы грешны!
 
  • Страница 1 из 1
  • 1
Поиск: