Alpha-Dbl: A reasonable high secure double-block-length hash function
A cryptographic hash function is a function
which takes an input of arbitrary length and
returns an output of fixed length. A general way
of hashing messages of arbitrary length is to
repeat a compression function using some general
structures, e.g. Merkle-Damgard, HAIFA. A
base compression function can be built from a
mishmash of components or based on
cryptographic primitives such as block ciphers.
Block cipher-based compression functions
have been extensively studied. The most
common approach is to build a 2𝑛-bit to 𝑛-bit
compression function using a block cipher of
𝑛-bit block length, namely a single-blocklength (SBL) compression function. However,
such an SBL compression function may be
susceptible to collision attacks because of its
short output length. For example, we can
successfully execute a birthday attack on an
SBL compression function based on the AES-
128 that only approximates 264 queries. This
prompted the study of double-block-length
(DBL) compression functions which have the
output length double the block length of the
base block cipher.

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5

Trang 6

Trang 7
Tóm tắt nội dung tài liệu: Alpha-Dbl: A reasonable high secure double-block-length hash function
푞 oracle queries. where ̅ denotes the bit-by-bit complement of H.
The advantage of 풜 finding a IV. PROVABLE SECURITY OF ALPHA-DBL
collision/preimage of an iterated hash function is
defined similarly. A. Collision resistance security
푙 ℎ 3푛 2푛
In this model, the experiments make a Theorem 1. Let 퐹 : {0,1} → {0,1} be a
decision based on the history of the adversary’s compression function based on block cipher as
queries to encryption/decryption oracles. defined in Definition 1. Then,
However, the adversary may, without asking 푞(푞 − 1)
anything from the oracles, try to construct a 푣 표푙푙 (푞) ≤ .
푙 ℎ ( − 푞)2
collision or a preimage, for example, to guess.
Số 2.CS (12) 2020 13
Journal of Science and Technology on Information security
Proof. Consider an arbitrary adversary 풜 has = 푅푖 ℎ푡 표푠푡푛(퐾 ),
−1
made 푞 queries to or in order to attain a = 퐿푒 푡 표푠푡푛(퐾̅ ), = ⊕ ,
푙 ℎ
collision for the compression function 퐹 . 풜 = 푅푖 ℎ푡 표푠푡푛(퐾̅ ),
푞
will record a query history 𝒬 = {푄푖}푖=1, where = 퐿푒 푡 표푠푡푛(퐾 ), = ⊕ .
푄 = ( , 퐾 , 푌 ) such that ( ) = 푌 . Note
푖 푖 푖 푖 퐾𝑖 푖 푖 Construction of the list: The adversary 풜 will
that the adversary 풜 never asks a query to which make a query number 푖 to or −1 for 1 ≤ 푖 ≤
it already knows the answer. We build a more 푞. Then the adversary gets a triple-tuple
powerful adversary 풜′ which copies 풜 but it can ( ) ( )
푖, 퐾푖, 푌푖 such that 퐾𝑖 푖 = 푌푖 in case of a
ask an extra query to in some cases. Therefore, forward query and −1(푌 ) = in case of a
we just need to find an upper bound of the 퐾𝑖 푖 푖
backward query. In either case, the value ⊕
advantage of 풜′ finding a collision for 퐹 푙 ℎ . 푖
푌푖 ⊕ 푅푖 ℎ푡 표푠푡푛(퐾푖) is randomly determined
The adversary 풜′ maintains a list ℒ (be null by the output of the query.
at the beginning) that represents any possible
Now, 풜′ checks if an entry 퐿 = ( , 퐾 ,∗,∗) or
input/output of the compression function 퐹 푙 ℎ 푖 푖
퐿′ = ( , 퐾̅ ,∗,∗) belongs to the recent list ℒ,
computed by adversary 풜. An element 퐿 ∈ ℒ is 푖 푖
where “∗” is an arbitrary value. Obviously, there
a quad-tuple ( , 퐾, 푌, 푌′) ∈ {0,1}5푛 where ∈
are 2 scenarios: both 퐿, 퐿′ are not in ℒ, or both of
{0,1}푛, 퐾 ∈ {0,1}2푛 is the 3푛-bit input to
them are already in ℒ. Indeed, if 퐿푖: =
compression function such that 퐾 = ( ̅푖, 푖−1)
( 푖, 퐾푖, 푌푖, 푌푖′) ∈ ℒ then we also have 퐿푖: =
and = 푖−1 ⊕ 푖. The 푛-bit values 푌, 푌′ can
( 푖, 퐾̅푖, 푌푖′, 푌푖) ∈ ℒ.
be computed by 푌 = 퐾( ) and 푌′ = 퐾̅( ).
Scenario 1: If 퐿 or 퐿′ are not in ℒ. Then 풜′ will
Let’s define a collision in the list. Fix two
( )
make an additional forward query 푌푖′ = 퐾̅𝑖 푖 .
integers , with ≠ , such that 퐿 = 푛
Since 퐾̅푖 ≠ 퐾푖 for every 퐾푖 ∈ {0,1} then the
( , 퐾 , 푌 , 푌 ′) represents the -th element in ℒ
value of 푌푖′ is independently and randomly
and 퐿 = ( , 퐾 , 푌 , 푌 ′) is the -th element in
distributed with 푌푖. Then, the adversary sets
ℒ. We say that 퐿 and 퐿 “collide” if we can find
a collision using the query results given in 퐿 and 퐿푖: = ( 푖, 퐾푖, 푌푖, 푌푖′)
퐿 . This event occurs if and only if one of the
and appends to the list ℒ.
following two conditions is satisfied:
Let 푆 푒푠푠푖, for 1 ≤ 푖 ≤ 푞, be the event that
(i) 푌 ⊕ ⊕ 푅푖 ℎ푡 표푠푡푛(퐾 ) 푡ℎ
the 푖 success, i.e. there exists 푗 < 푖 such that 퐿푖
= 푌 ⊕ ⊕ 푅푖 ℎ푡 표푠푡푛(퐾 ) and
′ collide with 퐿푗. For 1 ≤ 푗 < 푖, we have:
푌 ⊕ ⊕ 푅푖 ℎ푡 표푠푡푛(퐾̅ )
̅
= 푌 ′ ⊕ ⊕ 푅푖 ℎ푡 표푠푡푛(퐾 ), 푖 ⊕ 푌푖 ⊕ 푅푖 ℎ푡 표푠푡푛(퐾푖) 1
Pr [ ] ≤
= ⊕ 푌 ⊕ 푅푖 ℎ푡 표푠푡 (퐾 )
(ii) 푌 ⊕ ⊕ 푅푖 ℎ푡 표푠푡푛(퐾 ) 푗 푗 푛 푗 − 푞
′ ̅
= 푌 ⊕ ⊕ 푅푖 ℎ푡 표푠푡푛(퐾 ) and and
′ ̅
푌 ⊕ ⊕ 푅푖 ℎ푡 표푠푡푛(퐾 ) ′ ̅
푖 ⊕ 푌푖 ⊕ 푅푖 ℎ푡 표푠푡푛(퐾푖) 1
= 푌 ⊕ ⊕ 푅푖 ℎ푡 표푠푡푛(퐾 ), Pr [ ] ≤ .
= 푗 ⊕ 푌푗′ ⊕ 푅푖 ℎ푡 표푠푡푛(퐾̅푗) − 푞
where 푅푖 ℎ푡 표푠푡푛(퐾) and 퐿푒 푡 표푠푡푛(퐾) are
푛 bits farthest to the right and 푛 bits farthest to Since these above events are independent then
the left of 퐾, respectively. the probability of condition (i) occurring is at
most 1 . Similarly, the probability of
Indeed, the condition (i) implies a collision ( −푞)2
1
pair ( , , ), ( , , ) with condition (ii) occurring is at most .
( −푞)2
= 푅푖 ℎ푡 표푠푡 (퐾 ),
푛 Therefore, the probability of success of the 푖푡ℎ
= 퐿푒 푡 표푠푡 (퐾̅ ), = ⊕ ,
푛 query is
= 푅푖 ℎ푡 표푠푡푛(퐾 ),
̅ 푖−1
= 퐿푒 푡 표푠푡푛(퐾 ), = ⊕ . 2 2(푖 − 1)
Pr[푆 푒푠푠푖] ≤ ∑ = .
The condition (ii) implies a collision pair ( − 푞)2 ( − 푞)2
푗=1
( , , ), ( , , ) with
14 No 2.CS (12) 2020
Khoa học và Công nghệ trong lĩnh vực An toàn thông tin
Thus, the total probability of success for 푞 Combining this with Theorem 1, we get the
queries is following theorem:
푞
푞(푞 − 1) Theorem 2. Let be an iterated hash function
Pr[푆 푒푠푠(푞)] ≤ ∑ Pr[푆 푒푠푠푖] ≤ . built on the compression function 퐹 defined in
( − 푞)2
푖=1 Definition 1. Then
Scenario 2: Both 퐿 and 퐿′ are in ℒ. Therefore, 푞(푞−1)
푣 표푙푙(푞) ≤ , for every 1 ≤ 푞 < .
풜′ ignores this query and we know that 풜 has ( −푞)2
no chance of winning. B. Preimage resistance security
Therefore, the probability of the adversary Theorem 3. Let 퐹 푙 ℎ : {0,1}3푛 → {0,1}2푛 be a
풜′ success is compression function based on block cipher as
defined in Definition 1. Then
표푙푙 푞(푞 − 1)
푣퐹 푙 ℎ (풜′) ≤ 2.
( − 푞) 푃 푒 16푞
푣 푙 ℎ (푞) ≤ .
Now, we return to evaluate the advantage of 2
풜. We have Proof. The idea of the proof follows the proofs of
2푛
푞(푞 − 1) Theorems 1 and 2 in [9]. Let 푈|| ∈ {0,1} be
표푙푙 표푙푙 the preimage target (chosen by the adversary
푣퐹 푙 ℎ (풜) ≤ 푣퐹 푙 ℎ (풜′) ≤ 2.
( − 푞) before he mounts any query to ). We need to
Since 풜 is an arbitrary 푞-query adversary then upper bound the probability that the adversary
finds a point ||퐿|| ∈ {0,1}3푛 such that
푞(푞 − 1)
푣 표푙푙 (푞) ≤ . 퐹 푙 ℎ ( , 퐿, ) = (푈, ) using 푞 queries.
푙 ℎ ( − 푞)2
We also reuse the notion of free queries and
We can easily get the following corollary: super queries [9]:
푙 ℎ 3푛 2푛
Corollary 1. Let 퐹 : {0,1} → {0,1} be After the adversary asks a forward query
a compression function based on block cipher
̅ ( ⊕ 퐿), it is given the answer of the query
as defined in Definition 1. Then for 푞 ≤ 2푛−1.27 퐿||
퐿|| ̅ ( ⊕ 퐿) for free. Similarly, if the adversary
we have −1
makes a backward query 퐿̅|| (푅), and receives
1 −1
표푙푙 an answer ⊕ 퐿 = 퐿̅|| (푅) then the answer of
푣 푙 ℎ (푞) ≤ + 표(1)
2 the forward query 퐿|| ̅ ( ⊕ 퐿) is given for free.
where 표(1) tends to 0 when 푛 tends to infinity. Therefore, the entries of the adversary’s query
history 𝒬 can be grouped into adjacent pairs of
Proof. Firstly, it can be seen that the right hand
the form ( ⊕ 퐿, 퐿̅|| , 푅), ( ⊕ 퐿, 퐿|| ̅, 푆),
side of Theorem 1 is an increasing function in 푞
namely “adjacent query pair”.
for 푞 < . Consider
After completing each adjacent query
푞(푞 − 1) 1 2푛
= . pair, we check whether the key 퐾 ∈ {0,1}
( − 푞)2 2 used for the latest query satisfies the query
history contains exactly /2 queries with this
We get
key. If this occurs, all remaining queries under
the key and the remaining queries under key
푞 ≈ (√2 − 1) = 2푛−1.27. 퐾
퐾̅ will be given to the adversary for free. We add
Applying Theorem 1, we have the proof. these /2 free query pairs to the query history.
For example, for 푛 = 128 Corollary 1 implies Since the adversary is assumed never to make a
that any adversary making less than 2126.73 query to which it knows the answer, then the
queries cannot find a collision with probability adversary cannot make any more queries under
greater than 1/2. this key after these free queries have been added
into the query history. We say that a super query
The MD-strengthening design preserves occurs if and only if /2 free query pairs are
collision resistance (see Theorem 2.4.1, [11]). given to the adversary. Note that a super query
Số 2.CS (12) 2020 15
Journal of Science and Technology on Information security
is the set of /2 free query pairs that returned Let 풟 and ℛ be the domain and the range of that
to the adversary. super query, respectively. If ⊕ 퐿 ∈ 풟 then the
probability that ( ⊕ 퐿) ⊕ ⊕ 퐿 ⊕ =
An adjacent query pair ( ⊕ 퐿, 퐿̅|| , 푅), 퐿̅||
( ⊕ 퐿, 퐿|| ̅, 푆) is called “winning” if 푈 is either 0 if ⊕ 퐿 ⊕ ⊕ 푈 ∉ ℛ, or is
exactly 2/ if ⊕ 퐿 ⊕ ⊕ 푈 ∈ ℛ. Thus, the
⊕ 퐿 ⊕ 푅 ⊕ = 푈 and ⊕ 퐿 ⊕ 푆 ⊕ ̅ = ,
probability that 퐿̅|| ( ⊕ 퐿) ∈ {푈 ⊕ ⊕ 퐿 ⊕
or if , ⊕ ⊕ 퐿 ⊕ } is at most 4/ .
⊕ 퐿 ⊕ 푅 ⊕ = and ⊕ 퐿 ⊕ 푆 ⊕ ̅ = 푈. If 퐿̅|| ( ⊕ 퐿) ∈ {푈 ⊕ ⊕ 퐿 ⊕ , ⊕
Therefore, if the adversary obtains a winning ⊕ 퐿 ⊕ }, then the probability that
̅
adjacent query pair then it obtains a preimage of 퐿|| ̅ ( ⊕ 퐿) ∈ {푈 ⊕ ⊕ 퐿 ⊕ , ⊕ ⊕
푈|| . In addition, the winning query pair is part 퐿 ⊕ ̅} is at most 1/( /2). Therefore, the
of a super query or not. Let probability that the super query produces a
푆 푒 푄 푒 푊푖푛(𝒬) and winning pair of adjacent queries is at most ×
2
( ) 8 4
표 푙푄 푒 푊푖푛 𝒬 be the event that the = . Since there are at most 푞/( /2) super
adversary obtains a winning query pair that is 2
part of a super query and normal queries, queries, we have
respectively. Therefore, we need to upper bound Pr[푆 푒 푄 푒 푊푖푛(𝒬)] ≤ 8푞. (2)
2
Pr[푆 푒 푄 푒 푊푖푛(𝒬)]
Combining (1) with (2) completes the proof.
+ Pr[ 표 푙푄 푒 푊푖푛(𝒬)].
Corollary 2. Let 퐹 푙 ℎ : {0,1}3푛 → {0,1}2푛 be a
When the event 표 푙푄 푒 푊푖푛(𝒬)
compression function based on block cipher as
occurs. Assume that the adversary asks a forward
defined in Definition 1. Then
query 퐿̅|| ( ⊕ 퐿), then at most ( /2 − 2)
queries (including free queries) have been 1
푣푃 푒 (22푛−5) ≤ .
previously answered with the key 퐿̅|| . It’s 푙 ℎ 2
implies that, 1
Proof. Considering 푞 ≤ 2. Applying
2 32
Pr[ ⊕ 퐿 ⊕ 푅 ⊕ = 푈] ≤ . Theorem 3, we have
1
If then the probability 푣푃 푒 (22푛−5) ≤ .
⊕ 퐿 ⊕ 푅 ⊕ = 푈 푙 ℎ 2
of the free query ̅ ( ⊕ 퐿) returns ⊕ 퐿 ⊕
퐿|| For example, for 푛 = 128 Corollary 2
⊕ that is at most 1/( /2) = 2/ , since the
implies that any adversary making less than
answer to the free query comes uniformly at
251 queries cannot find a preimage with a
random from a set of size at least /2 + 2 > 2
considerable probability.
/2. Therefore, we have
The Merkle-Damgard design also preserves
( ⊕ 퐿 ⊕ 푅 ⊕ = 푈) ∧ 4
Pr [ ] ≤ . preimage resistance (see Theorem 2.4.2, [11]).
̅ 2
( ⊕ 퐿 ⊕ 푆 ⊕ = ) Combining Theorem 3 with Theorem 2.4.2 [11],
Similarly, we get the preimage resistance of a hash function
composed of in Definition 1.
( ⊕ 퐿 ⊕ 푅 ⊕ = ) ∧ 4 퐹
Pr [ ] ≤ .
( ⊕ 퐿 ⊕ 푆 ⊕ ̅ = 푈) 2 Theorem 4. Let be an iterated hash function
built on the compression function 퐹 specified in
Moreover, since the adversary makes 푞
Definition 1. Then
queries total then we have
8푞 푃 푒 16푞
Pr[ 표 푙푄 푒 푊푖푛(𝒬)] ≤ . (1) 푣 (푞) ≤ .
2 2
In case the event 푆 푒 푄 푒 푊푖푛(𝒬)
occurs. Assume that a super query occur on keys
퐿̅|| and 퐿|| ̅, then the value of 퐿̅|| (. ) and
퐿|| ̅ (. ) is already known on exactly /2 points.
16 No 2.CS (12) 2020
Khoa học và Công nghệ trong lĩnh vực An toàn thông tin
V. CONCLUSION on Advanced Information Networking and
Applications (AINA), IEEE, 2015.
In this paper, we have proposed a double
block length compression function called [8] Fleischmann, E., Gorski, M., and Lucks, S.
Alpha-DBL. We have shown very tight “Security of cyclic double block length hash
collision security bound for the proposed functions”. IMA International Conference on
Cryptography and Coding. Springer, Berlin,
scheme. To our knowledge, the collision Heidelberg, 2009.
security bound of the proposed scheme is nearly
better than other double block length schemes. [9] Armknecht, F., et al. “The preimage security of
On the other hand, the proposed scheme also double-block-length compression functions”.
achieves the same preimage security bound as International Conference on the Theory and
Application of Cryptology and Information
the Weimar-DM scheme, which is nearly the
Security. Springer, Berlin, Heidelberg, 2011.
best second preimage security bound. Using our
compression function in the iterated hash [10] Lee, J., Stam, M., and Steinberger, J. “The
function construction can preserve the collision security of Tandem-DM in the ideal cipher
resistance and preimage resistance security. model”. Journal of Cryptology, 2017. 30(2): p.
495-518
Moreover, it is shown in [12] that under certain
conditions, collision resistance implies second [11] Mennink, B., “Provable security of
preimage resistance. Thus, we conclude that our cryptographic hash functions”. University of
proposed hash function is second preimage Bristol, UK, 2013.
resistance as well. [12] Rogaway, P., Shrimpton, T. “Cryptographic
hash-function basics: Definitions, implications,
and separations for preimage resistance, second-
REFERENCES preimage resistance, and collision resistance”. In
International workshop on fast software
[1] Lai, X. and Massey, J.L. “Hash functions based encryption. Springer, Berlin, Heidelberg, 2004.
on block ciphers”. Workshop on the Theory and
Application of Cryptographic Techniques.
Springer, Berlin, Heidelberg, 1992.
ABOUT THE AUTHOR
[2] Hirose, S. “Some plausible constructions of
Hoang Dinh Linh
double-block-length hash functions”.
International Workshop on Fast Software Workplace: Institute of Cryptographic
Encryption. Springer, Berlin, Heidelberg, 2006. Science and Technology
Email: hoangdinhlinh@bcy.gov.vn
[3] Stam, M. “Blockcipher-based hashing
Education: Received a Bachelor’s
revisited”. Fast Software Encryption. Springer,
degree in Mathematics in Hanoi
Berlin, Heidelberg, 2009. University of Science in 2014.
[4] Hirose, S. “Provably secure double-block-length Current research direction: symmetric cryptography
hash functions in a black-box model. algorithm, random number generation, randomness tests.
International Conference on Information
Security and Cryptology. Springer, Berlin,
Tran Hong Thai
Heidelberg, 2004.
Workplace: Institute of
[5] Özen, O. and Stam, M. “Another glance at Cryptographic Science and
double-length hashing”. IMA International Technology
Conference on Cryptography and Coding. Email: ththai@bcy.gov.vn
Springer, Berlin, Heidelberg, 2009.
Education: Received an Engineer’s
[6] Fleischmann, Ewan, et al. “Weimar-DM: a degree in 2000 and Master's degree in
highly secure double-length compression Cryptographic Engineering in 2007, Academy of
function”. Australasian Conference on Cryptography Techniques.
Information Security and Privacy. Springer, Current research direction: research and evaluate the
Berlin, Heidelberg, 2012. security of cryptographic hashes and block ciphers.
[7] Miyaji, A. and Rashed, M. “A new (n, 2n) double
block length hash function based on single key
scheduling”. The 29th International Conference
Số 2.CS (12) 2020 17 File đính kèm:
alpha_dbl_a_reasonable_high_secure_double_block_length_hash.pdf

