| # package containing hybrid encryption implementations of PQC primitives |
| |
| package(default_visibility = ["//:__subpackages__"]) |
| |
| licenses(["notice"]) |
| |
| cc_library( |
| name = "cecpq2_hybrid_config", |
| srcs = ["cecpq2_hybrid_config.cc"], |
| hdrs = ["cecpq2_hybrid_config.h"], |
| include_prefix = "tink/experimental/pqcrypto/kem/", |
| deps = [ |
| ":cecpq2_aead_hkdf_private_key_manager", |
| ":cecpq2_aead_hkdf_public_key_manager", |
| "//:registry", |
| "//aead:aead_config", |
| "//config:tink_fips", |
| "//hybrid:hybrid_decrypt_wrapper", |
| "//hybrid:hybrid_encrypt_wrapper", |
| "//util:status", |
| "@com_google_absl//absl/base:core_headers", |
| "@com_google_absl//absl/memory", |
| ], |
| ) |
| |
| cc_library( |
| name = "cecpq2_hybrid_key_templates", |
| srcs = ["cecpq2_hybrid_key_templates.cc"], |
| hdrs = ["cecpq2_hybrid_key_templates.h"], |
| include_prefix = "tink/experimental/pqcrypto/kem/", |
| deps = [ |
| "//aead:aead_key_templates", |
| "//daead:deterministic_aead_key_templates", |
| "//experimental/pqcrypto/proto:cecpq2_aead_hkdf_cc_proto", |
| "//proto:common_cc_proto", |
| "//proto:tink_cc_proto", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| cc_library( |
| name = "cecpq2_aead_hkdf_dem_helper", |
| srcs = ["cecpq2_aead_hkdf_dem_helper.cc"], |
| hdrs = ["cecpq2_aead_hkdf_dem_helper.h"], |
| include_prefix = "tink/experimental/pqcrypto/kem/", |
| deps = [ |
| "//:aead", |
| "//:deterministic_aead", |
| "//:registry", |
| "//daead/subtle:aead_or_daead", |
| "//proto:tink_cc_proto", |
| "//util:errors", |
| "//util:istream_input_stream", |
| "//util:protobuf_helper", |
| "//util:secret_data", |
| "//util:statusor", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/status", |
| ], |
| ) |
| |
| cc_library( |
| name = "cecpq2_aead_hkdf_private_key_manager", |
| srcs = ["cecpq2_aead_hkdf_private_key_manager.cc"], |
| hdrs = ["cecpq2_aead_hkdf_private_key_manager.h"], |
| include_prefix = "tink/experimental/pqcrypto/kem/", |
| deps = [ |
| ":cecpq2_aead_hkdf_dem_helper", |
| ":cecpq2_aead_hkdf_public_key_manager", |
| "//:core/key_type_manager", |
| "//:core/private_key_type_manager", |
| "//:hybrid_decrypt", |
| "//experimental/pqcrypto/kem/subtle:cecpq2_aead_hkdf_hybrid_decrypt", |
| "//experimental/pqcrypto/kem/subtle:cecpq2_subtle_boringssl_util", |
| "//experimental/pqcrypto/proto:cecpq2_aead_hkdf_cc_proto", |
| "//proto:tink_cc_proto", |
| "//subtle:random", |
| "//subtle:subtle_util", |
| "//util:enums", |
| "//util:secret_data", |
| "//util:status", |
| "//util:statusor", |
| "//util:validation", |
| "@boringssl//:crypto", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/status", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| cc_library( |
| name = "cecpq2_aead_hkdf_public_key_manager", |
| srcs = ["cecpq2_aead_hkdf_public_key_manager.cc"], |
| hdrs = ["cecpq2_aead_hkdf_public_key_manager.h"], |
| include_prefix = "tink/experimental/pqcrypto/kem/", |
| deps = [ |
| ":cecpq2_aead_hkdf_dem_helper", |
| "//:core/key_type_manager", |
| "//:hybrid_encrypt", |
| "//experimental/pqcrypto/kem/subtle:cecpq2_aead_hkdf_hybrid_encrypt", |
| "//experimental/pqcrypto/proto:cecpq2_aead_hkdf_cc_proto", |
| "//proto:common_cc_proto", |
| "//proto:tink_cc_proto", |
| "//util:enums", |
| "//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 = "cecpq2_hybrid_config_test", |
| size = "small", |
| srcs = ["cecpq2_hybrid_config_test.cc"], |
| deps = [ |
| ":cecpq2_aead_hkdf_private_key_manager", |
| ":cecpq2_aead_hkdf_public_key_manager", |
| ":cecpq2_hybrid_config", |
| ":cecpq2_hybrid_key_templates", |
| "//: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 = "cecpq2_hybrid_key_templates_test", |
| size = "small", |
| srcs = ["cecpq2_hybrid_key_templates_test.cc"], |
| deps = [ |
| ":cecpq2_aead_hkdf_private_key_manager", |
| ":cecpq2_hybrid_config", |
| ":cecpq2_hybrid_key_templates", |
| "//experimental/pqcrypto/proto:cecpq2_aead_hkdf_cc_proto", |
| "//util:test_matchers", |
| "@com_google_googletest//:gtest_main", |
| ], |
| ) |
| |
| cc_test( |
| name = "cecpq2_aead_hkdf_dem_helper_test", |
| size = "small", |
| srcs = ["cecpq2_aead_hkdf_dem_helper_test.cc"], |
| deps = [ |
| ":cecpq2_aead_hkdf_dem_helper", |
| "//:registry", |
| "//aead:aes_gcm_key_manager", |
| "//aead:xchacha20_poly1305_key_manager", |
| "//config:tink_config", |
| "//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 = "cecpq2_aead_hkdf_private_key_manager_test", |
| srcs = ["cecpq2_aead_hkdf_private_key_manager_test.cc"], |
| deps = [ |
| ":cecpq2_aead_hkdf_private_key_manager", |
| ":cecpq2_aead_hkdf_public_key_manager", |
| "//:hybrid_decrypt", |
| "//:registry", |
| "//aead:aead_key_templates", |
| "//aead:aes_ctr_hmac_aead_key_manager", |
| "//aead:aes_gcm_key_manager", |
| "//experimental/pqcrypto/proto:cecpq2_aead_hkdf_cc_proto", |
| "//proto:aes_eax_cc_proto", |
| "//proto:common_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 = "cecpq2_aead_hkdf_public_key_manager_test", |
| srcs = ["cecpq2_aead_hkdf_public_key_manager_test.cc"], |
| deps = [ |
| ":cecpq2_aead_hkdf_private_key_manager", |
| ":cecpq2_aead_hkdf_public_key_manager", |
| "//:hybrid_encrypt", |
| "//:registry", |
| "//aead:aead_key_templates", |
| "//aead:aes_gcm_key_manager", |
| "//experimental/pqcrypto/proto:cecpq2_aead_hkdf_cc_proto", |
| "//proto:aes_eax_cc_proto", |
| "//proto:common_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", |
| ], |
| ) |