🇺🇦Допомогти Україні

Що таке CFB (Cipher Feedback)?

Обкладинка допису: Що таке CFB (Cipher Feedback)?
ЗмістНатисність на посилання, щоб перейти до потрібного місця
CFB (скорочено від Cipher Feedback) – це один зі способів шифрування даних, який працює за принципом «ланцюжка». Уявіть, що у вас є повідомлення, яке ви хочете зашифрувати, і ви робите це блоками (наприклад, по 16 байт). Кожен блок не шифрується окремо, а залежить від попереднього, що створює ефект доміно.

Як працює Cipher Feedback?

  1. Беремо початковий випадковий шматок даних (IV – Initialization Vector) і шифруємо його.
  2. Отриманий результат змішуємо (за допомогою операції XOR) з першим блоком відкритого тексту. Це і є перший зашифрований блок.
  3. Потім цей зашифрований блок використовується для шифрування наступного блоку тексту.
  4. І так далі – кожен зашифрований блок впливає на наступний.

Прості приклади

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

Cipher Feedback простими словами

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

Цей допис поки що не має жодних доповнень від автора/ки.

[Fix] Heroku / SearchBox addon - помилка ідексації "The client is unable to verify that the server is Elasticsearch"
31 січ., 13:09

[Fix] Heroku / SearchBox addon - помилка ідексації "The client is unable to verify that the server is Elasticsearch"

meme code
meme code@memecode
06 лют., 15:31

Фікс помилки [DEPRECATION] #adapters is deprecated. Use #profiles instead. (Codecov / docile)

meme code
meme code@memecode
Що таке Promise у JavaScript і як швидко зрозуміти суть?
18 лют., 11:01

Що таке Promise у JavaScript і як швидко зрозуміти суть?

meme code
meme code@memecode
Структура Promise (JavaScript) та як з цим працювати
18 лют., 14:33

Структура Promise (JavaScript) та як з цим працювати

meme code
meme code@memecode
Що таке Memoization (приклади Ruby та Ruby on Rails)?
20 лют., 18:16

Що таке Memoization (приклади Ruby та Ruby on Rails)?

meme code
meme code@memecode
Що таке debounce у JavaScript і чому це важливо?
21 бер., 16:39

Що таке debounce у JavaScript і чому це важливо?

meme code
meme code@memecode
Що таке XOR і як він працює?
21 бер., 17:05

Що таке XOR і як він працює?

meme code
meme code@memecode
Embed програмування: що це таке і з чого почати
24 бер., 16:48

Embed програмування: що це таке і з чого почати

meme code
meme code@memecode
Pessimistic Lock у Rails: що це таке і коли застосовувати. Які є альтернативи?
31 бер., 17:45

Pessimistic Lock у Rails: що це таке і коли застосовувати. Які є альтернативи?

meme code
meme code@memecode
Чому PostgreSQL пропускає ID при збережені нових записів? (Heroku)
31 бер., 19:13

Чому PostgreSQL пропускає ID при збережені нових записів? (Heroku)

meme code
meme code@memecode
[Codecov] В чому різниця між patch та project coverage?
09 квіт., 16:03

[Codecov] В чому різниця між patch та project coverage?

meme code
meme code@memecode
Як курси Scratch допомагають дітям розвивати soft skills?
11 квіт., 18:24

Як курси Scratch допомагають дітям розвивати soft skills?

meme code
meme code@memecode