feat(Cryptography/SecretSharing): Shamir's secret sharing#495
feat(Cryptography/SecretSharing): Shamir's secret sharing#495SamuelSchlesinger wants to merge 2 commits intoleanprover:mainfrom
Conversation
cdb95bf to
be26797
Compare
|
In leanprover-community/mathlib4#37938 (comment), I learned that in Mathlib they are deprecating PMF. I will change this to use measure theory and will swap out the work in Perfect Secrecy as well. |
|
After some discussion on the Zulip, I am going to delay before figuring out exactly what to do. If someone ends up reviewing the cryptographic/mathematical content, it will likely still be productive as I will probably just change the spelling of the probability lemmas underneath and no more. |
|
The discussion landed on: its fine to use PMF for now, so this PR is going to continue using it. |
| simp [sharingPolynomial, mul_comm] | ||
|
|
||
| @[simp] | ||
| theorem coeff_zero_sharingPolynomial (secretValue : F) (tail : F[X]) : |
There was a problem hiding this comment.
My gut is this shouldn't itself be a simp lemma.
There was a problem hiding this comment.
Addressed in 2f9d855 by removing @[simp] from coeff_zero_sharingPolynomial.
8fd090a to
35d0cce
Compare
35d0cce to
e65b214
Compare
Added a general definition of a secret sharing protocol along with privacy definitions: view indistinguishability and perfect privacy. Implemented Shamir's secret sharing as an instance, then proved view indistinguishability and perfect privacy of translation invariant tail polynomial distributions. Specialized to the uniform tail polynomial distribution as that is the typical setting.
A few more PMF utilities were needed, I am planning to upstream those to Mathlib along with the existing ones from perfectly secret encryption schemes.