|
5 | 5 | name: "crypto" |
6 | 6 | testpoints: [ |
7 | 7 | { |
8 | | - name: crypto_lib_hash_stress |
9 | | - desc: '''Check that the hash algorithms are correct. |
| 8 | + name: crypto_lib_aes_stress |
| 9 | + desc: '''Check that the aes implementation is correct. |
10 | 10 |
|
11 | | - Run the hash algorithms Sha256, Sha384 and Sha512 and compare the digist against |
12 | | - the NIST test vector. |
| 11 | + Run the following operations and compare the result against the NIST test vector: |
| 12 | + - AES-CBC/CFB/ECB/OFB encryption. |
| 13 | + - AES-CBC/CFB/ECB/OFB decryption. |
| 14 | + - AES-GCM encryption. |
| 15 | + - AES-GCM decryption. |
13 | 16 | ''' |
14 | 17 | stage: N.A. |
15 | 18 | si_stage: SV3 |
16 | 19 | tests: [] |
17 | 20 | bazel: [ |
18 | | - "//sw/device/tests/crypto:sha256_functest", |
19 | | - "//sw/device/tests/crypto:sha384_functest", |
20 | | - "//sw/device/tests/crypto:sha512_functest", |
21 | | - "//sw/device/tests/crypto:hkdf_functest", |
22 | | - "//sw/device/tests/crypto:otcrypto_hash_test", |
23 | | - "//sw/device/tests/crypto:otcrypto_export_test" |
| 21 | + "//sw/device/tests/crypto:aes_functest", |
| 22 | + "//sw/device/tests/crypto:aes_kwp_kat_functest", |
| 23 | + "//sw/device/tests/crypto:aes_kwp_functest", |
| 24 | + "//sw/device/tests/crypto:aes_gcm_functest", |
| 25 | + "//sw/device/tests/crypto/cryptotest:aes_kat" |
| 26 | + "//sw/device/tests/crypto/cryptotest:aes_gcm_kat" |
24 | 27 | ] |
25 | 28 | lc_states: ["PROD"] |
26 | 29 | } |
|
45 | 48 | ] |
46 | 49 | } |
47 | 50 | { |
48 | | - name: crypto_lib_rsa_key_gen_stress |
49 | | - desc: '''Check that the implementation of RSA key generation is correct. |
| 51 | + name: crypto_lib_hash_stress |
| 52 | + desc: '''Check that the hash algorithms are correct. |
50 | 53 |
|
51 | | - Generate RSA key pairs with sizes 2048, 3072 and 4096 bits. |
52 | | - The key generation should take an appropriate time based on the key size and the |
53 | | - platform (FPGA or Silicon). |
54 | | - For each key pair: |
55 | | - - Sign a message with the private key. |
56 | | - - Verify the signature with the public key. |
| 54 | + Run the hash algorithms Sha256, Sha384 and Sha512 and compare the digist against |
| 55 | + the NIST test vector. |
57 | 56 | ''' |
58 | 57 | stage: N.A. |
59 | 58 | si_stage: SV3 |
60 | 59 | tests: [] |
61 | 60 | bazel: [ |
62 | | - "//sw/device/tests/crypto:rsa_2048_keygen_functest", |
63 | | - "//sw/device/tests/crypto:rsa_3072_keygen_functest", |
64 | | - "//sw/device/tests/crypto:rsa_4096_keygen_functest", |
| 61 | + "//sw/device/tests/crypto:sha256_functest", |
| 62 | + "//sw/device/tests/crypto:sha384_functest", |
| 63 | + "//sw/device/tests/crypto:sha512_functest", |
| 64 | + "//sw/device/tests/crypto:hkdf_functest", |
| 65 | + "//sw/device/tests/crypto:otcrypto_hash_test", |
| 66 | + "//sw/device/tests/crypto:otcrypto_export_test" |
| 67 | + "//sw/device/tests/crypto/cryptotest:sha256_kat", |
| 68 | + "//sw/device/tests/crypto/cryptotest:sha384_kat", |
| 69 | + "//sw/device/tests/crypto/cryptotest:sha3_224_kat", |
| 70 | + "//sw/device/tests/crypto/cryptotest:sha3_256_kat", |
| 71 | + "//sw/device/tests/crypto/cryptotest:sha3_384_kat", |
| 72 | + "//sw/device/tests/crypto/cryptotest:sha3_512_kat", |
| 73 | + "//sw/device/tests/crypto/cryptotest:sha512_kat", |
| 74 | + ] |
| 75 | + lc_states: ["PROD"] |
| 76 | + } |
| 77 | + { |
| 78 | + name: crypto_lib_hmac_stress |
| 79 | + desc: '''Check that HMAC works correctly. |
| 80 | + |
| 81 | + Run HMAC Sha256, Sha384 and Sha512 and compare the output against |
| 82 | + the NIST test vector. |
| 83 | + ''' |
| 84 | + stage: N.A. |
| 85 | + si_stage: SV3 |
| 86 | + tests: [] |
| 87 | + bazel: [ |
| 88 | + "//sw/device/tests/crypto:hmac_sha256_functest", |
| 89 | + "//sw/device/tests/crypto:hmac_sha384_functest", |
| 90 | + "//sw/device/tests/crypto:hmac_sha512_functest", |
| 91 | + "//sw/device/tests/crypto:hmac_functest", |
| 92 | + "//sw/device/tests/crypto:hmac_multistream_functest", |
| 93 | + "//sw/device/tests/crypto/cryptotest:hmac_sha256_kat", |
| 94 | + "//sw/device/tests/crypto/cryptotest:hmac_sha384_kat", |
| 95 | + "//sw/device/tests/crypto/cryptotest:hmac_sha512_kat", |
| 96 | + ] |
| 97 | + lc_states: ["PROD"] |
| 98 | + } |
| 99 | + { |
| 100 | + name: crypto_lib_kmac_stress |
| 101 | + desc: '''Check that KMAC works correctly. |
| 102 | + |
| 103 | + Run KMAC and compare the output against |
| 104 | + the wycheproof test vector. |
| 105 | + ''' |
| 106 | + stage: N.A. |
| 107 | + si_stage: SV3 |
| 108 | + tests: [] |
| 109 | + bazel: [ |
| 110 | + "//sw/device/tests/crypto:kmac_functest_hardcoded", |
| 111 | + "//sw/device/tests/crypto/cryptotest:kmac_kat", |
65 | 112 | ] |
66 | 113 | lc_states: ["PROD"] |
67 | 114 | } |
|
72 | 119 | Run the follow operations and compare the result against the NIST test vector: |
73 | 120 | - RSA signature. |
74 | 121 | - RSA signature verification. |
| 122 | + - RSA encryption and decryption. |
75 | 123 | With the keys sizes 2048, 3072 and 4096 bits. |
76 | 124 | ''' |
77 | 125 | stage: N.A. |
|
85 | 133 | "//sw/device/tests/crypto:rsa_3072_signature_functest", |
86 | 134 | "//sw/device/tests/crypto:rsa_4096_encryption_functest", |
87 | 135 | "//sw/device/tests/crypto:rsa_4096_signature_functest", |
| 136 | + "//sw/device/tests/crypto/cryptotest:rsa_kat", |
88 | 137 | ] |
89 | 138 | lc_states: ["PROD"] |
90 | 139 | } |
91 | 140 | { |
92 | | - name: crypto_lib_aes_stress |
93 | | - desc: '''Check that the aes implementation is correct. |
| 141 | + name: crypto_lib_rsa_key_gen_stress |
| 142 | + desc: '''Check that the implementation of RSA key generation is correct. |
94 | 143 |
|
95 | | - Run the following operations and compare the result against the NIST test vector: |
96 | | - - AES-CBC encryption. |
97 | | - - AES-CBC decryption. |
98 | | - - AES-GCM encryption. |
99 | | - - AES-GCM decryption. |
| 144 | + Generate RSA key pairs with sizes 2048, 3072 and 4096 bits. |
| 145 | + The key generation should take an appropriate time based on the key size and the |
| 146 | + platform (FPGA or Silicon). |
| 147 | + For each key pair: |
| 148 | + - Sign a message with the private key. |
| 149 | + - Verify the signature with the public key. |
100 | 150 | ''' |
101 | 151 | stage: N.A. |
102 | 152 | si_stage: SV3 |
103 | 153 | tests: [] |
104 | 154 | bazel: [ |
105 | | - "//sw/device/tests/crypto:aes_kwp_kat_functest", |
106 | | - "//sw/device/tests/crypto:aes_kwp_functest", |
107 | | - "//sw/device/tests/crypto:aes_gcm_functest", |
108 | | - "//sw/device/tests/crypto/cryptotest:aes_kat" |
| 155 | + "//sw/device/tests/crypto:rsa_2048_keygen_functest", |
| 156 | + "//sw/device/tests/crypto:rsa_3072_keygen_functest", |
| 157 | + "//sw/device/tests/crypto:rsa_4096_keygen_functest", |
| 158 | + ] |
| 159 | + lc_states: ["PROD"] |
| 160 | + } |
| 161 | + { |
| 162 | + name: crypto_lib_shake_stress |
| 163 | + desc: '''Check that the implementation of SHAKE is correct. |
| 164 | + |
| 165 | + Run CShake, Shake128 and Shake256 and compare the output against |
| 166 | + the NIST test vector. |
| 167 | + ''' |
| 168 | + stage: N.A. |
| 169 | + si_stage: SV3 |
| 170 | + tests: [] |
| 171 | + bazel: [ |
| 172 | + "//sw/device/tests/crypto:cshake_kat", |
| 173 | + "//sw/device/tests/crypto:shake128_kat", |
| 174 | + "//sw/device/tests/crypto:shake256_kat", |
| 175 | + ] |
| 176 | + lc_states: ["PROD"] |
| 177 | + } |
| 178 | + { |
| 179 | + name: crypto_lib_sphincsplus_stress |
| 180 | + desc: '''Check that the implementation of SPHINCS+ is correct. |
| 181 | + |
| 182 | + Run SPHINCS+ and compare the output against the test vector. |
| 183 | + ''' |
| 184 | + stage: N.A. |
| 185 | + si_stage: SV3 |
| 186 | + tests: [] |
| 187 | + bazel: [ |
| 188 | + "//sw/device/tests/crypto:cshake_kat", |
| 189 | + "//sw/device/tests/crypto:shake128_kat", |
| 190 | + "//sw/device/tests/crypto:shake256_kat", |
109 | 191 | ] |
110 | 192 | lc_states: ["PROD"] |
111 | 193 | } |
|
0 commit comments