While it is necessary in the worst case to perform `m * n` decryptions, where `m` is the number of outputs being decrypted and `n` is the number of IVKs, it is possible to stop performing trial decryptions when the first successful decryption is performed. Also, it's inconvenient and unnecessary to return the full cartesian product of these results, as only one IVK will decrypt a given output. This commit modifies batch trial decryption to stop on the first successful decryption, and instead of returning the cartesian product of results we return the index of the input IVK along with the output it decrypted. Note that this means that trial decryption is not constant-time with respect to the number and/or order of IVKs. |
||
---|---|---|
.. | ||
equihash | ||
f4jumble | ||
zcash_address | ||
zcash_encoding | ||
zcash_note_encryption |