from core.participant import Participant from core.public_params import PublicParams class Alice: def __init__(self, params: PublicParams, secret: int | None = None): self.party = Participant(params, secret=secret) self.shared_key = None @property def A(self) -> int: return self.party.public_value def receive_B(self, B: int): self.shared_key = self.party.compute_shared_key(B) return self.shared_key