///////////////// // Инструкция // /////////////// 1. Лабораторных работы должны быть выполнены на языке С++ 2. Исходный код должен содержать комментарии к каждой из функций с описанием входных и выходных параметров 3. Лабораторная работа должна содержать внятный ReadMe (код будет проверяться на MacOS High Sierra) 4. Можно пользоваться функциями библиотеки OpenSSL, Crypto++ /////////////////////////// // Лабораторная №4 ////// // Опубликована: 05.03 // //////////////////////// Задача: Показать необходимость использования последнего шага шифрования в CBC-MAC Шаги: 1. Реализовать схему CBC-MAC без последнего шага (без шифрования ключом k1), используя в качестве блочного шифра либо ГОСТ, либо AES 2. Сгенерировать для сообщения m длиной, равной длине блока в выбранном блочном шифре, таг t 3. Зная (m,t), сгенерировать *без использования ключа* пару (m', t), такую, что V(m', t, k) = Accept 4. Показать, что действительно, V(m', t, k) = Accept.