ГоловнаВсі публікаціїКатегоріїПро проєкт

Що таке 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.01.2025 13:09

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

meme code
meme code@memecode
06.02.2025 15:31

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

meme code
meme code@memecode