  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.
