1*14675a02SAndroid Build Coastguard Worker# Description: 2*14675a02SAndroid Build Coastguard Worker# SecAgg components shared between client and server. 3*14675a02SAndroid Build Coastguard Worker 4*14675a02SAndroid Build Coastguard Workerload("//fcp:config.bzl", "FCP_COPTS") 5*14675a02SAndroid Build Coastguard Worker 6*14675a02SAndroid Build Coastguard Workerpackage( 7*14675a02SAndroid Build Coastguard Worker default_visibility = ["//fcp:internal"], 8*14675a02SAndroid Build Coastguard Worker) 9*14675a02SAndroid Build Coastguard Worker 10*14675a02SAndroid Build Coastguard Workerproto_library( 11*14675a02SAndroid Build Coastguard Worker name = "proto", 12*14675a02SAndroid Build Coastguard Worker srcs = ["secagg_messages.proto"], 13*14675a02SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 14*14675a02SAndroid Build Coastguard Worker deps = [ 15*14675a02SAndroid Build Coastguard Worker "@com_google_protobuf//:any_proto", 16*14675a02SAndroid Build Coastguard Worker ], 17*14675a02SAndroid Build Coastguard Worker) 18*14675a02SAndroid Build Coastguard Worker 19*14675a02SAndroid Build Coastguard Workercc_proto_library( 20*14675a02SAndroid Build Coastguard Worker name = "cc_proto", 21*14675a02SAndroid Build Coastguard Worker visibility = ["//visibility:public"], 22*14675a02SAndroid Build Coastguard Worker deps = [ 23*14675a02SAndroid Build Coastguard Worker ":proto", 24*14675a02SAndroid Build Coastguard Worker ], 25*14675a02SAndroid Build Coastguard Worker) 26*14675a02SAndroid Build Coastguard Worker 27*14675a02SAndroid Build Coastguard Workercc_library( 28*14675a02SAndroid Build Coastguard Worker name = "shared", 29*14675a02SAndroid Build Coastguard Worker srcs = [ 30*14675a02SAndroid Build Coastguard Worker "aes_ctr_prng.cc", 31*14675a02SAndroid Build Coastguard Worker "aes_ctr_prng_factory.cc", 32*14675a02SAndroid Build Coastguard Worker "aes_gcm_encryption.cc", 33*14675a02SAndroid Build Coastguard Worker "aes_key.cc", 34*14675a02SAndroid Build Coastguard Worker "compute_session_id.cc", 35*14675a02SAndroid Build Coastguard Worker "crypto_rand_prng.cc", 36*14675a02SAndroid Build Coastguard Worker "ecdh_key_agreement.cc", 37*14675a02SAndroid Build Coastguard Worker "input_vector_specification.cc", 38*14675a02SAndroid Build Coastguard Worker "map_of_masks.cc", 39*14675a02SAndroid Build Coastguard Worker "secagg_vector.cc", 40*14675a02SAndroid Build Coastguard Worker "shamir_secret_sharing.cc", 41*14675a02SAndroid Build Coastguard Worker ], 42*14675a02SAndroid Build Coastguard Worker hdrs = [ 43*14675a02SAndroid Build Coastguard Worker "aes_ctr_prng.h", 44*14675a02SAndroid Build Coastguard Worker "aes_ctr_prng_factory.h", 45*14675a02SAndroid Build Coastguard Worker "aes_gcm_encryption.h", 46*14675a02SAndroid Build Coastguard Worker "aes_key.h", 47*14675a02SAndroid Build Coastguard Worker "aes_prng_factory.h", 48*14675a02SAndroid Build Coastguard Worker "async_abort.h", 49*14675a02SAndroid Build Coastguard Worker "compute_session_id.h", 50*14675a02SAndroid Build Coastguard Worker "crypto_rand_prng.h", 51*14675a02SAndroid Build Coastguard Worker "ecdh_key_agreement.h", 52*14675a02SAndroid Build Coastguard Worker "ecdh_keys.h", 53*14675a02SAndroid Build Coastguard Worker "input_vector_specification.h", 54*14675a02SAndroid Build Coastguard Worker "key.h", 55*14675a02SAndroid Build Coastguard Worker "map_of_masks.h", 56*14675a02SAndroid Build Coastguard Worker "math.h", 57*14675a02SAndroid Build Coastguard Worker "prng.h", 58*14675a02SAndroid Build Coastguard Worker "secagg_vector.h", 59*14675a02SAndroid Build Coastguard Worker "shamir_secret_sharing.h", 60*14675a02SAndroid Build Coastguard Worker ], 61*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 62*14675a02SAndroid Build Coastguard Worker deps = [ 63*14675a02SAndroid Build Coastguard Worker ":cc_proto", 64*14675a02SAndroid Build Coastguard Worker "//fcp/base", 65*14675a02SAndroid Build Coastguard Worker "@boringssl//:crypto", 66*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/base:core_headers", 67*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/base:endian", 68*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/container:flat_hash_map", 69*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/container:node_hash_map", 70*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/numeric:bits", 71*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/numeric:int128", 72*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/status:statusor", 73*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/strings", 74*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/synchronization", 75*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/types:span", 76*14675a02SAndroid Build Coastguard Worker ], 77*14675a02SAndroid Build Coastguard Worker) 78*14675a02SAndroid Build Coastguard Worker 79*14675a02SAndroid Build Coastguard Workercc_test( 80*14675a02SAndroid Build Coastguard Worker name = "aes_gcm_encryption_test", 81*14675a02SAndroid Build Coastguard Worker size = "small", 82*14675a02SAndroid Build Coastguard Worker srcs = [ 83*14675a02SAndroid Build Coastguard Worker "aes_gcm_encryption_test.cc", 84*14675a02SAndroid Build Coastguard Worker ], 85*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 86*14675a02SAndroid Build Coastguard Worker deps = [ 87*14675a02SAndroid Build Coastguard Worker ":shared", 88*14675a02SAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 89*14675a02SAndroid Build Coastguard Worker ], 90*14675a02SAndroid Build Coastguard Worker) 91*14675a02SAndroid Build Coastguard Worker 92*14675a02SAndroid Build Coastguard Workercc_test( 93*14675a02SAndroid Build Coastguard Worker name = "aes_key_test", 94*14675a02SAndroid Build Coastguard Worker size = "small", 95*14675a02SAndroid Build Coastguard Worker srcs = [ 96*14675a02SAndroid Build Coastguard Worker "aes_key_test.cc", 97*14675a02SAndroid Build Coastguard Worker ], 98*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 99*14675a02SAndroid Build Coastguard Worker deps = [ 100*14675a02SAndroid Build Coastguard Worker ":shared", 101*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/strings", 102*14675a02SAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 103*14675a02SAndroid Build Coastguard Worker ], 104*14675a02SAndroid Build Coastguard Worker) 105*14675a02SAndroid Build Coastguard Worker 106*14675a02SAndroid Build Coastguard Workercc_test( 107*14675a02SAndroid Build Coastguard Worker name = "aes_prng_tests", 108*14675a02SAndroid Build Coastguard Worker size = "small", 109*14675a02SAndroid Build Coastguard Worker srcs = [ 110*14675a02SAndroid Build Coastguard Worker "aes_ctr_prng_test.cc", 111*14675a02SAndroid Build Coastguard Worker ], 112*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 113*14675a02SAndroid Build Coastguard Worker deps = [ 114*14675a02SAndroid Build Coastguard Worker ":shared", 115*14675a02SAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 116*14675a02SAndroid Build Coastguard Worker ], 117*14675a02SAndroid Build Coastguard Worker) 118*14675a02SAndroid Build Coastguard Worker 119*14675a02SAndroid Build Coastguard Workercc_test( 120*14675a02SAndroid Build Coastguard Worker name = "compute_session_id_test", 121*14675a02SAndroid Build Coastguard Worker size = "small", 122*14675a02SAndroid Build Coastguard Worker srcs = [ 123*14675a02SAndroid Build Coastguard Worker "compute_session_id_test.cc", 124*14675a02SAndroid Build Coastguard Worker ], 125*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 126*14675a02SAndroid Build Coastguard Worker deps = [ 127*14675a02SAndroid Build Coastguard Worker ":shared", 128*14675a02SAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 129*14675a02SAndroid Build Coastguard Worker ], 130*14675a02SAndroid Build Coastguard Worker) 131*14675a02SAndroid Build Coastguard Worker 132*14675a02SAndroid Build Coastguard Workercc_test( 133*14675a02SAndroid Build Coastguard Worker name = "ecdh_test", 134*14675a02SAndroid Build Coastguard Worker size = "small", 135*14675a02SAndroid Build Coastguard Worker srcs = ["ecdh_key_agreement_test.cc"], 136*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 137*14675a02SAndroid Build Coastguard Worker deps = [ 138*14675a02SAndroid Build Coastguard Worker ":shared", 139*14675a02SAndroid Build Coastguard Worker "//fcp/secagg/testing:common_mocks", 140*14675a02SAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 141*14675a02SAndroid Build Coastguard Worker ], 142*14675a02SAndroid Build Coastguard Worker) 143*14675a02SAndroid Build Coastguard Worker 144*14675a02SAndroid Build Coastguard Workercc_test( 145*14675a02SAndroid Build Coastguard Worker name = "input_vector_specification_test", 146*14675a02SAndroid Build Coastguard Worker size = "small", 147*14675a02SAndroid Build Coastguard Worker srcs = [ 148*14675a02SAndroid Build Coastguard Worker "input_vector_specification_test.cc", 149*14675a02SAndroid Build Coastguard Worker ], 150*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 151*14675a02SAndroid Build Coastguard Worker deps = [ 152*14675a02SAndroid Build Coastguard Worker ":shared", 153*14675a02SAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 154*14675a02SAndroid Build Coastguard Worker ], 155*14675a02SAndroid Build Coastguard Worker) 156*14675a02SAndroid Build Coastguard Worker 157*14675a02SAndroid Build Coastguard Workercc_test( 158*14675a02SAndroid Build Coastguard Worker name = "map_of_masks_test", 159*14675a02SAndroid Build Coastguard Worker size = "small", 160*14675a02SAndroid Build Coastguard Worker srcs = [ 161*14675a02SAndroid Build Coastguard Worker "map_of_masks_test.cc", 162*14675a02SAndroid Build Coastguard Worker ], 163*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 164*14675a02SAndroid Build Coastguard Worker deps = [ 165*14675a02SAndroid Build Coastguard Worker ":shared", 166*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/container:flat_hash_map", 167*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/container:node_hash_map", 168*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/numeric:bits", 169*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/strings", 170*14675a02SAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 171*14675a02SAndroid Build Coastguard Worker ], 172*14675a02SAndroid Build Coastguard Worker) 173*14675a02SAndroid Build Coastguard Worker 174*14675a02SAndroid Build Coastguard Workercc_test( 175*14675a02SAndroid Build Coastguard Worker name = "map_of_masks_bench", 176*14675a02SAndroid Build Coastguard Worker size = "large", 177*14675a02SAndroid Build Coastguard Worker srcs = [ 178*14675a02SAndroid Build Coastguard Worker "map_of_masks_bench.cc", 179*14675a02SAndroid Build Coastguard Worker ], 180*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 181*14675a02SAndroid Build Coastguard Worker linkstatic = 1, 182*14675a02SAndroid Build Coastguard Worker deps = [ 183*14675a02SAndroid Build Coastguard Worker ":shared", 184*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/numeric:bits", 185*14675a02SAndroid Build Coastguard Worker "@com_google_absl//absl/strings", 186*14675a02SAndroid Build Coastguard Worker "@com_google_benchmark//:benchmark_main", 187*14675a02SAndroid Build Coastguard Worker ], 188*14675a02SAndroid Build Coastguard Worker) 189*14675a02SAndroid Build Coastguard Worker 190*14675a02SAndroid Build Coastguard Workercc_test( 191*14675a02SAndroid Build Coastguard Worker name = "math_test", 192*14675a02SAndroid Build Coastguard Worker size = "small", 193*14675a02SAndroid Build Coastguard Worker srcs = [ 194*14675a02SAndroid Build Coastguard Worker "math_test.cc", 195*14675a02SAndroid Build Coastguard Worker ], 196*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 197*14675a02SAndroid Build Coastguard Worker deps = [ 198*14675a02SAndroid Build Coastguard Worker ":shared", 199*14675a02SAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 200*14675a02SAndroid Build Coastguard Worker ], 201*14675a02SAndroid Build Coastguard Worker) 202*14675a02SAndroid Build Coastguard Worker 203*14675a02SAndroid Build Coastguard Workercc_test( 204*14675a02SAndroid Build Coastguard Worker name = "secagg_vector_test", 205*14675a02SAndroid Build Coastguard Worker size = "large", 206*14675a02SAndroid Build Coastguard Worker srcs = [ 207*14675a02SAndroid Build Coastguard Worker "secagg_vector_test.cc", 208*14675a02SAndroid Build Coastguard Worker ], 209*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 210*14675a02SAndroid Build Coastguard Worker deps = [ 211*14675a02SAndroid Build Coastguard Worker ":shared", 212*14675a02SAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 213*14675a02SAndroid Build Coastguard Worker ], 214*14675a02SAndroid Build Coastguard Worker) 215*14675a02SAndroid Build Coastguard Worker 216*14675a02SAndroid Build Coastguard Workercc_test( 217*14675a02SAndroid Build Coastguard Worker name = "secagg_vector_bench", 218*14675a02SAndroid Build Coastguard Worker size = "large", 219*14675a02SAndroid Build Coastguard Worker srcs = [ 220*14675a02SAndroid Build Coastguard Worker "secagg_vector_bench.cc", 221*14675a02SAndroid Build Coastguard Worker ], 222*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 223*14675a02SAndroid Build Coastguard Worker linkstatic = 1, 224*14675a02SAndroid Build Coastguard Worker deps = [ 225*14675a02SAndroid Build Coastguard Worker ":shared", 226*14675a02SAndroid Build Coastguard Worker "@com_google_benchmark//:benchmark_main", 227*14675a02SAndroid Build Coastguard Worker ], 228*14675a02SAndroid Build Coastguard Worker) 229*14675a02SAndroid Build Coastguard Worker 230*14675a02SAndroid Build Coastguard Workercc_test( 231*14675a02SAndroid Build Coastguard Worker name = "shamir_secret_sharing_test", 232*14675a02SAndroid Build Coastguard Worker size = "small", 233*14675a02SAndroid Build Coastguard Worker srcs = [ 234*14675a02SAndroid Build Coastguard Worker "shamir_secret_sharing_test.cc", 235*14675a02SAndroid Build Coastguard Worker ], 236*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 237*14675a02SAndroid Build Coastguard Worker deps = [ 238*14675a02SAndroid Build Coastguard Worker ":shared", 239*14675a02SAndroid Build Coastguard Worker "//fcp/secagg/testing:common_mocks", 240*14675a02SAndroid Build Coastguard Worker "@com_google_googletest//:gtest_main", 241*14675a02SAndroid Build Coastguard Worker ], 242*14675a02SAndroid Build Coastguard Worker) 243*14675a02SAndroid Build Coastguard Worker 244*14675a02SAndroid Build Coastguard Workercc_binary( 245*14675a02SAndroid Build Coastguard Worker name = "add_maps_bench", 246*14675a02SAndroid Build Coastguard Worker testonly = 1, 247*14675a02SAndroid Build Coastguard Worker srcs = [ 248*14675a02SAndroid Build Coastguard Worker "add_maps_bench.cc", 249*14675a02SAndroid Build Coastguard Worker ], 250*14675a02SAndroid Build Coastguard Worker copts = FCP_COPTS, 251*14675a02SAndroid Build Coastguard Worker deps = [ 252*14675a02SAndroid Build Coastguard Worker ":shared", 253*14675a02SAndroid Build Coastguard Worker "@com_google_benchmark//:benchmark_main", 254*14675a02SAndroid Build Coastguard Worker ], 255*14675a02SAndroid Build Coastguard Worker) 256