Skip to content
/ fss Public

Function secret sharing (FSS) primitives including distributed point functions (DPF) and distributed comparison functions (DCF)

License

Notifications You must be signed in to change notification settings

myl7/fss

Repository files navigation

fss: FSS primitives including DPF and DCF

Function secret sharing (FSS) primitives including distributed point functions (DPF) and distributed comparison functions (DCF)

Preliminaries

For a function f whose input domain is G i n and output domain is a (math) group G o u t , FSS is a scheme to secret-share this function into M functions f b for b [ M ] with correctness and privacy:

  • Correctness: For any input x G i n , f ( x ) = b = 1 M f b ( x )
  • Privacy: For any strict subset of parties B [ M ] , { f b | b B } reveals no information about f ( x )

More formal definitions can be found in the following papers:

Assume that the cardinal (size) of the input domain N = | G i n | , the trivial method for FSS is to secret-share all N mappings { x f ( x ) | x G i n } , resulting in O ( N ) communication costs. DPF and DCF trade higher computation costs for lower communication costs. 2-party DPF and DCF result in O ( log N ) communication costs, and 3-or-more-party ones (based on seed homomorphic pseudo-random functions) result in O ( N ) communication costs.

Limitations

  • We use b { 0 } [ M 1 ] other than b [ M ] that is used by the papers, because computer science counts from 0
  • Currently, this library only implements 2-party DPF and DCF, fixing M = 2 and b { 0 , 1 }
  • We fix input to be bits and output to be bytes. λ is fixed to be a multiple of 8. However, users can still customize how output bytes as group elements should be computed, e.g., added.

Licenses

Copyright (C) 2025 Yulong Ming (myl7)

Apache License, Version 2.0

About

Function secret sharing (FSS) primitives including distributed point functions (DPF) and distributed comparison functions (DCF)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published