-
Notifications
You must be signed in to change notification settings - Fork 273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AccessControlPolicy (ACP) and ThresholdMessageKit #3194
Conversation
Codecov Report
@@ Coverage Diff @@
## development #3194 +/- ##
============================================
Coverage 78.59% 78.60%
============================================
Files 112 112
Lines 11616 11624 +8
============================================
+ Hits 9130 9137 +7
- Misses 2486 2487 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
|
b8aec5e
to
dfbacd7
Compare
nucypher/characters/lawful.py
Outdated
@@ -1466,11 +1469,26 @@ def encrypt_for_pre( | |||
) | |||
return message_kit | |||
|
|||
def encrypt_for_dkg(self, plaintext: bytes, conditions: Lingo) -> Ciphertext: | |||
def encrypt_for_dkg(self, plaintext: bytes, conditions: Lingo) -> DkgMessageKit: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also want to take a pause here to build on my above comment and revisit the discussion about keeping the developer/user-facing abstraction Ciphertext
. Perhaps we don't need a new name here, just a new format?
Is the progress of this issue blocked by anything? AFAIK |
Resolving nucypher/ferveo#154 / nucypher/ferveo#155 would help. Once those are nailed down then the ideas from that can be incorporated here to see what |
…t and conditions.
… ThresholdDecryptionRequest, to check whether the data is encrypted by an authorized party. Stub method added to CoordinatorAgent for now.
…encrypted data was produced by an authorized party.
…eo - fake it for now by using the same ciphertext for both. ThresholdMessageKit includes both ciphertexts, but the ThresholdDecryptionRequest only requires the kem_ciphertext.
…ovides kem/dem functionality.
… - the AAD can be controlled by versioning but the TMK dictates the AAD and so must be linked somehow with the ACP.aad() function. For now this is done via a compatibility check function.
…ling in Python space and not `nucypher-core`.
…ions in ferveo#155.
…w that they are available via associated nucypher-core PR.
… key encapsulation so that only encrypted symmetric key and associated data (CiphertextHeader) are included in ThresholdDecryptionRequest.
…cryption. Finally remove python core shim.
Add TODO for actually calling contract to determine allow logic authorization.
…edData is returned as part of encryption.
…hat Ciphertext is not needlessly copied between python layer and Rust later. Allow ciphertext header to be directly obtained without needing to first get the Ciphertext. Move decryption of ferveo encrypted data into a method on ThresholdMessageKit so that the Ciphertext data can be used directly in Rust layer, and not pulled into python to then pass it back into the Rust layer for decryption.
rebased @ 2fc713b |
Type of PR:
Required reviews:
What this does:
Issues fixed/closed:
Related to:
Closes:
Depends on:
Why it's needed:
Notes for reviewers: