Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Project: Hardware Wallet #31

Open
skycoin-manager opened this issue Feb 11, 2018 · 6 comments
Open

New Project: Hardware Wallet #31

skycoin-manager opened this issue Feb 11, 2018 · 6 comments
Assignees

Comments

@skycoin-manager
Copy link
Contributor

https://godoc.org/github.com/skycoin/skycoin/src/cipher

  • Create a new folder called hardware-wallet for the project files
  • Use the trezor cryptography implementation
  • Create a readme.md explaining installation and how to run

Port the following functions

  • func GenerateDeterministicKeyPairs(seed []byte, n int) []SecKey
  • func ECDH(pub PubKey, sec SecKey) []byte
  • PubKey, PubKeyFromSecKey(seckey SecKey) PubKey
  • AddressFromPubKey(pubKey PubKey) Address
  • func VerifySignature(pubkey PubKey, sig Sig, hash SHA256) error
  • func ChkSig(address Address, hash SHA256, sig Sig) error

There must be tests

  • take list of 10 values /seeds and the private keys they should generate. Verify that the golang and trezor outputs the same values for the 10 inputs. Automated testing.
  • do the same for SHA256
  • do the same for ECDH

Then do test scripts that generate an input/output pair in golang at random and tests what the hardware outputs for the input pair.

  • log all outputs that differ to an error file (including the function tested, the input and the output and what it should be)
@AlexSugak
Copy link
Contributor

working on this

@AlexSugak
Copy link
Contributor

Talked with Brandon in wechat and clarified that other developers are working in hardware wallet so I should take another task

@mpsido mpsido self-assigned this Feb 13, 2018
@mpsido mpsido mentioned this issue Feb 26, 2018
@mpsido
Copy link
Contributor

mpsido commented Feb 26, 2018

Pull request #43

  • func GenerateDeterministicKeyPairs(seed []byte, n int) []SecKey
  • func ECDH(pub PubKey, sec SecKey) []byte
  • PubKey, PubKeyFromSecKey(seckey SecKey) PubKey
  • AddressFromPubKey(pubKey PubKey) Address

@mpsido
Copy link
Contributor

mpsido commented Mar 1, 2018

@skycoin-manager this issue asks to make a code to "VerifySignature" but do not ask me to do signature: do you confirm we don't need it ?

Second question: for address generation do you want the generation for both bitcoin and skycoin or only skycoin

@mpsido
Copy link
Contributor

mpsido commented Mar 1, 2018

pushed code to generate bitcoin public and private address

@mpsido
Copy link
Contributor

mpsido commented Mar 1, 2018

Quoting wechat conversation precising what's in scope

  • address generation: bitcoin + skycoin
  • Sign verification: skycoin only
  • Signature: out of scope (but can do if have time)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants