aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
Commit message (Collapse)AuthorAgeFilesLines
* 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