fss

Function secret sharing including distributed comparison & point functions

APACHE-2.0 License

Downloads
21.5K
Stars
19
fss - Crate fss-rs v0.6.0

Published by myl7 3 months ago

[0.6.0] - 2024-07-30

Features

  • Impl from int for int&int_prime groups
  • Support stable Rust with features

Bug Fixes

  • Correct int_prime group neg
  • Fix from_bytes of int_prime group
  • Fix doc comment code block test

Refactor

  • [breaking] Rename bound state
  • [breaking] Update PRG new() arg types
  • Update generic param name
  • Use Neg for inverse element
  • Reduce required supertraits of group trait
  • Remove unused unstable features

Documentation

  • Fix dead link in readme
  • Enhance doc comments of dcf/dpf
  • Update doc comment of group trait
  • Update readme for support of stable Rust
  • Add correctness fix log to readme

Testing

  • Setup property-based tests
  • Add tests for group axioms

Miscellaneous Tasks

  • (ci) Update CI to test in stable Rust
  • Setup and migrate changelog
fss - Crate fss-rs v0.5.0 Latest Release

Published by myl7 4 months ago

Changes

  • Refactor PRGs to let DCFs and DPFs share some same PRG implementations.
  • This refactoring gives around %8 performance improvement for some benchmarks.

Breaking changes

  • The PRG interface is updated.
    See the Migrate to v0.5 section in README for how to migrate from v0.4 to v0.5, which should be simple.
fss - Crate fss-rs v0.4.4

Published by myl7 4 months ago

New features

  • Add filter support to control the input domain size with bit-level accuracy instead of byte-level one
fss - Crate fss-rs v0.4.3

Published by myl7 7 months ago

Bug Fixes

  • Fix crate::dcf::prg::Aes256HirosePrg wrong implementation. See the Deprecation section of README for details and please update to a version with the fix ASAP.

The fix causes about 50% (necessary) performance regression in bench dcf_batch_eval.
Only DCF performance is affected and DPF one is not.
No other functionality changes are made, so the change in the benchmark report should only reflect the performance impact of the fix.

Update: Please use the commit d97da02 for the version

fss - Crate fss-rs v0.4.2

Published by myl7 7 months ago

New features

  • Optimize batch eval performance
  • Add full domain eval support, which is largely faster than batch eval with the same number of points

Caveat

Though the batch eval performance improved, the large lambda (aka large range of the function) performance regressed largely (10%, up to 20%).
It is due to the commit 6a3f815, which changes not to alloc a new place for every intermediate states.

We still kept the change because the change improves batch eval largely (10%), and meanwhile a 16KB range size should be rare, since then you need a so large vector to store all evaluated values. A 256B range size should be more common (even in papers).
Moreover, we plan to add no alloc support for the crate, and reusing memory for intermediate states should make it easier.

fss - Crate fss-rs v0.4.1

Published by myl7 9 months ago

New features

  • Add Matyas-Meyer-Oseas PRG
    • With it the performance of DPF improves. But not for DCF.
fss - Crate fss-rs v0.4.0

Published by myl7 9 months ago

Changes

  • Rearrange workspace into a single crate
    • No functional changes. You only need to update import paths to migrate.
fss - Benchmark checkpoint

Published by myl7 10 months ago

Versions

  • dcf v0.6.0
  • dpf-fss v0.6.0
  • group-math v0.2.2
  • fss-types v0.1.0
fss - dcf v0.2.2

Published by myl7 over 1 year ago

  • Fix incorrect PRG write causing the output is empty
  • Remove cached PRG due to bad performance after re-evaluation
  • Add easy multithreading with rayon, together with a new feature multithread
  • Add a new benchmark for longer messages
fss - dcf v0.2.1

Published by myl7 over 1 year ago

  • Change embedded PRG implementation from Matyas-Meyer-Oseas to Hirose to improve performance
  • Add simple hash map cached PRG wrapper to improve performance
fss - dcf v0.2.0

Published by myl7 over 1 year ago

  • Follow Rust API naming requirement
  • Refactor to allow DCF to instantiate
  • Refactor to add feature prg for useful PRG implementations
fss - dcf v0.1.0

Published by myl7 over 1 year ago

Ready for experimental use