Skip to content

Commit

Permalink
Update README and add Python requirements
Browse files Browse the repository at this point in the history
  • Loading branch information
jimouris committed Nov 17, 2024
1 parent b6d5057 commit 252ab1a
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 16 deletions.
33 changes: 17 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,24 @@
</h1>

## How to cite this work
Mastic will appear in [Proceedings on Privacy Enhancing Technologies (PoPETS), 2025](https://petsymposium.org/popets/2025).
Mastic appears in [Proceedings on Privacy Enhancing Technologies (PoPETS), 2025](https://petsymposium.org/popets/2025/popets-2025-0017.php).
The preprint can be accessed [here](https://eprint.iacr.org/2024/221); you can
cite this work as follows:
```bibtex
@Article{PoPETS:MPDST25,
author = "Dimitris Mouris and
Christopher Patton and
Hannah Davis and
Pratik Sarkar and
Nektarios Georgios Tsoutsos",
title = "{Mastic: Private Weighted Heavy-Hitters and Attribute-Based Metrics}",
year = 2025,
volume = 2025,
month = July,
journal = "{Proceedings on Privacy Enhancing Technologies}",
number = 1,
pages = "1--30",
author = "Dimitris Mouris and
Christopher Patton and
Hannah Davis and
Pratik Sarkar and
Nektarios Georgios Tsoutsos",
title = "{Mastic: Private Weighted Heavy-Hitters and Attribute-Based Metrics}",
year = 2025,
volume = 2025,
month = July,
journal = "{Proceedings on Privacy Enhancing Technologies}",
number = 1,
pages = "290--319",
doi = "10.56553/popets-2025-0017"
}
```

Expand All @@ -38,12 +39,12 @@ Similarly, for the two other modes that Mastic supports:

## Building

First, make sure that you have a working Rust installation:
First, make sure that you have a working [Rust installation](https://www.rust-lang.org/tools/install):
```bash
❯❯ rustc --version
rustc 1.74.0
rustc 1.82.0
❯❯ cargo --version
cargo 1.74.0
cargo 1.82.0
```

Next, build from sources using:
Expand Down
7 changes: 7 additions & 0 deletions artifact/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,8 @@ experiments in the paper specify the parameters used.
To reproduce our experiments, use the configs from the [configs](./configs/)
directory and the scripts from the [plots](./plots/) directory.
Install the Python dependencies with `pip install -r requirements.txt`.
## Troubleshooting
As mentioned in the **Troubleshooting** section of the [README file](../README.md) file,
Mastic relies on the [tarpc](https://github.com/google/tarpc) library which has
Expand All @@ -332,3 +334,8 @@ not change the experiments but will make setting up the experiments faster. For
this reason, most of the provided configs use the default batch sizes, which may
cause crashes with more clients or bits, but this can be simply resolved by
reducing the batch sizes.

## Plain Heavy Hitters (`m = 1`)
For plain heavy hitters, a more efficient implementation exists in the `count`
branch, which we used for Mastic experiments where `m = 1`. To reproduce our
exact numbers for `m = 1` use the count branch.
2 changes: 2 additions & 0 deletions artifact/plots/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
pandas>=2.2.3
seaborn>=0.13.2

0 comments on commit 252ab1a

Please sign in to comment.