Daniel Cousens
58fd12e66d
ecdsa: always use signature object
2014-05-24 16:25:38 +10:00
Daniel Cousens
bd1a08bfa1
ecdsa: use signum() over compareTo
2014-05-24 14:33:25 +10:00
Daniel Cousens
aca565239a
ECKey: remove unnecessary slice
2014-05-24 00:51:56 +10:00
Daniel Cousens
cd326921bc
bigi: upgrade to 1.1.0
2014-05-24 00:51:56 +10:00
Daniel Cousens
1087ac07de
sec: fix formatting
2014-05-24 00:51:56 +10:00
Daniel Cousens
b8858c0bc9
sec: use BigInteger.fromHex directly
2014-05-24 00:51:56 +10:00
Daniel Cousens
da48c988f6
sec: use a hashtable for lookup
2014-05-24 00:51:56 +10:00
Daniel Cousens
087ca551f5
ecdsa: fix indentation
2014-05-24 00:48:31 +10:00
Daniel Cousens
d05d661aea
ecdsa: use standard declarative notation for functions
2014-05-24 00:48:31 +10:00
Daniel Cousens
bcfd62fdb5
ecdsa: remove implicit ecparams
2014-05-24 00:48:31 +10:00
Daniel Cousens
2dec1375a1
ecdsa: use (r, s) values directly
2014-05-24 00:48:31 +10:00
Daniel Cousens
8d7408202f
ecdsa: consistent parameter ordering
2014-05-24 00:48:31 +10:00
Daniel Cousens
abe65b8d4a
ecdsa: use shamirs trick
2014-05-24 00:48:20 +10:00
Daniel Cousens
a17a5b23d9
ec: fix point decoding for other curves
2014-05-22 12:33:47 +10:00
Daniel Cousens
5ec9504ed6
ecdsa: opt for shiftRight, pow and square
...
In the given situations, these offer better readability, or in the case
of shiftRight, a substantial performance increase.
2014-05-22 12:33:47 +10:00
Daniel Cousens
7d89ff427c
ecdsa: comment cleanup
2014-05-22 12:33:47 +10:00
Daniel Cousens
0865f09d20
ec/dsa: extract P_OVER_FOUR as a curve specific constant
...
This actually resolves a possible bug if multiple ecparams were used
(aka different values for P_OVER_FOUR, but only the cached was used).
2014-05-22 12:33:47 +10:00
Daniel Cousens
1e54c521d5
ec: extract BigInteger constants
2014-05-22 12:33:47 +10:00
Daniel Cousens
d9ce4bee6b
ec: use signum() not equals(BigInteger.ZERO)
2014-05-22 12:33:47 +10:00
Daniel Cousens
d14b08efd1
ec/dsa: recovery param now used consistently
...
Also added an assertion rather than massaging the input.
2014-05-22 12:32:28 +10:00
Daniel Cousens
24371425f9
ec: decodeFrom now uses Buffers and handles errors
2014-05-18 17:52:49 +10:00
Daniel Cousens
a3f691bf7c
ecdsa: parseSigCompact use Buffer API
...
parseSigCompact also now returns the correct recovert parameter without
the need to subtract the compression bit.
This makes it easier to use.
2014-05-18 17:52:49 +10:00
Daniel Cousens
f7c7265d64
ecdsa: parseSig now uses buffer API
2014-05-18 17:52:49 +10:00
Daniel Cousens
ccca6989b5
ec: getEncoded now uses Buffer API
2014-05-18 17:52:49 +10:00
Daniel Cousens
db3ffe58d1
message: use serializeSigCompact
2014-05-18 17:52:49 +10:00
Daniel Cousens
4c7108d561
ecdsa: add serializeSigCompact and tests
...
This also adds tests for all other ECDSA serialize/parsing functions.
The k, r, s and D values were sourced from test vectors on
https://bitcointalk.org/index.php?topic=285142.40 .
The compact signatures (aka, i values) were generated from bitcoinjslib, but they
are straight forward anyway.
2014-05-18 17:52:49 +10:00
Daniel Cousens
b208a6ab78
crypto/ecdsa: moves HmacSHA256 to crypto
2014-05-18 17:52:49 +10:00
Daniel Cousens
99a1b7274c
Transaction: use the type embedded in the signature
2014-05-18 17:52:48 +10:00
Daniel Cousens
6b5990c6e2
message: support alternate networks
2014-05-18 17:51:36 +10:00
Daniel Cousens
10fe4474d1
ECKey: remove *Buffer/*Hex functions
...
An ECKey is a composition of a private key (D), a public key (Q) and its
compression flag.
These functions gave the impression of serialization of this
composition, when really they only serialized `D`.
They have therefore been removed in favour of always using a sane
serialization format (WIF) that matches the needed behaviour.
If a user needs the previous functionality, simply use `privKey.D.*`
instead of `privKey.*`, as BigInteger supports `*Buffer/*Hex` functions
as expected.
2014-05-18 17:50:10 +10:00
Daniel Cousens
0468c4710c
Transaction: rename (de)serialize to [to/from]Buffer
2014-05-17 00:09:13 +10:00
Daniel Cousens
e033a872c9
Transaction: rename hashTransactionForSignature to hashForSignature
2014-05-17 00:09:13 +10:00
Daniel Cousens
55681e7e5d
Script: use PubKey objects not prebuilt Buffers
2014-05-17 00:09:13 +10:00
Daniel Cousens
54cc123d31
Address/Script: consistent function ordering
2014-05-17 00:09:13 +10:00
Daniel Cousens
b99ed46796
opcodes: rename to opcodes
2014-05-13 23:14:07 +10:00
Daniel Cousens
f9782b7c17
opcodes: remove unused reverseMap
2014-05-13 23:12:30 +10:00
Daniel Cousens
554ba250b9
opcode: less redundant indentation
2014-05-13 18:53:30 +10:00
Daniel Cousens
1fe8282eda
Script: remove redundant opcode.map access
2014-05-13 18:53:30 +10:00
Daniel Cousens
e27c97a791
ECPubKey/ECKey: separate to two files
2014-05-13 16:51:06 +10:00
Daniel Cousens
05e0d08098
BufferExt: rename to bufferutils
2014-05-13 16:46:12 +10:00
Daniel Cousens
276a339d60
crypto: HMACSHA512 into crypto and add tests
2014-05-12 10:18:39 +10:00
Daniel Cousens
f70ccc9215
convert: remove hex functions
2014-05-12 10:17:38 +10:00
Daniel Cousens
614a213d44
Transaction: remove untested hash array support
2014-05-12 10:17:38 +10:00
Daniel Cousens
063643b4a1
HDWallet: show clearer BIP32 adherence for Master key
2014-05-12 09:56:00 +10:00
Daniel Cousens
3ed7d78e59
HDWallet: adhere to BIP32 for CKD
2014-05-10 09:57:16 +10:00
Daniel Cousens
25514d6ac1
HDWallet: remove HmacBytesToBytes
2014-05-10 09:57:16 +10:00
Daniel Cousens
da36003d09
Script: remove sort requirement for multisig
2014-05-09 18:03:41 +10:00
Daniel Cousens
de343b2093
Script: remove Address requirement
2014-05-09 18:03:22 +10:00
Daniel Cousens
f18c5e4c1e
Script: removes Script.createP2SHMultiSigScriptSig
...
It is favoured to compose the scriptSig manually using
Script.createP2SHScriptSig and Script.createMultisigScriptSig.
Added a test to verify that createMultisigScriptSig throws when not
enough signatures a provided and the redeemScript is given.
2014-05-09 16:26:35 +10:00
Daniel Cousens
f8e662e495
Script: rename toScriptHash to getHash and add tests
2014-05-09 13:07:06 +10:00