Trezor for Esp32 with a special emphasis on the generation of random numbers and the statistical detection of non-random patterns.
Statistical tests for random numbers is a series of test to check if a given sequence of bits can be (or not) considered as random.
Test name | Status |
---|---|
Frequency test (monobit) | done |
Frequency test within a block | done |
Runs test | done |
Longest run of ones | done |
Matrix rank test | done |
Discrete Fourier Transform (Spectral) | done |
Non-overlapping Template Matching | done |
Overlapping Template Matching | WIP |
Maurer’s “Universal Statistical” | - |
Linear Complexity | - |
Serial | - |
Approximate Entropy | - |
Cumulative Sums (Cusum) | - |
Random Excursions Variant | - |
see components/crypto/rand/include/statistical.h
- blocks tests passed
Block header decoder
- crypto
`This series of libraries are platform agnostic so no much to do here, minor changes to work on esp32.
The greatest work is on the random statistical library and the adaptation of unitary tests
-
address [WIP] Unitary test under development
-
aes
-
base58 done
-
bignum WIP
-
bip32 [done]
-
bip39: done
-
blake2
-
cardano
-
check_mem
-
curves: [WIP]
-
ed25519-donna
-
groestl
-
hasher [WIP]
-
hmac [WIP]
-
memzero [WIP]: Unitary test under development
-
nist256p1
-
pkdf2
-
rand: WIP statistical tests
-
rfc6979 WIP
-
ripemd160 WIP
-
script WIP
-
secp256k1 WIP
-
segwit_addr done
-
sha done
-
helpers
-
hmi WIP
-
screen
-
storage WIP Under development
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 or in the LICENSE file, in the root folder of this repository.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.
Copyright (c) 2022 Luis A. Ruiz luisan00@hotmail.com
Licensed under the Apache License Version 2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.