1package(default_visibility = ["//:__subpackages__"]) 2 3licenses(["notice"]) 4 5cc_library( 6 name = "aead_util", 7 srcs = ["aead_util.cc"], 8 hdrs = ["aead_util.h"], 9 include_prefix = "tink/aead/internal", 10 deps = [ 11 "//util:errors", 12 "//util:statusor", 13 "@boringssl//:crypto", 14 "@com_google_absl//absl/container:flat_hash_set", 15 "@com_google_absl//absl/status", 16 ], 17) 18 19cc_library( 20 name = "wycheproof_aead", 21 testonly = 1, 22 srcs = ["wycheproof_aead.cc"], 23 hdrs = ["wycheproof_aead.h"], 24 include_prefix = "tink/aead/internal", 25 deps = [ 26 "//subtle:wycheproof_util", 27 "//util:statusor", 28 "@com_google_absl//absl/strings", 29 ], 30) 31 32cc_library( 33 name = "ssl_aead", 34 srcs = ["ssl_aead.cc"], 35 hdrs = ["ssl_aead.h"], 36 include_prefix = "tink/aead/internal", 37 deps = [ 38 ":aead_util", 39 "//internal:err_util", 40 "//internal:ssl_unique_ptr", 41 "//internal:util", 42 "//util:secret_data", 43 "//util:status", 44 "//util:statusor", 45 "@boringssl//:crypto", 46 "@com_google_absl//absl/cleanup", 47 "@com_google_absl//absl/memory", 48 "@com_google_absl//absl/status", 49 "@com_google_absl//absl/strings", 50 "@com_google_absl//absl/types:span", 51 ], 52) 53 54cc_library( 55 name = "cord_aes_gcm_boringssl", 56 srcs = ["cord_aes_gcm_boringssl.cc"], 57 hdrs = ["cord_aes_gcm_boringssl.h"], 58 include_prefix = "tink/aead/internal", 59 deps = [ 60 ":aead_util", 61 "//aead:cord_aead", 62 "//internal:ssl_unique_ptr", 63 "//subtle:random", 64 "//subtle:subtle_util", 65 "//util:secret_data", 66 "//util:status", 67 "//util:statusor", 68 "@boringssl//:crypto", 69 "@com_google_absl//absl/status", 70 "@com_google_absl//absl/strings:cord", 71 ], 72) 73 74cc_library( 75 name = "zero_copy_aead", 76 hdrs = ["zero_copy_aead.h"], 77 include_prefix = "tink/aead/internal", 78 deps = [ 79 "//util:statusor", 80 "@com_google_absl//absl/strings", 81 ], 82) 83 84cc_library( 85 name = "mock_zero_copy_aead", 86 testonly = 1, 87 hdrs = ["mock_zero_copy_aead.h"], 88 include_prefix = "tink/aead/internal", 89 deps = [ 90 ":zero_copy_aead", 91 "//util:statusor", 92 "@com_google_absl//absl/strings", 93 "@com_google_googletest//:gtest", 94 ], 95) 96 97cc_library( 98 name = "aead_from_zero_copy", 99 srcs = ["aead_from_zero_copy.cc"], 100 hdrs = ["aead_from_zero_copy.h"], 101 include_prefix = "tink/aead/internal", 102 deps = [ 103 ":zero_copy_aead", 104 "//:aead", 105 "//subtle:subtle_util", 106 "//util:status", 107 "//util:statusor", 108 "@com_google_absl//absl/memory", 109 "@com_google_absl//absl/status", 110 ], 111) 112 113cc_library( 114 name = "zero_copy_aead_wrapper", 115 srcs = ["zero_copy_aead_wrapper.cc"], 116 hdrs = ["zero_copy_aead_wrapper.h"], 117 include_prefix = "tink/aead/internal", 118 deps = [ 119 ":zero_copy_aead", 120 "//:aead", 121 "//:crypto_format", 122 "//:primitive_set", 123 "//:primitive_wrapper", 124 "//subtle:subtle_util", 125 "//util:statusor", 126 "@com_google_absl//absl/strings", 127 ], 128) 129 130cc_library( 131 name = "zero_copy_aes_gcm_boringssl", 132 srcs = ["zero_copy_aes_gcm_boringssl.cc"], 133 hdrs = ["zero_copy_aes_gcm_boringssl.h"], 134 include_prefix = "tink/aead/internal", 135 deps = [ 136 ":aead_util", 137 ":ssl_aead", 138 ":zero_copy_aead", 139 "//internal:util", 140 "//subtle:random", 141 "//subtle:subtle_util", 142 "//util:secret_data", 143 "//util:status", 144 "//util:statusor", 145 "@com_google_absl//absl/base:core_headers", 146 "@com_google_absl//absl/memory", 147 "@com_google_absl//absl/status", 148 "@com_google_absl//absl/strings", 149 ], 150) 151 152cc_test( 153 name = "cord_aes_gcm_boringssl_test", 154 size = "small", 155 srcs = ["cord_aes_gcm_boringssl_test.cc"], 156 data = ["//testvectors:aes_gcm"], 157 deps = [ 158 ":cord_aes_gcm_boringssl", 159 "//subtle:aes_gcm_boringssl", 160 "//subtle:wycheproof_util", 161 "//util:secret_data", 162 "//util:status", 163 "//util:statusor", 164 "//util:test_matchers", 165 "@boringssl//:crypto", 166 "@com_google_absl//absl/strings", 167 "@com_google_absl//absl/strings:cord", 168 "@com_google_absl//absl/strings:cord_test_helpers", 169 "@com_google_googletest//:gtest_main", 170 "@rapidjson", 171 ], 172) 173 174cc_test( 175 name = "aead_util_test", 176 size = "small", 177 srcs = ["aead_util_test.cc"], 178 deps = [ 179 ":aead_util", 180 "//util:test_matchers", 181 "@boringssl//:crypto", 182 "@com_google_googletest//:gtest_main", 183 ], 184) 185 186cc_test( 187 name = "zero_copy_aead_wrapper_test", 188 srcs = ["zero_copy_aead_wrapper_test.cc"], 189 deps = [ 190 ":mock_zero_copy_aead", 191 ":zero_copy_aead_wrapper", 192 "//subtle:subtle_util", 193 "//util:test_matchers", 194 "@com_google_googletest//:gtest_main", 195 ], 196) 197 198cc_test( 199 name = "zero_copy_aes_gcm_boringssl_test", 200 srcs = ["zero_copy_aes_gcm_boringssl_test.cc"], 201 data = ["//testvectors:aes_gcm"], 202 deps = [ 203 ":wycheproof_aead", 204 ":zero_copy_aead", 205 ":zero_copy_aes_gcm_boringssl", 206 "//subtle:subtle_util", 207 "//util:statusor", 208 "//util:test_matchers", 209 "@boringssl//:crypto", 210 "@com_google_absl//absl/status", 211 "@com_google_absl//absl/strings", 212 "@com_google_absl//absl/types:span", 213 "@com_google_googletest//:gtest_main", 214 ], 215) 216 217cc_test( 218 name = "aead_from_zero_copy_test", 219 srcs = ["aead_from_zero_copy_test.cc"], 220 deps = [ 221 ":aead_from_zero_copy", 222 ":mock_zero_copy_aead", 223 "//util:statusor", 224 "//util:test_matchers", 225 "@com_google_absl//absl/memory", 226 "@com_google_absl//absl/status", 227 "@com_google_absl//absl/strings", 228 "@com_google_absl//absl/types:span", 229 "@com_google_googletest//:gtest_main", 230 ], 231) 232 233cc_test( 234 name = "ssl_aead_test", 235 srcs = ["ssl_aead_test.cc"], 236 data = [ 237 "//testvectors:aes_gcm", 238 "//testvectors:aes_gcm_siv", 239 "//testvectors:chacha20_poly1305", 240 ], 241 deps = [ 242 ":ssl_aead", 243 ":wycheproof_aead", 244 "//internal:fips_utils", 245 "//internal:ssl_util", 246 "//subtle:subtle_util", 247 "//util:secret_data", 248 "//util:statusor", 249 "//util:test_matchers", 250 "@com_google_absl//absl/container:flat_hash_set", 251 "@com_google_absl//absl/status", 252 "@com_google_absl//absl/strings", 253 "@com_google_absl//absl/types:span", 254 "@com_google_googletest//:gtest_main", 255 ], 256) 257 258cc_test( 259 name = "ssl_aead_large_inputs_test", 260 size = "enormous", 261 srcs = ["ssl_aead_large_inputs_test.cc"], 262 deps = [ 263 ":ssl_aead", 264 "//config:tink_fips", 265 "//internal:ssl_util", 266 "//internal:util", 267 "//subtle:subtle_util", 268 "//util:secret_data", 269 "//util:statusor", 270 "//util:test_matchers", 271 "@com_google_absl//absl/container:flat_hash_set", 272 "@com_google_absl//absl/memory", 273 "@com_google_absl//absl/status", 274 "@com_google_absl//absl/strings", 275 "@com_google_absl//absl/types:span", 276 "@com_google_googletest//:gtest_main", 277 ], 278) 279