Skip to content
This repository has been archived by the owner on Jul 30, 2024. It is now read-only.

HMAC enabled Bloom filter and Scalable Bloom Filter #15

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

AmritKumar
Copy link

Provides an HMAC extension to the existing implementation. The filters now also have the possibility to use keyed hash functions.

@jaybaird
Copy link
Owner

My guess is you're trying to do something similar to what is outlined here? – https://www.uni-due.de/~hq0215/documents/Draft_Ottawa_Bloom.pdf

A couple of things are sticking out to me immediately:

  1. hashmac should be a boolean since it's a flag. But, this might be mitigated by...
  2. I'm thinking this functionality should be a subclass of the filter itself instead of a flag, e.g. HMACBloomFilter, etc.

What do you think?

@AmritKumar
Copy link
Author

Basically, one would wish to use hmac instead of hash function in a scenario where only specific entities have the right to insert elements in the filter or check for belonging in it. To this end, the entities may share a common secret key and generate hmac for each item. Similarly checking for belonging would require ownership of the key. Such a filter may prevent Denial-of-service attacks against certain services.

Indeed, a more cleaner code would be to create a subclass HMACBloomFilter which would have an attribute key.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants