Стандарт шифрування DES - Программирование, компьютеры и кибернетика лабораторная работа

Стандарт шифрування DES - Программирование, компьютеры и кибернетика лабораторная работа



































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


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.


Мета роботи - опанувати методику шифрування алгоритмами збивання. На прикладі DES здійснити шифрування. Усвідомити сильні сторони в застосуванні даного методу шифрування.
Алгоритм DES був державним стандартом США і здійснює шифрування 64-бітових блоків даних за допомогою 64-бітового ключа. Процес шифрування полягає в початковій перестановці бітів 64-бітового блоку і 16 циклах шифрування, а розшифрування - 16 циклах розшифрування і у кінцевій перестановці бітів.
Слід зазначити, що всі таблиці, що приводяться, є стандартними і повинні включатися в реалізацію алгоритму DES у незмінному вигляді. Усі перестановки і коди в таблицях підібрані розроблювачами таким чином, щоб максимально заважати процесу дешифрування шляхом підбору ключа.
Підключ - деяка ключова інформація, яка отримується з основного ключа шифрування. На кожному раунді використовується нове значення підключа K i (довжиною 48 біт), яке обчислюється з початкового 64-бітового ключа K з 8 бітами контролю парності, розташованими в позиціях 8,16,24,32,40,48,56,64. Для вилучення контрольних бітів і підготовки ключа до роботи використовується функція PC1 первісної підготовки ключа. Докладно процес одержання підключей показано на рис 1.1.
Результат перетворення PC1 (K) розбивається на дві половини C 0 і D 0 по 28 біт кожна. Перші чотири рядки матриці PC1 визначають, як вибираються біти послідовності C 0, останні чотири рядки - послідовності D 0 . Для генерації послідовностей не використовуються біти 8,16,24,32,40,48,56 і 64 ключа шифру. Таким чином, у дійсності ключ шифру є 56-бітовим.
Після визначення С 0 і D 0 рекурсивно визначаються С i і D i , i = 1, 2,…, 16.
Для цього застосовуються операції циклічного зрушення вліво на один чи два біти в залежності від номера кроку раунду, як показано в таблиці, що приведена в додатку. Ключ K i , обумовлений на кожнім кроці раунду, є результатом вибору конкретних бітів з 56-бітової послідовності С i D i , і їхньої перестановки згідно з таблицею PC2, яка наведена в додатку. Іншими словами, ключ K i =PC2 (C i D i ) [17].


Рис. 1. Цикл отримання підключів для кожного раунду
Процес шифрування виглядає в такий спосіб. Нехай з файлу вхідного тексту був прочитаний черговий 64-бітовий (8-байтовий) блок T. Цей блок T обробляється за допомогою матриці початкової перестановки IP: біти вхідного блоку (64 біта) переставляються відповідно до матриці IP [2]. Отримана послідовність бітів розділяється на 2 послідовності: L 0-ліві старші біти, R 0-праві молодші біти, кожна з яких містить 32 біта. Потім виконується ітеративний процес шифрування, що складається з 16 раундів. (рис 1.2).


Рис. 2. Структурна схема алгоритму DES
Нехай T i - результат i-ого раунду:
де L i - перші 32 біта послідовності, R i - останні 32 біта послідовності. Тоді результат i-ого раунду описується наступними формулами:
R i =L i-1 xor f (R i-1 , Ki), i=1,2,3, …, 16
Функція f називається функцією шифрування. Її аргументами є послідовність R i-1 , одержувана на попередньому кроці раунду, і 48-бітовий підключ K i , що є результатом перетворень 64-бітового ключа шифру K.
На останньому кроці раунду одержують послідовності R 16 і L 16 , що об'єднуються в 64-бітову послідовність - здійснюється відновлення позицій бітів за допомогою матриці зворотної перестановки IP -1 [17]. Елементи матриць IP і IP -1 зв'язані між собою.
Тепер розглянемо, що ховається під перетворенням, позначеним літерою f . Для обчислення значення функції f використовуються:
- функція E (розширення 32 біт до 48);
- функція S 1 , S 2 , …, S 8 (перетворення 6-бітового числа в 4-бітове);
- функція P (перестановка бітів у 32-бітовій послідовності).
Приведемо визначення цих функцій і процес шифрування більш докладно.
1. Функція розширення E приймає блок з 32 біт і породжує блок з 48 біт, відповідно до матриці E.
2. Отриманий результат складається по модулю 2 (операція XOR) з поточним значенням ключа K i і потім розбивається на вісім 6-бітових блоків B 1 , B 2 , …, B 8 …
3. Далі кожний з цих блоків використовується як номер елемента у блоках S 1 , S 2 , …, S 8 , що мають 4-бітові значення. Нехай на вхід функції S j надходить 6-бітовий блок B j =b 1 b 2 b 3 b 4 b 5 b 6 , тоді двохбітове число b 1 b 6 указує номер рядка матриці, а чотирьохбітове число b 2 b 3 b 4 b 5 - номер стовпця в наступній таблиці.
Сукупність 6-бітових блоків B 1 , B 2 , …, B 8 забезпечує вибір чотирьохбітового елемента в кожній з функцій S 1 , S 2 , …, S 8 … У результаті одержуємо S 1 (B 1 ) S 2 (B 2 ) … S 8 (B 8 ), або 32-бітовий блок (оскільки матриці S j містять 4-бітові елементи).
4. Цей 32-бітовий блок перетвориться за допомогою функції перестановки бітів P. Таким чином, функція шифрування f (R i-1 , K i )=P (S 1 (B 1 ) S 2 (B 2 ) … S 8 (B 8 ))…
5. Далі випливає додавання по модулю 2 лівого підблока й результату перетворення правого підблока.
Процес розшифровування даних є інверсним стосовно процесу шифрування. Усі дії повинні бути виконані в зворотному порядку. Це означає, що дані, що розшифровуються, спочатку переставляються відповідно до матриці IP -1 , а потім над послідовністю бітів R 16 L 16 виконуються ті ж дії, що й у процесі шифрування, але в зворотному порядку.
Ітеративний процес розшифрування може бути описаний наступними формулами:
L i-1 =R i xor f (L i , Ki), i=1,2,3, …, 16. R 16 L 16
Таким чином, для процесу розшифрування з переставленим вхідним блоком R 16 L 16 на першому раунді використовується ключ K 16 , на другому раунді - K 15 і т.д. На 16-ому раунді використовується ключ K 1 . на останньому кроці останнього раунду будуть отримані послідовності L 0 і R 0 , що конкатенуються (об'єднуються) в 64-бітову послідовність L 0 R 0 . Потім у цій послідовності 64 біта переставляються відповідно до матриці IP. Результат такого перетворення - вихідна послідовність бітів. (див. рис. 1.2.)
Основні режими роботи алгоритму DES. Алгоритм DES дозволяє безпосередньо перетворювати 64 - б ітовий вхідний відкритий текст у 64 - б ітовий вихідний шифрований текст, однак дані рідко обмежуються 64 розрядами. Щоб скористатися алгоритмом DES для рішення різноманітних криптографічних задач, розроблені чотири робочі режими:
електронна кодова книга ЕСВ (Electronic Code Book);
зчеплення блоків шифру СВС (Cipher Block Chaining);
зворотний зв'язок по шифртексту СРВ (Cipher Feed Back);
зворотний зв'язок по виходу OFB (Output Feed Back ) [3].
Режим «Електронна кодова книга». Довгий файл розбивають на 64 - б ітові відрізки (блоки) по 8 байтів. Кожний з цих блоків шифрують незалежно з використанням того ж самого ключа шифрування. Найбільша перевага цього режиму - простота реалізації. Недолік - відносно слабка стійкість проти кваліфікованих криптоаналітиків. Через фіксований характер шифрування при обмеженій довжині блоку (64 біта) можливе проведення криптоаналізу « зі словником » . Блок такого розміру може повторитися в повідомленні унаслідок великої розмірності тексту. Це приводить до того, що ідентичні блоки відкритого тексту в повідомленні будуть представлені ідентичними блоками шифротексту, що дає криптоаналітику деяку інформацію про зміст повідомлення [2].
Режим «Зчеплення блоків шифру». У цьому режимі вхідний файл М розбивається на 64 - б ітові блоки: М=M 1 M 2 … M n . Перший блок M 1 складається по модулю 2 з 64 - б ітовим початковим вектором ( IV) , що змінюється щодня і тримається в секреті. Отримана сума потім шифрується з використанням ключа DES. Отриманий 64 - б ітовий шифр C 1 складається по модулю 2 із другим блоком тексту, результат шифрується і отримується другий 64 - б ітовий шифр С 2 , і т.д. Процедура повторюється доти, доки не будуть оброблені всі блоки тексту. Таким чином, для всіх i = 1 … n (n - число блоків) результат шифрування C i визначається у такий спосіб: С i =DES(M i xor С i-1 ), де С 0 = IV - п очаткове значення шифру, що дорівнює початковому вектору ініціалізації. Очевидно, що останній 64 - б ітовий блок шифротексту є функцією секретного ключа, початкового вектора і кожного біта відкритого тексту незалежно від його довжини. Цей блок шифротексту називають кодом аутентифікації повідомлення (КАП). Код КАП може бути легко перевірений одержувачем, що володіє секретним ключем і початковим вектором, шляхом повторення процедури, виконаної відправником. Перевага даного режиму в тому, що він не дозволяє накопичуватися помилкам при передачі. Блок М, є функцією тільки С i-1 і C i . Тому помилка при передачі приведе до втрати тільки двох блоків вихідного тексту [2].
Режим «Зворотний зв'язок за шифром». У цьому режимі розмір блоку може відрізнятися від 64 біт. Файл, що підлягає шифруванню, зчитується послідовними блоками довжиною k бітів k=1 … 64 ). Вхідний блок (64 - б ітовий) спочатку містить вектор ініціалізації, вирівняний по правому краю. Припустимо, що в результаті розбивання на блоки ми одержали n блоків довжиною k бітів кожний (залишок дописується нулями чи пробілами). Тоді для будь-якого i=1 … n блок шифротексту С i =M i xor P i-1 , де P i-1 позначає k старших бітів попереднього зашифрованого блоку. Ці k старших бітів , що вже використані при шифруванні, відкидаються і вхідний блок зсовується на k бітів. Для відновлення зашифрованих даних P i-1 і С i , відкритий текст обчислюється аналогічним чином М i =С i xor P i-1 [2].
Режим «Зворотний зв'язок по виходу». Цей режим теж використовує змінний розмір блоку і регістр зсуву , що ініціюється (набуває початкового значення) так само, як у режимі СРВ, а саме - вхідний блок спочатку містить вектор ініціалізації IV, вирівняний по правому краю. При цьому, для кожного сеансу шифрування даних необхідно використовувати новий початковий стан регістра, що повинний пересилатися по каналу відкритим текстом. Покладемо М = M 1 М 2 … М n . Для всіх i = 1 … n С i =М i xor Р i , де Р i - старші k бітів операції DES (C i-1 ).
На відміну від режиму зворотного зв'язку по шифру, відновлення регістра зсуву здійснюється шляхом відкидання старших k бітів і дописування їх праворуч відносно Р 1 [13].
Функція PC1 первісної підготовки ключа
Таблиця 2 - Отриманий за допомогою функції РС1 регистр C 0
Таблиця 3 - Отриманий за допомогою функції РС1 регистр D 0
Таблиця 4 - Отриманий за допомогою зсуву вліво на 1біт регистр C 1
Таблиця 5 - Отриманий за допомогою зсуву вліво на 1біт регистр D 1
Таблиця 6 - Отриманий за допомогою функції РС2 підключ К 1
11000110 00000110 11000011 10010001 01101010 00110110 01110001 11000100
Таблиця 8 - Старші біти шифротексту отримані за допомогою функції IP L 0
Таблиця 9 - Молодші біти шифротексту отримані за допомогою функції IP R 0
Таблиця 10 - Розширення молодших бітів шифротексту за допомогою функції E R 0
Таблиця 11 - XOR розширеного R 0 та К 1
Таблиця 12 - Перетворення XOR розширеного R 0 та К 1 функцією S
Таблиця 13 - Результат роботи функції S
Таблиця 14 - Результат роботи функції P
Висновки: В результаті виконання лабораторної роботи опановано методику шифрування алгоритмами збивання. На прикладі DES виконано перший раунд шифрування.
Історія виникнення та розвиток методів шифрування. Особливості розробки програми, що виконує шифрування за допомогою доповнювального модуля, який надає доступ до самої програми. Вибір ефективного методу шифрування даних. Розробка відповідного інтерфейсу. курсовая работа [1,9 M], добавлен 21.07.2011
Основи технології запису на оптичні диски. Довготривале зберігання інформації на оптичних носіях. Дослідження існуючих програмних і технічних засобів шифрування даних. Можливі рішення проблем і попередження злому. Програмні засоби шифрування даних. дипломная работа [4,0 M], добавлен 27.01.2012
Спосіб шифрування, в якому для шифрування і дешифрування застосовується один криптографічний ключ. Класифікація симетричних криптоалгоритмів. Стандарт блочних шифрів AES. Порівняння з асиметричними криптосистемами. Скремблер: переваги та недоліки. презентация [73,3 K], добавлен 19.08.2013
Основи криптосистем та їх використання. Шифрування методом гамування, його зміст, прийоми та етапи реалізації. Вимоги до програмного продукту, його структура та принципи роботи, схеми алгоритму, вимоги до функціональних можливостей. Лістинг програми. курсовая работа [245,5 K], добавлен 25.08.2014
Вивчення особливості програмування додатків на мові C++ Builder. Шифрування повідомлення методом перестановки букв за маршрутами типу гамільтонський. Огляд існуючих аналогів. Розгляд необхідних вимог до конфігурації електронно-обчислювальної машини. контрольная работа [1,2 M], добавлен 24.07.2014
Відомі підходи до реалізації потокового шифрування даних. Регістр зсуву з оберненими зв’язками. Комбінуючий та фільтруючий генератор. Потоковий шифр Alpha1. Розробка структурної схеми алгоритму шифрування Alpha1. Розробка блоку керування пристрою. курсовая работа [185,6 K], добавлен 09.04.2013
Види секретної інформації та методи захисту. Тип і об’єм вхідних даних. Програмна реалізація системи алгоритму шифрування зі стисненням. Призначення та опис програмного продукту Export. Алгоритми захисту зберігання та обміну секретною інформацією. дипломная работа [1,1 M], добавлен 19.09.2012
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Стандарт шифрування DES лабораторная работа. Программирование, компьютеры и кибернетика.
Курсовая работа: Законодавство про охорону праці та правила охорони праці
Титульный Лист Реферата Пгу
Реферат: Изобразительное искусство как объект авторского права
Контрольная работа по теме Этиловый спирт в фармацевтической промышленности
Практика В Школе Заполненный Дневник
Сочинение На Тему Романа Онегина
Сочинение По Сказке Барышня Крестьянка
Курсовая работа: Управление организация и планирование в менеджменте
Сочинение Дубровский Благородный Дворянин
Контрольная работа по теме Организация социального обслуживания пожилых людей на дому
Как Украсть Информацию Реферат 7 Класс
Сочинения Поэтов
Сочинение Утро В Сосновом
Курсовая работа по теме История бухгалтерского учёта в СССР
Реферат Принципы Культивирования Микроорганизмов
Практическая Работа В Университете
Рамка Для Курсового Проекта
Реферат: Курс лекций по Логистике
Социологический подход к исследованию преступности (сущность, научное и практическое значение)
Социальные Последствия Безработицы Реферат
Конституційно-правовий статус політичних партій в Україні - Политология реферат
Административно-правовое регулирование деятельности нотариата в Республике Беларусь - Государство и право курсовая работа
Стиль "українське бароко" (17-18 ст.), зокрема в архітектурі - Культура и искусство реферат


Report Page