Реалізувати режим CBC

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

У CBC режимі, кожен блок шифру додається до наступного блоку назашифрованого текста перед наступним викликом до ядра шифрування.

Перший назашифрований блок, у якого немає раніше ассоційованого зашифрованого блока, додається до “фальшивого 0-го блока шифру” називаємого векотром ініціалізації, або IV.

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

Файл тут зрозумілий (більш-менш) якшо розшифрувати із CBC із ключом “YELLOW SUBMARINE” та IV із усіх ASCII 0 (\x00\x00\x00 і.т.д)

Не обманюйте.

Не використовуйе CBC код із OpenSSL щоб зробити CBC режим, навіть для перевірки ваших результатів. У чому сенс робити цей виклик якщо ви не навчитесь із нього?