mirror of https://github.com/nucypher/nucypher.git
Alice now generates KFrags with umbral. Woo!
parent
893ae8d24c
commit
44d9820f7b
|
@ -15,6 +15,7 @@ from sqlalchemy.exc import IntegrityError
|
||||||
|
|
||||||
from umbral.fragments import KFrag
|
from umbral.fragments import KFrag
|
||||||
from umbral.keys import UmbralPublicKey
|
from umbral.keys import UmbralPublicKey
|
||||||
|
import umbral
|
||||||
|
|
||||||
from nkms.crypto import api as API
|
from nkms.crypto import api as API
|
||||||
from nkms.crypto.api import secure_random, keccak_digest
|
from nkms.crypto.api import secure_random, keccak_digest
|
||||||
|
@ -238,7 +239,7 @@ class Alice(Character):
|
||||||
_server_class = NuCypherSeedOnlyDHTServer
|
_server_class = NuCypherSeedOnlyDHTServer
|
||||||
_default_crypto_powerups = [SigningPower, EncryptingPower]
|
_default_crypto_powerups = [SigningPower, EncryptingPower]
|
||||||
|
|
||||||
def generate_rekey_frags(self, alice_privkey, bob, m, n):
|
def generate_kfrags(self, bob, m, n):
|
||||||
"""
|
"""
|
||||||
Generates re-encryption key frags and returns the frags and encrypted
|
Generates re-encryption key frags and returns the frags and encrypted
|
||||||
ephemeral key data.
|
ephemeral key data.
|
||||||
|
@ -250,9 +251,10 @@ class Alice(Character):
|
||||||
|
|
||||||
:return: Tuple(kfrags, eph_key_data)
|
:return: Tuple(kfrags, eph_key_data)
|
||||||
"""
|
"""
|
||||||
kfrags, eph_key_data = API.ecies_ephemeral_split_rekey(
|
# TODO: Is this how we want to access Alice's private key?
|
||||||
alice_privkey, bytes(bob.seal.without_metabytes()), m, n)
|
alice_priv_enc = self._crypto_power._power_ups[EncryptingPower].keypair.privkey
|
||||||
return (kfrags, eph_key_data)
|
k_frags, _v_keys = umbral.umbral.split_rekey(alice_priv_enc, bob.public_key(EncryptingPower), m, n)
|
||||||
|
return k_frags
|
||||||
|
|
||||||
def create_policy(self,
|
def create_policy(self,
|
||||||
bob: "Bob",
|
bob: "Bob",
|
||||||
|
|
Loading…
Reference in New Issue