def test_decode_pub_compressed(self): pub = key.priv_to_pub( key.decode_privkey('5JnKZDMUAddiGgFjWiHNVrX5pxGcEJ1miscs2Xhy7f9BrGffrps')) self.assertEquals(key.decode_pub(key.encode_pub_compressed(pub)), pub) for _ in xrange(100): print _ priv = key.generate_priv() pub = key.priv_to_pub(priv) self.assertEquals(key.decode_pub(key.encode_pub_compressed(pub)), pub)
def test_decode_pub_compressed(self): pub = key.priv_to_pub( key.decode_privkey( '5JnKZDMUAddiGgFjWiHNVrX5pxGcEJ1miscs2Xhy7f9BrGffrps')) self.assertEquals(key.decode_pub(key.encode_pub_compressed(pub)), pub) for _ in xrange(100): print _ priv = key.generate_priv() pub = key.priv_to_pub(priv) self.assertEquals(key.decode_pub(key.encode_pub_compressed(pub)), pub)
def test_encode_pub_compressed(self): pub = key.priv_to_pub( key.decode_privkey( '5JnKZDMUAddiGgFjWiHNVrX5pxGcEJ1miscs2Xhy7f9BrGffrps')) self.assertEquals( key.encode_pub_compressed(pub), binascii.unhexlify( '02EAB82662C4A329F573E96801CCFCF9337446D2742EFDC5A6E8EA8F617AD0197B' ))
def test_priv_key_to_address_compressed(self): self.assertEquals( byte_util.base58_encode( key.address_from_pubkey( key.encode_pub_compressed( key.priv_to_pub( key.decode_privkey( '5JnKZDMUAddiGgFjWiHNVrX5pxGcEJ1miscs2Xhy7f9BrGffrps'))))), '19ufHMz2mhGHhSSQEmqBsqZUTMHB79urP9') self.assertEquals( byte_util.base58_encode( key.priv_to_address_compressed( key.decode_privkey('5JnKZDMUAddiGgFjWiHNVrX5pxGcEJ1miscs2Xhy7f9BrGffrps'))), '19ufHMz2mhGHhSSQEmqBsqZUTMHB79urP9')
def test_priv_key_to_address_compressed(self): self.assertEquals( byte_util.base58_encode( key.address_from_pubkey( key.encode_pub_compressed( key.priv_to_pub( key.decode_privkey( '5JnKZDMUAddiGgFjWiHNVrX5pxGcEJ1miscs2Xhy7f9BrGffrps' ))))), '19ufHMz2mhGHhSSQEmqBsqZUTMHB79urP9') self.assertEquals( byte_util.base58_encode( key.priv_to_address_compressed( key.decode_privkey( '5JnKZDMUAddiGgFjWiHNVrX5pxGcEJ1miscs2Xhy7f9BrGffrps')) ), '19ufHMz2mhGHhSSQEmqBsqZUTMHB79urP9')
def derive_child(self, i): high_bit = i & PUBLIC_DERIVATION_BIT if high_bit: I = hmac_sha512(self.chain_code, '\x00' + encode_bigint(self.key) + struct.pack('>L', i)).digest() else: I = hmac_sha512(self.chain_code, encode_pub_compressed(priv_to_pub(self.key)) + struct.pack('>L', i)).digest() IL = decode_bigint(I[:32]) if IL >= secp256k1.order: raise Error('invalid key') IR = I[32:] ki = (IL + self.key) % secp256k1.order if ki == 0: raise Error('invalid key') ci = IR return HDPrivKey(ki, ci, self.depth + 1, i, self.fingerprint(), self.V_T[self.version])
def derive_child(self, i): if i & PUBLIC_DERIVATION_BIT: raise Error('Invalid i (%r)' % (i,)) else: I = hmac_sha512(self.chain_code, encode_pub_compressed(self.key) + struct.pack('>L', i)).digest() IL = decode_bigint(I[:32]) if IL >= secp256k1.order: raise Error('invalid key') IR = I[32:] Ki = IL * secp256k1.generator + self.key #if Ki == INFINITY: # raise Error('invalid key') ci = IR return HDPubKey(Ki, ci, self.depth + 1, i, self.fingerprint(), self.V_T[self.version])
def derive_child(self, i): if i & PUBLIC_DERIVATION_BIT: raise Error('Invalid i (%r)' % (i, )) else: I = hmac_sha512( self.chain_code, encode_pub_compressed(self.key) + struct.pack('>L', i)).digest() IL = decode_bigint(I[:32]) if IL >= secp256k1.order: raise Error('invalid key') IR = I[32:] Ki = IL * secp256k1.generator + self.key #if Ki == INFINITY: # raise Error('invalid key') ci = IR return HDPubKey(Ki, ci, self.depth + 1, i, self.fingerprint(), self.V_T[self.version])
def derive_child(self, i): high_bit = i & PUBLIC_DERIVATION_BIT if high_bit: I = hmac_sha512( self.chain_code, '\x00' + encode_bigint(self.key) + struct.pack('>L', i)).digest() else: I = hmac_sha512( self.chain_code, encode_pub_compressed(priv_to_pub(self.key)) + struct.pack('>L', i)).digest() IL = decode_bigint(I[:32]) if IL >= secp256k1.order: raise Error('invalid key') IR = I[32:] ki = (IL + self.key) % secp256k1.order if ki == 0: raise Error('invalid key') ci = IR return HDPrivKey(ki, ci, self.depth + 1, i, self.fingerprint(), self.V_T[self.version])
def serialized_key(self): return encode_pub_compressed(self.key)
def test_encode_pub_compressed(self): pub = key.priv_to_pub( key.decode_privkey('5JnKZDMUAddiGgFjWiHNVrX5pxGcEJ1miscs2Xhy7f9BrGffrps')) self.assertEquals( key.encode_pub_compressed(pub), binascii.unhexlify('02EAB82662C4A329F573E96801CCFCF9337446D2742EFDC5A6E8EA8F617AD0197B'))