Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IDEA.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
176.13 Кб
Скачать

2.2.Опис алгоритму.

Цей шифр складається з 64-бітових блоків, що повторюються, з 128-бітовим ключем і восьма проходами (rounds). Хоча цей шифр не шифр Файстела (Feistel), дешифрування виконується по тому ж принципу, що і шифрування. Так як і інші блокові алгоритми, які до цього часу існують, IDEA порівно використовує як змішування так і розпорошування. Шифр IDEA являється повторенням шифру з вісім циклів і супроводжується вихідним перетворенням. Структура шифру була розроблена для легкого втілення як програмно, так і апаратно, и безпека IDEA грунтується на використанні трьох не сумісних типів арифметичних операцій над 16-бітовим словами. Швидкість програмного IDEA порівнювана зі швидкістю DES.

Повний перший цикл і вихідне перетворення зображені на схемі (рис.4).

2.2.1.Процес шифрування.

В шифрувальному процесі показаному на рис.4, використовуються три інших групові операції пар 16-ти бітових підблоків, а саме

  • побітове виключаюче-АБО двох 16-ти бітових підблоків, позначається як ;

  • додавання цілих по модулю 216, де 16-ти бітовий підблок пердставлений як звичайне ціле при основі 2; результуюча операція представлена як [+];

  • множення цілих по модулю 216+1, де 16-ти бітовий підблок пердставлений як звичайне ціле при основі 2, крім того всі нульові підблоки розглядаються як 216; результуюча операція представлена як ;

Примітка як приклад цих групових операцій:

поскільки

64-х бітовий блок явного тексту Х розбивається на чотири 16-ти бітові підблоки X1,X2,X3,X4, тобто X = (X1; X2; X3; X 4). Чотири підблоки явного тексту потім перетворюються в чотири 16-бітові підблоки зашифрованого тексту Y1; Y2; Y3; Y4 [тобто, блок зашифрованого тексту - Y = (Y1; Y2; Y3; Y4 )] під керування 52-х 16-ти бітових підблоків клоча, які формуються з 128-бітового секретного ключа способом, який описаний нижче. Для r = 1,2,....,8, шість підблоків ключа використані в r-му циклі будіть позначені як . Чотири 16-бітові підблоки ключа використовуються при вихідному перетворенні позначені як .

В кожному циклі ці чотири підблоки посумовані по модулі 2, додані та помножені по модулю 216.

В кожному циклі порядок дій наступний:

  1. Множимо Х1 на перший підблок ключа.

  2. Додаємо Х2 до другого підблоку ключа.

  3. Додаємо Х3 до третього підблоку ключа.

  4. Множино Х4 на четвертий підблок ключа.

  5. Додаємо по модулю 2 результати кроків 1 і 3.

  6. Додаємо по модулю 2 результати кроків 2 і 4.

  7. Множимо результат кроку 5 на п`ятий підблок ключа.

  8. Додаємо результати кроків кроків 6 і 7.

  9. Множимо результат кроку 8 на шостий підблок ключа.

  10. Додаємо результати кроків 7 і 9.

  11. Додаємо по модулю 2 результати кроків 1 і 9.

  12. Додаємо по модулю 2 результати кроків 3 і 9.

  13. Додаємо по модулю 2 результати кроків 2 і 10.

  14. Додаємо по модулю 2 результати кроків 4 і 10.

На виході циклу отримуємо чотири підблоки результатів кроків 11, 12, 13, 14. Після заміни місцями двох внутрішніх підблоків (в останньому циклі ця оперція не виконується) отримуємо вихідний блок для наступного циклу.

По восьмому циклі виконується кінцева перестановка:

  1. Множимо Х1 з першим підблоком ключа.

  2. Додаємо Х2 до другого підблоку ключа.

  3. Додаємо Х3 до третього підблоку ключа.

  4. Множимо Х4 з четвертим підблоком ключа.

Остататочно отримані в результаті вище наведений операцій чотири підблоки з`єднуються в один блок шифрограми.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]