def verify_and_generate_shared_secret(self, dh_secret, dh_received, auth, B): shared_secret = crypto_box_beforenm( dh_received, dh_secret.key.sk) + crypto_box_beforenm( B, dh_secret.key.sk) crypto_auth_verify(auth, dh_received, shared_secret) return shared_secret
def generate_diffie_shared_secret(self, dh_received, key=None): if key == None: key = self.key tmp_key = self.generate_key(u"curve25519") y = tmp_key.key.sk Y = tmp_key.key.pk shared_secret = crypto_box_beforenm(dh_received, y) + crypto_box_beforenm(dh_received, key.key.sk) AUTH = crypto_auth(Y, shared_secret) return shared_secret, Y, AUTH
def verify_and_generate_shared_secret(self, dh_secret, dh_received, auth, B): shared_secret = crypto_box_beforenm(dh_received, dh_secret.key.sk) + crypto_box_beforenm(B, dh_secret.key.sk) crypto_auth_verify(auth, dh_received, shared_secret) return shared_secret