Ryan X. Charles
d50d766352
Base58Check.prototype.set
2014-08-28 15:31:06 -07:00
Ryan X. Charles
da8989b649
add set function to Base58
2014-08-28 15:27:58 -07:00
Ryan X. Charles
6b7592d67b
add address validation convenience function
2014-08-28 15:22:03 -07:00
Ryan X. Charles
f52e679f93
refactor address - use "set" function
...
...intend for this to become standard throughout the lib
2014-08-28 15:18:48 -07:00
Ryan X. Charles
cc316e9455
ECIES
2014-08-28 14:43:21 -07:00
Ryan X. Charles
6f54d4cde6
Encryption -> SymEnc
...
This is more explanatory ("symmetric encryption") and also does not encourage
its use for people who don't know what they're doing. (It should only be used
in combination with some type of message authentication.)
2014-08-28 11:10:40 -07:00
Ryan X. Charles
1cb2f900af
symmetric encryption convenience class
2014-08-27 17:15:10 -07:00
Ryan X. Charles
73b904ce21
CBC decrypt
2014-08-25 21:16:33 -07:00
Ryan X. Charles
dfa190b5a5
blockbufs2buf
2014-08-25 21:02:00 -07:00
Ryan X. Charles
ae319ffcbc
unpad
2014-08-25 20:53:29 -07:00
Ryan X. Charles
a6e74666c8
decrypt blocks
2014-08-25 20:38:39 -07:00
Ryan X. Charles
eddeb60d7d
decrypt block
2014-08-25 20:25:18 -07:00
Ryan X. Charles
97e40f9ac6
rename keybuf -> cipherkeybuf
...
...since this use of "key" is very different than the public/private key pair
that is key.js
2014-08-25 16:38:53 -07:00
Ryan X. Charles
a09cac4ba6
block cipher should support "encrypt" and "decrypt"
2014-08-25 16:30:04 -07:00
Ryan X. Charles
12f29a9b52
CBC encryption
2014-08-25 16:25:01 -07:00
Ryan X. Charles
38d9ab65af
xor buffers ... will be useful for CBC
2014-08-24 20:51:56 -07:00
Ryan X. Charles
1b1ecd989a
pkcs7
...
This is a standard algorithm for the purposes of padding a block for a block
cipher. It will be used in CBC, which in turned will be used with AES for
ECIES.
2014-08-24 19:38:20 -07:00
Ryan X. Charles
1dead4cbc4
AES
2014-08-24 17:33:09 -07:00
Ryan X. Charles
f3dcb5bba1
typo in error message
2014-08-24 14:31:30 -07:00
Ryan X. Charles
b81e4c75fb
put static methods at the top
2014-08-24 14:27:47 -07:00
Ryan X. Charles
ea0ee1b687
add info on public key recovery
2014-08-24 14:26:17 -07:00
Ryan X. Charles
e6a88118ae
fix error message
2014-08-24 12:50:21 -07:00
Ryan X. Charles
bc94a5cb59
sign/verify with uncompressed pubkeys
2014-08-22 19:43:32 -07:00
Ryan X. Charles
7c945cdc01
add "compressed" feature to pubkeys
...
...not just privkeys. since, of course, they can be compressed or uncompressed.
2014-08-22 17:43:22 -07:00
Ryan X. Charles
8e6a28162b
it is a "Compact" signature, not "Compressed"
2014-08-22 16:34:45 -07:00
Ryan X. Charles
6176ad4a98
verify signed messages
...
...and fix bug where i (recover param) was stored incorrectly
2014-08-22 16:15:44 -07:00
Ryan X. Charles
3b3ebb0458
sign convenience function
2014-08-21 16:21:21 -07:00
Ryan X. Charles
15f9a99e65
message signing
2014-08-21 15:50:38 -07:00
Ryan X. Charles
e6d89a76d7
use standard language - hash -> hashbuf
2014-08-21 14:00:18 -07:00
Ryan X. Charles
2131dbdfee
remove unnecessary tab
2014-08-21 11:52:43 -07:00
Ryan X. Charles
ddc9e2d2a4
handle varInts better
2014-08-21 11:47:09 -07:00
Ryan X. Charles
4cff6a41f4
remove "(classname): " from tests
...
...to reduce the burden on writing new code
2014-08-20 13:03:07 -07:00
Ryan X. Charles
912bed1d9c
support BN in bufferwriter
...
So that the precision of writing a variable sized integer is sufficient.
2014-08-20 12:52:37 -07:00
Ryan X. Charles
cde44d689c
fix precision error by handling BNs correctly
2014-08-20 12:35:55 -07:00
Ryan X. Charles
3e82c57e19
"hashbuf" indicates type is a buffer
2014-08-20 10:46:01 -07:00
Ryan X. Charles
ca7fdd77c1
recover public key from signature
2014-08-19 17:15:54 -07:00
Ryan X. Charles
65c3545cb6
include i in sig obj + cosmetic improvements
2014-08-19 16:27:28 -07:00
Ryan X. Charles
39236fab14
formatting
2014-08-19 12:02:34 -07:00
Ryan X. Charles
9d600f4784
BufferWriter
2014-08-18 18:20:54 -07:00
Ryan X. Charles
5e3ad3d09d
BufferReader
2014-08-18 18:04:47 -07:00
Ryan X. Charles
f11ed4d20b
bug: should mod bn addition
...
when adding two private keys to get a new private key, you should mod the
result with N so that it is always less than N.
2014-08-15 15:09:28 -04:00
Ryan X. Charles
d73ff6fa6a
give Base58 the normal bitcore2 interface
2014-08-14 12:13:09 -04:00
Ryan X. Charles
de08f78d74
give Base58Check the same fromString toString
...
...interface like the rest of the classes
2014-08-14 11:56:17 -04:00
Ryan X. Charles
bc1c4235f2
basic stealth address support
...
Math only. Does not yet support transactions. Not yet compatible with Dark
Wallet.
2014-08-13 20:54:05 -04:00
Ryan X. Charles
f8fc3812f0
add BN.prototype.fromBuffer
2014-08-13 19:23:45 -04:00
Ryan X. Charles
f6f7a870fb
allow creating objects without using "new"
2014-08-13 18:55:33 -04:00
Ryan X. Charles
a2512226f8
address convenience functions
2014-08-13 18:00:41 -04:00
Ryan X. Charles
8743c68ce6
kdf
2014-08-13 17:31:28 -04:00
Ryan X. Charles
a2e471ae9e
more consistency: n -> bn, p -> point
2014-08-13 15:23:06 -04:00
Ryan X. Charles
cc310fbc23
add bip32: to error messages
...
...to be consistent with the rest of the library
2014-08-09 23:54:08 -07:00
Ryan X. Charles
efbebb3528
throw error if deriving an invalid path string
...
...the path consists "m", numbers, /, and ' characters
2014-08-09 23:52:19 -07:00
Ryan X. Charles
7def2609ec
add toString method for bip32
...
...so that it is consistent with the rest of the library
2014-08-09 23:29:05 -07:00
Ryan X. Charles
be37f5e37f
improve bip32 interface slightly
2014-08-09 23:16:15 -07:00
Ryan X. Charles
9649cc58e9
bip32
...
code from bitcore. original implementation derived from here:
https://github.com/sarchar/brainwallet.github.com/blob/bip32/js/bip32.js
2014-08-09 22:19:28 -07:00
Ryan X. Charles
5606e083e2
sha512hmac and sha256hmac
2014-08-09 21:51:26 -07:00
Ryan X. Charles
3871e43dd8
make address more consistent with rest of lib
2014-08-09 20:26:03 -07:00
Ryan X. Charles
cd6c2b2410
refactor privkey
2014-08-09 19:58:48 -07:00
Ryan X. Charles
304210c132
add tests for all ecdsa functions
2014-08-09 19:42:25 -07:00
Ryan X. Charles
2ed5290a4e
make "new Point()" work
2014-08-09 19:03:59 -07:00
Ryan X. Charles
c4064cc6e1
ecdsa
2014-08-09 17:43:24 -07:00
Ryan X. Charles
1a01674532
signature
2014-08-09 14:42:23 -07:00
Ryan X. Charles
333c075ae7
key
2014-08-07 21:31:36 -07:00
Ryan X. Charles
5a79879e63
use process.browser only, which is sufficient
2014-08-07 20:39:20 -07:00
Ryan X. Charles
e43c7e3c3a
random
...
...code from bitcore
2014-08-07 16:51:24 -07:00
Ryan X. Charles
448f532738
pubkey
2014-08-07 16:18:17 -07:00
Ryan X. Charles
3df3d41434
privkey
2014-08-06 22:47:10 -07:00
Ryan X. Charles
9f7e01b8ca
rename redundant point.pointFromX to point.fromX
2014-08-06 21:39:25 -07:00
Ryan X. Charles
657f992e7b
point
2014-08-06 21:02:42 -07:00
Ryan X. Charles
ca4131ab05
remove ripemd160 dep., replace with hash.js
2014-08-06 19:06:32 -07:00
Ryan X. Charles
e0deb0407c
add big number support
...
Extend bn.js with some convenience methods. Extension code taken from bitcore.
2014-08-06 18:36:30 -07:00
Ryan X. Charles
862235e57e
initial commit
...
address, base58, base58check, hash all working with tests.
base58check code taken from bitcore.
2014-08-06 18:25:45 -07:00