1tink_module(hybrid) 2 3add_subdirectory(internal) 4 5tink_cc_library( 6 NAME hybrid_config 7 SRCS 8 hybrid_config.cc 9 hybrid_config.h 10 DEPS 11 tink::hybrid::ecies_aead_hkdf_private_key_manager 12 tink::hybrid::ecies_aead_hkdf_public_key_manager 13 tink::hybrid::hybrid_decrypt_wrapper 14 tink::hybrid::hybrid_encrypt_wrapper 15 absl::core_headers 16 absl::memory 17 tink::core::registry 18 tink::aead::aead_config 19 tink::config::config_util 20 tink::config::tink_fips 21 tink::util::status 22 tink::proto::config_cc_proto 23) 24 25tink_cc_library( 26 NAME hpke_config 27 SRCS 28 hpke_config.cc 29 hpke_config.h 30 DEPS 31 tink::hybrid::hybrid_decrypt_wrapper 32 tink::hybrid::hybrid_encrypt_wrapper 33 tink::core::registry 34 tink::aead::aead_config 35 tink::config::tink_fips 36 tink::hybrid::internal::hpke_private_key_manager 37 tink::hybrid::internal::hpke_public_key_manager 38 tink::util::status 39 TAGS 40 exclude_if_openssl 41) 42 43tink_cc_library( 44 NAME hybrid_decrypt_wrapper 45 SRCS 46 hybrid_decrypt_wrapper.cc 47 hybrid_decrypt_wrapper.h 48 DEPS 49 absl::status 50 absl::strings 51 tink::core::crypto_format 52 tink::core::hybrid_decrypt 53 tink::core::primitive_set 54 tink::core::primitive_wrapper 55 tink::internal::monitoring_util 56 tink::internal::registry_impl 57 tink::internal::util 58 tink::monitoring::monitoring 59 tink::util::status 60 tink::util::statusor 61 tink::proto::tink_cc_proto 62) 63 64tink_cc_library( 65 NAME hybrid_encrypt_wrapper 66 SRCS 67 hybrid_encrypt_wrapper.cc 68 hybrid_encrypt_wrapper.h 69 DEPS 70 absl::status 71 absl::strings 72 tink::core::crypto_format 73 tink::core::hybrid_encrypt 74 tink::core::primitive_set 75 tink::core::primitive_wrapper 76 tink::internal::monitoring_util 77 tink::internal::registry_impl 78 tink::internal::util 79 tink::monitoring::monitoring 80 tink::util::status 81 tink::util::statusor 82 tink::proto::tink_cc_proto 83) 84 85tink_cc_library( 86 NAME hybrid_decrypt_factory 87 SRCS 88 hybrid_decrypt_factory.cc 89 hybrid_decrypt_factory.h 90 DEPS 91 tink::hybrid::hybrid_decrypt_wrapper 92 absl::core_headers 93 tink::core::hybrid_decrypt 94 tink::core::key_manager 95 tink::core::keyset_handle 96 tink::core::registry 97 tink::util::status 98 tink::util::statusor 99) 100 101tink_cc_library( 102 NAME hybrid_encrypt_factory 103 SRCS 104 hybrid_encrypt_factory.cc 105 hybrid_encrypt_factory.h 106 DEPS 107 tink::hybrid::hybrid_encrypt_wrapper 108 absl::core_headers 109 tink::core::hybrid_encrypt 110 tink::core::key_manager 111 tink::core::keyset_handle 112 tink::core::registry 113 tink::util::status 114 tink::util::statusor 115) 116 117tink_cc_library( 118 NAME hybrid_key_templates 119 SRCS 120 hybrid_key_templates.cc 121 hybrid_key_templates.h 122 DEPS 123 absl::strings 124 tink::aead::aead_key_templates 125 tink::daead::deterministic_aead_key_templates 126 tink::proto::common_cc_proto 127 tink::proto::ecies_aead_hkdf_cc_proto 128 tink::proto::hpke_cc_proto 129 tink::proto::tink_cc_proto 130) 131 132tink_cc_library( 133 NAME ecies_aead_hkdf_dem_helper 134 SRCS 135 ecies_aead_hkdf_dem_helper.cc 136 ecies_aead_hkdf_dem_helper.h 137 DEPS 138 absl::memory 139 absl::status 140 absl::statusor 141 absl::strings 142 tink::core::aead 143 tink::core::deterministic_aead 144 tink::aead::aes_ctr_hmac_aead_key_manager 145 tink::daead::subtle::aead_or_daead 146 tink::subtle::aes_gcm_boringssl 147 tink::subtle::aes_siv_boringssl 148 tink::subtle::xchacha20_poly1305_boringssl 149 tink::util::errors 150 tink::util::protobuf_helper 151 tink::util::secret_data 152 tink::util::statusor 153 tink::proto::aes_ctr_cc_proto 154 tink::proto::aes_ctr_hmac_aead_cc_proto 155 tink::proto::aes_gcm_cc_proto 156 tink::proto::aes_siv_cc_proto 157 tink::proto::common_cc_proto 158 tink::proto::hmac_cc_proto 159 tink::proto::tink_cc_proto 160 tink::proto::xchacha20_poly1305_cc_proto 161) 162 163tink_cc_library( 164 NAME ecies_aead_hkdf_hybrid_decrypt 165 SRCS 166 ecies_aead_hkdf_hybrid_decrypt.cc 167 ecies_aead_hkdf_hybrid_decrypt.h 168 DEPS 169 tink::hybrid::ecies_aead_hkdf_dem_helper 170 absl::memory 171 absl::status 172 tink::core::hybrid_decrypt 173 tink::internal::ec_util 174 tink::subtle::ecies_hkdf_recipient_kem_boringssl 175 tink::util::enums 176 tink::util::secret_data 177 tink::util::status 178 tink::util::statusor 179 tink::proto::ecies_aead_hkdf_cc_proto 180) 181 182tink_cc_library( 183 NAME ecies_aead_hkdf_hybrid_encrypt 184 SRCS 185 ecies_aead_hkdf_hybrid_encrypt.cc 186 ecies_aead_hkdf_hybrid_encrypt.h 187 DEPS 188 tink::hybrid::ecies_aead_hkdf_dem_helper 189 absl::memory 190 absl::status 191 absl::strings 192 tink::core::aead 193 tink::core::hybrid_encrypt 194 tink::subtle::ecies_hkdf_sender_kem_boringssl 195 tink::util::enums 196 tink::util::status 197 tink::util::statusor 198 tink::proto::ecies_aead_hkdf_cc_proto 199) 200 201tink_cc_library( 202 NAME ecies_aead_hkdf_private_key_manager 203 SRCS 204 ecies_aead_hkdf_private_key_manager.cc 205 ecies_aead_hkdf_private_key_manager.h 206 DEPS 207 tink::hybrid::ecies_aead_hkdf_hybrid_decrypt 208 tink::hybrid::ecies_aead_hkdf_public_key_manager 209 absl::memory 210 absl::status 211 absl::strings 212 tink::core::key_type_manager 213 tink::core::private_key_type_manager 214 tink::core::hybrid_decrypt 215 tink::core::key_manager 216 tink::internal::ec_util 217 tink::util::constants 218 tink::util::enums 219 tink::util::errors 220 tink::util::protobuf_helper 221 tink::util::secret_data 222 tink::util::status 223 tink::util::statusor 224 tink::util::validation 225 tink::proto::ecies_aead_hkdf_cc_proto 226 tink::proto::tink_cc_proto 227) 228 229tink_cc_library( 230 NAME ecies_aead_hkdf_public_key_manager 231 SRCS 232 ecies_aead_hkdf_public_key_manager.cc 233 ecies_aead_hkdf_public_key_manager.h 234 DEPS 235 tink::hybrid::ecies_aead_hkdf_hybrid_encrypt 236 absl::memory 237 absl::status 238 absl::strings 239 tink::core::key_type_manager 240 tink::core::hybrid_encrypt 241 tink::core::key_manager 242 tink::util::constants 243 tink::util::errors 244 tink::util::protobuf_helper 245 tink::util::status 246 tink::util::statusor 247 tink::util::validation 248 tink::proto::common_cc_proto 249 tink::proto::ecies_aead_hkdf_cc_proto 250 tink::proto::tink_cc_proto 251) 252 253tink_cc_library( 254 NAME failing_hybrid 255 SRCS 256 failing_hybrid.cc 257 failing_hybrid.h 258 DEPS 259 absl::strings 260 tink::core::hybrid_decrypt 261 tink::core::hybrid_encrypt 262) 263 264tink_cc_library( 265 NAME hybrid_parameters 266 SRCS 267 hybrid_parameters.h 268 DEPS 269 tink::core::parameters 270) 271 272tink_cc_library( 273 NAME hybrid_public_key 274 SRCS 275 hybrid_public_key.h 276 DEPS 277 tink::hybrid::hybrid_parameters 278 absl::strings 279 tink::core::key 280) 281 282tink_cc_library( 283 NAME hybrid_private_key 284 SRCS 285 hybrid_private_key.h 286 DEPS 287 tink::hybrid::hybrid_parameters 288 tink::hybrid::hybrid_public_key 289 absl::strings 290 tink::core::key 291 tink::core::private_key 292) 293 294# tests 295 296tink_cc_test( 297 NAME hybrid_config_test 298 SRCS 299 hybrid_config_test.cc 300 DEPS 301 tink::hybrid::ecies_aead_hkdf_private_key_manager 302 tink::hybrid::ecies_aead_hkdf_public_key_manager 303 tink::hybrid::hybrid_config 304 tink::hybrid::hybrid_key_templates 305 gmock 306 absl::status 307 crypto 308 tink::core::hybrid_decrypt 309 tink::core::hybrid_encrypt 310 tink::core::keyset_handle 311 tink::core::registry 312 tink::internal::fips_utils 313 tink::util::status 314 tink::util::test_matchers 315 tink::util::test_util 316) 317 318tink_cc_test( 319 NAME hpke_config_test 320 SRCS 321 hpke_config_test.cc 322 DEPS 323 tink::hybrid::hpke_config 324 tink::hybrid::hybrid_key_templates 325 gmock 326 absl::status 327 tink::core::hybrid_decrypt 328 tink::core::hybrid_encrypt 329 tink::core::keyset_handle 330 tink::core::registry 331 tink::config::tink_fips 332 tink::hybrid::internal::hpke_private_key_manager 333 tink::hybrid::internal::hpke_public_key_manager 334 tink::util::status 335 tink::util::test_matchers 336 tink::util::test_util 337 TAGS 338 exclude_if_openssl 339) 340 341tink_cc_test( 342 NAME hybrid_decrypt_wrapper_test 343 SRCS 344 hybrid_decrypt_wrapper_test.cc 345 DEPS 346 tink::hybrid::failing_hybrid 347 tink::hybrid::hybrid_decrypt_wrapper 348 gmock 349 absl::strings 350 tink::core::hybrid_decrypt 351 tink::core::hybrid_encrypt 352 tink::core::primitive_set 353 tink::internal::registry_impl 354 tink::monitoring::monitoring 355 tink::monitoring::monitoring_client_mocks 356 tink::util::status 357 tink::util::test_matchers 358 tink::util::test_util 359 tink::proto::tink_cc_proto 360) 361 362tink_cc_test( 363 NAME hybrid_encrypt_wrapper_test 364 SRCS 365 hybrid_encrypt_wrapper_test.cc 366 DEPS 367 tink::hybrid::failing_hybrid 368 tink::hybrid::hybrid_encrypt_wrapper 369 gmock 370 absl::status 371 tink::core::hybrid_encrypt 372 tink::core::primitive_set 373 tink::internal::registry_impl 374 tink::monitoring::monitoring 375 tink::monitoring::monitoring_client_mocks 376 tink::util::status 377 tink::util::test_matchers 378 tink::util::test_util 379 tink::proto::tink_cc_proto 380) 381 382tink_cc_test( 383 NAME hybrid_decrypt_factory_test 384 SRCS 385 hybrid_decrypt_factory_test.cc 386 DEPS 387 tink::hybrid::ecies_aead_hkdf_public_key_manager 388 tink::hybrid::hybrid_config 389 tink::hybrid::hybrid_decrypt_factory 390 gmock 391 absl::memory 392 tink::core::crypto_format 393 tink::core::hybrid_decrypt 394 tink::core::hybrid_encrypt 395 tink::core::keyset_handle 396 tink::util::status 397 tink::util::test_keyset_handle 398 tink::util::test_util 399 tink::proto::ecies_aead_hkdf_cc_proto 400 tink::proto::tink_cc_proto 401) 402 403tink_cc_test( 404 NAME hybrid_encrypt_factory_test 405 SRCS 406 hybrid_encrypt_factory_test.cc 407 DEPS 408 tink::hybrid::hybrid_config 409 tink::hybrid::hybrid_encrypt_factory 410 gmock 411 tink::core::crypto_format 412 tink::core::hybrid_encrypt 413 tink::core::keyset_handle 414 tink::util::status 415 tink::util::test_keyset_handle 416 tink::util::test_util 417 tink::proto::ecies_aead_hkdf_cc_proto 418 tink::proto::tink_cc_proto 419) 420 421tink_cc_test( 422 NAME hybrid_key_templates_test 423 SRCS 424 hybrid_key_templates_test.cc 425 DEPS 426 tink::hybrid::ecies_aead_hkdf_private_key_manager 427 tink::hybrid::hybrid_config 428 tink::hybrid::hybrid_key_templates 429 gmock 430 tink::aead::aead_key_templates 431 tink::daead::deterministic_aead_key_templates 432 tink::hybrid::internal::hpke_private_key_manager 433 tink::util::test_matchers 434 tink::proto::common_cc_proto 435 tink::proto::ecies_aead_hkdf_cc_proto 436 tink::proto::hpke_cc_proto 437 tink::proto::tink_cc_proto 438 TAGS 439 exclude_if_openssl 440) 441 442tink_cc_test( 443 NAME ecies_aead_hkdf_dem_helper_test 444 SRCS 445 ecies_aead_hkdf_dem_helper_test.cc 446 DEPS 447 tink::hybrid::ecies_aead_hkdf_dem_helper 448 gmock 449 absl::status 450 tink::aead::aes_gcm_key_manager 451 tink::daead::aes_siv_key_manager 452 tink::util::secret_data 453 tink::util::test_matchers 454 tink::util::test_util 455) 456 457tink_cc_test( 458 NAME ecies_aead_hkdf_hybrid_decrypt_test 459 SRCS 460 ecies_aead_hkdf_hybrid_decrypt_test.cc 461 DEPS 462 tink::hybrid::ecies_aead_hkdf_hybrid_decrypt 463 tink::hybrid::ecies_aead_hkdf_hybrid_encrypt 464 gmock 465 absl::memory 466 tink::core::hybrid_decrypt 467 tink::aead::aes_ctr_hmac_aead_key_manager 468 tink::aead::aes_gcm_key_manager 469 tink::aead::xchacha20_poly1305_key_manager 470 tink::daead::aes_siv_key_manager 471 tink::internal::ec_util 472 tink::internal::ssl_util 473 tink::subtle::random 474 tink::util::enums 475 tink::util::statusor 476 tink::util::test_matchers 477 tink::util::test_util 478 tink::proto::aes_gcm_cc_proto 479 tink::proto::common_cc_proto 480 tink::proto::ecies_aead_hkdf_cc_proto 481) 482 483tink_cc_test( 484 NAME ecies_aead_hkdf_hybrid_encrypt_test 485 SRCS 486 ecies_aead_hkdf_hybrid_encrypt_test.cc 487 DEPS 488 tink::hybrid::ecies_aead_hkdf_hybrid_encrypt 489 gmock 490 absl::memory 491 tink::core::hybrid_encrypt 492 tink::aead::aes_gcm_key_manager 493 tink::internal::ec_util 494 tink::util::enums 495 tink::util::statusor 496 tink::util::test_util 497 tink::proto::common_cc_proto 498 tink::proto::ecies_aead_hkdf_cc_proto 499) 500 501tink_cc_test( 502 NAME ecies_aead_hkdf_private_key_manager_test 503 SRCS 504 ecies_aead_hkdf_private_key_manager_test.cc 505 DEPS 506 tink::hybrid::ecies_aead_hkdf_private_key_manager 507 tink::hybrid::ecies_aead_hkdf_public_key_manager 508 tink::hybrid::hybrid_key_templates 509 gmock 510 absl::status 511 tink::core::hybrid_decrypt 512 tink::core::registry 513 tink::aead::aead_key_templates 514 tink::aead::aes_ctr_hmac_aead_key_manager 515 tink::aead::aes_gcm_key_manager 516 tink::subtle::hybrid_test_util 517 tink::util::status 518 tink::util::statusor 519 tink::util::test_matchers 520 tink::util::test_util 521 tink::proto::aes_eax_cc_proto 522 tink::proto::common_cc_proto 523 tink::proto::ecies_aead_hkdf_cc_proto 524 tink::proto::tink_cc_proto 525) 526 527tink_cc_test( 528 NAME ecies_aead_hkdf_public_key_manager_test 529 SRCS 530 ecies_aead_hkdf_public_key_manager_test.cc 531 DEPS 532 tink::hybrid::ecies_aead_hkdf_private_key_manager 533 tink::hybrid::ecies_aead_hkdf_public_key_manager 534 gmock 535 absl::status 536 tink::core::hybrid_encrypt 537 tink::core::registry 538 tink::aead::aead_key_templates 539 tink::aead::aes_gcm_key_manager 540 tink::util::status 541 tink::util::statusor 542 tink::util::test_matchers 543 tink::util::test_util 544 tink::proto::aes_eax_cc_proto 545 tink::proto::common_cc_proto 546 tink::proto::ecies_aead_hkdf_cc_proto 547 tink::proto::tink_cc_proto 548) 549 550tink_cc_test( 551 NAME failing_hybrid_test 552 SRCS 553 failing_hybrid_test.cc 554 DEPS 555 tink::hybrid::failing_hybrid 556 gmock 557 absl::status 558 tink::util::test_matchers 559) 560