xref: /aosp_15_r20/external/federated-compute/fcp/secagg/shared/BUILD (revision 14675a029014e728ec732f129a32e299b2da0601)
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