IET Communications
Research Article
Efficient Bloom filter for network protocols
using AES instruction set
ISSN 1751-8628
Received on 26th May 2016
Revised 7th April 2017
Accepted on 17th May 2017
E-First on 25th August 2017
doi: 10.1049/iet-com.2016.0641
www.ietdl.org
Yao Zhang
1,2
, Zhiming Zheng
2
, Xiao Zhang
2
1
Security Technology Department, Inspur Electronic Information Industry Co., Ltd, Beijing 100083, People's Republic of China
2
LMIB and School of Mathematics and Systems Science, Beihang University, Beijing 100191, People's Republic of China
E-mail: 09621@buaa.edu.cn
Abstract: The Internet continues to flourish, while an increasing number of network applications are found deploying Bloom
filters. However, the heterogeneity of the Bloom filter realisations complicates the utilisation of relevant applications. Moreover,
when applying Bloom filter to traffic that usually has a gigabit capacity, even insignificant delays will accumulate and restrict the
effectiveness of the real-time protocols. In this study, the authors present a Bloom filter construction that can be easily and
consistently adopted at network nodes, with also considerable processing speed. Specifically, the authors show that AES-based
hashes are adequate to create Bloom filters correctly. Then they illustrate how AES new instructions (AES-NI) can be leveraged
to accelerate the Bloom filter realisation. According to the authors' experimental results, the proposed Bloom filter enables the
best speed performance compared to the competing approaches.
1 Introduction
Bloom filter [1] is a space-efficient data structure that can be used
to process queries by answering whether an arbitrary element
belongs to a certain set. Recently, thousands of real-time network
applications and services [2–9] (such as DDoS attack detection and
protection [2–4], multicast routing [6], cache filtering in CDN
networks [7], high-speed flow measurement [8], and data-stream
monitoring [9]) are found taking Bloom filter as a fundamental
component. The above applications make up just a tip of the entire
iceberg. Bloom filter has made attractive contributions to the
functionality of dedicated network protocols.
Yet, building Bloom filters is not always straightforward. The
realisation heterogeneity remains as one big challenge when
deploying various protocols at network nodes. With distinct
underlying hash functions, the actual realisation of a Bloom filter
differentiates. Although premium algorithms like Murmur Hash are
more likely to be selected, typical hash functions such as MD5 [10]
are still widely used [11, 12]. Such inconsistency unavoidably
increases the complexity of the deployment when taking multiple
protocols into account. The other concern is the processing
performance. Facing potentially large numbers of element queries
(summarised in Table 1), slight processing delays will accumulate
and significantly constrain the effectiveness of the relevant
applications. The speed optimisation of a Bloom filter thus
becomes critical, while the simplicity of the data structure itself
barely leaves space for possible acceleration.
As a remedy, this paper presents a fast and lightweight Bloom
filter that can be effectively adopted by end hosts and intermediate
routers in a consistent manner. Rather than using legacy hash
functions, we employ advanced encryption standard (AES) [13] for
creating the required hashing streams in a Bloom filter. AES is a
standard and widely-used block cipher that guarantees both high
capabilities in terms of security and speed. In particular, since AES
is supported by most of the microprocessors, Bloom filter
realisation that is driven by AES can be easily unified. Basically,
our approach leverages AES new instructions (or AES-NI) [14,
15], a cryptographic microprocessor instruction set proposed by
Intel. We employ AES counter mode [16] to achieve efficient hash
function generation, and we illustrate how to enable Bloom filter
functions with corresponding AES-NI operations. According to our
experimental results, the processing time of such AES-NI
supported Bloom filter can be reduced significantly. We summarise
the main contributions of the paper as follows:
• We present a novel lightweight Bloom filter construction based
on AES counter mode and its realisation method conducted by
AES-NI. Namely, only AES-based one-way functions are
involved to build a Bloom filter. The microprocessor-supported
feature of our approach naturally unifies the Bloom filter
realisations and facilitates the deployment of relevant
applications.
• We theoretically prove the feasibility and correctness of the
proposal. According to our analysis, our AES-based Bloom
filter satisfies all required hashing properties.
• We implement the proposed Bloom filter as well as other four
popular Bloom filters in a common framework. Based on the
comprehensive comparison results, our Bloom filter outperforms
all competing methods in terms of processing time.
The rest of the paper is organised as follows. We illustrate how
a standard Bloom filter works in Section 2. Then we present our
detailed design in Section 3, followed by a formal analysis of our
method in Section 4. We show the evaluation results in Section 5
and give our remarks in Section 6. Related work is presented in
Section 7 and we conclude the paper in Section 8.
2 Background: Bloom filter
In this section we briefly introduce the standard form and the
mathematical preliminaries behind a Bloom filter. More complete
specifications can be found in [11, 17].
Table 1 Bloom filter applications and the scale of the
potential element queries
Application cases Insertion/query
elements
Potential query
scale
DDoS protection [4] packet information
10
6
multicast routing [6] forwarding address
10
7
cache filtering [7] web objects
10
7
flow measurement [8] flow identifier
10
7
data monitoring [9] data value
10
8
IET Commun., 2017, Vol. 11 Iss. 11, pp. 1815-1821
© The Institution of Engineering and Technology 2017
1815