Відмінності між версіями «Симетричні криптосистеми»

м (Редагування користувача 220.181.66.163 (обговорення) відкинуті до версії користувача 210.48.147.2)
 
(Не показана 31 проміжна версія 6 користувачів)
Рядок 1: Рядок 1:
 
<center>
 
<center>
 
{|
 
{|
|{{Презентація доповіді |title=[http://elartu.tstu.edu.ua/retrieve/2318/ Симетричні криптосистеми]}}
+
|{{Презентація доповіді |title=[http://dspace.tstu.edu.ua/handle/123456789/442 Симетричні криптосистеми]}}
|{{Невідредаговано}}
 
 
|}  
 
|}  
 
</center>
 
</center>
Рядок 8: Рядок 7:
  
 
== Симетричні криптосистеми ==
 
== Симетричні криптосистеми ==
Симетричні криптосистеми – спосіб шифрування, в якому для шифрування і дешифрування застосовується один і той же криптографічний ключ. Ключ алгоритму повинен зберігатися в секреті обома сторонами. До винаходу схеми асиметричного шифрування єдиним існуючим способом було симетричне шифрування.
+
Симетричні криптосистеми – спосіб шифрування, в якому для шифрування і дешифрування застосовується один і той же криптографічний ключ. Ключ алгоритму повинен зберігатися в секреті обома сторонами.  
Алгоритми шифрування і дешифрування даних широко застосовуються в комп'ютерній техніці в системах приховування конфіденційної і комерційної інформації від не коректного використання сторонніми особами. Головним принципом у них є умова, що особа яка приймає повідомлення, заздалегідь знає алгоритм шифрування, а також ключ до повідомлення, без якого інформація є всього лише набір символів, що не мають сенсу. Симетричні криптоалгоритми виконують перетворення невеликого (1 біт або 32-128 біт) блоку даних в залежності від ключа таким чином, що прочитати оригінал повідомлення можна тільки знаючи цей секретний ключ.
+
До винаходу схеми асиметричного шифрування єдиним існуючим способом було симетричне шифрування.
 +
 
 +
Алгоритми шифрування і дешифрування даних широко застосовуються в комп'ютерній техніці в системах приховування конфіденційної і комерційної інформації від не коректного використання сторонніми особами. Головним принципом у них є умова, що особа яка приймає повідомлення, заздалегідь знає алгоритм шифрування, а також ключ до повідомлення, без якого інформація є всього лише набір символів, що не мають сенсу.  
 +
 
 +
Симетричні криптоалгоритми виконують перетворення невеликого (1 біт або 32-128 біт) блоку даних в залежності від ключа таким чином, що прочитати оригінал повідомлення можна тільки знаючи цей секретний ключ.
  
 
== Класифікація симетричних криптоалгоритмів ==
 
== Класифікація симетричних криптоалгоритмів ==
Криптографічних алгоритмів існує безліч. В загальному вони призначені для захисту інформації. Симетричні криптоалгоритми відносяться до криптоалгоритмів з ключем.  Вони поділяються на:
+
Криптографічних алгоритмів існує безліч. В загальному вони призначені для захисту інформації. Симетричні криптоалгоритми відносяться до криптоалгоритмів з ключем.   
 +
 
 +
Вони поділяються на:
 
# Потокові шифри – побітна обробка інформації. Шифрування і дешифрування в таких схемах може обриватися в довільний момент часу, як тільки з'ясовується, що потік що передається перервався, і також відновлюється при виявленні факту продовження передачі.  
 
# Потокові шифри – побітна обробка інформації. Шифрування і дешифрування в таких схемах може обриватися в довільний момент часу, як тільки з'ясовується, що потік що передається перервався, і також відновлюється при виявленні факту продовження передачі.  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.1 Скремблер – це набір біт, які міняються на кожному кроці по визначеному алгоритму. Після виконання кожного наступного кроку на його виході появляється шифруючий біт (0 або 1), який накладається на поточний біт інформаційного потоку операцією XOR.
+
## Скремблер – це набір біт, які міняються на кожному кроці по визначеному алгоритму. Після виконання кожного наступного кроку на його виході появляється шифруючий біт (0 або 1), який накладається на поточний біт інформаційного потоку операцією XOR.
 +
# Блочні шифри – перетворення блоку вхідної інформації фіксованої довжини. і отримують результуючий блок того ж обсягу. Схема застосовується при пакетній передачі інформації та кодування файлів.
 +
## Шифр ТЕА - один із самих простих в реалізації, але стійких криптоалгоритмів;
 +
## Мережа Фейштеля – метод оборотних перетворень тексту, при якому значення, обчислені від однієї з частин тексту, накладається на інші частини. Часто структура мережі виконується таким чином, що для шифрування і дешифрування використовується один і той же алгоритм - різниця полягає лише в порядку використання матеріалу ключа.
 +
## Стандарт AES – стандарт блочних шифрів США з 2000 року.
  
# Блочні шифри – перетворення блоку вхідної інформації фіксованої довжини. і отримують результуючий блок того ж обсягу. Схема застосовується при пакетній передачі інформації та кодування файлів.          
+
Njpogh  <a href="http://xlyktaofwott.com/">xlyktaofwott</a>, [url=http://baravnjwpkxw.com/]baravnjwpkxw[/url], [link=http://yxznsalkxmcg.com/]yxznsalkxmcg[/link], http://bvqhnoesydln.com/
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1 Шифр ТЕА - один із самих простих в реалізації, але стійких криптоалгоритмів;
+
=== Блочні шифри ===
 +
На сьогоднішній день розроблено досить багато стійких блокових шифрів. Практично всі алгоритми використовують для перетворень певний набір бієктивних (оборотних) математичних перетворень.
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2 Мережа Фейштеля – метод оборотних перетворень тексту, при якому значення, обчислені від однієї з частин тексту, накладається на інші частини. Часто структура мережі виконується таким чином, що для шифрування і дешифрування використовується один і той же алгоритм - різниця полягає лише в порядку використання матеріалу ключа.
+
Характерною особливістю блокових криптоалгоритмів є той факт, що в ході своєї роботи вони виробляють перетворення блоку вхідної інформації фіксованої довжини і отримують результуючий блок того ж обсягу, але недоступний для прочитання стороннім особам, що не володіють ключем.  
  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3 Стандарт AES – стандарт блочних шифрів США з 2000 року.
+
Таким чином, схему роботи блочного шифру можна описати функціями
 +
*Z = EnCrypt (X, Key)
 +
*X = DeCrypt (Z, Key)
  
=== Потокові шифри ===
+
Ключ Key є параметром блокового криптоалгоритму і представляє собою деякий блок двійкової інформації фіксованого розміру. Вихідний (X) і зашифрований (Z) блоки даних також мають фіксовану розрядність, рівну між собою, але необов'язково рівну довжині ключа.  
Головною відмінною рисою потокових шифрів є побітна обробка інформації. Як наслідок, шифрування і дешифрування в таких схемах може обриватися в довільний момент часу, як тільки з'ясовується, що потік що передається перервався, і також відновлюється при виявленні факту продовження передачі. Подібна обробка інформації може бути представлена у вигляді автомата, який на кожному своєму такті:
 
* генерує за будь-яким законом один біт шифрувальної послідовності;
 
* яким-небудь оборотним перетворенням накладає на один біт відкритого потоку даний шифрувальний біт, отримуючи зашифрований біт.
 
Всі сучасні потокові шифри діють за даною схемою. Біт шифрування, що виникає на кожному новому кроці автомата, як втім і цілий набір таких біт, прийнято позначати символом γ (гамма), а самі потокові шифри отримали через це другу назву - шифри гамування.
 
Шифри гамування набагато швидші за своїх найближчих конкурентів - блокових шифрів - у тому випадку, якщо потокове шифрування реалізується апаратно. Базові схеми шифрів гамування влаштовані просто i як би "самі просяться" в апаратну реалізацію - це й не дивно, якщо взяти до уваги історію та основну мету їх створення. У тих же випадках, коли з яких-небудь причин дані алгоритми реалізовані програмно, їх швидкість порівняна з блочними шифрами, а іноді і набагато нижче за них.
 
Трьома основними компонентами, над якими обчислюється функція, що породжує гаму, є:
 
*ключ;
 
*номер поточного кроку шифрування;
 
*прилеглі від поточної позиції біти вихідного і / або зашифрованого тексту.
 
Ключ є необхідною частиною гаммуючого шифру. Якщо ключ і схема породження гами не є секретним, то поточний шифр перетворюється на звичайний перетворювач-кодер - скремблер.
 
  
==== Скремблер ====
+
Блокові шифри є основою, на якій реалізовані практично всі криптосистеми. Методика створення ланцюжків із зашифрованих блочними алгоритмами байт дозволяє шифрувати ними пакети інформації необмеженої довжини. Таку властивість блокових шифрів, як швидкість роботи, використовується асиметричними криптоалгоритмами, повільними за своєю природою. Відсутність статистичної кореляції між бітами вихідного потоку блочного шифру використовується для обчислення контрольних сум пакетів даних і в хешуванні паролів.  
Скремблер (від англ. Scramble - перемішувати, збивати) - це набір біт, які міняються на кожному кроці по визначеному алгоритму.
 
Останнім часом сфера застосування скремблюючих алгоритмів значно скоротилася. Це пояснюється в першу чергу зниженням обсягів побітної послідовної передачі інформації, для захисту якої були розроблені дані алгоритми. Практично повсюдно в сучасних системах застосовуються мережі з комутацією пакетів, для підтримки конфіденційності якій використовуються блокові шифри. А їх крипостійкість перевершує, і часом досить значно, крипостійкість скремблера.
 
Суть скремблювання полягає в побітній зміні проходящого через систему потоку даних. Практично єдиною операцією, яка використовується у скремблері є XOR - "побітне виключення АБО". Паралельно проходження інформаційного потоку в скремблер за певним правилом генерується потік біт - кодуючий потік. Як пряме, так і зворотне шифрування здійснюється накладенням по XOR кодує послідовності на вихідну.
 
Генерація кодуючої послідовності біт проводиться циклічно з невеликого початкового об'єму інформації - ключа за наступним алгоритмом. З поточного набору біт вибираються значення певних розрядів і складаються з XOR між собою. Всі розряди зсуваються на 1 біт, а тільки що отримане значення ( "0" або "1") поміщається в наймолодший розряд який звільнився. Значення, що знаходилося в самому старшому розряді до зсуву, додається у кодує послідовність, стаючи черговим її бітом (рис.1.2).
 
З теорії передачі даних криптографія запозичила для запису подібних схем двійкову систему запису. По ній зображений на малюнку скремблер записується комбінацією "100112" - одиниці відповідають розрядами, з яких знімаються біти для формування зворотного зв'язку.
 
  
=== Блочні шифри ===
 
На сьогоднішній день розроблено досить багато стійких блокових шифрів. Практично всі алгоритми використовують для перетворень певний набір бієктивних (оборотних) математичних перетворень.
 
Характерною особливістю блокових криптоалгоритмів є той факт, що в ході своєї роботи вони виробляють перетворення блоку вхідної інформації фіксованої довжини і отримують результуючий блок того ж обсягу, але недоступний для прочитання стороннім особам, що не володіють ключем. Таким чином, схему роботи блочного шифру можна описати функціями Z = EnCrypt (X, Key) і X = DeCrypt (Z, Key)
 
Ключ Key є параметром блокового криптоалгоритму і представляє собою деякий блок двійкової інформації фіксованого розміру. Вихідний (X) і зашифрований (Z) блоки даних також мають фіксовану розрядність, рівну між собою, але необов'язково рівну довжині ключа.
 
Блокові шифри є основою, на якій реалізовані практично всі криптосистеми. Методика створення ланцюжків із зашифрованих блочними алгоритмами байт дозволяє шифрувати ними пакети інформації необмеженої довжини. Таку властивість блокових шифрів, як швидкість роботи, використовується асиметричними криптоалгоритмами, повільними за своєю природою. Відсутність статистичної кореляції між бітами вихідного потоку блочного шифру використовується для обчислення контрольних сум пакетів даних і в хешуванні паролів.
 
Наступні розробки всесвітньо визнані стійкими алгоритмами і публікацій про універсальних методи їх злому в засобах масової інформації на момент створення матеріалу не зустрічалося.
 
 
Криптоалгоритм іменується ідеально стійким, якщо прочитати зашифрований блок даних можна тільки перебравши всі можливі ключі, до тих пір, поки повідомлення не виявиться осмисленим. Так як по теорії ймовірності шуканий ключ буде знайдено з ймовірністю 1 / 2 після перебору половини всіх ключів, то на злом ідеально стійкого криптоалгоритму з ключем довжини N потрібно в середньому 2N-1 перевірок. Таким чином, у загальному випадку стійкість блочного шифру залежить тільки від довжини ключа і зростає експоненціально з її зростанням. Навіть припустивши, що перебір ключів проводиться на спеціально створеній багатопроцесорної системі, в якій завдяки діагональному паралелізму на перевірку 1 ключа йде тільки 1 такт, то на злом 128 бітного ключа сучасній техніці буде потрібно не менше 1021 років. Звичайно, все сказане стосується тільки ідеально стійких шифрів, якими, наприклад, з великою часткою впевненості є наведені в таблиці вище алгоритми.  
 
Криптоалгоритм іменується ідеально стійким, якщо прочитати зашифрований блок даних можна тільки перебравши всі можливі ключі, до тих пір, поки повідомлення не виявиться осмисленим. Так як по теорії ймовірності шуканий ключ буде знайдено з ймовірністю 1 / 2 після перебору половини всіх ключів, то на злом ідеально стійкого криптоалгоритму з ключем довжини N потрібно в середньому 2N-1 перевірок. Таким чином, у загальному випадку стійкість блочного шифру залежить тільки від довжини ключа і зростає експоненціально з її зростанням. Навіть припустивши, що перебір ключів проводиться на спеціально створеній багатопроцесорної системі, в якій завдяки діагональному паралелізму на перевірку 1 ключа йде тільки 1 такт, то на злом 128 бітного ключа сучасній техніці буде потрібно не менше 1021 років. Звичайно, все сказане стосується тільки ідеально стійких шифрів, якими, наприклад, з великою часткою впевненості є наведені в таблиці вище алгоритми.  
 +
 
Крім цієї умови до ідеально стійких криптоалгоритмів застосовується ще одна дуже важлива вимога, якій вони повинні обов'язково відповідати. При відомих вихідному і зашифрованому значеннях блоку ключ, яким зроблено це перетворення, можна дізнатися також лише повним перебором. Ситуації, в яких сторонньому спостерігачеві відома частина вихідного тексту зустрічаються повсюдно. Це можуть бути стандартні написи в електронних бланках, фіксовані заголовки форматів файлів, досить часто зустрічаються в тексті довгі слова або послідовності байт. У світлі цієї проблеми описане вище вимога не є нічим надмірним і також суворо виконується стійкими криптоалгоритмами, як і перший.
 
Крім цієї умови до ідеально стійких криптоалгоритмів застосовується ще одна дуже важлива вимога, якій вони повинні обов'язково відповідати. При відомих вихідному і зашифрованому значеннях блоку ключ, яким зроблено це перетворення, можна дізнатися також лише повним перебором. Ситуації, в яких сторонньому спостерігачеві відома частина вихідного тексту зустрічаються повсюдно. Це можуть бути стандартні написи в електронних бланках, фіксовані заголовки форматів файлів, досить часто зустрічаються в тексті довгі слова або послідовності байт. У світлі цієї проблеми описане вище вимога не є нічим надмірним і також суворо виконується стійкими криптоалгоритмами, як і перший.
 +
 
Таким чином, на функцію стійкого блочного шифру Z = EnCrypt (X, Key) накладаються наступні умови:  
 
Таким чином, на функцію стійкого блочного шифру Z = EnCrypt (X, Key) накладаються наступні умови:  
 
# Функція EnCrypt повинна бути оборотною.  
 
# Функція EnCrypt повинна бути оборотною.  
Рядок 57: Рядок 50:
  
 
==== Шифр ТЕА ====
 
==== Шифр ТЕА ====
 +
[[Файл:shufr_TEA.JPG|150px|thumb|right|Рисунок 2 – Схема роботи алгоритму TEA]]
 +
 
Шифр ТЕА (Tiny Encryption Algorithm) – один із самих простих в реалізації, але стійких криптоалгоритмів.  
 
Шифр ТЕА (Tiny Encryption Algorithm) – один із самих простих в реалізації, але стійких криптоалгоритмів.  
Параметри алгоритму :
+
<br>Параметри алгоритму :
Розмір блоку – 64 біта.
+
*Розмір блоку – 64 біта.
 +
*Довжина ключа – 128 біт.
 +
*В алгоритмі використана мережа Фейштеля з двома вітками в 32 біта кожна.
 +
*Функція F оборотна.
 +
 
 +
Мережа Фейштеля несиметрична через використання в якості операції накладання не виключного "АБО", а арифметичного складання.
 +
 
 +
Відмінною характеристикою криптоалгоритму ТЕА є його розмір. Простота операцій, відсутність табличних підстановок і оптимізація під 32-розрядну архітектуру процесорів дозволяє реалізувати його на мові ASSEMBLER в значно малому об’ємі коду.
 +
 
 +
Недоліком алгоритму є деяка повільність, пов’язана з необхідністю повторювати цикл Фейштеля 32 рази (це необхідно для ретельного «перемішування даних» через відсутність табличних підстановок).
 +
 
 +
==== Мережа Фейштеля ====
 +
[[Файл:mereza_Fejshtelja.JPG|150px|thumbnail|right|Рисунок 3 – Модифікована мережа Фейштеля]]
 +
 
 +
Мережею Фейштеля називається метод оборотних перетворень тексту, при якому значення, обчислені від однієї з частин тексту, накладається на інші частини. Часто структура мережі виконується таким чином, що для шифрування і дешифрування використовується один і той же алгоритм - різниця полягає лише в порядку використання матеріалу ключа.
 +
 
 +
Особливістю модифікованої мережі Фейштеля в повторному використанні даних ключа в зворотньому порядку в другій половині циклу.  Треба відзначити, що саме через таку специфіку схеми (потенційною можливістю ослаблення зашифрованого тексту зворотніми перетвореннями) її використовують в криптоалгоритмах з обережністю.
 +
 
 +
Модифікацію мережі Фейштеля для більшого числа віток використовують частіше. Це пов’язано з тим, що при великих розмірах кодуючи блоків (128 біт і більше) стає незручно працювати з математичними функціями по модулю 64 і вище. В блочних криптоалгоритмах найчастіше зустрічається мережа Фейштеля з 4-ма вітками.
 +
 
 +
Мережа Фейштеля зарекомендувала себе, як криптостійка схема і її можна знайти практично в кожному блочному шифрі.
 +
 
 +
==== Cтандарт блокових шифрів AES ====
 +
У 1998 році був оголошений відкритий конкурс на кріптостандарт США на кілька перших десятиліть XXI століття. Переможцем конкурсу був визнаний бельгійський блочний шифр Rijndael. Швидше за все він стане стандартом де-факто блокового шифрування в усьому світі.
 +
 
 +
<center> 5 кращих представників, що пройшли в "фінал" змагання конкурсу AES:
 +
 
 +
{| border="1"
 +
|'''Алгоритм'''
 +
|'''Творці'''
 +
|'''Країна'''
 +
|'''Швидкодія(asm, 200МГц)'''
 +
|-
 +
|MARS
 +
|IBM
 +
|US
 +
|8 Мбайт/с
 +
|-
 +
|RC6
 +
|R.Rivest & Co
 +
|US
 +
|12 Мбайт/с
 +
|-
 +
|Rijndael
 +
|V.Rijmen & J.Daemen
 +
|BE
 +
|7 Мбайт/с
 +
|-
 +
|Serpent
 +
|Universities
 +
|IS, UK, NO
 +
|2 Мбайт/с
 +
|-
 +
|TwoFish
 +
|B.Schneier & Co
 +
|US
 +
|11 Мбайт/с
 +
|}
 +
</center>
 +
 
 +
 
 +
== Порівняння з асиметричними криптосистемами ==
 +
В основному, симетричні алгоритми шифрування вимагають менше обчислень, ніж асиметричні. На практиці, це означає, що якісні асиметричні алгоритми в сотні або в тисячі разів повільніші за якісні симетричні алгоритми. Недоліком симетричних алгоритмів є необхідність мати секретний ключ з обох боків передачі інформації. Так як ключі є предметом можливого перехоплення, їх необхідно часто змінювати та передавати по безпечних каналах передачі інформації під час розповсюдження.
 +
 
 +
Переваги:
 +
*Швидкість (за даними Applied Cryptography - на 3 порядки вище)
 +
*Простота реалізації (за рахунок більш простих операцій)
 +
*Необхідна менша довжина ключа для порівнянної стійкості
 +
*Вивченість (за рахунок більшого віку)
 +
 
 +
Недоліки:
 +
*Складність управління ключами у великій мережі. Це означає квадратичне зростання числа пар ключів, які треба генерувати, передавати, зберігати і знищувати в мережі. Для мережі в 10 абонентів потрібно 45 ключів, для 100 вже 4950 і т. д.
 +
*Складність обміну ключами. Для застосування необхідно вирішити проблему надійної передачі ключів кожному абоненту, тому що потрібен секретний канал для передачі кожного ключа обом сторонам.
 +
 
 +
Для компенсації недоліків симетричного шифрування в даний час широко застосовується комбінована (гібридна) криптографічний схема, де за допомогою асиметричного шифрування передається сеансовий ключ, що використовується сторонами для обміну даними за допомогою симетричного шифрування.  
  
 +
Важливою властивістю симетричних шифрів є неможливість їх використання для підтвердження авторства, так як ключ відомий кожній стороні.
  
 +
== Список використаних джерел ==
 +
#[http://uk.wikipedia.org/wiki/ Криптографія.]
 +
#[http://www.citforum.ru/internet/infsecure/ Методы и средства защиты информации.] 
 +
#[http://itbezopasnost.ru/kriptografiya.html/ Симетричні криптосистеми.]
  
 +
{{Завдання:Виступ|Suhania|31 березня 2010|Симетричні криптосистеми}}
 
[[Категорія: Індивідуальні завдання виступу на семінарах з предмету "Комп'ютерні системи захисту інформації"]]
 
[[Категорія: Індивідуальні завдання виступу на семінарах з предмету "Комп'ютерні системи захисту інформації"]]
 
[[Категорія:Виступ на семінарі]]
 
[[Категорія:Виступ на семінарі]]

Поточна версія на 08:49, 24 вересня 2010

Репозиторія
Презентація доповіді на тему Симетричні криптосистеми
є розміщеною в Репозиторії.
{{{img}}}
Імя Галина
Прізвище Суханя
По-батькові Петрівна
Факультет ФІС
Група СНс-43
Залікова книжка ПКс-08-100


Симетричні криптосистеми

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

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

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

Класифікація симетричних криптоалгоритмів

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

Вони поділяються на:

  1. Потокові шифри – побітна обробка інформації. Шифрування і дешифрування в таких схемах може обриватися в довільний момент часу, як тільки з'ясовується, що потік що передається перервався, і також відновлюється при виявленні факту продовження передачі.
    1. Скремблер – це набір біт, які міняються на кожному кроці по визначеному алгоритму. Після виконання кожного наступного кроку на його виході появляється шифруючий біт (0 або 1), який накладається на поточний біт інформаційного потоку операцією XOR.
  2. Блочні шифри – перетворення блоку вхідної інформації фіксованої довжини. і отримують результуючий блок того ж обсягу. Схема застосовується при пакетній передачі інформації та кодування файлів.
    1. Шифр ТЕА - один із самих простих в реалізації, але стійких криптоалгоритмів;
    2. Мережа Фейштеля – метод оборотних перетворень тексту, при якому значення, обчислені від однієї з частин тексту, накладається на інші частини. Часто структура мережі виконується таким чином, що для шифрування і дешифрування використовується один і той же алгоритм - різниця полягає лише в порядку використання матеріалу ключа.
    3. Стандарт AES – стандарт блочних шифрів США з 2000 року.

Njpogh <a href="http://xlyktaofwott.com/">xlyktaofwott</a>, [url=http://baravnjwpkxw.com/]baravnjwpkxw[/url], [link=http://yxznsalkxmcg.com/]yxznsalkxmcg[/link], http://bvqhnoesydln.com/

Блочні шифри

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

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

Таким чином, схему роботи блочного шифру можна описати функціями

  • Z = EnCrypt (X, Key)
  • X = DeCrypt (Z, Key)

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

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

Криптоалгоритм іменується ідеально стійким, якщо прочитати зашифрований блок даних можна тільки перебравши всі можливі ключі, до тих пір, поки повідомлення не виявиться осмисленим. Так як по теорії ймовірності шуканий ключ буде знайдено з ймовірністю 1 / 2 після перебору половини всіх ключів, то на злом ідеально стійкого криптоалгоритму з ключем довжини N потрібно в середньому 2N-1 перевірок. Таким чином, у загальному випадку стійкість блочного шифру залежить тільки від довжини ключа і зростає експоненціально з її зростанням. Навіть припустивши, що перебір ключів проводиться на спеціально створеній багатопроцесорної системі, в якій завдяки діагональному паралелізму на перевірку 1 ключа йде тільки 1 такт, то на злом 128 бітного ключа сучасній техніці буде потрібно не менше 1021 років. Звичайно, все сказане стосується тільки ідеально стійких шифрів, якими, наприклад, з великою часткою впевненості є наведені в таблиці вище алгоритми.

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

Таким чином, на функцію стійкого блочного шифру Z = EnCrypt (X, Key) накладаються наступні умови:

  1. Функція EnCrypt повинна бути оборотною.
  2. Не повинно існувати інших методів прочитання повідомлення X за відомим блоку Z, окрім як повним перебором ключів Key.
  3. Не повинно існувати інших методів визначення яким ключем Key було вироблено перетворення відомого повідомлення X у повідомлення Z, окрім як повним перебором ключів.

Шифр ТЕА

Рисунок 2 – Схема роботи алгоритму TEA

Шифр ТЕА (Tiny Encryption Algorithm) – один із самих простих в реалізації, але стійких криптоалгоритмів.
Параметри алгоритму :

  • Розмір блоку – 64 біта.
  • Довжина ключа – 128 біт.
  • В алгоритмі використана мережа Фейштеля з двома вітками в 32 біта кожна.
  • Функція F оборотна.

Мережа Фейштеля несиметрична через використання в якості операції накладання не виключного "АБО", а арифметичного складання.

Відмінною характеристикою криптоалгоритму ТЕА є його розмір. Простота операцій, відсутність табличних підстановок і оптимізація під 32-розрядну архітектуру процесорів дозволяє реалізувати його на мові ASSEMBLER в значно малому об’ємі коду.

Недоліком алгоритму є деяка повільність, пов’язана з необхідністю повторювати цикл Фейштеля 32 рази (це необхідно для ретельного «перемішування даних» через відсутність табличних підстановок).

Мережа Фейштеля

Рисунок 3 – Модифікована мережа Фейштеля

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

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

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

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

Cтандарт блокових шифрів AES

У 1998 році був оголошений відкритий конкурс на кріптостандарт США на кілька перших десятиліть XXI століття. Переможцем конкурсу був визнаний бельгійський блочний шифр Rijndael. Швидше за все він стане стандартом де-факто блокового шифрування в усьому світі.

5 кращих представників, що пройшли в "фінал" змагання конкурсу AES:
Алгоритм Творці Країна Швидкодія(asm, 200МГц)
MARS IBM US 8 Мбайт/с
RC6 R.Rivest & Co US 12 Мбайт/с
Rijndael V.Rijmen & J.Daemen BE 7 Мбайт/с
Serpent Universities IS, UK, NO 2 Мбайт/с
TwoFish B.Schneier & Co US 11 Мбайт/с


Порівняння з асиметричними криптосистемами

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

Переваги:

  • Швидкість (за даними Applied Cryptography - на 3 порядки вище)
  • Простота реалізації (за рахунок більш простих операцій)
  • Необхідна менша довжина ключа для порівнянної стійкості
  • Вивченість (за рахунок більшого віку)

Недоліки:

  • Складність управління ключами у великій мережі. Це означає квадратичне зростання числа пар ключів, які треба генерувати, передавати, зберігати і знищувати в мережі. Для мережі в 10 абонентів потрібно 45 ключів, для 100 вже 4950 і т. д.
  • Складність обміну ключами. Для застосування необхідно вирішити проблему надійної передачі ключів кожному абоненту, тому що потрібен секретний канал для передачі кожного ключа обом сторонам.

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

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

Список використаних джерел

  1. Криптографія.
  2. Методы и средства защиты информации.
  3. Симетричні криптосистеми.
SeminarSpeech.png
Студент: Користувач:Suhania
Виступ відбувся: 31 березня 2010
Тема: Симетричні криптосистеми