алгоритми шифрування

Доброго времени суток шановний користувач. У цій статті ми поговоримо на такі теми, як: Алгоритми шифрування. Симетричний алгоритм шифрування основні поняття.

Більшість засобів захисту інформації базується на використанні криптографічних шифрів і процедур шифрування і розшифрування.

Відповідно до стандарту шифрування ГОСТ 28147-89 під шифром розуміють сукупність оборотних перетворень безлічі відкритих даних на безліч зашифрованих даних, що задаються ключем і алгоритмом криптографічного перетворення.

Ключ - це конкретне секретне стан деяких параметрів алгоритму криптографічного перетворення даних. що забезпечує вибір тільки одного варіанту з усіх можливих для даного алгоритму. У симетричних криптоалгоритмах для шифрування і розшифрування повідомлення використовується один і той же блок інформації (ключ). Хоча алгоритм впливу на передані дані може бути відомий стороннім особам, але він залежить від секретного ключа, яким повинні володіти тільки відправник і одержувач. Симетричні криптоалгоритми виконують перетворення невеликого блоку даних (1 біт або 32-128 біт) в залежності від секретного ключа таким чином, що прочитати вихідне повідомлення можна, лише знаючи цей секретний ключ.

Симетричний алгоритм шифрування.

Симетричні криптосистеми дозволяють на основі симетричних криптоалгоритмів кодувати і декодувати файли довільної довжини. Залежно від розміру блоку інформації симетричні криптоалгоритми діляться на блокові шифри і потокові шифри.

Для блокових шифрів одиницею шифрування є блок з декількох байтів. Результат шифрування залежить від усіх вихідних байтів цього блоку. Блочне шифрування застосовується при пакетної передачі інформації і кодування файлів. Блокові шифри шифрують цілі блоки інформації (від 4 до 32 байт) як єдине ціле - це значно збільшує стійкість перетворень до атаки повним перебором і дозволяє використовувати різні математичні та алгоритмічні перетворення.

Для поточних шифрів одиницею шифрування є один біт або один байт. Результат зазвичай залежить від шифрування минулого раніше вхідного потоку. Ця схема шифрування застосовується в системах передачі потоків інформації, тобто в тих випадках, коли передача інформації починається і закінчується в довільні моменти часу.

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

С = ЄК (М),
М = DK (C),
де М - вихідний (відкритий) блок даних;
З - зашифрований блок даних.

Ключ До є параметром симетричного блокового криптоалгоритму і являє собою блок двійковій інформації фіксованого розміру. Вихідний М і зашифрований З блоки даних також мають рівну фіксовану розрядність (але не обов'язково рівну довжині ключа К).

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

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

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

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

На думку Клода Шеннона, для отримання стійких блокових шифрів необхідно використовувати два спільних принципу: розсіювання та перемішування.

Примітка

Розсіювання є поширення впливу одного знака відкритого тексту на багато знаків шифротекста, що дозволяє приховати статистичні властивості відкритого тексту.

Примітка

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

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

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

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

Всі дії, вироблені блоковим криптоалгоритмом над даними, засновані на тому факті, що перетворений блок може бути представлений у вигляді цілого невід'ємного числа з діапазону, відповідного його розрядності. Наприклад, 32-бітовий блок даних можна інтерпретувати як число з діапазону 0 - 4294967295. Крім того, блок, розрядність якого є «ступінь двійки», можна трактувати як зчеплення декількох незалежних невід'ємних чисел з меншого діапазону (вказаний вище 32-бітовий блок можна також представити у вигляді зчеплення двох незалежних 16-бітових чисел з діапазону 0 - 65535 або в вигляді зчеплення чотирьох незалежних 8-бітових чисел з діапазону 0 - 255).

Над цими числами блоковий криптоалгоритм виробляє за певною схемою наступні дії:

1. Математичні функції:
- складання X '= X + V;
- «виключає АБО» X '= X xor V;
- множення по модулю 2N + 1 X '= (X * V) mod (2N + 1);
- множення по модулю 2N X '= (X * V) mod 2N.
2. Бітові зрушення:
- арифметичний зрушення вліво X '= X shl V;
- арифметичний зрушення вправо X '= X shr V;
- циклічний зсув вліво X '= X rol V;
- циклічний зсув вправо X '= X ror V.
3. Табличні підстановки:
- S-box (англ. Substitute) X '= Table [X, V].

Як параметр V для будь-якого з цих перетворень може використовуватися:

  • фіксоване число (наприклад, X '= X + 125).
  • число, що отримується з ключа (наприклад, X '= X + F (K)).
  • число, що отримується з незалежної частини блоку (наприклад, X2 '= X2 + F (X1)).

Примітка

Останній варіант використовується в схемі, яку називають мережею Фейстеля (по імені її творця).

Мережа Фейстеля.

Послідовність виконуваних над блоком операцій, комбінації перерахованих вище варіантів V і самі функції F і складають відмінні риси конкретного симетричного блокового криптоалгоритму.

Характерною ознакою блокових алгоритмів є багаторазове і непряме використання матеріалу ключа. Це визначається в першу чергу вимогою неможливості зворотного декодування щодо ключа при відомих вихідному і зашифрованому текстах. Для вирішення цього завдання в наведених вище перетвореннях найчастіше використовується не саме значення ключа або його частини, а деяка, іноді необоротна функція від матеріалу ключа. Більш того, в подібних перетвореннях один і той же блок або елемент ключа використовується багаторазово. Це дозволяє при виконанні умови оборотності функції щодо величини X зробити функцію незворотною щодо ключа K.

Мережею Фейстеля називається схема (метод) оборотних перетворень тексту, при якому значення, обчислене від однієї з частин тексту, накладається на інші частини. Мережа Фейстеля є модифікацією методу змішування поточної частини шифруемого блоку з результатом деякої функції, обчисленої від іншої незалежної частини того ж блоку. Ця методика забезпечує виконання важливого вимоги про багаторазовому використанні ключа і матеріалу вихідного блоку інформації. Часто структуру мережі виконують таким чином, щоб використовувати для шифрування і розшифрування один і той же алгоритм - відмінність полягає тільки в порядку використання матеріалу ключа.

На основі мережі Фейстеля побудовані американський стандарт шифрування даних DES і наш ГОСТ 28147-89.

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

Поділися інформацією з друзями в:

У цій статті ми поговоримо на такі теми, як: Алгоритми шифрування, Симетричний алгоритм шифрування основні поняття, блоковий алгоритм і торкнемося безліч інших, пов'язаних з цим тем.

Можливо вам буде цікаво:

У цій статті ми поговоримо на такі теми, як процеси і потоки, дискриптори процесу, поговоримо про сінзронізаціі потоків і торкнемося всіма улюблений диспетчер задач windows.

У даній статті, ми поговоримо на такі теми, як віртуальна пам'ять, і розглянемо основні методи розподілу віртуальної пам'яті в операційних системах.

сьогодні читають

Отримай 1500 Gold безкоштовно в World of tanks при покупці антивіруса
Wargaming - і "Лабораторія Касперського" оголосили про початок спільної акції. Тепер при покупці ліцензійного програмного забезпечення Kaspersky Internet Security, Kaspersky CRYSTAL, а також Kaspersky ONE.

Безкоштовна trial версія Diablo III - вже доступна для скачування
Вже як три місяці ми насолоджуємося довгоочікуваним релізом Diablo III. Щасливі володарі ліцензії, так само отримали в комплекті ваучер, який дає можливість грати в Starter Edition версію.

GTA San Andreas - модифікована движком GTA 4 (скачати мод)
Шанувальники - легендарної серії ігор Grand Theft Auto вирішили розробити глобальний мод, GTA San Andreas буде поставлена ​​на движок від GTA 4. Посилання для скачування мода ви знайдете в кінці цієї статті.

Як скачати музику з контакту на комп'ютер - програма VKSaver 3.1
У цій статті ми відповімо на питання: як скачати музику з контакту на комп'ютер абсолютно безкоштовно, а використовувати для цього ми будемо безкоштовну програму - VKSaver 3.1


Схожі статті