IETF standards need to be unambiguous. Code is very helpful, but it is not a substitute
for a rigorous description of how to resolve the issue that Onderj raised.

Steve

On Fri, Jun 26, 2015 at 3:29 PM, Ondrej Mikle <[email protected] <mailto:[email protected]>> wrote:

    Pardon me if I am asking something obvious, but I'm missing one
    piece of
    information for inclusion proof verification - the "placement" of each
    node returned from "get-proof-by-hash" method in audit_path list
    (whether it's left subtree or right subtree).

    Since the hashing of concatenation of strings is not commutative, the
    auditor needs to put the two partial tree hashes in correct order
    to get
    to the correct root hash.


Yes, you're quite right.


    I'd guess the placement of the missing nodes from audit_path could be
    derived from leaf_index and tree_size, but can't see a straightforward
    way to do it. The reference client does not implement this
    verification
    either.

There are a couple of implementations of this in the o/s code base:
C++ is in cpp/merkletree/merkle_verifier.cc <https://github.com/google/certificate-transparency/blob/master/cpp/merkletree/merkle_verifier.cc> (see VerifyPath()) Python is in python/ct/crypto/merkle.py <https://github.com/google/certificate-transparency/blob/master/python/ct/crypto/merkle.py> (see verify_leaf_inclusion())

HTH.

Cheers,
Al.

    Ondrej

    _______________________________________________
    Trans mailing list
    [email protected] <mailto:[email protected]>
    https://www.ietf.org/mailman/listinfo/trans




--
Google UK Ltd | 123 Buckingham Palace Road | London SW1W 9SH | Registered in England Number: 3977902


_______________________________________________
Trans mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/trans

_______________________________________________
Trans mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/trans

Reply via email to