Closed chris-wood closed 2 years ago
This would also avoid to keep it in a state :)
In principle this is a good idea especially when long inputs are passed to two hash functions (HashToGroup and last Hash). OTOH, after looking at the JKK paper, the security proof and any other arguments always consider the client's input to be part of the last hash invocation. So, I am not really confident about removing the input from the last hash, not sure what is the effect on the security proof.
Yeah, I no longer think we can just remove it, but we could replace it with its concise representation (i.e., HashToGroup(input)
).
Leaving this as-is absent security analysis.
In Finalize, we include
evaluatedElement
in the hash input, which seems redundant withinput
. We could probably dropinput
from this step, which would simplify the API quite a bit too. Or we could replace it with the representative ofinput
in the group (HashToGroup(input)
).