Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ cc_library(
cc_library(
name = "integrity",
srcs = ["integrity.c"],
hdrs = ["integrity.h"],
hdrs = ["//sw/device/lib/crypto/include:integrity.h"],
deps = [
"//sw/device/lib/base:crc32_device_library", # force non-mock version in unit tests
"//sw/device/lib/base:hardened",
Expand All @@ -153,7 +153,7 @@ cc_library(
cc_library(
name = "keyblob",
srcs = ["keyblob.c"],
hdrs = ["keyblob.h"],
hdrs = ["//sw/device/lib/crypto/include:keyblob.h"],
deps = [
":integrity",
":status",
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/aes.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
#include "sw/device/lib/crypto/drivers/aes.h"
#include "sw/device/lib/crypto/drivers/entropy.h"
#include "sw/device/lib/crypto/drivers/keymgr.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/impl/security_config.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('a', 'e', 's')
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/aes_gcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
#include "sw/device/lib/crypto/drivers/rv_core_ibex.h"
#include "sw/device/lib/crypto/impl/aes_gcm/aes_gcm.h"
#include "sw/device/lib/crypto/impl/aes_gcm/ghash.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/impl/security_config.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('a', 'g', 'c')
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/ecc_p256.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
#include "sw/device/lib/crypto/drivers/entropy.h"
#include "sw/device/lib/crypto/drivers/hmac.h"
#include "sw/device/lib/crypto/impl/ecc/p256.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/impl/security_config.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('p', '2', '5')
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/ecc_p384.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
#include "sw/device/lib/crypto/drivers/entropy.h"
#include "sw/device/lib/crypto/drivers/hmac.h"
#include "sw/device/lib/crypto/impl/ecc/p384.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/impl/security_config.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('p', '3', '8')
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/hkdf.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
#include "sw/device/lib/crypto/include/hkdf.h"

#include "sw/device/lib/base/math.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/hkdf.h"
#include "sw/device/lib/crypto/include/hmac.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('h', 'k', 'd')
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/hmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
#include "sw/device/lib/crypto/drivers/entropy.h"
#include "sw/device/lib/crypto/drivers/hmac.h"
#include "sw/device/lib/crypto/drivers/rv_core_ibex.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/impl/security_config.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('h', 'm', 'c')
Expand Down
2 changes: 1 addition & 1 deletion sw/device/lib/crypto/impl/integrity.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/include/integrity.h"

#include "sw/device/lib/base/crc32.h"
#include "sw/device/lib/base/hardened.h"
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/kdf_ctr.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
#include "sw/device/lib/crypto/include/kdf_ctr.h"

#include "sw/device/lib/base/math.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/hmac.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('c', 'k', 'd')
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/key_transport.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
#include "sw/device/lib/base/memory.h"
#include "sw/device/lib/crypto/drivers/entropy.h"
#include "sw/device/lib/crypto/impl/aes_kwp/aes_kwp.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/drbg.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('k', 't', 'r')
Expand Down
2 changes: 1 addition & 1 deletion sw/device/lib/crypto/impl/key_transport_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/keyblob.h"

namespace key_transport_unittest {
namespace {
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/keyblob.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/include/keyblob.h"

#include "sw/device/lib/base/hardened_memory.h"
#include "sw/device/lib/base/math.h"
#include "sw/device/lib/base/memory.h"
#include "sw/device/lib/base/random_order.h"
#include "sw/device/lib/crypto/drivers/entropy.h"
#include "sw/device/lib/crypto/drivers/rv_core_ibex.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/integrity.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('k', 'b', 'b')
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/keyblob_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/include/keyblob.h"

#include <array>

#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/integrity.h"

namespace keyblob_unittest {
namespace {
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/kmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
#include "sw/device/lib/base/hardened_memory.h"
#include "sw/device/lib/crypto/drivers/entropy.h"
#include "sw/device/lib/crypto/drivers/kmac.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/impl/security_config.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('k', 'm', 'c')
Expand Down
4 changes: 2 additions & 2 deletions sw/device/lib/crypto/impl/kmac_kdf.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
#include "sw/device/lib/base/hardened_memory.h"
#include "sw/device/lib/base/math.h"
#include "sw/device/lib/crypto/drivers/kmac.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('k', 'k', 'd')
Expand Down
2 changes: 1 addition & 1 deletion sw/device/lib/crypto/impl/rsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
#include "sw/device/lib/base/hardened_memory.h"
#include "sw/device/lib/base/math.h"
#include "sw/device/lib/crypto/drivers/entropy.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/rsa/rsa_encryption.h"
#include "sw/device/lib/crypto/impl/rsa/rsa_signature.h"
#include "sw/device/lib/crypto/impl/rsa/run_rsa.h"
#include "sw/device/lib/crypto/impl/rsa/run_rsa_key_from_cofactor.h"
#include "sw/device/lib/crypto/impl/security_config.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/integrity.h"

// Module ID for status codes.
#define MODULE_ID MAKE_MODULE_ID('r', 's', 'a')
Expand Down
5 changes: 5 additions & 0 deletions sw/device/lib/crypto/include/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,10 @@ cc_library(
"ed25519.h",
"hkdf.h",
"hmac.h",
"integrity.h",
"kdf_ctr.h",
"key_transport.h",
"keyblob.h",
"kmac.h",
"kmac_kdf.h",
"otcrypto.h",
Expand All @@ -47,6 +49,7 @@ cc_library(
deps = [
"//sw/device/lib/base:hardened",
"//sw/device/lib/base:status",
"//sw/device/lib/crypto/drivers:keymgr",
],
)

Expand All @@ -64,8 +67,10 @@ cc_library(
"ed25519.h",
"hkdf.h",
"hmac.h",
"integrity.h",
"kdf_ctr.h",
"key_transport.h",
"keyblob.h",
"kmac.h",
"kmac_kdf.h",
"otcrypto.h",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

#ifndef OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_INTEGRITY_H_
#define OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_INTEGRITY_H_
#ifndef OPENTITAN_SW_DEVICE_LIB_CRYPTO_INCLUDE_INTEGRITY_H_
#define OPENTITAN_SW_DEVICE_LIB_CRYPTO_INCLUDE_INTEGRITY_H_

#include <stddef.h>
#include <stdint.h>
Expand Down Expand Up @@ -67,4 +67,4 @@ hardened_bool_t integrity_blinded_key_check(const otcrypto_blinded_key_t *key);
} // extern "C"
#endif // __cplusplus

#endif // OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_INTEGRITY_H_
#endif // OPENTITAN_SW_DEVICE_LIB_CRYPTO_INCLUDE_INTEGRITY_H_
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

#ifndef OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_KEYBLOB_H_
#define OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_KEYBLOB_H_
#ifndef OPENTITAN_SW_DEVICE_LIB_CRYPTO_INCLUDE_KEYBLOB_H_
#define OPENTITAN_SW_DEVICE_LIB_CRYPTO_INCLUDE_KEYBLOB_H_

#include "sw/device/lib/crypto/drivers/keymgr.h"
#include "sw/device/lib/crypto/impl/status.h"
Expand Down Expand Up @@ -202,4 +202,4 @@ status_t keyblob_sideload_key_otbn(const otcrypto_blinded_key_t *key);
} // extern "C"
#endif // __cplusplus

#endif // OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_KEYBLOB_H_
#endif // OPENTITAN_SW_DEVICE_LIB_CRYPTO_INCLUDE_KEYBLOB_H_
4 changes: 2 additions & 2 deletions sw/device/tests/crypto/aes_functest.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

#include "sw/device/lib/base/macros.h"
#include "sw/device/lib/crypto/drivers/entropy.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/include/aes.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"
#include "sw/device/lib/runtime/log.h"
#include "sw/device/lib/testing/test_framework/check.h"
#include "sw/device/lib/testing/test_framework/ottf_main.h"
Expand Down
4 changes: 2 additions & 2 deletions sw/device/tests/crypto/aes_gcm_testutils.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
#include "sw/device/lib/base/macros.h"
#include "sw/device/lib/base/math.h"
#include "sw/device/lib/base/status.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/include/aes_gcm.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"
#include "sw/device/lib/runtime/hart.h"
#include "sw/device/lib/runtime/log.h"
#include "sw/device/lib/testing/profile.h"
Expand Down
2 changes: 1 addition & 1 deletion sw/device/tests/crypto/aes_sideload_functest.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
#include "sw/device/lib/crypto/drivers/aes.h"
#include "sw/device/lib/crypto/drivers/entropy.h"
#include "sw/device/lib/crypto/drivers/keymgr.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/status.h"
#include "sw/device/lib/crypto/include/aes.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/key_transport.h"
#include "sw/device/lib/runtime/log.h"
#include "sw/device/lib/testing/keymgr_testutils.h"
Expand Down
4 changes: 2 additions & 2 deletions sw/device/tests/crypto/cryptotest/firmware/aes.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

#include "sw/device/lib/base/memory.h"
#include "sw/device/lib/base/status.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"
#include "sw/device/lib/runtime/log.h"
#include "sw/device/lib/testing/test_framework/ujson_ottf.h"
#include "sw/device/lib/ujson/ujson.h"
Expand Down
4 changes: 2 additions & 2 deletions sw/device/tests/crypto/cryptotest/firmware/aes_gcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

#include "sw/device/lib/base/memory.h"
#include "sw/device/lib/base/status.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/include/aes_gcm.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"
#include "sw/device/lib/runtime/log.h"
#include "sw/device/lib/testing/rand_testutils.h"
#include "sw/device/lib/testing/test_framework/ujson_ottf.h"
Expand Down
2 changes: 1 addition & 1 deletion sw/device/tests/crypto/cryptotest/firmware/drbg.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
#include "sw/device/lib/base/memory.h"
#include "sw/device/lib/base/status.h"
#include "sw/device/lib/crypto/drivers/entropy.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/runtime/log.h"
#include "sw/device/lib/testing/test_framework/ujson_ottf.h"
#include "sw/device/lib/ujson/ujson.h"
Expand Down
2 changes: 1 addition & 1 deletion sw/device/tests/crypto/cryptotest/firmware/ecdh.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

#include "sw/device/lib/base/memory.h"
#include "sw/device/lib/base/status.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/ecc_p256.h"
#include "sw/device/lib/crypto/include/ecc_p384.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/key_transport.h"
#include "sw/device/lib/runtime/log.h"
#include "sw/device/lib/testing/test_framework/ujson_ottf.h"
Expand Down
4 changes: 2 additions & 2 deletions sw/device/tests/crypto/cryptotest/firmware/ecdsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
#include "sw/device/lib/base/status.h"
#include "sw/device/lib/crypto/impl/ecc/p256.h"
#include "sw/device/lib/crypto/impl/ecc/p384.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/ecc_p256.h"
#include "sw/device/lib/crypto/include/ecc_p384.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"
#include "sw/device/lib/runtime/log.h"
#include "sw/device/lib/testing/test_framework/ujson_ottf.h"
#include "sw/device/lib/ujson/ujson.h"
Expand Down
4 changes: 2 additions & 2 deletions sw/device/tests/crypto/cryptotest/firmware/hash.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
#include "sw/device/lib/base/math.h"
#include "sw/device/lib/base/memory.h"
#include "sw/device/lib/base/status.h"
#include "sw/device/lib/crypto/impl/integrity.h"
#include "sw/device/lib/crypto/impl/keyblob.h"
#include "sw/device/lib/crypto/include/datatypes.h"
#include "sw/device/lib/crypto/include/integrity.h"
#include "sw/device/lib/crypto/include/keyblob.h"
#include "sw/device/lib/crypto/include/sha2.h"
#include "sw/device/lib/crypto/include/sha3.h"
#include "sw/device/lib/runtime/log.h"
Expand Down
Loading
Loading