Міністерство освіти і науки України
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Інститут телекомунікації, радіоелектроніки і електронної техніки
Кафедра Телекомунікацій
Лабораторна робота №3
з дисципліни : “Захист інформації”
на тему: “ Дослідження впливу S-блоків на криптостійкість DES”
Варіант №2
Виконав: студент групи ІМЗм - 1
Львів 2008
Мета роботи
Ознайомитись з форматом S-блоків в DES, їх призначенням, способом застосування і впливом на криптостійкість алгоритму вцілому.
ТЕОРЕТИЧНІ ВІДОМОСТІ
S-блоки являють собою таблиці, приклад яких наведений в таблиці 1. Треба сказати, що існує 8 S-блоків - по одному на кожну 6-бітну послідовність.
S-блок 1
S-блок 2
S-блок 3
S-блок 4
S-блок 5
S-блок 6
S-блок 7
S-блок 8
Таблиця 1. S-блоки.
Кожний S-блок містить 4 рядки і 16 стовпчиків. Елементом S-блоку є 4-бітне число. Номер рядка і номер стовпчика в S-блоку вказує на число (4-бітна послідовність), яке необхідно підставити як результат.
Вибір елемента S-блоку здійснюється наступним чином:
Нехай 6-бітна послідовність записується так: б1,б2,б3,б4,б5,б6. Тоді біти б1 і б6 становлять собою двохбітну послідовність, яка є номером рядка S-блоку. Біти б2,б3,б4,б5 - 4-бітна комбінація, яка вказує на один з 16-ти стовпчиків S-блоку. На перетині рядка і стовпчика, на які вказує 6-бітна послідовність, в S-блоці стоїть 4-бітне число, яке і підставляється замість 6 біт.
Описаний процес є “серцем” алгортму. Всі інші операції алгоритму є лінійними і тому легкими для аналізу. S-блок реалізує нелінійну операцію і тому вносить найбільший вклад в криптостійкість алгоритму.
Результатом підстановок є 8 4-бітних послідовностей, які в сумі становлять 32-ох бітовий результуючий ланцюжок.
S-блоки в DES.
S-блоки є ключовим моментом алгоритму - за їх допомогою нелінійні операції шифрування даних, що дає можливість досягнути максимального перемішування тексту, ключа і вмісту S-блоків.
Треба сказати, що поза багатьма спробами проаналізувати S-блоки на ефективність і надійність чи на можливість розміщення в них якоїсь западні, на даний час не існує методики синтезу і аналізу якості отриманих S-блоків.
Але існують кілька критеріїв, згідно до яких проектуються S-блоки.
1. Жоден S-блок не є лінійною функцією від розміщення його елементів. Тобто, не можна показати лінійну залежність між вхідними і вихідними бітами.
2. Зміна одного біту на вході S-блоку повинна призводити до зміни хоча б 2-ох бітів на виході. Тобто, S-блоки проектуються таким чином, щоб забезпечити максимальний ступінь розпорошення.
3. S-блоки формуються таким чином, щоб мінімізувати різницю в кількості між ноликами і одиничками.
Ці критерії, що запропоновані на початку впровадження DES актуальні і сьогодні і використовуються при створенні криптосистем з використанням DES.
ХІД РОБОТИ
1. Ознайомитись з теоретичною частиною лабораторної роботи.
2. Запустити оболонку і запустити лабораторну роботу №3.
3. В покроковому режимі переглянути процес реалізації нелінійної функції за допомогою S-блоків.
4. В покроковому режимі переглянути принципи різнецевої атаки.
5. Змінити S-блоки.
рЕЗУЛЬТАТИ ПРОВЕДЕННОГО ЕКСПЕРЕМЕНТУ
Вхідні дані:
Слово – DESproba;
Ключ – Keystart;
Таблиця роутінгу:
Таблиця формування робочих ключів:
Дано:
З допомогою S – блоку,
Аналізуються 0,1,2,3,4.5,6 і відповідно 7 шістка бітів.
вИСНОВОК
На цій лабораторній роботі, я ознайомився з форматом S-блоків в DES, їх призначенням, способом застосування і впливом на криптостійкість алгоритму вцілому. А також S-блоки є ключовим моментом алгоритму - за їх допомогою нелінійні операції шифрування даних, що дає можливість досягнути максимального перемішування тексту, ключа і вмісту S-блоків.