й ключа і виконання алгоритму розшифрування.
Таким чином, час і кошти, що витрачаються на криптоанализ, залежать від довжини ключа і складності алгоритму шифрування.
Теоретична частина
У цій роботі, був використаний блоковий шифр - мережа Фейстеля.
Блочний шифр - різновид симетричного шифру. Особливістю блочного шифру є обробка блоку декількох байт за одну ітерацію (як правило 8 або 16). Блокові криптосистеми розбивають текст повідомлення на окремі блоки і потім здійснюють перетворення цих блоків з використанням ключа.
У блокових шифри використовуються наступні основні операції:
· додавання по модулю 2;
· додавання по модулю;
· циклічний зсув на деяке число бітів;
· різні підстановки і переміщення бітів.
Мережа Фейстеля.
Широке поширення в блокових шифри отримала мережа Фейстеля, названа на честь американського інженера Хорста Фейстеля (1915-1990рр.). У ній вхідний блок ділиться на два подблока рівної довжини, які називають гілками (права R і ліва L). Кожна гілка обробляється незалежно від іншої. Таке перетворення виконується кілька раундів. Вважається, що прийнятне з точки зору безпеки число раундоа - від 8 до 32.
Структура i-ого раунду показана на рис.1
Тут же штриховий лінією позначена структура заключного раунду
Функція F називається твірною. Відносно її вибору чітких стандартів не існує. Як правило, ця функція являє собою послідовність підстановок, перестановок і циклічних зрушень, залежних від підключа.
Мережа Фейстеля є оборотною, т.е, процедури шифрування і дешифрування збігаються з тим винятком, що підключи при дешифрування використовуються в зворотному порядку.
шифрування блоковий Фейстель крипостійкість
Практична частина
Таблиця переведення чисел і букв в двійкову систему
0А000001Б000012В000103Г000114Д001005Е001017Ж001108З001119И0100010Й0100111К0101012Л0101113М0110014Н0110115О0111016П0111117Р1000018С1000119Т1001020У1001121Ф1010022Х1010123Ц1011024Ч1011125Ш1100026Щ1100127Ъ1101028Ы1101129Ь1110030Э1110131Ю1111032Я11111
Стрілець
| 10100000 | 01010101 | 10010110 | 11001101 | 00000000
Ключ:
| 00000000 | 00000000 | 00000000:00000000:00000000:00000000:00000000
S101234567891011121314151514131211109876543210
S201234567891011121314151234567891011121314150
Шифрування. 1 частина
10001100 10100000
± К1
00000000
?
10100000
? Sблок
10 0
1 Травня
01010001 зрушення на 2
01000101
±
11001001
?
10100000 11001001
± К2
00000000
?
11001001
? Sблок...