Felix Lange
9b0af51386
crypto: add btcec fallback for sign/recover without cgo ( #3680 )
...
* vendor: add github.com/btcsuite/btcd/btcec
* crypto: add btcec fallback for sign/recover without cgo
This commit adds a non-cgo fallback implementation of secp256k1
operations.
* crypto, core/vm: remove wrappers for sha256, ripemd160
2017-02-18 09:24:12 +01:00
Felix Lange
96778a1c21
crypto/secp256k1: sign with deterministic K (rfc6979) ( #3561 )
2017-01-22 23:28:47 +01:00
Felix Lange
e0ceeab0d1
crypto/secp256k1: update to github.com/bitcoin-core/secp256k1 @ 9d560f9 ( #3544 )
...
- Use defined constants instead of hard-coding their integer value.
- Allocate secp256k1 structs on the C stack instead of converting []byte
- Remove dead code
2017-01-12 21:29:11 +01:00
Felix Lange
b9b3efb09f
all: fix ineffectual assignments and remove uses of crypto.Sha3
...
go get github.com/gordonklaus/ineffassign
ineffassign .
2017-01-09 16:24:42 +01:00
Péter Szilágyi
18c77744ff
all: fix spelling errors
2017-01-06 19:44:35 +02:00
Gustav Simonsson
371871d685
parmas, crypto, core, core/vm: homestead consensus protocol changes
...
* change gas cost for contract creating txs
* invalidate signature with s value greater than secp256k1 N / 2
* OOG contract creation if not enough gas to store code
* new difficulty adjustment algorithm
* new DELEGATECALL op code
2016-02-18 10:08:11 +01:00
Felix Lange
02356b36d6
crypto/secp256k1: remove dependency on libgmp
...
Turns out we actually don't need it, USE_NUM_NONE works
because we also set USE_FIELD_INV_BUILTIN.
2015-12-03 21:12:13 +01:00
Gustav Simonsson
c8ad64f33c
crypto, crypto/ecies, crypto/secp256k1: libsecp256k1 scalar mult
...
thanks to Felix Lange (fjl) for help with design & impl
2015-11-30 13:43:32 +01:00
Gustav Simonsson
27a50c8f4b
core/secp256k1: update libsecp256k1 Go wrapper and tests
2015-11-30 13:24:04 +01:00
Felix Lange
e344e1d490
crypto/secp256k1: drop pkgsrc paths from CFLAGS
...
They cause compiler warnings for people who don't have these
directories. People with pkgsrc can add the directory through CGO_CFLAGS
instead.
2015-11-17 09:53:10 +01:00
Felix Lange
5159f8f649
crypto/secp256k1: raise internal errors as recoverable Go panic
2015-11-17 09:53:10 +01:00
Felix Lange
1b29aed128
crypto/secp256k1: verify recovery ID before calling libsecp256k1
...
The C library treats the recovery ID as trusted input and crashes
the process for invalid values, so it needs to be verified before
calling into C. This will inhibit the crash in #1983 .
Also remove VerifySignature because we don't use it.
2015-11-17 09:51:59 +01:00
Felix Lange
16b0bc7c3b
crypto/secp256k1: add C compiler flags for pkgsrc
...
pkgsrc is a cross-platform package manager that also
supports OS X.
2015-11-03 10:33:31 +01:00
Gustav Simonsson
f32fa075f1
core/secp256k1: update libsecp256k1 Go wrapper and tests
2015-10-09 14:47:55 +02:00
Gustav Simonsson
1d20b0247c
Update libsecp256k1
2015-09-28 17:46:38 +02:00
Fynn
7065ebd2ed
FreeBSD support
2015-07-28 19:16:16 -03:00
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
2015-07-23 18:35:11 +02:00
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Gustav Simonsson
9918b6c84e
Remove the awesome, ever misunderstood entropy mixing
2015-05-12 17:18:30 +02:00
Noel Maersk
958c04e79a
doc: crypto/secp256k1 GMP dependency package name.
...
Linux build documentation is mostly geared towards Ubuntu 14.04 (LTS).
Appropriate package is called `libgmp-dev` there.
Note that on pristine installations building `geth` with godep will
fail because this header is missing. This is not documented in the
top-level README, but is on the wiki:
https://github.com/ethereum/go-ethereum/wiki/Installation-Instructions-for-Ubuntu#building-geth-command-line-client
That page recommends `libgmp3-dev`, which ATM provides same version
as `libgmp-dev`.
2015-04-23 17:33:48 +03:00
Maran
04e216319e
Adding flags to facilitate cross compiling to ARM
2015-04-22 17:04:46 +02:00
Gustav Simonsson
941f051358
libsecp256k1 #define NDEBUG
2015-04-07 18:09:58 +02:00
obscuren
50bbdfe582
Link GMP
2015-04-07 15:20:24 +02:00
Gustav Simonsson
d9b37b6da7
Update Go wrapper around libbsecp256k1
2015-04-07 12:40:31 +02:00
Gustav Simonsson
f4d4f1ccb2
Update bitcoin secp256k1 lib
2015-04-07 12:14:05 +02:00
obscuren
8f69b5c7a2
Added invalid sec key test
2015-02-16 13:19:57 +01:00
obscuren
238f39a42e
Validate seckey when generating pub key
2015-02-15 02:20:31 +01:00
Gustav Simonsson
f35d62b759
Remove secp256_rand.go and update tests
2015-02-13 18:25:25 +01:00
Gustav Simonsson
8c056aebe1
Set both key generation and ECDSA nonce to use mixed entropy
...
* Move random entropy functions to new package randentropy
* Add function to get n bytes entropy where up to first 32
bytes are mixed with OS entropy sources
2015-02-10 22:49:28 +01:00
obscuren
19cff8ecca
Fixed n
2015-01-31 17:50:28 +01:00
obscuren
a008c21cf0
Fixed Sign nonce
2015-01-31 17:44:34 +01:00
obscuren
67f9783e6a
Moved obscuren
secp256k1-go
2015-01-22 00:35:00 +01:00