xref: /aosp_15_r20/external/anonymous-counting-tokens/act/act_v0/BUILD (revision a26f13018b999b025c962678da434c0a5aec4dae)
1*a26f1301SXin Li# Copyright 2023 Google LLC.
2*a26f1301SXin Li#
3*a26f1301SXin Li# Licensed under the Apache License, Version 2.0 (the "License");
4*a26f1301SXin Li# you may not use this file except in compliance with the License.
5*a26f1301SXin Li# You may obtain a copy of the License at
6*a26f1301SXin Li#
7*a26f1301SXin Li#     https://www.apache.org/licenses/LICENSE-2.0
8*a26f1301SXin Li#
9*a26f1301SXin Li# Unless required by applicable law or agreed to in writing, software
10*a26f1301SXin Li# distributed under the License is distributed on an "AS IS" BASIS,
11*a26f1301SXin Li# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*a26f1301SXin Li# See the License for the specific language governing permissions and
13*a26f1301SXin Li# limitations under the License.
14*a26f1301SXin Li
15*a26f1301SXin Liload("@rules_cc//cc:defs.bzl", "cc_library")
16*a26f1301SXin Liload("@rules_proto//proto:defs.bzl", "proto_library")
17*a26f1301SXin Li
18*a26f1301SXin Lipackage(default_visibility = ["//visibility:public"])
19*a26f1301SXin Li
20*a26f1301SXin Liproto_library(
21*a26f1301SXin Li    name = "act_v0_proto",
22*a26f1301SXin Li    srcs = ["act_v0.proto"],
23*a26f1301SXin Li    deps = [
24*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/dodis_yampolskiy_prf:bb_oblivious_signature_proto",
25*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/dodis_yampolskiy_prf:dy_verifiable_random_function_proto",
26*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/proto:big_num_proto",
27*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/proto:camenisch_shoup_proto",
28*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/proto:pedersen_proto",
29*a26f1301SXin Li    ],
30*a26f1301SXin Li)
31*a26f1301SXin Li
32*a26f1301SXin Licc_proto_library(
33*a26f1301SXin Li    name = "act_v0_cc_proto",
34*a26f1301SXin Li    deps = [":act_v0_proto"],
35*a26f1301SXin Li)
36*a26f1301SXin Li
37*a26f1301SXin Licc_library(
38*a26f1301SXin Li    name = "act_v0",
39*a26f1301SXin Li    srcs = ["act_v0.cc"],
40*a26f1301SXin Li    hdrs = ["act_v0.h"],
41*a26f1301SXin Li    deps = [
42*a26f1301SXin Li        ":act_v0_cc_proto",
43*a26f1301SXin Li        "//act",
44*a26f1301SXin Li        "//act:act_cc_proto",
45*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto:bn_util",
46*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto:camenisch_shoup",
47*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto:ec_util",
48*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto:pedersen_over_zn",
49*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/dodis_yampolskiy_prf:bb_oblivious_signature",
50*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/dodis_yampolskiy_prf:bb_oblivious_signature_cc_proto",
51*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/dodis_yampolskiy_prf:dy_verifiable_random_function",
52*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/dodis_yampolskiy_prf:dy_verifiable_random_function_cc_proto",
53*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/proto:ec_point_cc_proto",
54*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/proto:proto_util",
55*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/util:status_includes",
56*a26f1301SXin Li    ],
57*a26f1301SXin Li)
58*a26f1301SXin Li
59*a26f1301SXin Licc_test(
60*a26f1301SXin Li    name = "act_v0_test",
61*a26f1301SXin Li    srcs = ["act_v0_test.cc"],
62*a26f1301SXin Li    deps = [
63*a26f1301SXin Li        ":act_v0",
64*a26f1301SXin Li        ":act_v0_cc_proto",
65*a26f1301SXin Li        ":parameters",
66*a26f1301SXin Li        "//act",
67*a26f1301SXin Li        "//act:act_cc_proto",
68*a26f1301SXin Li        "@com_github_google_googletest//:gtest_main",
69*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto:bn_util",
70*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto:camenisch_shoup",
71*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto:ec_util",
72*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto:pedersen_over_zn",
73*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/dodis_yampolskiy_prf:bb_oblivious_signature",
74*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/dodis_yampolskiy_prf:bb_oblivious_signature_cc_proto",
75*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/dodis_yampolskiy_prf:dy_verifiable_random_function_cc_proto",
76*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/proto:big_num_cc_proto",
77*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/proto:camenisch_shoup_cc_proto",
78*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto/proto:pedersen_cc_proto",
79*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/util:status_includes",
80*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/util:status_testing_includes",
81*a26f1301SXin Li    ],
82*a26f1301SXin Li)
83*a26f1301SXin Li
84*a26f1301SXin Licc_library(
85*a26f1301SXin Li    name = "parameters",
86*a26f1301SXin Li    srcs = ["parameters.cc"],
87*a26f1301SXin Li    hdrs = ["parameters.h"],
88*a26f1301SXin Li    deps = [
89*a26f1301SXin Li        ":act_v0_cc_proto",
90*a26f1301SXin Li        "//act:act_cc_proto",
91*a26f1301SXin Li        "@com_google_absl//absl/strings",
92*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/crypto:openssl_includes",
93*a26f1301SXin Li    ],
94*a26f1301SXin Li)
95*a26f1301SXin Li
96*a26f1301SXin Licc_test(
97*a26f1301SXin Li    name = "parameters_test",
98*a26f1301SXin Li    size = "enormous",
99*a26f1301SXin Li    srcs = ["parameters_test.cc"],
100*a26f1301SXin Li    deps = [
101*a26f1301SXin Li        ":act_v0",
102*a26f1301SXin Li        ":parameters",
103*a26f1301SXin Li        "//act",
104*a26f1301SXin Li        "//act:act_cc_proto",
105*a26f1301SXin Li        "@com_github_google_googletest//:gtest_main",
106*a26f1301SXin Li        "@com_google_absl//absl/strings",
107*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/util:status_includes",
108*a26f1301SXin Li        "@private_join_and_compute//private_join_and_compute/util:status_testing_includes",
109*a26f1301SXin Li    ],
110*a26f1301SXin Li)
111