This repo is no longer maintained. We now have a functional testnet that you should use instead: https://github.com/nucypher/nucypher
-
Install
pipenv
if you don't get have it and spin up a virtual environment with it:sudo pip3 install pipenv
pipenv install --dev --python 3.6
(or whatever version of python3 you have)pipenv shell
This step alone should be enough for testing the re-encryption itself (umbral-demo).
P.S. If you use Windows, your installation process might be more involved than that.
-
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 perpolicy_id
.
GitHub Links:
https://github.com/nucypher/pyUmbral/
https://github.com/nucypher/umbral-doc/
https://github.com/nucypher/nucypher/
Community Links: