Commit Graph

116 Commits (0b0f01fb59290fd6c2790fef0578d3257b64ea9d)

Author SHA1 Message Date
Jochen Hoenicke eb6e74f361 Improve speed of scalar_multiply.
10 years ago
Jochen Hoenicke d4788bddfd Added modulus to bn_subtractmod
10 years ago
Pavol Rusnak e37ba822e6 bn_substract -> bn_subtractmod, bn_substract_noprime -> bn_subtract
10 years ago
Jochen Hoenicke e2dd0b8e8d Always check for validity in ecdsa_read_pubkey.
10 years ago
Jochen Hoenicke ed9d8c1ebb Fix RFC6979 generation of k.
10 years ago
Pavol Rusnak 795579cbac invert pby when normalizing S during signing
10 years ago
Pavol Rusnak 89a7d7797b replace base58 implementation
10 years ago
Pavol Rusnak b4cdba8489 export pby from ecdsa_sign functions
10 years ago
Pavol Rusnak 9469a64a0a use bn_is_zero and bn_is_equal where possible
10 years ago
Pavol Rusnak df3606dd5e introduce ecdsa_get_address_raw
10 years ago
Pavol Rusnak 0fe1857513 normalize y^2 in pubkey validation
10 years ago
Pavol Rusnak b9d5896174 make pubkey validation optional, extract options to separate header
10 years ago
Ondrej Mikle b34516bc49 Removed unnessary point copy.
10 years ago
Ondrej Mikle 03fee34550 Validating of public key curve point.
10 years ago
Ondrej Mikle 7fd81a1e0c Removed superfluous bn_mod, it's done now in point_add and point_double.
10 years ago
Ondrej Mikle 323da2d434 Keep results after point_add() and point_double() inside the finite field. Simplified point_is_negative_of().
10 years ago
Ondrej Mikle d827b2c862 Account for case when point.y == 0 when doubling.
10 years ago
Ondrej Mikle 6d61cefdb3 Removed test for point equality in ecdsa_verify_digest, point_add() already handles that.
10 years ago
Ondrej Mikle da6a09880d Handling of special cases in EC arithmetic.
10 years ago
Pavol Rusnak 82ed3f31db fix comparison of points
10 years ago
Pavol Rusnak eec5f7df15 fix bug in unoptimized branch of code
10 years ago
Pavol Rusnak 019d779a94 Revert "Revert "add more precomputation to ecdsa signing""
10 years ago
Pavol Rusnak 3747ba4323 Revert "add more precomputation to ecdsa signing"
10 years ago
Ondrej Mikle 0ad302ea4e Hashing of secp256k1 pubkey recognizes point at infinity.
10 years ago
Pavol Rusnak 5e9cd15527 use new base58 code for address functions, add function for obtaining wif
10 years ago
Pavol Rusnak 612f5ab050 fix copyright headers
10 years ago
Pavol Rusnak 06dd166a82 add more precomputation to ecdsa signing
10 years ago
Pavol Rusnak 94d4a3733e fix typos
11 years ago
Pavol Rusnak b5ceb14f8d extract ecdsa_get_pubkeyhash
11 years ago
Pavol Rusnak d0e152a088 replace SHA256/SHA512 prefix with sha256/sha512 (OpenSSL clash)
11 years ago
Pavol Rusnak 50fb43127f use -Wextra
11 years ago
Pavol Rusnak d433bcfa10 fix ecdsa_sig_to_der
11 years ago
Pavol Rusnak 6a856479a8 introduce point_multiply
11 years ago
Pavol Rusnak fc144587e6 introduce ecdsa_verify_digest
11 years ago
Pavol Rusnak 8aaebe761b introduce uncompress_coords
11 years ago
Pavol Rusnak 81f462a5c5 add ecdsa_sig_to_der
11 years ago
Pavol Rusnak 73489fbd33 split signing into ecdsa_sign_digest and ecdsa_sign/ecdsa_sign_double
11 years ago
Pavol Rusnak a40a077613 rework ecdsa_address_to_hash160 into ecdsa_address_decode
11 years ago
Pavol Rusnak 2e4ec7fe0a introduce ecdsa_address_to_hash160
11 years ago
Pavol Rusnak 7dc057c903 add testcases for address generation
11 years ago
Pavol Rusnak ed7e2e5058 implement public child key derivation
11 years ago
Pavol Rusnak 8423c7abfd add check that pub.y != res.y
11 years ago
Pavol Rusnak 9da3b35962 extract xprv_fill_public method
11 years ago
Pavol Rusnak a439d8674d small cosmetic changes
11 years ago
Pavol Rusnak 9205c0d952 use canonical signatures (if S > Order/2: S = Order - S)
11 years ago
Pavol Rusnak f87e706407 add define for RFC6979
11 years ago
Pavol Rusnak 678e5b1af2 use #if instead of #ifdef for conditional macros
11 years ago
Pavol Rusnak 1691d5cc8c small cleanup
11 years ago
Pavol Rusnak 71ff1c5124 replace infinite loops with loops with counters
11 years ago
Pavol Rusnak f4f246f3d7 optimize computations
11 years ago
Pavol Rusnak 7ed18947ba simplify divmod58
11 years ago
Pavol Rusnak 74a5b04b81 verify now supports compressed keys
11 years ago
Pavol Rusnak 896905c5c8 remove der encoding, introduce 33/65 bytes pubkeys, 64 bytes signature
11 years ago
Pavol Rusnak 58a65d9cd7 move speed tests to unit testing suite
11 years ago
Pavol Rusnak 92f070498f add function for computing addresses
11 years ago
Pavol Rusnak afc9bcfe30 implement bip32 - https://en.bitcoin.it/wiki/BIP_0032
11 years ago
Pavol Rusnak 07d1c22730 refactor code -> bignum.c/h
11 years ago
Pavol Rusnak 603acbd1be implement RFC 6979
11 years ago
Pavol Rusnak 40fa3f52e4 use sha2 implementation by Aaron D. Gifford
11 years ago
Pavol Rusnak d958d8a90e cleanup
11 years ago
Pavol Rusnak df79a330e6 pave the way for RFC6979
11 years ago
Pavol Rusnak 3f737896a4 ecdsa_get_public_key and ecdsa_verify methods
11 years ago
mog c87691205b added support for getting public key from a private key.
11 years ago
Pavol Rusnak ee09a6a7b2 param names cleanup
11 years ago
Pavol Rusnak 1bd0592c26 fix for formatting
11 years ago
Pavol Rusnak ccbc219b29 import sources
11 years ago