blob: 27c119ec5bca77b4f2940176b048098950900152 [file] [log] [blame]
package(default_visibility = ["//:__subpackages__"])
licenses(["notice"])
cc_library(
name = "hybrid_config",
srcs = ["hybrid_config.cc"],
hdrs = ["hybrid_config.h"],
include_prefix = "tink/hybrid",
visibility = ["//visibility:public"],
deps = [
":ecies_aead_hkdf_private_key_manager",
":ecies_aead_hkdf_public_key_manager",
":hybrid_decrypt_wrapper",
":hybrid_encrypt_wrapper",
"//:registry",
"//aead:aead_config",
"//config:config_util",
"//config:tink_fips",
"//proto:config_cc_proto",
"//util:status",
"@com_google_absl//absl/base:core_headers",
"@com_google_absl//absl/memory",
],
)
cc_library(
name = "hpke_config",
srcs = ["hpke_config.cc"],
hdrs = ["hpke_config.h"],
include_prefix = "tink/hybrid",
tags = ["requires_boringcrypto_update"],
visibility = ["//visibility:public"],
deps = [
":hybrid_decrypt_wrapper",
":hybrid_encrypt_wrapper",
"//:registry",
"//aead:aead_config",
"//config:tink_fips",
"//hybrid/internal:hpke_private_key_manager",
"//hybrid/internal:hpke_public_key_manager",
"//util:status",
],
)
cc_library(
name = "hybrid_decrypt_wrapper",
srcs = ["hybrid_decrypt_wrapper.cc"],
hdrs = ["hybrid_decrypt_wrapper.h"],
include_prefix = "tink/hybrid",
visibility = ["//visibility:public"],
deps = [
"//:crypto_format",
"//:hybrid_decrypt",
"//:primitive_set",
"//:primitive_wrapper",
"//internal:monitoring_util",
"//internal:registry_impl",
"//internal:util",
"//monitoring",
"//proto:tink_cc_proto",
"//util:status",
"//util:statusor",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "hybrid_encrypt_wrapper",
srcs = ["hybrid_encrypt_wrapper.cc"],
hdrs = ["hybrid_encrypt_wrapper.h"],
include_prefix = "tink/hybrid",
visibility = ["//visibility:public"],
deps = [
"//:crypto_format",
"//:hybrid_encrypt",
"//:primitive_set",
"//:primitive_wrapper",
"//internal:monitoring_util",
"//internal:registry_impl",
"//internal:util",
"//monitoring",
"//proto:tink_cc_proto",
"//util:status",
"//util:statusor",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "hybrid_decrypt_factory",
srcs = ["hybrid_decrypt_factory.cc"],
hdrs = ["hybrid_decrypt_factory.h"],
include_prefix = "tink/hybrid",
deps = [
":hybrid_decrypt_wrapper",
"//:hybrid_decrypt",
"//:key_manager",
"//:keyset_handle",
"//:registry",
"//util:status",
"//util:statusor",
"@com_google_absl//absl/base:core_headers",
],
)
cc_library(
name = "hybrid_encrypt_factory",
srcs = ["hybrid_encrypt_factory.cc"],
hdrs = ["hybrid_encrypt_factory.h"],
include_prefix = "tink/hybrid",
deps = [
":hybrid_encrypt_wrapper",
"//:hybrid_encrypt",
"//:key_manager",
"//:keyset_handle",
"//:registry",
"//util:status",
"//util:statusor",
"@com_google_absl//absl/base:core_headers",
],
)
cc_library(
name = "hybrid_key_templates",
srcs = ["hybrid_key_templates.cc"],
hdrs = ["hybrid_key_templates.h"],
include_prefix = "tink/hybrid",
visibility = ["//visibility:public"],
deps = [
"//aead:aead_key_templates",
"//daead:deterministic_aead_key_templates",
"//proto:common_cc_proto",
"//proto:ecies_aead_hkdf_cc_proto",
"//proto:hpke_cc_proto",
"//proto:tink_cc_proto",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "ecies_aead_hkdf_dem_helper",
srcs = ["ecies_aead_hkdf_dem_helper.cc"],
hdrs = ["ecies_aead_hkdf_dem_helper.h"],
include_prefix = "tink/hybrid",
visibility = ["//visibility:private"],
deps = [
"//:aead",
"//:deterministic_aead",
"//:key_manager",
"//:registry",
"//daead/subtle:aead_or_daead",
"//proto:aes_ctr_cc_proto",
"//proto:aes_ctr_hmac_aead_cc_proto",
"//proto:aes_gcm_cc_proto",
"//proto:aes_siv_cc_proto",
"//proto:hmac_cc_proto",
"//proto:tink_cc_proto",
"//proto:xchacha20_poly1305_cc_proto",
"//util:errors",
"//util:protobuf_helper",
"//util:secret_data",
"//util:statusor",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/status",
],
)
cc_library(
name = "ecies_aead_hkdf_hybrid_decrypt",
srcs = ["ecies_aead_hkdf_hybrid_decrypt.cc"],
hdrs = ["ecies_aead_hkdf_hybrid_decrypt.h"],
include_prefix = "tink/hybrid",
visibility = ["//visibility:private"],
deps = [
":ecies_aead_hkdf_dem_helper",
"//:hybrid_decrypt",
"//internal:ec_util",
"//proto:ecies_aead_hkdf_cc_proto",
"//subtle:ecies_hkdf_recipient_kem_boringssl",
"//util:enums",
"//util:secret_data",
"//util:status",
"//util:statusor",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/status",
],
)
cc_library(
name = "ecies_aead_hkdf_hybrid_encrypt",
srcs = ["ecies_aead_hkdf_hybrid_encrypt.cc"],
hdrs = ["ecies_aead_hkdf_hybrid_encrypt.h"],
include_prefix = "tink/hybrid",
visibility = ["//visibility:private"],
deps = [
":ecies_aead_hkdf_dem_helper",
"//:aead",
"//:hybrid_encrypt",
"//proto:ecies_aead_hkdf_cc_proto",
"//subtle:ecies_hkdf_sender_kem_boringssl",
"//util:enums",
"//util:status",
"//util:statusor",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "ecies_aead_hkdf_private_key_manager",
srcs = ["ecies_aead_hkdf_private_key_manager.cc"],
hdrs = ["ecies_aead_hkdf_private_key_manager.h"],
include_prefix = "tink/hybrid",
visibility = [
"//:__subpackages__",
"//objc:__subpackages__",
],
deps = [
":ecies_aead_hkdf_hybrid_decrypt",
":ecies_aead_hkdf_public_key_manager",
"//:core/key_type_manager",
"//:core/private_key_type_manager",
"//:hybrid_decrypt",
"//:key_manager",
"//internal:ec_util",
"//proto:ecies_aead_hkdf_cc_proto",
"//proto:tink_cc_proto",
"//util:constants",
"//util:enums",
"//util:errors",
"//util:protobuf_helper",
"//util:secret_data",
"//util:status",
"//util:statusor",
"//util:validation",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "ecies_aead_hkdf_public_key_manager",
srcs = ["ecies_aead_hkdf_public_key_manager.cc"],
hdrs = ["ecies_aead_hkdf_public_key_manager.h"],
include_prefix = "tink/hybrid",
visibility = [
"//:__subpackages__",
"//objc:__subpackages__",
],
deps = [
":ecies_aead_hkdf_hybrid_encrypt",
"//:core/key_type_manager",
"//:hybrid_encrypt",
"//:key_manager",
"//proto:common_cc_proto",
"//proto:ecies_aead_hkdf_cc_proto",
"//proto:tink_cc_proto",
"//util:constants",
"//util:errors",
"//util:protobuf_helper",
"//util:status",
"//util:statusor",
"//util:validation",
"@com_google_absl//absl/memory",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
],
)
# tests
cc_test(
name = "hybrid_config_test",
size = "small",
srcs = ["hybrid_config_test.cc"],
tags = ["fips"],
deps = [
":ecies_aead_hkdf_private_key_manager",
":ecies_aead_hkdf_public_key_manager",
":hybrid_config",
":hybrid_key_templates",
"//:config",
"//:hybrid_decrypt",
"//:hybrid_encrypt",
"//:keyset_handle",
"//:registry",
"//config:tink_fips",
"//util:status",
"//util:test_matchers",
"//util:test_util",
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "hpke_config_test",
size = "small",
srcs = ["hpke_config_test.cc"],
tags = ["requires_boringcrypto_update"],
deps = [
":hpke_config",
":hybrid_key_templates",
"//:hybrid_decrypt",
"//:hybrid_encrypt",
"//:keyset_handle",
"//:registry",
"//config:tink_fips",
"//hybrid/internal:hpke_private_key_manager",
"//hybrid/internal:hpke_public_key_manager",
"//util:status",
"//util:test_matchers",
"//util:test_util",
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "hybrid_decrypt_wrapper_test",
size = "small",
srcs = ["hybrid_decrypt_wrapper_test.cc"],
deps = [
":failing_hybrid",
":hybrid_decrypt_wrapper",
"//:hybrid_decrypt",
"//:hybrid_encrypt",
"//:primitive_set",
"//internal:registry_impl",
"//monitoring",
"//monitoring:monitoring_client_mocks",
"//proto:tink_cc_proto",
"//util:status",
"//util:test_matchers",
"//util:test_util",
"@com_google_absl//absl/strings",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "hybrid_encrypt_wrapper_test",
size = "small",
srcs = ["hybrid_encrypt_wrapper_test.cc"],
deps = [
":failing_hybrid",
":hybrid_encrypt_wrapper",
"//:hybrid_encrypt",
"//:primitive_set",
"//internal:registry_impl",
"//monitoring",
"//monitoring:monitoring_client_mocks",
"//proto:tink_cc_proto",
"//util:status",
"//util:test_matchers",
"//util:test_util",
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "hybrid_decrypt_factory_test",
size = "small",
srcs = ["hybrid_decrypt_factory_test.cc"],
deps = [
":ecies_aead_hkdf_public_key_manager",
":hybrid_config",
":hybrid_decrypt_factory",
"//:config",
"//:crypto_format",
"//:hybrid_decrypt",
"//:hybrid_encrypt",
"//:keyset_handle",
"//proto:ecies_aead_hkdf_cc_proto",
"//proto:tink_cc_proto",
"//util:status",
"//util:test_keyset_handle",
"//util:test_util",
"@com_google_absl//absl/memory",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "hybrid_encrypt_factory_test",
size = "small",
srcs = ["hybrid_encrypt_factory_test.cc"],
deps = [
":hybrid_config",
":hybrid_encrypt_factory",
"//:config",
"//:crypto_format",
"//:hybrid_encrypt",
"//:keyset_handle",
"//proto:ecies_aead_hkdf_cc_proto",
"//proto:tink_cc_proto",
"//util:status",
"//util:test_keyset_handle",
"//util:test_util",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "hybrid_key_templates_test",
size = "small",
srcs = ["hybrid_key_templates_test.cc"],
deps = [
":ecies_aead_hkdf_private_key_manager",
":hybrid_config",
":hybrid_key_templates",
"//aead:aead_key_templates",
"//daead:deterministic_aead_key_templates",
"//hybrid/internal:hpke_private_key_manager",
"//proto:common_cc_proto",
"//proto:ecies_aead_hkdf_cc_proto",
"//proto:hpke_cc_proto",
"//proto:tink_cc_proto",
"//util:test_matchers",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "ecies_aead_hkdf_dem_helper_test",
size = "small",
srcs = ["ecies_aead_hkdf_dem_helper_test.cc"],
deps = [
":ecies_aead_hkdf_dem_helper",
"//:registry",
"//aead:aes_gcm_key_manager",
"//daead:aes_siv_key_manager",
"//util:secret_data",
"//util:test_matchers",
"//util:test_util",
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "ecies_aead_hkdf_hybrid_decrypt_test",
size = "large",
srcs = ["ecies_aead_hkdf_hybrid_decrypt_test.cc"],
deps = [
":ecies_aead_hkdf_hybrid_decrypt",
":ecies_aead_hkdf_hybrid_encrypt",
"//:hybrid_decrypt",
"//:registry",
"//aead:aes_ctr_hmac_aead_key_manager",
"//aead:aes_gcm_key_manager",
"//aead:xchacha20_poly1305_key_manager",
"//daead:aes_siv_key_manager",
"//internal:ec_util",
"//internal:ssl_util",
"//proto:aes_gcm_cc_proto",
"//proto:common_cc_proto",
"//proto:ecies_aead_hkdf_cc_proto",
"//subtle:random",
"//util:enums",
"//util:statusor",
"//util:test_matchers",
"//util:test_util",
"@com_google_absl//absl/memory",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "ecies_aead_hkdf_hybrid_encrypt_test",
size = "small",
srcs = ["ecies_aead_hkdf_hybrid_encrypt_test.cc"],
deps = [
":ecies_aead_hkdf_hybrid_encrypt",
"//:hybrid_encrypt",
"//:registry",
"//aead:aes_gcm_key_manager",
"//internal:ec_util",
"//proto:common_cc_proto",
"//proto:ecies_aead_hkdf_cc_proto",
"//util:enums",
"//util:statusor",
"//util:test_util",
"@com_google_absl//absl/memory",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "ecies_aead_hkdf_private_key_manager_test",
size = "small",
srcs = ["ecies_aead_hkdf_private_key_manager_test.cc"],
deps = [
":ecies_aead_hkdf_private_key_manager",
":ecies_aead_hkdf_public_key_manager",
":hybrid_key_templates",
"//:hybrid_decrypt",
"//:registry",
"//aead:aead_key_templates",
"//aead:aes_ctr_hmac_aead_key_manager",
"//aead:aes_gcm_key_manager",
"//proto:aes_eax_cc_proto",
"//proto:common_cc_proto",
"//proto:ecies_aead_hkdf_cc_proto",
"//proto:tink_cc_proto",
"//subtle:hybrid_test_util",
"//util:status",
"//util:statusor",
"//util:test_matchers",
"//util:test_util",
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "ecies_aead_hkdf_public_key_manager_test",
size = "small",
srcs = ["ecies_aead_hkdf_public_key_manager_test.cc"],
deps = [
":ecies_aead_hkdf_private_key_manager",
":ecies_aead_hkdf_public_key_manager",
"//:hybrid_encrypt",
"//:registry",
"//aead:aead_key_templates",
"//aead:aes_gcm_key_manager",
"//proto:aes_eax_cc_proto",
"//proto:common_cc_proto",
"//proto:ecies_aead_hkdf_cc_proto",
"//proto:tink_cc_proto",
"//util:status",
"//util:statusor",
"//util:test_matchers",
"//util:test_util",
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest_main",
],
)
cc_library(
name = "failing_hybrid",
srcs = ["failing_hybrid.cc"],
hdrs = ["failing_hybrid.h"],
include_prefix = "tink/hybrid",
deps = [
"//:hybrid_decrypt",
"//:hybrid_encrypt",
"@com_google_absl//absl/strings",
],
)
cc_test(
name = "failing_hybrid_test",
srcs = ["failing_hybrid_test.cc"],
deps = [
":failing_hybrid",
"//util:test_matchers",
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest_main",
],
)