This repository contains the official implementation of the attack described in the paper "On Arithmetic Private Information Retrieval".
Three concrete attacks are implemented:
- Attacking HHW code base PIR: hhw.ipynb
- Attacking CB-cPIR: cb_cpir.ipynb
- Attacking CB-cPIR Remark #6: cb_cpir_after_remark6.ipynb
Their client code is implemented in src/hhw.py, src/cb_cpir.py and src/cb_cpir_v2.py respectively. Each implementation includes query generation and decoding algorithms. All notebooks verifies that the decoding works on a random database before performing the attack
The first two PIR implementations are known to be broken through different attacks. The third PIR to best of our knowledge wasn't broken until now. This repository shows a generic approach to attacking arithmetic PIR using a simple attack implemented in src/attack.py file.
The measurements.ipynb jupyter notebook showcase a table attacking all security parameters defined for those schemes.
To run the notebooks, you need to install SageMath version 10.7.