1*e7b1675dSTing-Kang Changpackage(default_visibility = ["//:__subpackages__"]) 2*e7b1675dSTing-Kang Chang 3*e7b1675dSTing-Kang Changlicenses(["notice"]) 4*e7b1675dSTing-Kang Chang 5*e7b1675dSTing-Kang Changcc_library( 6*e7b1675dSTing-Kang Chang name = "aes_siv_key_manager", 7*e7b1675dSTing-Kang Chang hdrs = ["aes_siv_key_manager.h"], 8*e7b1675dSTing-Kang Chang include_prefix = "tink/daead", 9*e7b1675dSTing-Kang Chang deps = [ 10*e7b1675dSTing-Kang Chang "//:core/key_type_manager", 11*e7b1675dSTing-Kang Chang "//:deterministic_aead", 12*e7b1675dSTing-Kang Chang "//proto:aes_siv_cc_proto", 13*e7b1675dSTing-Kang Chang "//subtle:aes_siv_boringssl", 14*e7b1675dSTing-Kang Chang "//subtle:random", 15*e7b1675dSTing-Kang Chang "//util:constants", 16*e7b1675dSTing-Kang Chang "//util:errors", 17*e7b1675dSTing-Kang Chang "//util:input_stream_util", 18*e7b1675dSTing-Kang Chang "//util:protobuf_helper", 19*e7b1675dSTing-Kang Chang "//util:secret_data", 20*e7b1675dSTing-Kang Chang "//util:status", 21*e7b1675dSTing-Kang Chang "//util:statusor", 22*e7b1675dSTing-Kang Chang "//util:validation", 23*e7b1675dSTing-Kang Chang "@com_google_absl//absl/memory", 24*e7b1675dSTing-Kang Chang "@com_google_absl//absl/status", 25*e7b1675dSTing-Kang Chang "@com_google_absl//absl/strings", 26*e7b1675dSTing-Kang Chang ], 27*e7b1675dSTing-Kang Chang) 28*e7b1675dSTing-Kang Chang 29*e7b1675dSTing-Kang Changcc_library( 30*e7b1675dSTing-Kang Chang name = "deterministic_aead_wrapper", 31*e7b1675dSTing-Kang Chang srcs = ["deterministic_aead_wrapper.cc"], 32*e7b1675dSTing-Kang Chang hdrs = ["deterministic_aead_wrapper.h"], 33*e7b1675dSTing-Kang Chang include_prefix = "tink/daead", 34*e7b1675dSTing-Kang Chang deps = [ 35*e7b1675dSTing-Kang Chang "//:crypto_format", 36*e7b1675dSTing-Kang Chang "//:deterministic_aead", 37*e7b1675dSTing-Kang Chang "//:primitive_set", 38*e7b1675dSTing-Kang Chang "//:primitive_wrapper", 39*e7b1675dSTing-Kang Chang "//internal:monitoring_util", 40*e7b1675dSTing-Kang Chang "//internal:registry_impl", 41*e7b1675dSTing-Kang Chang "//internal:util", 42*e7b1675dSTing-Kang Chang "//monitoring", 43*e7b1675dSTing-Kang Chang "//proto:tink_cc_proto", 44*e7b1675dSTing-Kang Chang "//util:status", 45*e7b1675dSTing-Kang Chang "//util:statusor", 46*e7b1675dSTing-Kang Chang "@com_google_absl//absl/status", 47*e7b1675dSTing-Kang Chang "@com_google_absl//absl/strings", 48*e7b1675dSTing-Kang Chang ], 49*e7b1675dSTing-Kang Chang) 50*e7b1675dSTing-Kang Chang 51*e7b1675dSTing-Kang Changcc_library( 52*e7b1675dSTing-Kang Chang name = "deterministic_aead_config", 53*e7b1675dSTing-Kang Chang srcs = ["deterministic_aead_config.cc"], 54*e7b1675dSTing-Kang Chang hdrs = ["deterministic_aead_config.h"], 55*e7b1675dSTing-Kang Chang include_prefix = "tink/daead", 56*e7b1675dSTing-Kang Chang visibility = ["//visibility:public"], 57*e7b1675dSTing-Kang Chang deps = [ 58*e7b1675dSTing-Kang Chang ":aes_siv_key_manager", 59*e7b1675dSTing-Kang Chang ":aes_siv_proto_serialization", 60*e7b1675dSTing-Kang Chang ":deterministic_aead_wrapper", 61*e7b1675dSTing-Kang Chang "//:registry", 62*e7b1675dSTing-Kang Chang "//config:tink_fips", 63*e7b1675dSTing-Kang Chang "//proto:config_cc_proto", 64*e7b1675dSTing-Kang Chang "//util:status", 65*e7b1675dSTing-Kang Chang "@com_google_absl//absl/base:core_headers", 66*e7b1675dSTing-Kang Chang "@com_google_absl//absl/memory", 67*e7b1675dSTing-Kang Chang ], 68*e7b1675dSTing-Kang Chang) 69*e7b1675dSTing-Kang Chang 70*e7b1675dSTing-Kang Changcc_library( 71*e7b1675dSTing-Kang Chang name = "deterministic_aead_factory", 72*e7b1675dSTing-Kang Chang srcs = ["deterministic_aead_factory.cc"], 73*e7b1675dSTing-Kang Chang hdrs = ["deterministic_aead_factory.h"], 74*e7b1675dSTing-Kang Chang include_prefix = "tink/daead", 75*e7b1675dSTing-Kang Chang deps = [ 76*e7b1675dSTing-Kang Chang ":deterministic_aead_wrapper", 77*e7b1675dSTing-Kang Chang "//:deterministic_aead", 78*e7b1675dSTing-Kang Chang "//:key_manager", 79*e7b1675dSTing-Kang Chang "//:keyset_handle", 80*e7b1675dSTing-Kang Chang "//:registry", 81*e7b1675dSTing-Kang Chang "//util:status", 82*e7b1675dSTing-Kang Chang "//util:statusor", 83*e7b1675dSTing-Kang Chang "@com_google_absl//absl/base:core_headers", 84*e7b1675dSTing-Kang Chang ], 85*e7b1675dSTing-Kang Chang) 86*e7b1675dSTing-Kang Chang 87*e7b1675dSTing-Kang Changcc_library( 88*e7b1675dSTing-Kang Chang name = "deterministic_aead_key_templates", 89*e7b1675dSTing-Kang Chang srcs = ["deterministic_aead_key_templates.cc"], 90*e7b1675dSTing-Kang Chang hdrs = ["deterministic_aead_key_templates.h"], 91*e7b1675dSTing-Kang Chang include_prefix = "tink/daead", 92*e7b1675dSTing-Kang Chang visibility = ["//visibility:public"], 93*e7b1675dSTing-Kang Chang deps = [ 94*e7b1675dSTing-Kang Chang "//proto:aes_siv_cc_proto", 95*e7b1675dSTing-Kang Chang "//proto:common_cc_proto", 96*e7b1675dSTing-Kang Chang "//proto:tink_cc_proto", 97*e7b1675dSTing-Kang Chang ], 98*e7b1675dSTing-Kang Chang) 99*e7b1675dSTing-Kang Chang 100*e7b1675dSTing-Kang Changcc_library( 101*e7b1675dSTing-Kang Chang name = "failing_daead", 102*e7b1675dSTing-Kang Chang srcs = ["failing_daead.cc"], 103*e7b1675dSTing-Kang Chang hdrs = ["failing_daead.h"], 104*e7b1675dSTing-Kang Chang include_prefix = "tink/daead", 105*e7b1675dSTing-Kang Chang deps = [ 106*e7b1675dSTing-Kang Chang "//:deterministic_aead", 107*e7b1675dSTing-Kang Chang "@com_google_absl//absl/strings", 108*e7b1675dSTing-Kang Chang ], 109*e7b1675dSTing-Kang Chang) 110*e7b1675dSTing-Kang Chang 111*e7b1675dSTing-Kang Changcc_library( 112*e7b1675dSTing-Kang Chang name = "deterministic_aead_parameters", 113*e7b1675dSTing-Kang Chang hdrs = ["deterministic_aead_parameters.h"], 114*e7b1675dSTing-Kang Chang include_prefix = "tink/daead", 115*e7b1675dSTing-Kang Chang deps = ["//:parameters"], 116*e7b1675dSTing-Kang Chang) 117*e7b1675dSTing-Kang Chang 118*e7b1675dSTing-Kang Changcc_library( 119*e7b1675dSTing-Kang Chang name = "deterministic_aead_key", 120*e7b1675dSTing-Kang Chang hdrs = ["deterministic_aead_key.h"], 121*e7b1675dSTing-Kang Chang include_prefix = "tink/daead", 122*e7b1675dSTing-Kang Chang deps = [ 123*e7b1675dSTing-Kang Chang ":deterministic_aead_parameters", 124*e7b1675dSTing-Kang Chang "//:key", 125*e7b1675dSTing-Kang Chang "@com_google_absl//absl/strings", 126*e7b1675dSTing-Kang Chang ], 127*e7b1675dSTing-Kang Chang) 128*e7b1675dSTing-Kang Chang 129*e7b1675dSTing-Kang Changcc_library( 130*e7b1675dSTing-Kang Chang name = "aes_siv_parameters", 131*e7b1675dSTing-Kang Chang srcs = ["aes_siv_parameters.cc"], 132*e7b1675dSTing-Kang Chang hdrs = ["aes_siv_parameters.h"], 133*e7b1675dSTing-Kang Chang include_prefix = "tink/daead", 134*e7b1675dSTing-Kang Chang deps = [ 135*e7b1675dSTing-Kang Chang ":deterministic_aead_parameters", 136*e7b1675dSTing-Kang Chang "//util:statusor", 137*e7b1675dSTing-Kang Chang ], 138*e7b1675dSTing-Kang Chang) 139*e7b1675dSTing-Kang Chang 140*e7b1675dSTing-Kang Changcc_library( 141*e7b1675dSTing-Kang Chang name = "aes_siv_key", 142*e7b1675dSTing-Kang Chang srcs = ["aes_siv_key.cc"], 143*e7b1675dSTing-Kang Chang hdrs = ["aes_siv_key.h"], 144*e7b1675dSTing-Kang Chang include_prefix = "tink/daead", 145*e7b1675dSTing-Kang Chang deps = [ 146*e7b1675dSTing-Kang Chang ":aes_siv_parameters", 147*e7b1675dSTing-Kang Chang ":deterministic_aead_key", 148*e7b1675dSTing-Kang Chang "//:partial_key_access_token", 149*e7b1675dSTing-Kang Chang "//:restricted_data", 150*e7b1675dSTing-Kang Chang "//subtle:subtle_util", 151*e7b1675dSTing-Kang Chang "//util:status", 152*e7b1675dSTing-Kang Chang "//util:statusor", 153*e7b1675dSTing-Kang Chang "@com_google_absl//absl/strings", 154*e7b1675dSTing-Kang Chang "@com_google_absl//absl/types:optional", 155*e7b1675dSTing-Kang Chang ], 156*e7b1675dSTing-Kang Chang) 157*e7b1675dSTing-Kang Chang 158*e7b1675dSTing-Kang Changcc_library( 159*e7b1675dSTing-Kang Chang name = "aes_siv_proto_serialization", 160*e7b1675dSTing-Kang Chang srcs = ["aes_siv_proto_serialization.cc"], 161*e7b1675dSTing-Kang Chang hdrs = ["aes_siv_proto_serialization.h"], 162*e7b1675dSTing-Kang Chang include_prefix = "tink/daead", 163*e7b1675dSTing-Kang Chang deps = [ 164*e7b1675dSTing-Kang Chang ":aes_siv_key", 165*e7b1675dSTing-Kang Chang ":aes_siv_parameters", 166*e7b1675dSTing-Kang Chang "//:partial_key_access", 167*e7b1675dSTing-Kang Chang "//:restricted_data", 168*e7b1675dSTing-Kang Chang "//:secret_key_access_token", 169*e7b1675dSTing-Kang Chang "//internal:key_parser", 170*e7b1675dSTing-Kang Chang "//internal:key_serializer", 171*e7b1675dSTing-Kang Chang "//internal:mutable_serialization_registry", 172*e7b1675dSTing-Kang Chang "//internal:parameters_parser", 173*e7b1675dSTing-Kang Chang "//internal:parameters_serializer", 174*e7b1675dSTing-Kang Chang "//internal:proto_key_serialization", 175*e7b1675dSTing-Kang Chang "//internal:proto_parameters_serialization", 176*e7b1675dSTing-Kang Chang "//proto:aes_siv_cc_proto", 177*e7b1675dSTing-Kang Chang "//proto:tink_cc_proto", 178*e7b1675dSTing-Kang Chang "//util:status", 179*e7b1675dSTing-Kang Chang "//util:statusor", 180*e7b1675dSTing-Kang Chang "@com_google_absl//absl/status", 181*e7b1675dSTing-Kang Chang "@com_google_absl//absl/types:optional", 182*e7b1675dSTing-Kang Chang ], 183*e7b1675dSTing-Kang Chang) 184*e7b1675dSTing-Kang Chang 185*e7b1675dSTing-Kang Chang# tests 186*e7b1675dSTing-Kang Chang 187*e7b1675dSTing-Kang Changcc_test( 188*e7b1675dSTing-Kang Chang name = "aes_siv_key_manager_test", 189*e7b1675dSTing-Kang Chang size = "small", 190*e7b1675dSTing-Kang Chang srcs = ["aes_siv_key_manager_test.cc"], 191*e7b1675dSTing-Kang Chang deps = [ 192*e7b1675dSTing-Kang Chang ":aes_siv_key_manager", 193*e7b1675dSTing-Kang Chang "//:deterministic_aead", 194*e7b1675dSTing-Kang Chang "//proto:aes_siv_cc_proto", 195*e7b1675dSTing-Kang Chang "//util:istream_input_stream", 196*e7b1675dSTing-Kang Chang "//util:secret_data", 197*e7b1675dSTing-Kang Chang "//util:status", 198*e7b1675dSTing-Kang Chang "//util:statusor", 199*e7b1675dSTing-Kang Chang "//util:test_matchers", 200*e7b1675dSTing-Kang Chang "@com_google_absl//absl/status", 201*e7b1675dSTing-Kang Chang "@com_google_googletest//:gtest_main", 202*e7b1675dSTing-Kang Chang ], 203*e7b1675dSTing-Kang Chang) 204*e7b1675dSTing-Kang Chang 205*e7b1675dSTing-Kang Changcc_test( 206*e7b1675dSTing-Kang Chang name = "deterministic_aead_wrapper_test", 207*e7b1675dSTing-Kang Chang size = "small", 208*e7b1675dSTing-Kang Chang srcs = ["deterministic_aead_wrapper_test.cc"], 209*e7b1675dSTing-Kang Chang deps = [ 210*e7b1675dSTing-Kang Chang ":deterministic_aead_wrapper", 211*e7b1675dSTing-Kang Chang ":failing_daead", 212*e7b1675dSTing-Kang Chang "//:deterministic_aead", 213*e7b1675dSTing-Kang Chang "//:primitive_set", 214*e7b1675dSTing-Kang Chang "//internal:registry_impl", 215*e7b1675dSTing-Kang Chang "//monitoring", 216*e7b1675dSTing-Kang Chang "//monitoring:monitoring_client_mocks", 217*e7b1675dSTing-Kang Chang "//util:status", 218*e7b1675dSTing-Kang Chang "//util:test_matchers", 219*e7b1675dSTing-Kang Chang "//util:test_util", 220*e7b1675dSTing-Kang Chang "@com_google_absl//absl/status", 221*e7b1675dSTing-Kang Chang "@com_google_googletest//:gtest_main", 222*e7b1675dSTing-Kang Chang ], 223*e7b1675dSTing-Kang Chang) 224*e7b1675dSTing-Kang Chang 225*e7b1675dSTing-Kang Changcc_test( 226*e7b1675dSTing-Kang Chang name = "deterministic_aead_config_test", 227*e7b1675dSTing-Kang Chang size = "small", 228*e7b1675dSTing-Kang Chang srcs = ["deterministic_aead_config_test.cc"], 229*e7b1675dSTing-Kang Chang tags = ["fips"], 230*e7b1675dSTing-Kang Chang deps = [ 231*e7b1675dSTing-Kang Chang ":aes_siv_key", 232*e7b1675dSTing-Kang Chang ":aes_siv_key_manager", 233*e7b1675dSTing-Kang Chang ":aes_siv_parameters", 234*e7b1675dSTing-Kang Chang ":deterministic_aead_config", 235*e7b1675dSTing-Kang Chang ":deterministic_aead_key_templates", 236*e7b1675dSTing-Kang Chang "//:deterministic_aead", 237*e7b1675dSTing-Kang Chang "//:insecure_secret_key_access", 238*e7b1675dSTing-Kang Chang "//:keyset_handle", 239*e7b1675dSTing-Kang Chang "//:partial_key_access", 240*e7b1675dSTing-Kang Chang "//:registry", 241*e7b1675dSTing-Kang Chang "//config:tink_fips", 242*e7b1675dSTing-Kang Chang "//internal:mutable_serialization_registry", 243*e7b1675dSTing-Kang Chang "//internal:proto_key_serialization", 244*e7b1675dSTing-Kang Chang "//internal:proto_parameters_serialization", 245*e7b1675dSTing-Kang Chang "//util:status", 246*e7b1675dSTing-Kang Chang "//util:test_matchers", 247*e7b1675dSTing-Kang Chang "//util:test_util", 248*e7b1675dSTing-Kang Chang "@com_google_absl//absl/status", 249*e7b1675dSTing-Kang Chang "@com_google_googletest//:gtest_main", 250*e7b1675dSTing-Kang Chang ], 251*e7b1675dSTing-Kang Chang) 252*e7b1675dSTing-Kang Chang 253*e7b1675dSTing-Kang Changcc_test( 254*e7b1675dSTing-Kang Chang name = "deterministic_aead_factory_test", 255*e7b1675dSTing-Kang Chang size = "small", 256*e7b1675dSTing-Kang Chang srcs = ["deterministic_aead_factory_test.cc"], 257*e7b1675dSTing-Kang Chang deps = [ 258*e7b1675dSTing-Kang Chang ":aes_siv_key_manager", 259*e7b1675dSTing-Kang Chang ":deterministic_aead_config", 260*e7b1675dSTing-Kang Chang ":deterministic_aead_factory", 261*e7b1675dSTing-Kang Chang "//:core/key_manager_impl", 262*e7b1675dSTing-Kang Chang "//:crypto_format", 263*e7b1675dSTing-Kang Chang "//:deterministic_aead", 264*e7b1675dSTing-Kang Chang "//:keyset_handle", 265*e7b1675dSTing-Kang Chang "//internal:key_info", 266*e7b1675dSTing-Kang Chang "//proto:aes_siv_cc_proto", 267*e7b1675dSTing-Kang Chang "//util:status", 268*e7b1675dSTing-Kang Chang "//util:test_keyset_handle", 269*e7b1675dSTing-Kang Chang "//util:test_util", 270*e7b1675dSTing-Kang Chang "@com_google_googletest//:gtest_main", 271*e7b1675dSTing-Kang Chang ], 272*e7b1675dSTing-Kang Chang) 273*e7b1675dSTing-Kang Chang 274*e7b1675dSTing-Kang Changcc_test( 275*e7b1675dSTing-Kang Chang name = "deterministic_aead_key_templates_test", 276*e7b1675dSTing-Kang Chang size = "small", 277*e7b1675dSTing-Kang Chang srcs = ["deterministic_aead_key_templates_test.cc"], 278*e7b1675dSTing-Kang Chang deps = [ 279*e7b1675dSTing-Kang Chang ":aes_siv_key_manager", 280*e7b1675dSTing-Kang Chang ":deterministic_aead_key_templates", 281*e7b1675dSTing-Kang Chang "//:core/key_manager_impl", 282*e7b1675dSTing-Kang Chang "//proto:aes_siv_cc_proto", 283*e7b1675dSTing-Kang Chang "//proto:common_cc_proto", 284*e7b1675dSTing-Kang Chang "//proto:tink_cc_proto", 285*e7b1675dSTing-Kang Chang "@com_google_googletest//:gtest_main", 286*e7b1675dSTing-Kang Chang ], 287*e7b1675dSTing-Kang Chang) 288*e7b1675dSTing-Kang Chang 289*e7b1675dSTing-Kang Changcc_test( 290*e7b1675dSTing-Kang Chang name = "failing_daead_test", 291*e7b1675dSTing-Kang Chang srcs = ["failing_daead_test.cc"], 292*e7b1675dSTing-Kang Chang deps = [ 293*e7b1675dSTing-Kang Chang ":failing_daead", 294*e7b1675dSTing-Kang Chang "//util:test_matchers", 295*e7b1675dSTing-Kang Chang "@com_google_absl//absl/status", 296*e7b1675dSTing-Kang Chang "@com_google_googletest//:gtest_main", 297*e7b1675dSTing-Kang Chang ], 298*e7b1675dSTing-Kang Chang) 299*e7b1675dSTing-Kang Chang 300*e7b1675dSTing-Kang Changcc_test( 301*e7b1675dSTing-Kang Chang name = "aes_siv_parameters_test", 302*e7b1675dSTing-Kang Chang srcs = ["aes_siv_parameters_test.cc"], 303*e7b1675dSTing-Kang Chang deps = [ 304*e7b1675dSTing-Kang Chang ":aes_siv_parameters", 305*e7b1675dSTing-Kang Chang "//util:statusor", 306*e7b1675dSTing-Kang Chang "//util:test_matchers", 307*e7b1675dSTing-Kang Chang "@com_google_googletest//:gtest_main", 308*e7b1675dSTing-Kang Chang ], 309*e7b1675dSTing-Kang Chang) 310*e7b1675dSTing-Kang Chang 311*e7b1675dSTing-Kang Changcc_test( 312*e7b1675dSTing-Kang Chang name = "aes_siv_key_test", 313*e7b1675dSTing-Kang Chang srcs = ["aes_siv_key_test.cc"], 314*e7b1675dSTing-Kang Chang deps = [ 315*e7b1675dSTing-Kang Chang ":aes_siv_key", 316*e7b1675dSTing-Kang Chang ":aes_siv_parameters", 317*e7b1675dSTing-Kang Chang "//:partial_key_access", 318*e7b1675dSTing-Kang Chang "//:restricted_data", 319*e7b1675dSTing-Kang Chang "//util:statusor", 320*e7b1675dSTing-Kang Chang "//util:test_matchers", 321*e7b1675dSTing-Kang Chang "@com_google_absl//absl/types:optional", 322*e7b1675dSTing-Kang Chang "@com_google_googletest//:gtest_main", 323*e7b1675dSTing-Kang Chang ], 324*e7b1675dSTing-Kang Chang) 325*e7b1675dSTing-Kang Chang 326*e7b1675dSTing-Kang Changcc_test( 327*e7b1675dSTing-Kang Chang name = "aes_siv_proto_serialization_test", 328*e7b1675dSTing-Kang Chang size = "small", 329*e7b1675dSTing-Kang Chang srcs = ["aes_siv_proto_serialization_test.cc"], 330*e7b1675dSTing-Kang Chang deps = [ 331*e7b1675dSTing-Kang Chang ":aes_siv_key", 332*e7b1675dSTing-Kang Chang ":aes_siv_parameters", 333*e7b1675dSTing-Kang Chang ":aes_siv_proto_serialization", 334*e7b1675dSTing-Kang Chang "//:insecure_secret_key_access", 335*e7b1675dSTing-Kang Chang "//:partial_key_access", 336*e7b1675dSTing-Kang Chang "//:restricted_data", 337*e7b1675dSTing-Kang Chang "//internal:mutable_serialization_registry", 338*e7b1675dSTing-Kang Chang "//internal:proto_key_serialization", 339*e7b1675dSTing-Kang Chang "//internal:proto_parameters_serialization", 340*e7b1675dSTing-Kang Chang "//proto:aes_siv_cc_proto", 341*e7b1675dSTing-Kang Chang "//proto:tink_cc_proto", 342*e7b1675dSTing-Kang Chang "//subtle:random", 343*e7b1675dSTing-Kang Chang "//util:test_matchers", 344*e7b1675dSTing-Kang Chang "@com_google_googletest//:gtest_main", 345*e7b1675dSTing-Kang Chang ], 346*e7b1675dSTing-Kang Chang) 347