Пример #1
0
 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)
Пример #2
0
    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)
Пример #3
0
 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_)