У кого можно получить консультацию по блочным шифрам?
Нужна консультация по блочным шифрам, работающим в режиме сцепления блоков (Cipher Block Chaining). Мне нужно реализовать блочное шифрование двух алгоритмов, это AES (размер ключа 256 бит, размер блока 128 бит, 14 раундов) и "кузнечик" ГОСТ Р 34.12-2015 (rfc7801) (размер ключа 256 бит, размер блока 128 бит, 10 раундов). Сами по себе реализации уже готовы, но есть проблема глубокого понимания, а точнее, мне нужно в начале сессии передавать вектор инициализации (iv), в AES он есть и указан, а в "кузнечике", какие параметры соответствуют вектору инициализации я не знаю, хотя интуитивно и предполагаю, что он там есть.Может ли кто ни будь помочь разобраться?
Параметры векторов инициализации наших шифров, как правило - гостайна. Потому как это один из ключей и от его стойкости тоже зависит стойкость шифра. Если же его обнародовать, то могут найтись бездуховные агенты госдепа, которые обвинят шифр в нестойкости. А зачем это надо?
Для себя я просто генерил эти таблицы сам, логика была в случайном заполнении таблицы и потом дополнительном контроле а-ля судоку - что и строки, и столбцы укладываются в порог статистической независимости для соседних цифр.
Вряд ли вашу реализацию шифра будут ломать профессионалы, а для любительского уровня этого хватит.
Smithson: Возможно я не совсем верно выразился, мне не нужно знать не какими параметрами заполняется вектор инициализации, а как в исходниках понять, какой параметр в методе шифрации/дешифрации является вектором инициализации.
cesium: Ну, это только на глаз :)
В описании функции должно быть указано.
И вообще, это может быть не параметр функции, а просто некая общая на библиотеку глобально доступная таблица.
Вообще, единственное требование к IV - это чтобы он не повторялся в разных сессиях шифрования.
Поэтому это дело каждого выбирать их на свой вкус. Если же у двух сессий будут одинаковые IV, то при похожих началах сообщений есть вероятность получить одинаковые шифртексты. Например, если шифруются файлы с одинаковыми преамбулами или шапками. В остальном же от IV ничего не зависит, поэтому бери любой.