- Install pyUmbral dependencies (perhaps, a good idea to spin up a virtualenv before):
pip3 install cryptography
pip3 install pynacl
- Install
libffi
headers (in Debian-based Linux distributions:apt-get install libffi-dev
)
- Clone pyUmbral and install it:
git clone https://github.com/nucypher/pyUmbral.git
pip3 install -e pyUmbral
- Copy the
nucypher.py
file from this project to your own.- Use as
from nucypher import MockNetwork
- The
MockNetwork
object is meant to be instantiated once and used as needed. - See the
test.py
file for an example of how it's used.
- Use as
MockNetwork.grant
-- Creates a mock policy on the mocked network. This will return a string with apolicy_id
. You will use this policy ID to reencrypt and revoke the policy.MockNetwork.reencrypt
-- Re-encrypts a CapsuleM
times on the mock network. This requires a policy id, a min number of re-encryptions specified duringpre.split_rekey
, and a capsule object. This returns a list of capsule frags for Bob to attach to his capsule and use duringpre.decrypt
.MockNetwork.revoke
-- Revokes a policy from the network and makes re-encryptions impossible. This makes theMockNetwork
object delete the stored kfrags stored on it per policy_id.
GitHub Links:
https://github.com/nucypher/pyUmbral/
https://github.com/nucypher/umbral-doc/
https://github.com/nucypher/nucypher-kms/
Community Links: