Skip to content

sbaresearch/data-fingerprinting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

149 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fingerprinting toolbox is a library that allows embedding and extracting fingerprints into the relational data.

This repository contains the official implementation of NCorr-FP. See: NCorr-FP

Usage

You can use the toolbox by cloning this repository.

$ git clone https://github.com/tanjascats/fingerprinting-toolbox.git

Fingerprint embedding (insertion)

For fingerprint insertion, we can define the scheme with the parameter gamma and bit-length of a fingerprint. The number of modified rows in the data will then be approx. #rows/gamma (TIP: use gamma to control the amount of modifications in the data).

scheme = Universal(gamma=2, fingerprint_bit_length=64)

After the scheme is initialized, we can embedd the fingerprint using our (owner's) secret key and specifying recipient's ID:

fingerprinted_data = scheme.insertion("my_data.csv", secret_key=4370315727, recipient_id=0)

Fingerprint extraction (detection)

For the fingerprint extraction, we provide the suspicious data and the secret key used for embedding:

suspect = scheme.detection("suspicious_data.csv", secret_key=4370315727)

For more examples and detailed explanations check out the notebook example.ipynb.

Support & Contribution

The toolbox is in its early stage, but actively developing, so you can either:

Packages

No packages published

Contributors 2

  •  
  •