Example #1
0
File: client.py Project: roemba/sdm
    def exchange_keys(self, A1: EcPt, A2: EcPt) -> Tuple[EcPt, EcPt]:
        curve = EcGroup(713)
        g = curve.generator()

        b1 = curve.order().random()
        B1 = g.pt_mul(b1)

        b2 = curve.order().random()
        B2 = g.pt_mul(b2)

        self._keys = Keys()
        self._keys.encryption_key = sha256(A1.pt_mul(b1).export()).digest()
        self._keys.hashing_key = sha256(A2.pt_mul(b2).export()).digest()

        return B1, B2