Насколько безопасна схема шифрования с защитой через SHA-3 Keccak
На форуме недавно появилась простая схема шифрования данных с защитой от подделки, используя всего лишь SHA-3.
Вот ссылка на неё:
http://www.cyberforum.ru/crypt.....y/thread1672256.html[link1]
Тема достаточно большая и подробно расписана.
Утверждается, что она использует уникальные свойства SHA-3 как крипто-примитива ( у нас на форуме есть тема про использование SHA-3: https://www.pgpru.com/biblioteka/statji/keccaksponge ).
Там также есть графическая схема. Посмотрев на неё, в принципе, к Message Auth Code претензий нет, именно так и вычисляется MAC для SHA-3, в связке с ключом и данными.
К самому механизму шифрования (правая нижняя часть схемы) считаю придраться нельзя, используется тот же самый принцип при шифровании, на гамму накладываются данные, как в одноразовом блокноте.
Поэтому есть несколько вопросов:
1. Используется один и тот же ключ как для MAC, так и для гаммы.
Обычно так не делается, но в теме специально указано, что так вполне можно делать только через SHA-3.
2. Можно ли таким образом создавать гамму через SHA-3, как указано в схеме:
SHA-3(Key & 2 & BlockN)
Число "2" обозначает режим работы в качестве генератора поблочной гаммы, число "1" соответственно для создания MAC (у автора называется "код проверки, code verificate").
BlockN – номер блока гаммы.
В принципе, там указано что ключ можно использовать ровно один раз во избежания повторения гаммы.
Есть ли вообще формально уязвимость в схеме?
Ссылки
[link1] http://www.cyberforum.ru/cryptography/thread1672256.html
[link2] http://www.pgpru.com/novosti/2014/nizkajaalgebraicheskajaslozhnostjkeccakkeyakoblegchaetkubicheskieataki
[link3] http://www.pgpru.com/biblioteka/statji/spongeencryption
[link4] http://www.pgpru.com/comment48068
[link5] http://www.pgpru.com/comment72089
[link6] http://www.pgpru.com/comment63167
[link7] http://www.pgpru.com/comment63437
Ещё обратите внимание на это[link2] и оосбенно это[link3]. Вопрос переделки SHA-3 в шифр много где обсуждался, читайте [1[link4], 2[link5], 3[link6], 4[link7]]. Краткое резюме — не всё там так просто. Для практики лучше подождать, пока сделают стандарт и всё обоснуют, а не лепить самому без понимания.