Tests for keys generation
this implementation for deterministic keys requires a passphrase of type bytes
This commit is contained in:
parent
5c1dcc5645
commit
c51b2875df
|
@ -43,8 +43,9 @@ sample_point = (
|
||||||
)
|
)
|
||||||
|
|
||||||
sample_seed = b'TIGER, tiger, burning bright. In the forests of the night'
|
sample_seed = b'TIGER, tiger, burning bright. In the forests of the night'
|
||||||
# Deterministic addresses with stream 1 and versions 3, 4
|
# RIPE hash on step 22 with signing key nonce 42
|
||||||
sample_deterministic_ripe = b'00cfb69416ae76f68a81c459de4e13460c7d17eb'
|
sample_deterministic_ripe = b'00cfb69416ae76f68a81c459de4e13460c7d17eb'
|
||||||
|
# Deterministic addresses with stream 1 and versions 3, 4
|
||||||
sample_deterministic_addr3 = 'BM-2DBPTgeSawWYZceFD69AbDT5q4iUWtj1ZN'
|
sample_deterministic_addr3 = 'BM-2DBPTgeSawWYZceFD69AbDT5q4iUWtj1ZN'
|
||||||
sample_deterministic_addr4 = 'BM-2cWzSnwjJ7yRP3nLEWUV5LisTZyREWSzUK'
|
sample_deterministic_addr4 = 'BM-2cWzSnwjJ7yRP3nLEWUV5LisTZyREWSzUK'
|
||||||
sample_daddr3_512 = 18875720106589866286514488037355423395410802084648916523381
|
sample_daddr3_512 = 18875720106589866286514488037355423395410802084648916523381
|
||||||
|
|
|
@ -17,10 +17,10 @@ except ImportError:
|
||||||
RIPEMD160 = None
|
RIPEMD160 = None
|
||||||
|
|
||||||
from .samples import (
|
from .samples import (
|
||||||
sample_double_sha512, sample_hash_data,
|
sample_deterministic_ripe, sample_double_sha512, sample_hash_data,
|
||||||
sample_msg, sample_pubsigningkey, sample_pubencryptionkey,
|
sample_msg, sample_pubsigningkey, sample_pubencryptionkey,
|
||||||
sample_privsigningkey, sample_privencryptionkey, sample_ripe,
|
sample_privsigningkey, sample_privencryptionkey, sample_ripe,
|
||||||
sample_sig, sample_sig_sha1
|
sample_seed, sample_sig, sample_sig_sha1
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -81,6 +81,22 @@ class TestHighlevelcrypto(unittest.TestCase):
|
||||||
self.assertNotEqual(len(set(data)), 1)
|
self.assertNotEqual(len(set(data)), 1)
|
||||||
self.assertNotEqual(data, highlevelcrypto.randomBytes(n))
|
self.assertNotEqual(data, highlevelcrypto.randomBytes(n))
|
||||||
|
|
||||||
|
def test_random_keys(self):
|
||||||
|
"""Dummy checks for random keys"""
|
||||||
|
priv, pub = highlevelcrypto.random_keys()
|
||||||
|
self.assertEqual(len(priv), 32)
|
||||||
|
self.assertEqual(highlevelcrypto.pointMult(priv), pub)
|
||||||
|
|
||||||
|
def test_deterministic_keys(self):
|
||||||
|
"""Generate deterministic keys, make ripe and compare it to sample"""
|
||||||
|
# encodeVarint(42) = b'*'
|
||||||
|
sigkey = highlevelcrypto.deterministic_keys(sample_seed, b'*')[1]
|
||||||
|
enkey = highlevelcrypto.deterministic_keys(sample_seed, b'+')[1]
|
||||||
|
self.assertEqual(
|
||||||
|
sample_deterministic_ripe,
|
||||||
|
hexlify(TestHashlib._hashdigest(
|
||||||
|
hashlib.sha512(sigkey + enkey).digest())))
|
||||||
|
|
||||||
def test_signatures(self):
|
def test_signatures(self):
|
||||||
"""Verify sample signatures and newly generated ones"""
|
"""Verify sample signatures and newly generated ones"""
|
||||||
pubkey_hex = hexlify(sample_pubsigningkey)
|
pubkey_hex = hexlify(sample_pubsigningkey)
|
||||||
|
|
Reference in New Issue
Block a user