A Bloom filter represents a set of elements approximately, by using fewer bits than a precise representation. The price for succinctness is allowing some errors: for any it should always answer 'Yes', and for any it should answer 'Yes' only with small probability. The latter are called false positive errors. In this work we study the possibility of Bloom filters in a stronger setting than the usual one, where an adversary can adaptively choose a sequence of queries according to previous results after the Bloom filter has been initialized. We consider both efficient adversaries (that run in polynomial-time) and computationally unbounded adversaries that are only bounded in the amount of queries they can make. We define a Bloom filter that maintains its error probability in this setting and say it is adversarial resilient. We show that non-trivial (memory-wise) adversarial resilient Bloom filters against computationally bounded adversaries exist if and only if one-way functions exist. The resulting construction is based on one-way permutations and is quite efficient and the proof of the necessity of one-way functions relies on the framework of adaptively changing distributions. For an unbounded adversary we show that there exist an bits Bloom filter secure against queries (where is the set size and is the false positive rate of the Bloom filter); in comparison, is the best possible under a non-adaptive adversary.
View on arXiv