mirror of
https://github.com/luxfi/fhe.git
synced 2026-07-27 07:24:44 +00:00
Establish exactly one way to do each thing and fence off the legacy primitives: - doc.go (new): package overview. DealerlessKeyGen is THE production keygen (dealerless); PartialDecryptLWE/CombineLWE is THE threshold decrypt (no-reconstruct); ShareLWESecretKey is a trusted-dealer test oracle only. Documents the F ⊥ M boundary (this package is FHE-only; MPC signing lives in luxfi/threshold) and the dealerless-bootstrap-key residual (homomorphic compute), stated honestly, not faked. - keygen.go: re-document GenerateSharedKey. It is a TRUSTED-DEALER key-COMMITMENT VSS that shares the SHA-256 hash of the key — useful for verifiable-sharing audit, NOT usable for threshold decryption. Marked Deprecated for the keygen role; points to DealerlessKeyGen. Removes the misleading 'distributed key generation … for now we generate keys and split them' framing. - partial_decrypt.go: label ShareLWESecretKey as TRUSTED-DEALER (retained as a KAT oracle); point to DealerlessKeyGen for production. No behaviour change; kernel tests green.