def test_crypto_scalarmult_ristretto255(self): if not pysodium.sodium_version_check(1, 0, 18): return n = pysodium.crypto_scalarmult_ristretto255_base( pysodium.crypto_core_ristretto255_scalar_random()) p = pysodium.crypto_scalarmult_ristretto255_base( pysodium.crypto_core_ristretto255_scalar_random()) r = pysodium.crypto_scalarmult_ristretto255(n, p) pysodium.crypto_core_ristretto255_is_valid_point(r)
def test_crypto_core_ristretto255_scalar_add_sub(self): if not pysodium.sodium_version_check(1, 0, 18): return x = pysodium.crypto_core_ristretto255_scalar_random() y = pysodium.crypto_core_ristretto255_scalar_random() x_y = pysodium.crypto_core_ristretto255_scalar_add(x,y) r = pysodium.crypto_core_ristretto255_scalar_sub(x_y,y) p1 = pysodium.crypto_scalarmult_ristretto255_base(x) p2 = pysodium.crypto_scalarmult_ristretto255_base(r) self.assertEqual(p1,p2)
def test_crypto_core_ristretto255_scalar_invert(self): if not pysodium.sodium_version_check(1, 0, 18): return s = pysodium.crypto_core_ristretto255_scalar_random() r = pysodium.crypto_core_ristretto255_scalar_invert(s) p = pysodium.crypto_scalarmult_ristretto255_base(pysodium.crypto_core_ristretto255_scalar_random()) q = pysodium.crypto_scalarmult_ristretto255(s, p) p_ = pysodium.crypto_scalarmult_ristretto255(r, q) self.assertEqual(p,p_)