Exemplo n.º 1
0
    def test_known(self):
        sk3 = binascii.a2b_hex("5305ca1802ea41cd48f904e85d97868c"
                               "c0f30819473cd07727d7c44974bc8e58")
        pk3 = nacl.crypto_scalarmult_curve25519_base(sk3)
        sk4 = binascii.a2b_hex("fba6870b71790aa6ca40ca1fe29533a4"
                               "ab09d401b3b2c624ad15d615454ba27a")
        pk4 = nacl.crypto_scalarmult_curve25519_base(sk4)

        s1 = nacl.crypto_scalarmult_curve25519(sk3, pk4)
        s2 = nacl.crypto_scalarmult_curve25519(sk4, pk3)
        expected = ("63b564b8218367b7d8d700cdc0d2e23a"
                    "65ef73905606f9c2e23b00d818c16a7e")
        self.assertEqual(binascii.b2a_hex(s1), expected)
        self.assertEqual(binascii.b2a_hex(s2), expected)
Exemplo n.º 2
0
    def test_known(self):
        sk3 = binascii.a2b_hex("5305ca1802ea41cd48f904e85d97868c"
                               "c0f30819473cd07727d7c44974bc8e58")
        pk3 = nacl.crypto_scalarmult_curve25519_base(sk3)
        sk4 = binascii.a2b_hex("fba6870b71790aa6ca40ca1fe29533a4"
                               "ab09d401b3b2c624ad15d615454ba27a")
        pk4 = nacl.crypto_scalarmult_curve25519_base(sk4)

        s1 = nacl.crypto_scalarmult_curve25519(sk3, pk4)
        s2 = nacl.crypto_scalarmult_curve25519(sk4, pk3)
        expected = ("63b564b8218367b7d8d700cdc0d2e23a"
                    "65ef73905606f9c2e23b00d818c16a7e")
        self.assertEqual(binascii.b2a_hex(s1), expected)
        self.assertEqual(binascii.b2a_hex(s2), expected)
Exemplo n.º 3
0
 def test_sharedkey(self):
     dh_a = nacl.crypto_box_keypair()
     dh_b = nacl.crypto_box_keypair()
     shk_a = nacl.crypto_scalarmult_curve25519(dh_a[1], dh_b[0])
     shk_b = nacl.crypto_scalarmult_curve25519(dh_b[1], dh_a[0])
     self.assertEqual(shk_a, shk_b)
Exemplo n.º 4
0
 def test_dh_badkey(self):
     s1 = nacl.crypto_scalarmult_curve25519(self.sk1, self.pk2)
     s2 = nacl.crypto_scalarmult_curve25519(perturb(self.sk2), self.pk1)
     self.assertNotEqual(s1, s2)
Exemplo n.º 5
0
 def test_dh(self):
     """Check that both shared secrets are the same."""
     s1 = nacl.crypto_scalarmult_curve25519(self.sk1, self.pk2)
     s2 = nacl.crypto_scalarmult_curve25519(self.sk2, self.pk1)
     self.assertEqual(s1, s2)
Exemplo n.º 6
0
 def test_dh_badkey(self):
     s1 = nacl.crypto_scalarmult_curve25519(self.sk1, self.pk2)
     s2 = nacl.crypto_scalarmult_curve25519(perturb(self.sk2), self.pk1)
     self.assertNotEqual(s1, s2)
Exemplo n.º 7
0
 def test_dh(self):
     """Check that both shared secrets are the same."""
     s1 = nacl.crypto_scalarmult_curve25519(self.sk1, self.pk2)
     s2 = nacl.crypto_scalarmult_curve25519(self.sk2, self.pk1)
     self.assertEqual(s1, s2)