pyUmbral/umbral/params.py

20 lines
659 B
Python
Raw Normal View History

from cryptography.hazmat.primitives.asymmetric import ec
class UmbralParameters(object):
def __init__(self, curve: ec.EllipticCurve = None):
from umbral.point import Point
from umbral.utils import unsafe_hash_to_point
self.curve = curve
self.g = Point.get_generator_from_curve(self.curve)
self.order = Point.get_order_from_curve(self.curve)
g_bytes = self.g.to_bytes(is_compressed=True)
domain_seed = b'NuCypherKMS/UmbralParameters/'
self.h = unsafe_hash_to_point(self.curve, g_bytes, domain_seed + b'h')
self.u = unsafe_hash_to_point(self.curve, g_bytes, domain_seed + b'u')