(Это не вписывается в комментарий.)
Я думаю, что теперь я вижу, как показать, что ваше соление не обязательно обеспечивает
честную проверку нулевого знания.Пусть будет безопасным хешем.ЧАС0Если мы знаем,
что уже может обрабатывать входы произвольной длины, то пусть H 1 равен H 0 ,
иначе пусть H 1 будет результатом применения конструкции Меркля – Дамгарда к H 0 .
(Обратите внимание, что | | представляет конкатенацию.)ЧАС0ЧАС1ЧАС0
ЧАС1ЧАС0
| |Пусть таково, что
для всех 3-битных строк x и z для всехЧАС2
ИксZ -бит( ( 3⋅б )+6 )строки ,
для строки м такой, чтоY
ммзнак равноИкс| |111 ... [ б из них ].,0,111| |Y| |Z,
Один имеетЧАС2( м )знак равноИкс| |111 ... [ б из них ] .,0,111| |ЧАС1( м )| |Z,
и
для всех 3-битных строк , для всех солей rИксрдля строки , получающейся в результате посола x с rмИкср, Если является
не вид на имя выше , том
ЧАС2( м )знак равноИкс| |111 ... [ б из них ] .,0,111| |ЧАС1( м )| |Икс,
и
для всех строк которые не относятся ни к одной из этих двух форм,
H 2 ( m )м
[ bЧАС2( м )знак равно
[ б+3 бита, значения которых не имеют значения ]| |ЧАС1( м )| |[ 3 бита, значения которых не имеют значения ],
,
ЧАС1ЧАС2ЧАС1ЧАС1
ЧАС0ЧАС0ЧАС2
1 / ( 2( б - 1 ))