feat(Crypto): Generalize encryption schemes over arbitrary monads#581
Open
dtumad wants to merge 3 commits into
Open
feat(Crypto): Generalize encryption schemes over arbitrary monads#581dtumad wants to merge 3 commits into
dtumad wants to merge 3 commits into
Conversation
Contributor
|
Thanks for the PR, though I'm not sure I understand the goal here yet: Are you planning to add a new variant of a perfectly secret encryption scheme? Did you plan to extract these for execution? Or did you plan to use this for computationally secure encryption schemes? I believe, following Katz-Lindell, the latter would be best handled by a new definition altogether. It would be nice if the PR description contained a justification for the change along with a description. |
SamuelSchlesinger
suggested changes
May 21, 2026
Contributor
SamuelSchlesinger
left a comment
There was a problem hiding this comment.
Didn't do a full review, curious to hear your response to my question before I do so.
| /-- The monad `m` has a way to model uniform selection over non-empty finsets. -/ | ||
| class HasUniformSelectFintype (m : Type u → Type*) [MonadLiftT m PMF] where | ||
| uniformSelectFintype (α : Type u) [Fintype α] [Nonempty α] : m α | ||
| liftM_uniformSelectFinset (α : Type u) [Fintype α] [Nonempty α] : |
Contributor
There was a problem hiding this comment.
Copy-paste bug, meant Fintype I figure.
| uniformSelectFinset := PMF.uniformOfFinset | ||
| liftM_uniformSelectFinset _ _ := rfl | ||
|
|
||
| /-- The monad `m` has a way to model uniform selection over non-empty finsets. -/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR modifies the definition of
encSchemeto allow the computations to happen in any monadmgiven aMonadLiftT m PMFinstance (and further aLawfulMonadLiftTinstance for some proofs.Also adds a new
HasUniformSelectFinset mtypeclass asserting themcan model uniform selection from finite sets, which is needed for the proof of Shanon's theorem in particular.