I'm reviewing this test which prepares a zero knowledge proof of the preimage of an hash: https://github.com/mariogemoll/libsnark-tutorial/blob/sha256/src/test-knowledge-of-preimage.cpp
In my (wrong) understanding, the left-bits and the right-bits are referring to leaves of a Merkle tree from which you obtain the hash. So the left-bits and right-bits should be your private information, while the final hash, the top of the Merkle tree, is the public information you want to prove knowledge of.
I tried to obtain the same hash as given in the example, combining the right-bits and left-bits in a merkle tree. I tried to add padding as discussed here: https://gitter.im/ZoKrates/Lobby?at=5b829201ac25fd11b597e159 (look for "padding" in the page), but the resulting hash is never the one given in the example.
So what are they referring to with "sha256_two_to_one_hash" exactly?
Thank you very much!