У криптографії, режими дії (англ. modes of operation) — це математичні операції для уможливлення повторюваного і убезпеченого використання блокового шифру з одним ключем. Блоковий шифр дозволяє шифрування тільки одного блоку даних встановленої довжини. Для роботи з блоками різних довжин, дані спочатку потрібно розбити на окремі блоки встановленої даним шифром довжини. Зазвичай, останній блок треба доповнити до відповідної довжини підхожим доповненням. Режими дій описують процес шифрування кожного з цих блоків і звичайно використовують рандомізацію засновану на додатковому значені на вході, відомим як ініціалізаційний вектор, з ціллю зробити це безпечно.
Режими дії первісно були розроблені для шифрування й автентифікації. Історично, режими шифрування широко вивчались зважаючи на їх властивості поширення помилок при різних сценаріях зміни даних. Подальший розвиток поставив цілісність інформації як цілком окрему від шифрування ціль криптографії. Деякі сучасні режими дії поєднують шифрування і автентифікацію ефективним чином, і відомі як режими .
Хоча режими дії звичайно пов'язують з симетричним шифруванням, в принципі, їх також можна застосувати до примітивів шифрування з відкритим ключем таких як RSA (хоча на практиці шифрування довгих повідомлень з відкритим ключем найчастіше здійснюють із використанням ).
Ініціалізаційний вектор (IV)
Ініціалізаційний вектор (англ. initialization vector) — це блок біт, який використовують декілька режимів для увипадковлення шифрування і, таким чином, видають різні шифротексти навіть на одному відкритому тексті зашифрованому декілька разів, без потреби в повільнішому процесі отримання нового ключа.
Ініціалізаційний вектор має інші вимоги до безпеки ніж ключ, отже він не повинен бути секретним. Однак, здебільшого, важливо щоб IV не використовувався двічі з одним і тим самим ключем. Для CBC і CFB, повторне використання IV призводить до витоку інформації про перший блок відкритого тексту. Для OFB і CTR, повторне використання IV повністю руйнує безпеку. В режимі CBC, IV повинен бути непрогнозовним під час шифрування; зокрема, звична раніше практика використання останнього блоку шифротексту як IV для наступного повідомлення небезпечна (цей метод, наприклад, використовувався в SSL 2.0). Якщо нападник знає IV (або попередній блок шифротексту) до того як він визначив наступний відкритий текст, він може перевірити свій здогад щодо відкритого тексту для якогось блоку зашифрованого раніше (це відомо як атака TLS CBC IV).
Як особливий випадок, якщо відкриті тексти завжди достатньо малі для одного блоку (без доповнення), тоді для деяких режимів (ECB, CBC, PCBC), перевикористання IV призведе до витоку лише якщо два шифротексти однакові. Це може бути корисним у випадках коли треба перевіряти на рівність без дешифрування.
Доповнення
Блоковий шифр опрацьовує інформацію блоками встановленої довжини (відомої як розмір блока), але повідомлення мають різну довжину. Отже деякі режими (а саме ECB і CBC) вимагають доповнення завершального блоку перед шифруванням. Існує декілька схем доповнення. Найпростіша полягає в додаванні нульових байтів до відкритого тексту для доведення його довжини до кратної до розміру блоку, але треба потурбуватись, щоб можна було відновити початкову довжину тексту; наприклад, якщо відкритий текст є рядком у стилі C, що не містить нульових байтів окрім як останній байт. Первісний метод DES трошки складніший, який додає один одиничний біт за яким слідують нульові біти; якщо повідомлення завершується врівно з блоком, додається цілий блок доповнення. Найускладненіший варіант схем специфічних для CBC таких як або завершення залишкового блоку, які не призводять до збільшення шифротексту, натомість трошки ускладнюють алгоритм. Брюс Шнайдер і Нілс Ферґюсон запропонували дві можливості, обидві прості: додати байт зі значенням 128 (шістнадцяткове 80), з наступними нульовими байтами до повного блоку або доповнити n байтами зі значенням n.
CFB, OFB і CTR режими не потребують якихось особливих заходів для опрацювання повідомлень не кратних розміру блоку, бо режими працюють через XOR відкритого тексту з виходом блокового шифру. Останній неповний блок відкритого тексту XOR-иться з першими кількома байтами потоку ключа, на виході отримуємо завершальний блок шифротексту однакової довжини з завершальним блоком відкритого тексту. Така властивість потокових шифрів робить їх придатними для використання в ситуаціях коли необхідна однакова довжина шифро і відкритого тексту, і в застосунках де дані передаються в потоковому вигляді і незручно доповнювати блоки.
Електронна книга кодів (ECB)
Найпростішим з режимів шифрування є режим електронної книги кодів (англ. electronic codebook, ECB), він же режим простої заміни. Повідомлення розбивається на блоки і кожен блок шифрується окремо.
Вадою цього методу є те, що однакові блоки відкритого тексту шифруються в однакові блоки шифротексту; отже шаблон погано приховується. Цей режим не забезпечує серйозну безпеку повідомленням, і його взагалі не радять використовувати в криптографічних протоколах.
Типовий приклад ступеня збереження шаблонів ECB відкритого тексту в шифротексті можна побачити, коли ECB використовують для шифрування bitmap зображень, які використовують великі площі однорідних кольорів. Хоча колір кожного окремого пікселя зашифровано, загальну картинку можна розрізнити як маску однокольорових пікселів картинки на вході.
Ланцюгування шифроблоків (CBC)
IBM винайшла режим ланцюгування шифроблоків (англ. cipher-block chaining, CBC) у 1976. В CBC режимі, кожен блок відкритого тексту XOR-ять з попереднім шифроблоком перед шифруванням. Так, кожен шифроблок, залежить від усіх блоків оброблених до нього. Для отримання унікальних повідомлень потрібно використовувати ініціалізаційний вектор у першому блоці.
Якщо перший блок має індекс 1, математична формула для CBC шифрування така
тоді як математична формула для CBC розшифрування така
CBC найчастіше використовний режим. Основна його вада це властива послідовність (тобто не можливість упаралелення), і необхідність доповнення повідомлення до розміру кратного розміру блоку. Один зі способів уникнути доповнення полягає в використанні методу . Зауважте, що зміна одного біта в відкритому тексті або IV впливає на всі наступні шифроблоки.
Розшифрування з неправильним IV спричиняє пошкодження першого блоку відкритого тексту, але наступні блоки будуть правильними. Це відбувається через можливість відновити відкритий текст з двох суміжних блоків шифротексту. Як наслідок, розшифрування можна упаралелити. Зауважте, що зміна одного біту в шифротексті спричиняє повне пошкодження відповідного блоку відкритого тексту, але інші блоки залишаються незачепленими.
Режим CBC не стійкий до атаки на основі підібраного шифротексту. Отримавши в CPA-запиті , в ССА-запиті передаємо
CBC теорема (непередбачуваність CBC)
Для будь-якого , якщо є безпечною PRP над , тоді — щодо CPA над .
Зокрема, для супротивника з q-запитами, що атакує існує PRP супротивник такий що:
Отже CBC залишається безпечним доки
Ланцюгування шифроблоків із поширенням (PCBC)
Режим ланцюгування шифроблоків із поширенням (англ. propagating cipher-block chaining, PCBC) або (англ. plaintext cipher-block chaining) спроектували для введення маленьких змін в шифротексті для нескінченного поширення при розшифруванні як і при шифруванні.
Шифрування і розшифрування такі:
Кербер v4 і використовують PCBC. Якщо повідомлення зашифроване у PCBC режимі, тоді переставка двох сусідніх блоків не впливає на розшифрування наступних блоків. Через це, Кербер v5 не використовує PCBC.
Зворотний зв'язок по шифротексту (CFB)
Режим зворотного зв'язку по шифротексту (англ. cipher feedback, CFB), близький родич для CBC, перетворює блоковий шифр на (потоковий, що самосинхронізується). Дія дуже схожа; зокрема, розшифрування CFB майже тотожне до шифрування CBC виконаного навпаки:
Описаний вище найпростіший спосіб використання CFB ані трохи не більш самосинхронізовний ніж інші режими на кшталт CBC. Якщо губиться цілий блок шифротекту, то обидва CBC і CFB синхронізуються, тоді як втрата одного байту або біту остаточно відкине розшифрування. Для уможливлення синхронізації після втрати одного байту або біту, за раз треба шифрувати один байт або біт. CFB можна так використовувати разом з зсувним регістром на вході до блокового шифру.
Для використання CFB як самосинхронізовного потокового шифру, який синхронізуватиметься для будь-якої втрати кратної x бітам, починають з встановлення зсувного регістра розміром в один блок ініціалізаційним вектором. Це шифрується блоковим шифром, і старші x біт висліду XOR-рять з x бітами відкритого тексту для отримання x біт шифротексту. Ці x біт на виході заштовхуються в зсувний регістр, і процес повторюється з наступними x бітами відкритого тексту. Розшифрування схоже, починається з ініціалізаційним вектором, шифрується і XOR-иться x старших бітів висліду з x бітами шифротексту для отримання x бітів відкритого тексту. Заводимо x біт шифротексту в зсувний регістр. Цей спосіб обробки відомий як CFB-8 або CFB-1 (відповідно до розміру зсуву).
В записі, де — i-й стан зсувного регістра, це зсунуте на біт, це старших бітів і це кількість біт в IV:
Якщо x біт шифротексту втрачено, шифр видаватиме неправильний відкритий текст доки зсувний регістр не набуде стану, який він мав під час шифрування, тут шифр ресинхронізується. Це призводить до того, що підтасується вихід розміром в один блок.
Подібно до режиму CBC, зміни в відкритому тексту поширюються на весь шифротекст, і шифрування не можна упаралелити. Також подібно до CBC, розшифрування упаралельнюване. При розшифруванні, зміна одного біту в шифротексті впливає на два блоки відкритого тексту: однобітова зміна в відповідному блоці відкритого тексту і повне пошкодження наступного блоку. Подальші блоки розшифровуються нормально. Через це, якщо зловмисник знає відкритий текст, він може змінити біти в блоці шифротексту як він захоче і призвести до отримання потрібного йому блоку відкритого тексту, наступний блок буде перетасовано, але на той час вже може бути заподіяна шкода.
CFB разом з режимами потокових шифрів OFB і CTR поділяє дві переваги над CBC режимом: блок шифр використовується лише в напрямку шифрування, і повідомлення не потребує доповнення до розміру кратного розміру блоку (хоча також можна використати і таким чином зробити доповнення необов'язковим).
Зворотний зв'язок по виходу (OFB)
Режим зворотного зв'язку по виходу (англ. output feedback, OFB) утворює з блокового шифру (синхронний потоковий шифр). Він утворює потік ключа, який потім XOR-иться з блоками відкритого тексту для утворення шифротескту. Як і передбачає ім'я, OFB використовує попередній вихід блокового шифру, а не попередній шифротекст як CFB, що робить шифротекст незалежним від відкритого тексту і шифротексту, саме через це OFB є синхронним потоковим шифром. Так само як і з іншими потоковими шифрами, обернення біту в відкритому тексті призводить до обернення відповідного біту в шифротексті. Ця властивість дозволяє багатьом кодам виправлення помилок виконуватись нормально навіть при застосуванні до шифрування.
Через симетричність операції XOR, шифрування і розшифрування однакові:
Для кожного нового повідомлення треба використовувати новий IV, інакше повідомлення будуть шифруватись з тим самим потоком ключа. IV можна відправляти у відкритому вигляді, однак, якщо зловмисник підмінив IV, тоді на відміну від CFB режиму, отримати відкритий текст з шифротексту неможливо.
Кожен блок на виході залежить від усіх попередніх, отже неможливе паралельне виконання. Однак, через те, що відкритий текст і шифр використовуються лише в фінальному XOR, операції блокового шифру можна виконати наперед, що дозволить виконання фінального кроку паралельно щойно відкритий або шифротекст стане доступним.
Можна отримати потік ключа для режиму OFB із рядком нулів на вході. Це може бути корисним, бо уможливлює використання швидкого апаратного забезпечення, що втілює CBC для шифрування в режимі OFB.
На відміну від CFB, помилка в одному біті відкритого тексту зачіпає лише відповідний біт в шифротексті, наступні блоки залишаються неушкодженими. Ця властивість разом із можливістю високої швидкодії OFB робить його підхожим для шифрування потоків даних на кшталт голосу і відео, особливо на каналах с завадами де поширення помилок може легко перетворити зашифроване передавання в майже неможливе. З іншого боку OFB вимагає від двох учасників бути синхронізованими. Як варіант розв'язання цієї проблеми пропонується відправляння синхронізаційних сигналів в узгоджені проміжки часу.
Середня тривалість циклу для s-бітового-OFB
Безпечність потокових шифрів залежить від непередбачуваності потоку ключа. У випадку з OFB з DES (який діє на блоках по 64 біти) породжувач потоку ключа є скінченним автоматом з 264 отже він повторюється після 264 станів або менше. Davies і Parkin проаналізували умови за яких можна досягти найбільшу довжину циклу. В OFB з повним зворотнім зв'язком, потік ключа утворюється повторним застосуванням шифрування блоковим шифром, який є ефективно випадковим над усіма 264! переставок. Дійсна випадковість потоку ключа менш важлива ніж розмір циклу; і через те, що функція шифрування має однозначну обернену функцію розшифрування, для кожного ключа всі стани з 264 повинні бути членами одного циклу. Автори вважають середню тривалість циклу в 263 «достатньою для всіх практичних цілей», бо вона дуже близька до досяжного максимуму. Менші цикли можливі, але малоймовірні; наприклад імовірність циклу в 106 або менше станів становить 2-44.
Якщо OFB використовується зі зворотнім зв'язком s < n біт, найправішими n − s бітами нехтують, а ті що залишились стають продовженням потоку ключа і також заштовхуються в зсувний регістр, який слугує вхідним блоком для s-бітового-OFB. В цьому разі, для оцінки середньої тривалості циклу необхідна математична модель породжувача потоку ключа, але необхідні припущення було б важко довести. Отже Дейвіс і Паркін провели дослід, в якому використали зменшений до випадково обраної переставки з 256 станів на 8-бітовому регістрі DES. Для кожного значення s вони виконали тест з 10000 переставок і обрахували розподіл довжини циклу.
Дослід підтвердив їх теоретичні висліди, показав, що OFB з s відмінним від 64 значно знижує безпеку, бо середня довжина циклу зменшується у 232 рази або більше. Дейвіс і Паркін запропонували, що s = n повинен бути єдиним визнаним OFB режимом. Немає переваг від використання OFB з іншими значеннями; більше того s-бітовий-OFB зменшує пропускну здатність у режимі CFB.
Лічильник (CTR)
- Заувага: режим CTR також знають як режим цілочисельного лічильника (англ. integer counter mode, ICM) або режим сегментованого цілочисельного лічильника (англ. segmented integer counter, SIC)
Подібно до OFB, режим лічильника перетворює блоковий шифр в потоковий шифр. Він породжує наступний блок потоку ключа шифруванням послідовних значень «лічильника». Лічильник може бути будь-якою функцією, що видає послідовність, яка гарантовано не повторюється впродовж тривалого часу, насправді найпростішими і найпоширенішими є прості лічильники, що на кожному кроці збільшуються на одиницю. Використання простої детерміністичної функції викликає суперечки; критики кажуть, що «навмисне використання відомого систематичного входу в криптосистемі становить непотрібний ризик.» Наразі, режим CTR широко прийнятий, і проблеми похідні від входової функції розпізнаються як слабкість використовного блокового шифру, а не режиму CTR. Проте, існують пристосовані атаки подібні до атаки помилки устаткування (англ. Hardware Fault Attack), які покладаються на використання простого функції лічильника.
Режим CTR має подібні до OFB характеристики, але також має можливість довільного доступу під час розшифрування. Режим CTR добре підходить для використання на багатопроцесорній машині, де блоки можна шифрувати паралельно. Більше того, він не потерпає від проблеми короткого циклу, яка може вплинути на OFB.
Зауважте, що нонс на зображенні це те саме, що й ініціалізаційний вектор на інших зображеннях. IV/нонс і лічильник можна сполучати із використанням будь-якої операції без втрат (конкатенації, додавання або XOR) для отримання унікального блоку лічильника для шифрування.
У випадку використання режиму CTR з одним нонсом для шифрування цілого диску, повторне використання відтинку потоку ключа уможливлює нескладну атаку. Отже, кожного разу за зміни навіть малої ділянки даних, необхідно буде перешифрувати весь диск із використанням іншого нонса для підтримки безпеки, що не практично.
Galois/Counter Mode
Розширення режиму лічильника, яке крім шифрування дозволяє виробити код автентифікації повідомлення.
(XTS)
Режим XTS порівняно новий; NIST його стандартизував у січні 2010, після стандартизації IEEE в 2007. XTS призначений для специфічного застосування: шифрування одиниць даних сталої довжини (наприклад, дата секторів) на накопичувачах, насправді не схвалено жодного іншого застосування.
Примітки
- Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone (1996). Handbook of Applied Cryptography. CRC Press. ISBN .
- Block Cipher Modes. NIST Computer Security Resource Center. Архів оригіналу за 19 листопада 2012. Процитовано 6 червня 2012.
- FIPS 81: DES Modes of Operation. NIST Computer Security Resource Center. Архів оригіналу за 22 липня 2013. Процитовано 6 червня 2012.
- B. Moeller (20 травня 2004), , архів оригіналу за 30 червня 2012, процитовано 7 червня 2012
- William F. Ehrsam, Carl H. W. Meyer, John L. Smith, Walter L. Tuchman, "Message verification and transmission error detection by block chaining", US Patent 4074066, 1976
- Propagating cipher-block chaining
- Kaufman, C., Perlman, R., & Speciner, M (2002). Network Security. Upper Saddle River, NJ: Prentice Hall. Page 319 (2nd Ed.)
- Kohl, J. "The Use of Encryption in Kerberos for Network Authentication", Proceedings, Crypto '89, 1989; published by Springer-Verlag; http://dsns.csie.nctu.edu.tw/research/crypto/HTML/PDF/C89/35.PDF [ 12 червня 2009 у Wayback Machine.]
- NIST: Recommendation for Block Cipher Modes of Operation
- Building Stream Ciphers from Block Ciphers and their Security, [ 2013-09-03 у Wayback Machine.] page 12
- D. W. Davies and G. I. P. Parkin. The average cycle size of the key stream in output feedback encipherment. In Advances in Cryptology, Proceedings of CRYPTO 82, pages 263–282, 1982.Б.
- Robert R. Jueneman. Analysis of certain aspects of output feedback mode. In Advances in Cryptology, Proceedings of CRYPTO 82, pages 99–127, 1982.
- Helger Lipmaa, Phillip Rogaway, and David Wagner. Comments to NIST concerning AES modes of operation: CTR-mode encryption. 2000
- R. Tirtea and G. Deconinck. Specifications overview for counter mode of operation. security aspects in case of faults. In Electrotechnical Conference, 2004. MELECON 2004. Proceedings of the 12th IEEE Mediterranean, pages 769–773 Vol.2, 2004.
- http://www.quadibloc.com/crypto/co040601.htm
- Performing File or Disk Encryption [ 16 червня 2012 у Wayback Machine.] на etutorials.org
- Рекомендації для Режиму блочного шифрування: Режим XTS-AES для конфіденційності на накопичувачах, NIST. (англ.)
- IEEE Std. 1619-2007, IEEE стандарт для криптографічного захисту даних на блоково-орієнтованих накопичувачах. IEEE Press, квітень 2008.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U kriptografiyi rezhimi diyi angl modes of operation ce matematichni operaciyi dlya umozhlivlennya povtoryuvanogo i ubezpechenogo vikoristannya blokovogo shifru z odnim klyuchem Blokovij shifr dozvolyaye shifruvannya tilki odnogo bloku danih vstanovlenoyi dovzhini Dlya roboti z blokami riznih dovzhin dani spochatku potribno rozbiti na okremi bloki vstanovlenoyi danim shifrom dovzhini Zazvichaj ostannij blok treba dopovniti do vidpovidnoyi dovzhini pidhozhim dopovnennyam Rezhimi dij opisuyut proces shifruvannya kozhnogo z cih blokiv i zvichajno vikoristovuyut randomizaciyu zasnovanu na dodatkovomu znacheni na vhodi vidomim yak inicializacijnij vektor z cillyu zrobiti ce bezpechno Rezhimi diyi pervisno buli rozrobleni dlya shifruvannya j avtentifikaciyi Istorichno rezhimi shifruvannya shiroko vivchalis zvazhayuchi na yih vlastivosti poshirennya pomilok pri riznih scenariyah zmini danih Podalshij rozvitok postaviv cilisnist informaciyi yak cilkom okremu vid shifruvannya cil kriptografiyi Deyaki suchasni rezhimi diyi poyednuyut shifruvannya i avtentifikaciyu efektivnim chinom i vidomi yak rezhimi Hocha rezhimi diyi zvichajno pov yazuyut z simetrichnim shifruvannyam v principi yih takozh mozhna zastosuvati do primitiviv shifruvannya z vidkritim klyuchem takih yak RSA hocha na praktici shifruvannya dovgih povidomlen z vidkritim klyuchem najchastishe zdijsnyuyut iz vikoristannyam Inicializacijnij vektor IV Dokladnishe Inicializacijnij vektor Inicializacijnij vektor angl initialization vector ce blok bit yakij vikoristovuyut dekilka rezhimiv dlya uvipadkovlennya shifruvannya i takim chinom vidayut rizni shifroteksti navit na odnomu vidkritomu teksti zashifrovanomu dekilka raziv bez potrebi v povilnishomu procesi otrimannya novogo klyucha Inicializacijnij vektor maye inshi vimogi do bezpeki nizh klyuch otzhe vin ne povinen buti sekretnim Odnak zdebilshogo vazhlivo shob IV ne vikoristovuvavsya dvichi z odnim i tim samim klyuchem Dlya CBC i CFB povtorne vikoristannya IV prizvodit do vitoku informaciyi pro pershij blok vidkritogo tekstu Dlya OFB i CTR povtorne vikoristannya IV povnistyu rujnuye bezpeku V rezhimi CBC IV povinen buti neprognozovnim pid chas shifruvannya zokrema zvichna ranishe praktika vikoristannya ostannogo bloku shifrotekstu yak IV dlya nastupnogo povidomlennya nebezpechna cej metod napriklad vikoristovuvavsya v SSL 2 0 Yaksho napadnik znaye IV abo poperednij blok shifrotekstu do togo yak vin viznachiv nastupnij vidkritij tekst vin mozhe pereviriti svij zdogad shodo vidkritogo tekstu dlya yakogos bloku zashifrovanogo ranishe ce vidomo yak ataka TLS CBC IV Yak osoblivij vipadok yaksho vidkriti teksti zavzhdi dostatno mali dlya odnogo bloku bez dopovnennya todi dlya deyakih rezhimiv ECB CBC PCBC perevikoristannya IV prizvede do vitoku lishe yaksho dva shifroteksti odnakovi Ce mozhe buti korisnim u vipadkah koli treba pereviryati na rivnist bez deshifruvannya DopovnennyaDokladnishe Blokovij shifr opracovuye informaciyu blokami vstanovlenoyi dovzhini vidomoyi yak rozmir bloka ale povidomlennya mayut riznu dovzhinu Otzhe deyaki rezhimi a same ECB i CBC vimagayut dopovnennya zavershalnogo bloku pered shifruvannyam Isnuye dekilka shem dopovnennya Najprostisha polyagaye v dodavanni nulovih bajtiv do vidkritogo tekstu dlya dovedennya jogo dovzhini do kratnoyi do rozmiru bloku ale treba poturbuvatis shob mozhna bulo vidnoviti pochatkovu dovzhinu tekstu napriklad yaksho vidkritij tekst ye ryadkom u stili C sho ne mistit nulovih bajtiv okrim yak ostannij bajt Pervisnij metod DES troshki skladnishij yakij dodaye odin odinichnij bit za yakim sliduyut nulovi biti yaksho povidomlennya zavershuyetsya vrivno z blokom dodayetsya cilij blok dopovnennya Najuskladnenishij variant shem specifichnih dlya CBC takih yak abo zavershennya zalishkovogo bloku yaki ne prizvodyat do zbilshennya shifrotekstu natomist troshki uskladnyuyut algoritm Bryus Shnajder i Nils Fergyuson zaproponuvali dvi mozhlivosti obidvi prosti dodati bajt zi znachennyam 128 shistnadcyatkove 80 z nastupnimi nulovimi bajtami do povnogo bloku abo dopovniti n bajtami zi znachennyam n CFB OFB i CTR rezhimi ne potrebuyut yakihos osoblivih zahodiv dlya opracyuvannya povidomlen ne kratnih rozmiru bloku bo rezhimi pracyuyut cherez XOR vidkritogo tekstu z vihodom blokovogo shifru Ostannij nepovnij blok vidkritogo tekstu XOR itsya z pershimi kilkoma bajtami potoku klyucha na vihodi otrimuyemo zavershalnij blok shifrotekstu odnakovoyi dovzhini z zavershalnim blokom vidkritogo tekstu Taka vlastivist potokovih shifriv robit yih pridatnimi dlya vikoristannya v situaciyah koli neobhidna odnakova dovzhina shifro i vidkritogo tekstu i v zastosunkah de dani peredayutsya v potokovomu viglyadi i nezruchno dopovnyuvati bloki Elektronna kniga kodiv ECB Najprostishim z rezhimiv shifruvannya ye rezhim elektronnoyi knigi kodiv angl electronic codebook ECB vin zhe rezhim prostoyi zamini Povidomlennya rozbivayetsya na bloki i kozhen blok shifruyetsya okremo Vadoyu cogo metodu ye te sho odnakovi bloki vidkritogo tekstu shifruyutsya v odnakovi bloki shifrotekstu otzhe shablon pogano prihovuyetsya Cej rezhim ne zabezpechuye serjoznu bezpeku povidomlennyam i jogo vzagali ne radyat vikoristovuvati v kriptografichnih protokolah Tipovij priklad stupenya zberezhennya shabloniv ECB vidkritogo tekstu v shifroteksti mozhna pobachiti koli ECB vikoristovuyut dlya shifruvannya bitmap zobrazhen yaki vikoristovuyut veliki ploshi odnoridnih koloriv Hocha kolir kozhnogo okremogo pikselya zashifrovano zagalnu kartinku mozhna rozrizniti yak masku odnokolorovih pikseliv kartinki na vhodi Pervisne zobrazhennyazashifrovane v rezhimi ECBPsevdovipadkovij vislid rezhimiv vidminnih vid ECBZobrazhennya pravoruch pokazuye yak zobrazhennya mozhe viglyadati shifrovanim urezhimi CBC CTR abo bud yakim inshim bezpechnishim rezhimom i yake vazhko rozrizniti z vipadkovim shumom Zauvazhte sho psevdovipadkovij viglyad zobrazhennya pravoruch ne garantuye sho zobrazhennya bezpechno zashifrovane rozrobleno bagato tipiv nebezpechnih shifruvan vihid yakih viglyadaye vipadkovim Lancyuguvannya shifroblokiv CBC IBM vinajshla rezhim lancyuguvannya shifroblokiv angl cipher block chaining CBC u 1976 V CBC rezhimi kozhen blok vidkritogo tekstu XOR yat z poperednim shifroblokom pered shifruvannyam Tak kozhen shifroblok zalezhit vid usih blokiv obroblenih do nogo Dlya otrimannya unikalnih povidomlen potribno vikoristovuvati inicializacijnij vektor u pershomu bloci Yaksho pershij blok maye indeks 1 matematichna formula dlya CBC shifruvannya taka C i E K P i C i 1 C 0 I V displaystyle C i E K P i oplus C i 1 C 0 IV todi yak matematichna formula dlya CBC rozshifruvannya taka P i D K C i C i 1 C 0 I V displaystyle P i D K C i oplus C i 1 C 0 IV CBC najchastishe vikoristovnij rezhim Osnovna jogo vada ce vlastiva poslidovnist tobto ne mozhlivist uparalelennya i neobhidnist dopovnennya povidomlennya do rozmiru kratnogo rozmiru bloku Odin zi sposobiv uniknuti dopovnennya polyagaye v vikoristanni metodu Zauvazhte sho zmina odnogo bita v vidkritomu teksti abo IV vplivaye na vsi nastupni shifrobloki Rozshifruvannya z nepravilnim IV sprichinyaye poshkodzhennya pershogo bloku vidkritogo tekstu ale nastupni bloki budut pravilnimi Ce vidbuvayetsya cherez mozhlivist vidnoviti vidkritij tekst z dvoh sumizhnih blokiv shifrotekstu Yak naslidok rozshifruvannya mozhna uparaleliti Zauvazhte sho zmina odnogo bitu v shifroteksti sprichinyaye povne poshkodzhennya vidpovidnogo bloku vidkritogo tekstu ale inshi bloki zalishayutsya nezacheplenimi Rezhim CBC ne stijkij do ataki na osnovi pidibranogo shifrotekstu Otrimavshi v CPA zapiti I V c displaystyle IV c v SSA zapiti peredayemo I V 1 c displaystyle IV oplus 1 c CBC teorema neperedbachuvanist CBC Dlya bud yakogo L gt 0 displaystyle L gt 0 yaksho E displaystyle E ye bezpechnoyu PRP nad K X displaystyle K X todi E C B C displaystyle E CBC shodo CPA nad K X L X L 1 displaystyle K X L X L 1 Zokrema dlya suprotivnika A displaystyle A z q zapitami sho atakuye E C B C displaystyle E CBC isnuye PRP suprotivnik B displaystyle B takij sho A d v C P A A E C B C 2 A d v P R P B E 2 q 2 L 2 X displaystyle Adv CPA A E CBC leq 2Adv PRP B E 2q 2 L 2 X Otzhe CBC zalishayetsya bezpechnim doki q 2 L 2 X displaystyle q 2 L 2 ll X Lancyuguvannya shifroblokiv iz poshirennyam PCBC Rezhim lancyuguvannya shifroblokiv iz poshirennyam angl propagating cipher block chaining PCBC abo angl plaintext cipher block chaining sproektuvali dlya vvedennya malenkih zmin v shifroteksti dlya neskinchennogo poshirennya pri rozshifruvanni yak i pri shifruvanni Shifruvannya i rozshifruvannya taki C i E K P i P i 1 C i 1 P 0 C 0 I V displaystyle C i E K P i oplus P i 1 oplus C i 1 P 0 oplus C 0 IV P i D K C i P i 1 C i 1 P 0 C 0 I V displaystyle P i D K C i oplus P i 1 oplus C i 1 P 0 oplus C 0 IV Kerber v4 i vikoristovuyut PCBC Yaksho povidomlennya zashifrovane u PCBC rezhimi todi perestavka dvoh susidnih blokiv ne vplivaye na rozshifruvannya nastupnih blokiv Cherez ce Kerber v5 ne vikoristovuye PCBC Zvorotnij zv yazok po shifrotekstu CFB Rezhim zvorotnogo zv yazku po shifrotekstu angl cipher feedback CFB blizkij rodich dlya CBC peretvoryuye blokovij shifr na potokovij sho samosinhronizuyetsya Diya duzhe shozha zokrema rozshifruvannya CFB majzhe totozhne do shifruvannya CBC vikonanogo navpaki C i E K C i 1 P i displaystyle C i E K C i 1 oplus P i P i E K C i 1 C i displaystyle P i E K C i 1 oplus C i C 0 IV displaystyle C 0 mbox IV Opisanij vishe najprostishij sposib vikoristannya CFB ani trohi ne bilsh samosinhronizovnij nizh inshi rezhimi na kshtalt CBC Yaksho gubitsya cilij blok shifrotektu to obidva CBC i CFB sinhronizuyutsya todi yak vtrata odnogo bajtu abo bitu ostatochno vidkine rozshifruvannya Dlya umozhlivlennya sinhronizaciyi pislya vtrati odnogo bajtu abo bitu za raz treba shifruvati odin bajt abo bit CFB mozhna tak vikoristovuvati razom z zsuvnim registrom na vhodi do blokovogo shifru Na pochatku zsuvnij registr zapovnenij inicializacijnim vektorom i algoritm shifruvannya zapuskayetsya dlya utvorennya 64 bit vihodu Najlivishi 8 bit z bitiv na vihodi XOR yat z bajtom do peredachi Vislid ciyeyi operaciyi posilayut merezheyu a takozh zashtovhuyut v zsuvnij registr vishtovhuyuchi najlivishi 8 bitiv Todi algoritm shifruvannya zapuskayetsya znovu i nastupnij simvol shifruyetsya tak samo Dlya vikoristannya CFB yak samosinhronizovnogo potokovogo shifru yakij sinhronizuvatimetsya dlya bud yakoyi vtrati kratnoyi x bitam pochinayut z vstanovlennya zsuvnogo registra rozmirom v odin blok inicializacijnim vektorom Ce shifruyetsya blokovim shifrom i starshi x bit vislidu XOR ryat z x bitami vidkritogo tekstu dlya otrimannya x bit shifrotekstu Ci x bit na vihodi zashtovhuyutsya v zsuvnij registr i proces povtoryuyetsya z nastupnimi x bitami vidkritogo tekstu Rozshifruvannya shozhe pochinayetsya z inicializacijnim vektorom shifruyetsya i XOR itsya x starshih bitiv vislidu z x bitami shifrotekstu dlya otrimannya x bitiv vidkritogo tekstu Zavodimo x bit shifrotekstu v zsuvnij registr Cej sposib obrobki vidomij yak CFB 8 abo CFB 1 vidpovidno do rozmiru zsuvu V zapisi de S i displaystyle S i i j stan zsuvnogo registra lt lt x displaystyle lt lt x ce a displaystyle a zsunute na x displaystyle x bit head a x displaystyle mbox head a x ce x displaystyle x starshih bitiv a displaystyle a i n displaystyle n ce kilkist bit v IV C i head E K S i 1 x P i displaystyle C i mbox head E K S i 1 x oplus P i P i head E K S i 1 x C i displaystyle P i mbox head E K S i 1 x oplus C i S i S i 1 lt lt x C i mod 2 n displaystyle S i S i 1 lt lt x C i mbox mod 2 n S 0 IV displaystyle S 0 mbox IV Yaksho x bit shifrotekstu vtracheno shifr vidavatime nepravilnij vidkritij tekst doki zsuvnij registr ne nabude stanu yakij vin mav pid chas shifruvannya tut shifr resinhronizuyetsya Ce prizvodit do togo sho pidtasuyetsya vihid rozmirom v odin blok Podibno do rezhimu CBC zmini v vidkritomu tekstu poshiryuyutsya na ves shifrotekst i shifruvannya ne mozhna uparaleliti Takozh podibno do CBC rozshifruvannya uparalelnyuvane Pri rozshifruvanni zmina odnogo bitu v shifroteksti vplivaye na dva bloki vidkritogo tekstu odnobitova zmina v vidpovidnomu bloci vidkritogo tekstu i povne poshkodzhennya nastupnogo bloku Podalshi bloki rozshifrovuyutsya normalno Cherez ce yaksho zlovmisnik znaye vidkritij tekst vin mozhe zminiti biti v bloci shifrotekstu yak vin zahoche i prizvesti do otrimannya potribnogo jomu bloku vidkritogo tekstu nastupnij blok bude peretasovano ale na toj chas vzhe mozhe buti zapodiyana shkoda CFB razom z rezhimami potokovih shifriv OFB i CTR podilyaye dvi perevagi nad CBC rezhimom blok shifr vikoristovuyetsya lishe v napryamku shifruvannya i povidomlennya ne potrebuye dopovnennya do rozmiru kratnogo rozmiru bloku hocha takozh mozhna vikoristati i takim chinom zrobiti dopovnennya neobov yazkovim Zvorotnij zv yazok po vihodu OFB Rezhim zvorotnogo zv yazku po vihodu angl output feedback OFB utvoryuye z blokovogo shifru sinhronnij potokovij shifr Vin utvoryuye potik klyucha yakij potim XOR itsya z blokami vidkritogo tekstu dlya utvorennya shifrotesktu Yak i peredbachaye im ya OFB vikoristovuye poperednij vihid blokovogo shifru a ne poperednij shifrotekst yak CFB sho robit shifrotekst nezalezhnim vid vidkritogo tekstu i shifrotekstu same cherez ce OFB ye sinhronnim potokovim shifrom Tak samo yak i z inshimi potokovimi shiframi obernennya bitu v vidkritomu teksti prizvodit do obernennya vidpovidnogo bitu v shifroteksti Cya vlastivist dozvolyaye bagatom kodam vipravlennya pomilok vikonuvatis normalno navit pri zastosuvanni do shifruvannya Cherez simetrichnist operaciyi XOR shifruvannya i rozshifruvannya odnakovi C j P j O j displaystyle C j P j oplus O j P j C j O j displaystyle P j C j oplus O j O j E K I j displaystyle O j E K I j I j O j 1 displaystyle I j O j 1 I 0 IV displaystyle I 0 mbox IV Dlya kozhnogo novogo povidomlennya treba vikoristovuvati novij IV inakshe povidomlennya budut shifruvatis z tim samim potokom klyucha IV mozhna vidpravlyati u vidkritomu viglyadi odnak yaksho zlovmisnik pidminiv IV todi na vidminu vid CFB rezhimu otrimati vidkritij tekst z shifrotekstu nemozhlivo Kozhen blok na vihodi zalezhit vid usih poperednih otzhe nemozhlive paralelne vikonannya Odnak cherez te sho vidkritij tekst i shifr vikoristovuyutsya lishe v finalnomu XOR operaciyi blokovogo shifru mozhna vikonati napered sho dozvolit vikonannya finalnogo kroku paralelno shojno vidkritij abo shifrotekst stane dostupnim Mozhna otrimati potik klyucha dlya rezhimu OFB iz ryadkom nuliv na vhodi Ce mozhe buti korisnim bo umozhlivlyuye vikoristannya shvidkogo aparatnogo zabezpechennya sho vtilyuye CBC dlya shifruvannya v rezhimi OFB Na vidminu vid CFB pomilka v odnomu biti vidkritogo tekstu zachipaye lishe vidpovidnij bit v shifroteksti nastupni bloki zalishayutsya neushkodzhenimi Cya vlastivist razom iz mozhlivistyu visokoyi shvidkodiyi OFB robit jogo pidhozhim dlya shifruvannya potokiv danih na kshtalt golosu i video osoblivo na kanalah s zavadami de poshirennya pomilok mozhe legko peretvoriti zashifrovane peredavannya v majzhe nemozhlive Z inshogo boku OFB vimagaye vid dvoh uchasnikiv buti sinhronizovanimi Yak variant rozv yazannya ciyeyi problemi proponuyetsya vidpravlyannya sinhronizacijnih signaliv v uzgodzheni promizhki chasu Serednya trivalist ciklu dlya s bitovogo OFB Yaksho OFB vikoristovuyut zi zvorotnim zv yazkom obmezhenim s lt n bit de n rozmir bloku blokovogo shifru najpravishimi n s bit nehtuyut i biti sho zalishilis stayut nastupnimi bitami potoku klyucha i takozh yih zashtovhuyutsya v zsuvnij registr yakij sluguye vhodom dlya blokovogo shifru v s bitovomu OFB Doslidi pidtverdili sho OFB z s vidminnim vid 64 znachno znizhuye riven bezpeki Cherez ce pidtrimka urizanogo zvorotnogo zv yazku vidalena zi specifikaciyi OFB Bezpechnist potokovih shifriv zalezhit vid neperedbachuvanosti potoku klyucha U vipadku z OFB z DES yakij diye na blokah po 64 biti porodzhuvach potoku klyucha ye skinchennim avtomatom z 264 otzhe vin povtoryuyetsya pislya 264 staniv abo menshe Davies i Parkin proanalizuvali umovi za yakih mozhna dosyagti najbilshu dovzhinu ciklu V OFB z povnim zvorotnim zv yazkom potik klyucha utvoryuyetsya povtornim zastosuvannyam shifruvannya blokovim shifrom yakij ye efektivno vipadkovim nad usima 264 perestavok Dijsna vipadkovist potoku klyucha mensh vazhliva nizh rozmir ciklu i cherez te sho funkciya shifruvannya maye odnoznachnu obernenu funkciyu rozshifruvannya dlya kozhnogo klyucha vsi stani z 264 povinni buti chlenami odnogo ciklu Avtori vvazhayut serednyu trivalist ciklu v 263 dostatnoyu dlya vsih praktichnih cilej bo vona duzhe blizka do dosyazhnogo maksimumu Menshi cikli mozhlivi ale malojmovirni napriklad imovirnist ciklu v 106 abo menshe staniv stanovit 2 44 Yaksho OFB vikoristovuyetsya zi zvorotnim zv yazkom s lt n bit najpravishimi n s bitami nehtuyut a ti sho zalishilis stayut prodovzhennyam potoku klyucha i takozh zashtovhuyutsya v zsuvnij registr yakij sluguye vhidnim blokom dlya s bitovogo OFB V comu razi dlya ocinki serednoyi trivalosti ciklu neobhidna matematichna model porodzhuvacha potoku klyucha ale neobhidni pripushennya bulo b vazhko dovesti Otzhe Dejvis i Parkin proveli doslid v yakomu vikoristali zmenshenij do vipadkovo obranoyi perestavki z 256 staniv na 8 bitovomu registri DES Dlya kozhnogo znachennya s voni vikonali test z 10000 perestavok i obrahuvali rozpodil dovzhini ciklu Doslid pidtverdiv yih teoretichni vislidi pokazav sho OFB z s vidminnim vid 64 znachno znizhuye bezpeku bo serednya dovzhina ciklu zmenshuyetsya u 232 razi abo bilshe Dejvis i Parkin zaproponuvali sho s n povinen buti yedinim viznanim OFB rezhimom Nemaye perevag vid vikoristannya OFB z inshimi znachennyami bilshe togo s bitovij OFB zmenshuye propusknu zdatnist u rezhimi CFB Lichilnik CTR Zauvaga rezhim CTR takozh znayut yakrezhim cilochiselnogo lichilnika angl integer counter mode ICM aborezhim segmentovanogo cilochiselnogo lichilnika angl segmented integer counter SIC Podibno do OFB rezhim lichilnika peretvoryuye blokovij shifr v potokovij shifr Vin porodzhuye nastupnij blok potoku klyucha shifruvannyam poslidovnih znachen lichilnika Lichilnik mozhe buti bud yakoyu funkciyeyu sho vidaye poslidovnist yaka garantovano ne povtoryuyetsya vprodovzh trivalogo chasu naspravdi najprostishimi i najposhirenishimi ye prosti lichilniki sho na kozhnomu kroci zbilshuyutsya na odinicyu Vikoristannya prostoyi deterministichnoyi funkciyi viklikaye superechki kritiki kazhut sho navmisne vikoristannya vidomogo sistematichnogo vhodu v kriptosistemi stanovit nepotribnij rizik Narazi rezhim CTR shiroko prijnyatij i problemi pohidni vid vhodovoyi funkciyi rozpiznayutsya yak slabkist vikoristovnogo blokovogo shifru a ne rezhimu CTR Prote isnuyut pristosovani ataki podibni do ataki pomilki ustatkuvannya angl Hardware Fault Attack yaki pokladayutsya na vikoristannya prostogo funkciyi lichilnika Rezhim CTR maye podibni do OFB harakteristiki ale takozh maye mozhlivist dovilnogo dostupu pid chas rozshifruvannya Rezhim CTR dobre pidhodit dlya vikoristannya na bagatoprocesornij mashini de bloki mozhna shifruvati paralelno Bilshe togo vin ne poterpaye vid problemi korotkogo ciklu yaka mozhe vplinuti na OFB Zauvazhte sho nons na zobrazhenni ce te same sho j inicializacijnij vektor na inshih zobrazhennyah IV nons i lichilnik mozhna spoluchati iz vikoristannyam bud yakoyi operaciyi bez vtrat konkatenaciyi dodavannya abo XOR dlya otrimannya unikalnogo bloku lichilnika dlya shifruvannya U vipadku vikoristannya rezhimu CTR z odnim nonsom dlya shifruvannya cilogo disku povtorne vikoristannya vidtinku potoku klyucha umozhlivlyuye neskladnu ataku Otzhe kozhnogo razu za zmini navit maloyi dilyanki danih neobhidno bude pereshifruvati ves disk iz vikoristannyam inshogo nonsa dlya pidtrimki bezpeki sho ne praktichno Galois Counter ModeDokladnishe Galois Counter Mode Rozshirennya rezhimu lichilnika yake krim shifruvannya dozvolyaye virobiti kod avtentifikaciyi povidomlennya XTS Rezhim XTS porivnyano novij NIST jogo standartizuvav u sichni 2010 pislya standartizaciyi IEEE v 2007 XTS priznachenij dlya specifichnogo zastosuvannya shifruvannya odinic danih staloyi dovzhini napriklad data sektoriv na nakopichuvachah naspravdi ne shvaleno zhodnogo inshogo zastosuvannya PrimitkiAlfred J Menezes Paul C van Oorschot and Scott A Vanstone 1996 Handbook of Applied Cryptography CRC Press ISBN 0 8493 8523 7 Block Cipher Modes NIST Computer Security Resource Center Arhiv originalu za 19 listopada 2012 Procitovano 6 chervnya 2012 FIPS 81 DES Modes of Operation NIST Computer Security Resource Center Arhiv originalu za 22 lipnya 2013 Procitovano 6 chervnya 2012 B Moeller 20 travnya 2004 arhiv originalu za 30 chervnya 2012 procitovano 7 chervnya 2012 William F Ehrsam Carl H W Meyer John L Smith Walter L Tuchman Message verification and transmission error detection by block chaining US Patent 4074066 1976 Propagating cipher block chaining Kaufman C Perlman R amp Speciner M 2002 Network Security Upper Saddle River NJ Prentice Hall Page 319 2nd Ed Kohl J The Use of Encryption in Kerberos for Network Authentication Proceedings Crypto 89 1989 published by Springer Verlag http dsns csie nctu edu tw research crypto HTML PDF C89 35 PDF 12 chervnya 2009 u Wayback Machine NIST Recommendation for Block Cipher Modes of Operation Building Stream Ciphers from Block Ciphers and their Security 2013 09 03 u Wayback Machine page 12 D W Davies and G I P Parkin The average cycle size of the key stream in output feedback encipherment In Advances in Cryptology Proceedings of CRYPTO 82 pages 263 282 1982 B Robert R Jueneman Analysis of certain aspects of output feedback mode In Advances in Cryptology Proceedings of CRYPTO 82 pages 99 127 1982 Helger Lipmaa Phillip Rogaway and David Wagner Comments to NIST concerning AES modes of operation CTR mode encryption 2000 R Tirtea and G Deconinck Specifications overview for counter mode of operation security aspects in case of faults In Electrotechnical Conference 2004 MELECON 2004 Proceedings of the 12th IEEE Mediterranean pages 769 773 Vol 2 2004 http www quadibloc com crypto co040601 htm Performing File or Disk Encryption 16 chervnya 2012 u Wayback Machine na etutorials org Rekomendaciyi dlya Rezhimu blochnogo shifruvannya Rezhim XTS AES dlya konfidencijnosti na nakopichuvachah NIST angl IEEE Std 1619 2007 IEEE standart dlya kriptografichnogo zahistu danih na blokovo oriyentovanih nakopichuvachah IEEE Press kviten 2008