Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
 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'
         ))
Esempio n. 4
0
 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')
Esempio n. 5
0
 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')
Esempio n. 6
0
 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])
Esempio n. 7
0
    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])
Esempio n. 8
0
    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])
Esempio n. 9
0
 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])
Esempio n. 10
0
 def serialized_key(self):
     return encode_pub_compressed(self.key)
Esempio n. 11
0
 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'))
Esempio n. 12
0
 def serialized_key(self):
     return encode_pub_compressed(self.key)