aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
Commit message (Collapse)AuthorAgeFilesLines
* crypto/secp256k1: add C compiler flags for pkgsrcFelix Lange2015-11-031-2/+2
| | | | | pkgsrc is a cross-platform package manager that also supports OS X.
* cmd/utils, crypto: add --lightkdf flag for lighter KDFDrake Burroughs2015-10-293-18/+27
|
* console:zelig2015-10-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lines with leading space are ommitted from history * exit processed even with whitespace around * all whitespace lines (not only empty ones) are ignored add 7 missing commands to admin api autocomplete registrar: methods now return proper error if reg addresses are not set. fixes #1457 rpc/console: fix personal.newAccount() regression. Now all comms accept interactive password registrar: add registrar tests for errors crypto: catch AES decryption error on presale wallet import + fix error msg format. fixes #1580 CLI: improve error message when starting a second instance of geth. fixes #1564 cli/accounts: unlock multiple accounts. fixes #1785 * make unlocking multiple accounts work with inline <() fd * passwdfile now correctly read only once * improve logs * fix CLI help text for unlocking fix regression with docRoot / admin API * docRoot/jspath passed to rpc/api ParseApis, which passes onto adminApi * docRoot field for JS console in order to pass when RPC is (re)started * improve flag desc for jspath common/docserver: catch http errors from response fix rpc/api tests common/natspec: fix end to end test (skipped because takes 8s) registrar: fix major regression: * deploy registrars on frontier * register HashsReg and UrlHint in GlobalRegistrar. * set all 3 contract addresses in code * zero out addresses first in tests
* Merge pull request #1853 from Gustav-Simonsson/libsecp256k1_updateJeffrey Wilcke2015-10-1689-3022/+6536
|\ | | | | Update libsecp256k1, Go wrapper and tests
| * core/secp256k1: update libsecp256k1 Go wrapper and testsGustav Simonsson2015-10-093-249/+256
| |
| * Update libsecp256k1Gustav Simonsson2015-09-2886-2773/+6280
| |
* | Merge pull request #1887 from Gustav-Simonsson/icapJeffrey Wilcke2015-10-162-0/+30
|\ \ | | | | | | common, crypto: add ICAP functions
| * | common, crypto: add ICAP functionsGustav Simonsson2015-10-132-0/+30
| |/
* / crypto: correct sig validation, add more unit testsGustav Simonsson2015-09-222-27/+169
|/
* Change go-uuid to use the current supported repository.Jeff R. Allen2015-09-123-3/+3
|
* crypto: remove obsolete key fileszelig2015-08-184-1878/+0
|
* remove elliptic.P224 usagePavol Rusnak2015-07-302-14/+1
| | | | | | | Fedora/RedHat distros comply with US patent law and remove this curve, which makes it impossible to run ethereum with distro provided Golang. File crypto/ecies/README claims it is unsupported anyway.
* FreeBSD supportFynn2015-07-291-0/+2
|
* Merge pull request #1515 from fjl/license-fixesJeffrey Wilcke2015-07-2817-19/+67
|\ | | | | all: fix license headers one more time
| * crypto/sha3: add full license headersFelix Lange2015-07-242-4/+52
| |
| * all: fix license headers one more timeFelix Lange2015-07-2415-15/+15
| | | | | | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* | crypto: fix build with Go 1.5Felix Lange2015-07-281-1/+8
|/
* all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-2315-60/+60
| | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
* crypto: fix license of curve.goFelix Lange2015-07-231-27/+38
| | | | | crypto/curve.go is not our code and has its own license. This commit excludes it in update-license.go and removes our GPL header.
* crypto: remove debug print call after decrypting a key from diskFelix Lange2015-07-211-1/+0
|
* : colon => dash - in keyfile name - slight deviation from ISO8601 for WIN ↵zelig2015-07-091-1/+1
| | | | FS compatibility
* all: goimports -wFelix Lange2015-07-071-1/+2
|
* all: remove @author commentsFelix Lange2015-07-073-21/+0
|
* all: update license informationFelix Lange2015-07-0720-47/+371
|
* account update: migrate or change passwordzelig2015-07-032-18/+60
| | | | | | * account.Update * KeyStore.Cleanup * fix dir rm for old format deleteKey
* fix account orderingzelig2015-07-033-73/+96
| | | | | | | | * chronological order of creation * new naming scheme keystore/UTC--<created_at UTC ISO8601>-<address hex> * KeyStore2 -> KeyStore * backward compatibility * refactor keyStore methods
* accounts order by keyfile ctimezelig2015-07-031-2/+25
|
* Change keystore to version 3Gustav Simonsson2015-06-247-91/+344
| | | | | | | | | | | | * Change password protection crypto in keystore to version 3 * Update KeyStoreTests/basic_tests.json * Add support for PBKDF2 with HMAC-SHA256 * Change MAC and encryption key to avoid unnecessary hashing * Add tests for test vectors in new wiki page defining version 3 * Add tests for new keystore tests in ethereum/tests repo * Move JSON loading util to common for use in both tests and crypto packages * Add backwards compatibility with key store version 1
* crypto: return common.Address rather than raw bytesobscuren2015-06-052-5/+5
|
* Merge pull request #1166 from Gustav-Simonsson/add_ec_sig_validationsJeffrey Wilcke2015-06-031-0/+16
|\ | | | | Add EC signature validations before call to libsecp256k1
| * Initialise curve N value in package initGustav Simonsson2015-06-031-1/+3
| |
| * Add EC signature validations before call to libsecp256k1Gustav Simonsson2015-06-021-0/+14
| |
* | crypto/sha3: pull in latest keccak from go crypto (45% speed increase)Péter Szilágyi2015-06-032-173/+409
|/
* Update keystore code commentsGustav Simonsson2015-05-141-6/+7
|
* Change default keystore dirGustav Simonsson2015-05-131-1/+1
|
* Update key store to new spec but keep address field for nowGustav Simonsson2015-05-123-68/+55
| | | | * Also fix address types post-rebase
* Address pull request comments; key header and hex encodingGustav Simonsson2015-05-123-31/+67
| | | | | | * Remove key header from unencrypted key file format and replace it with a version field * Change encoding of bytes in key files from base64 to hex
* Revert "Add key header to unencrypted key file"Gustav Simonsson2015-05-122-16/+8
| | | | This reverts commit a94d4ba0b53c4558ab838aaed635a2ff66ddfa53.
* Add key header to unencrypted key fileGustav Simonsson2015-05-122-8/+16
|
* Add key header to encrypted keysGustav Simonsson2015-05-122-7/+57
| | | | | | | * Add key header containing key version, kdf and kdf params * Store key header as JSON in the key file * Read in KDF params from key header * Include key header in MAC calculation and MAC verification
* Use common.Address type for accounts.AddressGustav Simonsson2015-05-124-28/+30
|
* Improve key store passphrase cryptoGustav Simonsson2015-05-124-23/+31
| | | | | | | * Change MAC-then-Encrypt to Encrypt-then-MAC * Change AES256 to AES128 * Use first 16 bytes of KDF derived key for AES and remaining 16 for MAC
* Remove the awesome, ever misunderstood entropy mixingGustav Simonsson2015-05-124-64/+15
|
* replaced several path.* with filepath.* which is platform independentBas van Kervel2015-05-122-7/+7
|
* Add loading of block test privkey if presentGustav Simonsson2015-04-281-0/+13
|
* Remove unneeded allocationGustav Simonsson2015-04-251-1/+0
|
* Use make instead of new for allocationGustav Simonsson2015-04-241-1/+1
|
* Fix ignore of unexpected files in key dirGustav Simonsson2015-04-231-3/+3
|
* doc: crypto/secp256k1 GMP dependency package name.Noel Maersk2015-04-231-1/+4
| | | | | | | | | | | | | | 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`.
* Adding flags to facilitate cross compiling to ARMMaran2015-04-221-0/+2
|
* crypto: update {Load,Save}ECDSA comments to mention hex encodingFelix Lange2015-04-191-2/+3
|
* removed utility function and implemented hex conversation in crypto functionsBas van Kervel2015-04-091-2/+9
|
* Support for import/export hex encoded keys, closes #635Bas van Kervel2015-04-091-3/+3
|
* Add IsOnCurve check to EC unmarshalling in ECIES decryptionGustav Simonsson2015-04-081-0/+4
|
* Merge pull request #648 from ↵Jeffrey Wilcke2015-04-081-9/+7
|\ | | | | | | | | Gustav-Simonsson/forward_ecrecover_err_and_remove_dup_checks Forward and log EC recover err and remove dup pubkey len check
| * Forward and log EC recover err and remove dup pubkey len checkGustav Simonsson2015-04-071-9/+7
| |
* | libsecp256k1 #define NDEBUGGustav Simonsson2015-04-081-0/+1
| |
* | Link GMPobscuren2015-04-071-0/+3
| |
* | Update Go wrapper around libbsecp256k1Gustav Simonsson2015-04-071-89/+25
| |
* | Update bitcoin secp256k1 libGustav Simonsson2015-04-0774-4960/+10508
|/
* Cleanup.obscuren2015-03-291-9/+7
|
* common: remove WriteFile and ReadAllFile (use ioutil instead)zelig2015-03-271-2/+4
|
* import/export accountszelig2015-03-272-7/+16
| | | | | | | | | | | - cli: add passwordfile flag - cli: change unlock flag only takes account - cli: with unlock you are prompted for password or use passfile with password flag - cli: unlockAccount used in normal client start (run) and accountExport - cli: getPassword used in accountCreate and accountImport - accounts: Manager.Import, Manager.Export - crypto: SaveECDSA (to complement LoadECDSA) to save to file - crypto: NewKeyFromECDSA added (used in accountImport and New = generated constructor)
* crypto: remove use of common.Value.EncodeFelix Lange2015-03-201-9/+1
| | | | This seems to be the last remaining use of it.
* Merge remote-tracking branch 'ethereum/conversion' into conversionFelix Lange2015-03-171-2/+5
|\
| * converted vmobscuren2015-03-171-2/+5
| |
* | crypto: fix Sha3Hash and add a test for itFelix Lange2015-03-172-2/+8
|/
* crypto: add Sha3HashFelix Lange2015-03-171-1/+10
|
* Moved ethutil => commonobscuren2015-03-165-21/+21
|
* Use ECDSA instead of ellipticobscuren2015-03-111-6/+3
|
* crypto: delete old key management stuffFelix Lange2015-03-104-492/+0
|
* Fix key store address hex decoding and accounts testGustav Simonsson2015-02-251-2/+5
| | | | Thanks to https://github.com/jaekwon for original fix!
* Implement OS sensitive dataDirsMaran2015-02-232-11/+5
|
* crypto: switch to golang.org/x/cryptoFelix Lange2015-02-172-5/+7
| | | | | code.google.com/p/go.crypto is deprecated and will cause problems in future versions of Go.
* Added invalid sec key testobscuren2015-02-161-1/+10
|
* Validate seckey when generating pub keyobscuren2015-02-151-1/+6
|
* Moved ECIES to repo & added secondary title for webviewobscuren2015-02-141-1/+1
| | | | | * ECIES moved from obscuren to ethereum * Added html META[name=badge] to reflect menuItem.secondaryTitle
* Add 'crypto/ecies/' from commit '7c0f4a9b18d992166452d8cd32caaefd92b26386'obscuren2015-02-147-0/+1703
| | | | | | git-subtree-dir: crypto/ecies git-subtree-mainline: 49a739c8d647739b3d815966f8854a4e9978df56 git-subtree-split: 7c0f4a9b18d992166452d8cd32caaefd92b26386
* Merge branch 'align_key_and_ecdsa_nonce_entropy' of ↵obscuren2015-02-146-125/+105
|\ | | | | | | https://github.com/Gustav-Simonsson/go-ethereum into Gustav-Simonsson-align_key_and_ecdsa_nonce_entropy
| * Remove secp256_rand.go and update testsGustav Simonsson2015-02-142-107/+11
| |
| * Unexport randEntropy type and use exported Reader insteadGustav Simonsson2015-02-132-5/+7
| |
| * Set both key generation and ECDSA nonce to use mixed entropyGustav Simonsson2015-02-114-18/+92
| | | | | | | | | | | | * 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
* | crypto: add key loading functionsFelix Lange2015-02-102-1/+30
| |
* | crypto: make it easier to run Sha3 on multiple inputsFelix Lange2015-02-062-4/+5
|/ | | | | crypto.Sha3(append(foo, bar)) --> crypto.Sha3(foo, bar) crypto.Sha3([]byte{}) --> crypto.Sha3()
* Merge branch 'bounty' into developobscuren2015-02-011-1/+2
|\
| * Fixed nobscuren2015-02-011-1/+2
| |
* | Merge branch 'bounty' into developobscuren2015-02-012-6/+2
|\|
| * Fixed Sign nonceobscuren2015-02-012-6/+2
| |
* | Fixed whisper pub key bugobscuren2015-01-301-1/+1
| | | | | | | | | | * Unrecoverable messages would cause segfault when recovering invalid pub key
* | Address pull request commentsGustav Simonsson2015-01-283-8/+7
| | | | | | | | | | | | | | | | | | * Use crypto.Sign instead of directly calling secp256k1 lib * Rename UserAccount to Account and Addr to Address (for consistency) * Change AccountManager.Sign to take ptr to Account instead of address byte array * Simplify copying of Accounts in Accounts() * PubkeyToAddress and GetEntropyCSPRNG now exported
* | Add accounts package and refactor key storesGustav Simonsson2015-01-265-55/+87
| | | | | | | | | | | | | | | | * Add initial UserAccount and AccountManager structs * Add NewAccount, Sign and Accounts functions * Refactor key stores to use key address as main identifier while keeping the UUID. * Use key address as file/dir names instead of UUID
* | Merge branch 'import_presale_keys' of ↵obscuren2015-01-234-49/+124
|\ \ | |/ |/| | | | | | | | | https://github.com/Gustav-Simonsson/go-ethereum into Gustav-Simonsson-import_presale_keys Conflicts: crypto/crypto.go
| * CamelCase aesCBCDecryptGustav Simonsson2015-01-222-3/+3
| |
| * Add ImportPreSaleKeyGustav Simonsson2015-01-214-49/+123
| | | | | | | | | | | | * ImportPreSaleKey takes a KeyStore, a presale key JSON (e.g. file content) and a password string. It stores the key in the given key store. * Refactored common AES decryption and moved some functions to crypto.go
* | Use curve params instead of hardcoded 32 bytesobscuren2015-01-231-1/+1
| |
* | Pad private key when signing & length check for hashes in signobscuren2015-01-232-2/+19
|/
* Moved `obscuren` secp256k1-goobscuren2015-01-2250-3/+6430
|
* Moved sha3 from `obscuren`obscuren2015-01-223-1/+388
|
* Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into developobscuren2015-01-204-0/+551
|\
| * Address pull request commentsGustav Simonsson2015-01-202-9/+4
| | | | | | | | | | * Further simplify "constructor" function's allocation of structs * Fix formatting
| * Address pull request commentsGustav Simonsson2015-01-202-10/+8
| | | | | | | | | | * Allocate with composite literal instead of new * Remove check of number of bytes read from rand
| * Update code commentsGustav Simonsson2015-01-161-6/+4
| |
| * Address pull request commentsGustav Simonsson2015-01-164-215/+88
| | | | | | | | | | | | | | | | * Remove flags field from key struct * Change JSON struct fields from string to []byte * Change GenerateNewKey API to take io.Reader for random source * Remove mixing entropy source function * Use testing Fatal in tests
| * Address pull request commentsGustav Simonsson2015-01-164-84/+91
| | | | | | | | | | | | | | | | | | * Simplify scrypt constants with const block * Add key store constructors and make their types private * Simplify key store and file namings to be less Java Enterprise™ * Change test error logging to use t.Error(err) * Reduce number of naked returns (just like my ex-gf) * Simplify file reading path code
| * Add new key_store interface and two new key storesGustav Simonsson2015-01-164-0/+680
| | | | | | | | | | | | | | * Add new generic key_store interface * Add new plaintext key store storing unprotected keys on disk * Add new encrypted key store storing encrypted keys on disk * Add new entropy mixing function using OS and go runtime sources
* | Added 0 key proof errorobscuren2015-01-191-0/+13
|/ | | | | Private key \x00\x00...\x00 returns the _exact_ same public key as \x11 \x11...\x11. Currently investigating.
* pre-powobscuren2015-01-121-0/+13
|
* fixed testsobscuren2014-12-131-1/+1
|
* Added length checkesobscuren2014-12-131-1/+18
|
* Changed new methods to use ecdsa package for pub prv keysobscuren2014-12-102-26/+35
|
* Added Encrypt & Decrypt using the ECIES w/ testsobscuren2014-12-102-0/+82
|
* Added S256 curveobscuren2014-12-101-0/+363
|
* Show newly created private key during startup. Closes #126obscuren2014-12-051-0/+4
|
* try to get full coverage report on travisTaylor Gerring2014-11-151-109/+109
|
* ethcrypto => cryptoobscuren2014-10-3110-0/+2393