| 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", |
| "//aead:aes_ctr_hmac_aead_key_manager", |
| "//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:common_cc_proto", |
| "//proto:hmac_cc_proto", |
| "//proto:tink_cc_proto", |
| "//proto:xchacha20_poly1305_cc_proto", |
| "//subtle:aes_gcm_boringssl", |
| "//subtle:aes_siv_boringssl", |
| "//subtle:xchacha20_poly1305_boringssl", |
| "//util:errors", |
| "//util:protobuf_helper", |
| "//util:secret_data", |
| "//util:statusor", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/status", |
| "@com_google_absl//absl/status:statusor", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| 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", |
| 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", |
| 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", |
| ], |
| ) |
| |
| 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_library( |
| name = "hybrid_parameters", |
| hdrs = ["hybrid_parameters.h"], |
| include_prefix = "tink/hybrid", |
| deps = ["//:parameters"], |
| ) |
| |
| cc_library( |
| name = "hybrid_public_key", |
| hdrs = ["hybrid_public_key.h"], |
| include_prefix = "tink/hybrid", |
| deps = [ |
| ":hybrid_parameters", |
| "//:key", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| cc_library( |
| name = "hybrid_private_key", |
| hdrs = ["hybrid_private_key.h"], |
| include_prefix = "tink/hybrid", |
| deps = [ |
| ":hybrid_parameters", |
| ":hybrid_public_key", |
| "//:key", |
| "//:private_key", |
| "@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", |
| "//:hybrid_decrypt", |
| "//:hybrid_encrypt", |
| "//:keyset_handle", |
| "//:registry", |
| "//internal:fips_utils", |
| "//util:status", |
| "//util:test_matchers", |
| "//util:test_util", |
| "@boringssl//:crypto", |
| "@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", |
| "//: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", |
| "//: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", |
| "//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", |
| "//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", |
| "//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_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", |
| ], |
| ) |