SkillAgentSearch skills...

PunchCard

A privacy-preserving digital version of punch cards used in store loyalty programs

Install / Use

/learn @SabaEskandarian/PunchCard
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

This code accompanies the paper "Fast Privacy-Preserving Punch Cards" (https://eprint.iacr.org/2020/741.pdf)

data.txt contains the evaluation results that appear in the paper. The performance numbers labeled "computer" were taken on a laptop with an intel i5-8265U processer @ 1.60 GHz running Ubuntu Linux. The "Google Pixel" numbers were measured on the Google Pixel (first generation) phone. Measurements were taken in spring 2020 with both devices running up to date versions of their respective operating systems.

If you want to run the code on Android, add NDK according to directions at https://mozilla.github.io/firefox-browser-architecture/experiments/2017-09-21-rust-on-android.html. Then uncomment the commented lines in build.sh

To test the code locally, simply run ./build.sh and then ./cargo/target/release/mybin. You will need Rust installed.

The source code is set to run the standard version of our scheme that uses curve25519. To run the mergeable scheme that uses pairings, you will need to change line 45 of /cargo/src/lib.rs from test_type: Tests::Group, to test_type: Tests::Pairing,.

Related Skills

View on GitHub
GitHub Stars11
CategoryDevelopment
Updated9mo ago
Forks0

Languages

Rust

Security Score

82/100

Audited on Jun 3, 2025

No findings