Greenhalgh, P. (2011). Big. little processing with arm
cortex-a15 & cortex-a7. ARM White paper, pages 1–8.
Haitner, I., Ishai, Y., Omri, E., and Shaltiel, R. (2015). Par-
allel hashing via list recoverability. In Advances in
Cryptology–CRYPTO 2015, pages 173–190. Springer.
Kovah, X., Kallenberg, C., Weathers, C., Herzog, A., Al-
bin, M., and Butterworth, J. (2012). New results
for timing-based attestation. In Security and Pri-
vacy (SP), 2012 IEEE Symposium on, pages 239–253.
IEEE.
Lamport, L. (1981). Password authentication with inse-
cure communication. Communications of the ACM,
24(11):770–772.
Le Sueur, E. and Heiser, G. (2010). Dynamic voltage and
frequency scaling: The laws of diminishing returns.
In Proceedings of the 2010 international conference
on Power aware computing and systems, pages 1–8.
USENIX Association.
Maurer, U. and Tessaro, S. (2007). Domain extension of
public random functions: Beyond the birthday bar-
rier. In Advances in Cryptology–CRYPTO 2007, pages
187–204. Springer.
Merkle, R. C. (1982). Method of providing digital signa-
tures. US Patent 4,309,569.
Merkle, R. C. (1990). A certified digital signature. In
Advances in Cryptology–CRYPTO 1989 Proceedings,
pages 218–238. Springer.
Semeraro, G., Magklis, G., Balasubramonian, R., Al-
bonesi, D. H., Dwarkadas, S., and Scott, M. L.
(2002). Energy-efficient processor design using mul-
tiple clock domains with dynamic voltage and fre-
quency scaling. In High-Performance Computer Ar-
chitecture, 2002. Proceedings. Eighth International
Symposium on, pages 29–40. IEEE.
Seshadri, A., Luk, M., Shi, E., Perrig, A., van Doorn, L.,
and Khosla, P. (2005). Pioneer: verifying code in-
tegrity and enforcing untampered code execution on
legacy systems. ACM SIGOPS Operating Systems Re-
view, 39(5):1–16.
Shacham, H. (2007). The geometry of innocent flesh on the
bone: Return-into-libc without function calls (on the
x86). In Proceedings of the 14th ACM Conference on
Computer and Communications Security, pages 552–
561. ACM.
Symantec (2015). 2015 Internet Security
Threat Report. Accessed online at:
https://www4.symantec.com/mktginfo/whitepaper/
ISTR/21347932 GA-internet-security-threat-report-
volume-20-2015-social v2.pdf.
Wojtczuk, R. (2008). Subverting the xen hypervisor. Black
Hat USA, 2008.
Yan, Q., Han, J., Li, Y., Deng, R. H., and Li, T. (2011).
A software-based root-of-trust primitive on multicore
platforms. In Proceedings of the 6th ACM Symposium
on Information, Computer and Communications Se-
curity, pages 334–343. ACM.
[Appendix 1]
In this section we formally define the chunk-based
hashing construction, and prove it cryptographically
secure, under the assumption that so is the basic hash
function used as a component. The notion of security
we use is that of collision-resistance (also known as
collision-intractability) as typically done in the cryp-
tography literature.
Informally speaking, a function H is collision-
resistant if it is hard for an efficient adversary, who
is given the full code of H, to find two inputs x, x
0
such that x 6= x
0
and H(x) = H(x
0
), unless with ex-
tremely small probability. Let H : {0, 1}
b
→ {0, 1}
L
denote a collision-resistant hash function, for integers
b > L > 0 (e.g., if H=SHA256, then L=256). Based
on H, we define a chunk-based hash function cbH by
repeated parallel applications of H to the current in-
put sequence, until the latter is compressed to a single
block. The current input sequence is first set to the in-
put to the chunk-based hash function, and from then
on as the output of the parallel applications of H, af-
ter concatenation and padding. As defined so far, this
function can be proved to be collision-resistant if so is
H and if the function is only evaluated on inputs of the
same, predefined, length. To efficiently extend this
function to one that remains collision-resistant even
when it is evaluated on inputs of different lengths,
function cbH pads the computed single block with the
input length, and then uses this string as the input for
one last hashing step using H. The computed block
will be the output of hash function cbH. Padding the
sequence of input blocks with the input length has
been used for similar reasons in Merkle-Damgaard’s
fully-sequential paradigm for extension of the domain
of collision-resistant hash functions (Merkle, 1990;
Damg
˚
ard, 1990).
Let N be an integer > 0, and consider the chunk-
based hash function cbH : {0, 1}
Nb
→ {0, 1}
L
defined
as follows. On input a sequence of N blocks x =
x[1], ..., x[N], each of length b, cbH works as showin
in Algorithm 1.
Algorithm 1: Chunk-Based Hashing Algorithm.
1: Set i = 1, N(1) = N
2: repeat
3: Let y[ j] = H(x[ j]), for j = 1, ..., N(i)
4: Concatenate y[1], ..., y[N(i)] into M(i) blocks
t[1], ..., t[M(i)], each of length b, possibly
padding the last block to length b
5: Set x[ j] = t[ j], for j = 1, ..., M(i)
6: Set i = i + 1
7: Set N(i) = M(i − 1)
8: until M[i] = 1
9: Set b-bit blocks u = x[1] and v = N ∗ b, and set
z = H(u|v)
10: Output: z
We now claim and prove the main result for func-
CLOSER 2018 - 8th International Conference on Cloud Computing and Services Science
246