aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/key.go
Commit message (Collapse)AuthorAgeFilesLines
* accounts, crypto: move keystore to package accountsFelix Lange2016-04-121-168/+0
| | | | | | | | | | The account management API was originally implemented as a thin layer around crypto.KeyStore, on the grounds that several kinds of key stores would be implemented later on. It turns out that this won't happen so KeyStore is a superflous abstraction. In this commit crypto.KeyStore and everything related to it moves to package accounts and is unexported.
* crypto: "Crypto" -> "crypto" in web3 key formatFelix Lange2015-12-081-8/+8
|
* crypto, crypto/ecies, crypto/secp256k1: libsecp256k1 scalar multGustav Simonsson2015-11-301-2/+3
| | | | thanks to Felix Lange (fjl) for help with design & impl
* common, crypto: add ICAP functionsGustav Simonsson2015-10-131-0/+22
|
* Change go-uuid to use the current supported repository.Jeff R. Allen2015-09-121-1/+1
|
* all: fix license headers one more timeFelix Lange2015-07-241-1/+1
| | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-231-4/+4
| | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
* all: remove @author commentsFelix Lange2015-07-071-7/+0
|
* all: update license informationFelix Lange2015-07-071-16/+16
|
* Change keystore to version 3Gustav Simonsson2015-06-241-10/+16
| | | | | | | | | | | | * 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-051-1/+1
|
* Update key store to new spec but keep address field for nowGustav Simonsson2015-05-121-25/+25
| | | | * Also fix address types post-rebase
* Address pull request comments; key header and hex encodingGustav Simonsson2015-05-121-17/+35
| | | | | | * 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-121-12/+5
| | | | This reverts commit a94d4ba0b53c4558ab838aaed635a2ff66ddfa53.
* Add key header to unencrypted key fileGustav Simonsson2015-05-121-5/+12
|
* Add key header to encrypted keysGustav Simonsson2015-05-121-4/+19
| | | | | | | * 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-121-4/+5
|
* Improve key store passphrase cryptoGustav Simonsson2015-05-121-0/+1
| | | | | | | * 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
* import/export accountszelig2015-03-271-7/+11
| | | | | | | | | | | - 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)
* Use ECDSA instead of ellipticobscuren2015-03-111-6/+3
|
* crypto: add key loading functionsFelix Lange2015-02-101-1/+2
|
* Address pull request commentsGustav Simonsson2015-01-281-1/+1
| | | | | | | | | * 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-261-12/+13
| | | | | | | | * 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
* Add ImportPreSaleKeyGustav Simonsson2015-01-211-4/+5
| | | | | | * 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
* Address pull request commentsGustav Simonsson2015-01-201-5/+1
| | | | | * Allocate with composite literal instead of new * Remove check of number of bytes read from rand
* Address pull request commentsGustav Simonsson2015-01-161-122/+28
| | | | | | | | * 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-161-11/+11
| | | | | | | | | * 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-161-0/+205
* 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