pn_mbedtls_demo
Overview
PN intfs firmware provides hardware crypto APIs. Mbedcrypto compatible functions are created based on these APIs. This project shows how to use the mbedcrypto compatible functions.
Running the demo
When the demo runs successfully, the terminal shows the execution result. Please note that the ECC Key result might be different each time.
PN mbedcrypto example started
AES-ECB-128 ENC: Pass
AES-ECB-256 ENC: Pass
AES-ECB-128 DEC: Pass
AES-ECB-256 DEC: Pass
AES-CBC-128 ENC: Pass
AES-CBC-256 ENC: Pass
AES-CBC-128 DEC: Pass
AES-CBC-256 DEC: Pass
CCM with key size 128-bit: Pass
CCM with key size 256-bit: Pass
GCM with key size 128-bit: Pass
GCM with key size 256-bit: Pass
SHA256: Pass
HMAC using SHA256: Pass
ECC Key Generation
SECP256R1
ECC Private Key:
5B 41 04 7E 92 85 60 55 22 92 6C 43 3B F9 E3 FA
1D 06 57 29 A5 9A 6F 43 08 E1 93 3D BA 23 E0 E6
ECC Public Key X:
DE 9B A4 15 5B 72 A9 A4 73 40 86 A2 D4 83 43 AE
12 DE 82 74 59 0D 68 F8 40 00 64 0A 4F 62 31 F2
ECC Public Key Y:
BD FA BF 57 3F 15 1D AD 00 8B 43 13 2C 9C 07 38
E8 CB 6C F7 56 36 5C 7F 2D C9 A7 A6 CF 68 08 0F
SECP384R1
ECC Private Key:
3B 62 F0 AE 8A 9E E6 2F 68 D3 2A EC DE 1B 6B D2
26 1B 14 20 0F 0B 78 E7 19 42 9C DE B4 DF F8 07
F7 B7 FB 69 FE F8 0A 12 DD EB F5 86 76 BD 3E 50
ECC Public Key X:
36 66 17 EE C3 11 26 0D D2 7E 3A DD 36 32 F1 2B
71 AB 32 09 0D E4 45 35 4C B6 64 20 08 E1 8B D1
FF 67 7E 14 75 49 85 A9 78 04 6F 15 9D 85 0C 40
ECC Public Key Y:
E4 A2 DB 85 4A 41 45 0E 89 0A 92 00 15 96 B3 0D
E2 C9 AE A6 AA F3 1D C3 06 F3 AE C3 BB 68 4B 7D
B9 39 47 D7 F5 D3 AE CC DE 73 C5 4C 5B A3 55 3B
BP256R1
ECC Private Key:
34 F7 F5 B8 60 C4 0A 51 66 0A 22 CC 47 36 83 B1
BD F8 06 C9 AE 35 1B 16 2F AE FB 50 5F 2C BB 53
ECC Public Key X:
2F CB A2 14 88 E4 06 03 69 EA 08 A1 3C 22 8C 57
D5 B6 FC F4 9C C8 A1 74 C7 09 33 50 41 95 23 C5
ECC Public Key Y:
6B 35 E3 A1 A6 2B DB 5B 24 95 99 67 F1 47 17 28
0E D9 A5 25 1D F4 78 62 4C C2 5C 41 A1 9F BB 33
BP384R1
ECC Private Key:
03 48 06 08 02 E5 FB C4 B4 F5 65 71 32 C4 57 34
16 B1 89 CD C9 0C A8 12 A3 D5 3F F6 2D 22 90 5C
9E A3 E5 77 44 EB 44 2B 6B CC 27 09 79 A6 F8 12
ECC Public Key X:
13 1F AC 92 42 43 A4 F8 EF F9 D9 AD 69 A1 F2 0D
C6 6B 97 C6 A2 1E D1 26 BF 1C 7F 74 C5 1A 8B A7
9E F8 04 26 B8 C2 DD CC 7F A5 42 F2 B6 4E C6 3D
ECC Public Key Y:
43 8F D9 A9 03 10 87 D2 53 7C A2 04 92 02 F9 9A
DF 8D 07 59 F4 12 C5 A7 42 45 C6 20 64 5F 4D 24
23 B8 3B 3B 58 A2 0A 91 9E ED 07 4A E7 FB 02 9F
ECDSA sign and verify:
SECP256R1: Pass
SECP384R1: Pass
BP256R1: Pass
BP384R1: Pass
HKDF using SHA256: Pass.
HKDF extract using SHA256: Pass.
HKDF expand using SHA256: Pass.
ECDH using SECP256R1: Pass
ECDH using SECP384R1: Pass
ECDH using BP256R1: Pass
ECDH using BP384R1: Pass
EdDSA Ed25519: Pass.
EdDSA Ed25519ctx: Pass.
EdDSA Ed25519ph: Pass.
Get Asymmetric Public Key From Private Key:
SECP256R1: Pass
SECP384R1: Pass
BP256R1: Pass
BP384R1: Pass
Project success