Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пкр_лекции / 6 ПК ЛК №6 (2.3) ХНУРЕ 2011.docx
Скачиваний:
105
Добавлен:
14.04.2015
Размер:
255.39 Кб
Скачать

5.4. Криптографічні перетворення (шифри) типу зсув символів

Перетворення типу «зсув вхідних символів» може бути як криптографічним, коли конкретнее значення зсуву визначається ключем, так і табличним, коли значення зсуву в шифрі є постійним. Зсув може здійснюватись циклічно в тетрадах, байтах, 16, 32, 64, 128, та 256 бітних словах. Окремо перетворення типу зсув не забезпечує криптграфічної стійкості, але коли воно застосовується разом з іншими криптографічними чи табличними перетвореннями, то при певних умовах може забезпечуватись якісне шифрування.

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

В цілому, якщо довжина слова, що перетворюєься, має значення Lc бітів, то величина ключа може визначатись як

l k = Lg2( Lc ) (2.109).

Зрозуміло що для доброго узгодження довжина слова, яке підлягає зсуву, повинна бути кратною 2.

На практиці в блочних та потокових симетричних шифрах перетворення типу керуємий зсув, знаходять застосування. При цьому табличне перетворення застосовується у більшості блокових шифрів[55, 201 ].

Так на рис.2.6 наведено функцію шифрування для ГОСТ 28147 – 89, у якій після виконання паралельно на 32 бітним словом 8 підстановок « 4 біти в 4 біти», здійснюється цичний зсув 32 бітного слова на 11бітів вліво. Це приклад табличного перетворення типу циклічний зсув.

На Рис. 2.8 показано перетворення зсув байтів ShiftRows ( ) для стандарту США FIPS 197[ 197 ]. В цьому стандарті використовується, за нашою термінологією, табличне перетворення тину циклічний зсув вліво байтів 32 бітних слів 128 (192, 256)бітних блоків. Причому, перше 32 бітне слово 128 бітного блоку залишається без змін, друге слово зсувається циклічно на 1 байт вліво, третє слово зсувається циклічно на 2 байти вліво, четверте слово зсувається циклічно на 3 байти вліво.

Рис. 2.8 Перетворення ShiftRows ( ) циклічного зсуву останніх трьох рядків в масиву State

    1. Блочні симетричні шифри та їх властивості

Симетричне криптографічне перетворення у вигляді блокового симетричного шифру(БСШ) знайшло широке застосування на практиці. БСШ будуються на основі використання декількох симетричних криптографічних перетворень( елементарних шифрів), більшість яких розглянуто вище в підрозділі 2.7. Хоча кожен з таких елементарних шифрів, як буде показано в розділі 8, є нестійким[ 1,2 ], застосування декількох з них послідовно чи паралельно, та багатократно, як сказано в [ 1 ], дозволяє отримати звіря з « товстою шкірою». Вказане визначило появу, широке застосування та розвиток БСШ.

В цьому розділі ми робимо спробу розглянути сутність, проблемні питання, в межах обмежень обсягом викладення результатів досліджень, застосування та можливі напрями розвитку БСШ.

Необхідно відмітити, що при побудові БСШ знайшли застосування декілька концептуальних підходів, які будемо називати методологічними принципами. Серед них необхідно виділити,

на наш погляд, три основні:

на основі ланцюгів Фейстеля (Data Encryption Standard, ГОСТ 28147 – 89 тощо);

IDEA подібні шифри( Європейський стандарт IDEA та його модифікації і удосконалення);

SPN структури( перше за все Rijndael, FIPS – 197 тощо).

Ми вважаємо, що сьогодні системне викладення теорії та практики блочного симетричного шифрування вимагає написання багатотомної роботи. Тому нижче викладення теоретичних та практичних питань є обмеженим. Крім того , в цьому розділі, ми практично не розглядаємо питання крипто аналізу, так як вони системно викладаються в 8 розділі цієї роботи.