Commit graph

782 commits

Author SHA1 Message Date
Pol Henarejos
a6072b4ce8
Curve25519 and Curve448 are encoded using ECDH template.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-08-23 16:38:51 +02:00
Pol Henarejos
685c7f25fc
Revert previous fix.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-08-22 17:19:23 +02:00
Pol Henarejos
235bf342b3
Update README.md
Added description for hierarchical deterministic key generation.
2023-08-02 14:34:12 +02:00
Pol Henarejos
57188ff877
Added some tests for HD ciphering.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-07-24 11:45:11 +02:00
Pol Henarejos
f631e4a5f3
Code style.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-07-17 12:56:16 +02:00
Pol Henarejos
f880ee6c93
Added support for HD symmetric ciphering.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-07-17 12:55:14 +02:00
Pol Henarejos
6af4cc7fec
Fix getting RTC with pico-hsm-tool.
Closes #25.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-06-20 13:32:30 +02:00
Pol Henarejos
e3f1f45a9f
Added more tests for HD Signature.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-27 19:00:13 +02:00
Pol Henarejos
fe315e7326
Fix AES derivation (HKDF).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-27 19:00:04 +02:00
Pol Henarejos
02903bbc65
Added tests for HD signatures.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-26 18:07:26 +02:00
Pol Henarejos
ee3ee21e40
Added support for signatures based on HD BIP/SLIP.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-26 18:07:06 +02:00
Pol Henarejos
c6c00e7e43
Added tests for SLIP-0021 node derivation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-26 17:15:30 +02:00
Pol Henarejos
29544a3f17
Added support for SLIP-0021 node derivation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-26 17:15:14 +02:00
Pol Henarejos
5135404083
Fix node derivation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-25 15:17:39 +02:00
Pol Henarejos
55520ce184
Added support for master key generation for symmetric derivation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-25 14:07:48 +02:00
Pol Henarejos
525b05b7ef
Small refactoring to avoid unnecessary casts from uint32 to byte strings.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-25 12:18:28 +02:00
Pol Henarejos
b61a34d415
Added more tests for secp256r1 curves.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-24 12:47:49 +02:00
Pol Henarejos
0eea0fb096
Fix deriving nodes with retries (invalid first key).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-24 12:47:27 +02:00
Pol Henarejos
82c03ee6c4
Fix memory free on error.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-24 12:40:51 +02:00
Pol Henarejos
20dfbcaaed
Fix xpub for masters.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-24 11:25:36 +02:00
Pol Henarejos
a9fb170c58
Added tests for BIP and SLIP.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-23 20:40:31 +02:00
Pol Henarejos
46d85c029e
Added first commit with BIP and SLIP support for cryptowallets.
Needs more work.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-23 20:40:16 +02:00
Pol Henarejos
279df32acc
Update README.md
Added link to Pico Patcher tool.
2023-05-11 20:05:28 +02:00
Pol Henarejos
c402b884cc
Upgrade to mbedtls 3.4
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-10 00:17:32 +02:00
Pol Henarejos
8316196b42
Using forked vsmartcard just in case
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-04 11:10:58 +02:00
Pol Henarejos
7a6dafd7b6
Moving HSM SDK pointer
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-04 09:13:15 +02:00
Pol Henarejos
6d3809a792
Allow signatures with device key.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-04-06 14:09:18 +02:00
Pol Henarejos
f22f58f983
Fix returning EOF when reading an element outside the size.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-04-06 14:08:43 +02:00
Pol Henarejos
405bf92e18
Added support for TokenInfo and StaticTokenInfo files.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-04-04 09:53:26 +02:00
Pol Henarejos
b5b6dcd2e6
Fix conditional build for WS2812.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-26 20:16:09 +02:00
Pol Henarejos
d637dbec01
Added CMAC and AES generation to README.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-26 18:42:12 +02:00
Pol Henarejos
ebcac9dfdc
Upgrade to pico-hsm-tool to use the newer PicoHSM python package.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-23 20:19:53 +01:00
Pol Henarejos
510b148adf
Update README with latest AES algorithms.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-23 20:19:15 +01:00
Pol Henarejos
371ae93fcd
Added support for AES CCM.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-23 19:20:33 +01:00
Pol Henarejos
f5e875a6b7
Added support for AES CTR.
Note: the OID used by CTR does not exist.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-23 18:47:32 +01:00
Pol Henarejos
ad3304a384
Added AES XTS tests, with and without IV.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-22 23:29:31 +01:00
Pol Henarejos
4d647ba3c8
Add sanity check if wrong oid is provided.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-22 23:28:55 +01:00
Pol Henarejos
008db87fa7
Fix AES XTS call.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-22 23:28:22 +01:00
Pol Henarejos
1d80b45439
Add tests for AES extended.
It tests ECB, CBC, OFB, CFB and GCM.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-22 23:25:25 +01:00
Pol Henarejos
17560034ec
Fix AES extended encoding call.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-22 23:23:12 +01:00
Pol Henarejos
8b0d85fbd4
Fix PRKD generation for AES.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-22 22:57:15 +01:00
Pol Henarejos
3dcb2e9d70
A PRKD is generated on every key import, regardless it might be replaced later.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-22 22:56:55 +01:00
Pol Henarejos
0f12ff1c48
Added support for PRKD for AES.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-22 22:07:34 +01:00
Pol Henarejos
2a5fe1cc6d
Added initialization with self-signed certificate.
It will allow the initialization with OpenSC tool (sc-hsm-tool --initialize). However, it will not allow the use of card with SCS3, as it needs a PKI with trust chain. In this case, pico-hsm-tool.py shall be used for initialization.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-22 01:04:24 +01:00
Pol Henarejos
5e0f62265d
Fix key size of terminal cert.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-20 21:41:38 +01:00
Pol Henarejos
0990805fb6
More code style.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-20 20:08:29 +01:00
Pol Henarejos
18bcf532e7
PicoHSM always returns bytes().
No need for casting.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-20 20:07:33 +01:00
Pol Henarejos
9f0316aedd
Add chachapoly tests.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-20 18:08:00 +01:00
Pol Henarejos
088002863c
Before cloning, it should be removed.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-20 18:03:49 +01:00
Pol Henarejos
7876f4b32a
pypicohsm is built everytime that test is run, since it could implement more features used by tests.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-20 18:02:33 +01:00