bloom-filter-psi-attack

A demonstration of how Bloom filter-based (M)PSI schemes can be attacked.

https://github.com/seratym/bloom-filter-psi-attack

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

A demonstration of how Bloom filter-based (M)PSI schemes can be attacked.

Basic Info
  • Host: GitHub
  • Owner: seratym
  • License: mit
  • Language: Rust
  • Default Branch: main
  • Size: 20.5 KB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

An attack on Bloom-filter based (M)PSI schemes

This repository contains the proof-of-concept attack as described in "On the Insecurity of Bloom Filter-Based Private Set Intersections" by Jelle Vos, Jorrit van Assen, Tjitske Koster, Evangelia Anna Markatou, and Zekeriya Erkin, which can be found on the Cryptology ePrint archive as 2024/1901. The attack demonstrates that many Bloom filter-based MPSI schemes underestimated the security-parameters. The attacker exploits the knowledge about the hash functions, before the submission of its input set, to find elements that cause false positives with high probability. This allows the attacker to learn elements from private input sets, that are not in the intersection. For a detailed explanation of the attack and mitigations, please refer to the paper.

Overview

  • scr/ contains the Rust source code implementing the attack,
  • experiments/ contains code for executing the experiments.

To build and run

Run cargo build --release to compile the source code. Run ./target/release/bloom-goes-boom --help to see the required parameters. Optionally run python3 -u experiments/run_experiments.py to replicate our results.

Owner

  • Login: seratym
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
title: Attack on Bloom filter-based PSI schemes
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - family-names: van Assen
    given-names: Jorrit
    orcid: 'https://orcid.org/0009-0004-8217-4529'
  - family-names: Vos
    given-names: Jelle
    orcid: 'https://orcid.org/0000-0002-3979-9740'
repository-code: 'https://github.com/seratym/Bloom-filter-PSI-attack'
license: MIT
version: 0.1.0
date-released: '2024-11-25'
preferred-citation:
  type: article
  authors:
  - family-names: Vos
    given-names: Jelle
    orcid: 'https://orcid.org/0000-0002-3979-9740'
  - family-names: van Assen
    given-names: Jorrit
    orcid: 'https://orcid.org/0009-0004-8217-4529'
  - family-names: Koster
    given-names: Tjitske Ollie
    orcid: 'https://orcid.org/0009-0003-9852-1225'
  - family-names: Markatou
    given-names: Evangelia Anna
    orcid: 'https://orcid.org/0009-0004-8217-4529'
  - family-names: Erkin
    given-names: Zekeriya
    orcid: 'https://orcid.org/0000-0001-8932-4703'
  identifiers:
    - type: other
      value: "arXiv:2103.06681"
      description: The ArXiv preprint of the paper
  title: "On the Insecurity of Bloom Filter-Based Private Set Intersections"
  year: 2024

GitHub Events

Total
  • Watch event: 2
  • Push event: 1
  • Create event: 1
Last Year
  • Watch event: 2
  • Push event: 1
  • Create event: 1

Dependencies

Cargo.lock cargo
  • 145 dependencies
Cargo.toml cargo