Optimal Tree Hash Modes: the Case of Trees Having their Leaves at All   the Levels
  A recent work shows how we can optimize a tree based mode of operation for a hash function where the sizes of input message blocks and digest are the same, subject to the constraint that the involved tree structure has all its leaves at the same depth. In this work, we show that we can further optimize the running time of such a mode by using a tree having leaves at all its levels. We make the assumption that the input message block has a size a multiple of that of the digest and denote by $d$ the ratio block size over digest size. The running time is evaluated in terms of number of operations performed by the hash function, i.e. the number of calls to its underlying function. It turns out that a digest can be computed in $\lceil \log_{d+1} (l/2) \rceil+2$ evaluations of the underlying function using $\lceil l/2 \rceil$ processors, where $l$ is the number of blocks of the message. Other results of interest are discussed, such as the optimization of the parallel running time for a tree of restricted height. 
Kevin Atighehchi
cs.DC cs.CR