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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Apr 10, 2025
3c0452e · Apr 10, 2025

History

25 Commits
Apr 10, 2025
Apr 10, 2025
Apr 10, 2025
Jan 13, 2025
Apr 9, 2025
Apr 10, 2025
Apr 10, 2025
Jan 10, 2025
Apr 10, 2025
Apr 10, 2025
Jan 10, 2025
Apr 9, 2025
Apr 10, 2025
Jan 10, 2025
Mar 2, 2025

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