1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-04 21:48:17 +00:00
trezor-firmware/tools
Saleem Rashid c70e440128 hasher: Replace hasher_Double with HASHER_*D
This allows us to finely control when to use a single hash or a double hash in
various places. For example, Bitcoin signatures use double SHA256, but Decred
signatures use a single BLAKE256. However, both use double hashes for Base58.
2018-04-03 18:28:06 +02:00
..
.gitignore Add support for NIST256P1 elliptic curve 2015-06-26 10:33:14 +03:00
bip39bruteforce.c Use hasher_Raw instead of sha256_Raw 2017-12-10 20:07:13 +01:00
mktable.c Updated mktable to new api 2016-04-25 17:51:10 +02:00
nem_test_vectors.erb nem_test_vectors: Initial commit 2017-06-05 16:34:52 +02:00
nem_test_vectors.rb bip32: Add hdnode_nem_{en,de}crypt 2017-09-02 01:39:09 +02:00
README.md Add support for NIST256P1 elliptic curve 2015-06-26 10:33:14 +03:00
xpubaddrgen.c hasher: Replace hasher_Double with HASHER_*D 2018-04-03 18:28:06 +02:00

trezor-crypto tools

Set of small utilities using the trezor-crypto library.

xpubaddrgen

xpubaddrgen reads job specification from stdin in format:

<jobid> <xpub> <change> <from> <to>

and prints the results to stdout in format:

<jobid> <index> <address>

Example input:

23 xpub6BcjTvRCYD4VvFQ8whztSXhbNyhS56eTd5P3g9Zvd3zPEeUeL5CUqBYX8NSd1b6Thitr8bZcSnesmXZH7KerMcc4tUkenBShYCtQ1L8ebVe 0 0 5
42 xpub6AT2YrLinU4Be5UWUxMaUz3zTA99CSGvXt1jt2Lgym8PqXbTzmpQ8MHjoLnx8YJiMMUP5iEfR97YQVmgF6B2tAhbCZrXqn65ur526NkZ6ey 1 1000 1005

Example output:

23 0 14vb5Cws75p2i5rmSiF5CKMyezUX4hxSb9
23 1 1Lf4ciA36dsi1niF6smVcpCiHcpj2skaPq
23 2 1LraByp7gQAipvHnFS1gTSzixBtYaVyQGp
23 3 1Hy6n56qZj1EefLVfDAeEpmveNteY9jpiG
23 4 183Nn4mrUjPizM3xu8C6SrmViaWrk8YyRS
42 1000 12eAFGAqGUtszc9R7euRqk7DUcQNXvQZSg
42 1001 1BrLbFCD3MNYedJaz92U9iqy9ukHrtQ1A6
42 1002 1Jhv33bJy229ThM7HKxUa92cMK5gi7DyPC
42 1003 13LxbTjQPByisj4F4sZEivUBdnJwigzg6R
42 1004 1BWBpSWkPwcKxVr2WDyUqQbmvk5SGihcx9

It will print <jobid> error when there was an error processing job jobid.

It will print error when it encountered a malformed line.

mktable

mktable computes the points of the form (2*j+1)*16^i*G and prints them in the format to be included in secp256k1.c and nist256p1.c. These points are used by the fast ECC multiplication.

It is only meant to be run if the scalar_mult algorithm changes.