xref: /aosp_15_r20/external/tink/cc/experimental/pqcrypto/kem/subtle/BUILD.bazel (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1# package containing subtle implementations of PQC primitives
2
3package(default_visibility = ["//:__subpackages__"])
4
5licenses(["notice"])
6
7cc_library(
8    name = "cecpq2_hkdf_sender_kem_boringssl",
9    srcs = ["cecpq2_hkdf_sender_kem_boringssl.cc"],
10    hdrs = ["cecpq2_hkdf_sender_kem_boringssl.h"],
11    include_prefix = "tink/experimental/pqcrypto/kem/subtle",
12    visibility = ["//visibility:public"],
13    deps = [
14        "//internal:fips_utils",
15        "//subtle",
16        "//subtle:common_enums",
17        "//subtle:hkdf",
18        "//subtle:random",
19        "//subtle:subtle_util",
20        "//util:secret_data",
21        "//util:statusor",
22        "@boringssl//:crypto",
23        "@com_google_absl//absl/memory",
24        "@com_google_absl//absl/status",
25        "@com_google_absl//absl/strings",
26    ],
27)
28
29cc_library(
30    name = "cecpq2_hkdf_recipient_kem_boringssl",
31    srcs = ["cecpq2_hkdf_recipient_kem_boringssl.cc"],
32    hdrs = ["cecpq2_hkdf_recipient_kem_boringssl.h"],
33    include_prefix = "tink/experimental/pqcrypto/kem/subtle",
34    visibility = ["//visibility:public"],
35    deps = [
36        ":cecpq2_hkdf_sender_kem_boringssl",
37        "//internal:fips_utils",
38        "//subtle",
39        "//subtle:common_enums",
40        "//subtle:hkdf",
41        "//util:errors",
42        "//util:secret_data",
43        "//util:statusor",
44        "@boringssl//:crypto",
45        "@com_google_absl//absl/memory",
46        "@com_google_absl//absl/status",
47        "@com_google_absl//absl/strings",
48    ],
49)
50
51cc_library(
52    name = "cecpq2_subtle_boringssl_util",
53    srcs = ["cecpq2_subtle_boringssl_util.cc"],
54    hdrs = ["cecpq2_subtle_boringssl_util.h"],
55    include_prefix = "tink/experimental/pqcrypto/kem/subtle",
56    visibility = ["//visibility:public"],
57    deps = [
58        "//subtle",
59        "//subtle:subtle_util",
60        "//util:secret_data",
61        "//util:statusor",
62        "@boringssl//:crypto",
63    ],
64)
65
66cc_library(
67    name = "cecpq2_aead_hkdf_hybrid_decrypt",
68    srcs = ["cecpq2_aead_hkdf_hybrid_decrypt.cc"],
69    hdrs = ["cecpq2_aead_hkdf_hybrid_decrypt.h"],
70    include_prefix = "tink/experimental/pqcrypto/kem/subtle",
71    visibility = ["//visibility:public"],
72    deps = [
73        "//:hybrid_decrypt",
74        "//experimental/pqcrypto/kem:cecpq2_aead_hkdf_dem_helper",
75        "//experimental/pqcrypto/kem/subtle:cecpq2_hkdf_recipient_kem_boringssl",
76        "//experimental/pqcrypto/kem/subtle:cecpq2_subtle_boringssl_util",
77        "//experimental/pqcrypto/proto:cecpq2_aead_hkdf_cc_proto",
78        "//subtle:ec_util",
79        "//util:enums",
80        "//util:secret_data",
81        "//util:status",
82        "//util:statusor",
83        "@boringssl//:crypto",
84        "@com_google_absl//absl/status",
85        "@com_google_absl//absl/strings",
86    ],
87)
88
89cc_library(
90    name = "cecpq2_aead_hkdf_hybrid_encrypt",
91    srcs = ["cecpq2_aead_hkdf_hybrid_encrypt.cc"],
92    hdrs = ["cecpq2_aead_hkdf_hybrid_encrypt.h"],
93    include_prefix = "tink/experimental/pqcrypto/kem/subtle",
94    visibility = ["//visibility:public"],
95    deps = [
96        "//:aead",
97        "//:hybrid_encrypt",
98        "//experimental/pqcrypto/kem:cecpq2_aead_hkdf_dem_helper",
99        "//experimental/pqcrypto/kem/subtle:cecpq2_hkdf_sender_kem_boringssl",
100        "//experimental/pqcrypto/kem/subtle:cecpq2_subtle_boringssl_util",
101        "//experimental/pqcrypto/proto:cecpq2_aead_hkdf_cc_proto",
102        "//util:enums",
103        "//util:status",
104        "//util:statusor",
105        "@com_google_absl//absl/status",
106        "@com_google_absl//absl/strings",
107    ],
108)
109
110#tests
111
112cc_test(
113    name = "cecpq2_hkdf_sender_kem_boringssl_test",
114    srcs = ["cecpq2_hkdf_sender_kem_boringssl_test.cc"],
115    deps = [
116        ":cecpq2_hkdf_recipient_kem_boringssl",
117        ":cecpq2_hkdf_sender_kem_boringssl",
118        ":cecpq2_subtle_boringssl_util",
119        "//config:tink_fips",
120        "//subtle",
121        "//subtle:common_enums",
122        "//subtle:hkdf",
123        "//subtle:random",
124        "//subtle:subtle_util",
125        "//util:secret_data",
126        "//util:status",
127        "//util:statusor",
128        "//util:test_matchers",
129        "//util:test_util",
130        "@boringssl//:crypto",
131        "@com_google_absl//absl/memory",
132        "@com_google_absl//absl/status",
133        "@com_google_googletest//:gtest_main",
134    ],
135)
136
137cc_test(
138    name = "cecpq2_hkdf_recipient_kem_boringssl_test",
139    srcs = ["cecpq2_hkdf_recipient_kem_boringssl_test.cc"],
140    deps = [
141        ":cecpq2_hkdf_recipient_kem_boringssl",
142        "//config:tink_fips",
143        "//subtle:random",
144        "//util:test_matchers",
145        "//util:test_util",
146        "@boringssl//:crypto",
147        "@com_google_absl//absl/status",
148        "@com_google_googletest//:gtest_main",
149    ],
150)
151
152cc_test(
153    name = "cecpq2_subtle_boringssl_util_test",
154    srcs = ["cecpq2_subtle_boringssl_util_test.cc"],
155    deps = [
156        ":cecpq2_subtle_boringssl_util",
157        "//subtle:random",
158        "//subtle:subtle_util",
159        "//util:secret_data",
160        "//util:test_matchers",
161        "//util:test_util",
162        "@boringssl//:crypto",
163        "@com_google_googletest//:gtest_main",
164    ],
165)
166
167cc_test(
168    name = "cecpq2_aead_hkdf_hybrid_encrypt_test",
169    size = "small",
170    srcs = ["cecpq2_aead_hkdf_hybrid_encrypt_test.cc"],
171    copts = ["-Iexternal/gtest/include"],
172    deps = [
173        ":cecpq2_aead_hkdf_hybrid_encrypt",
174        "//:hybrid_encrypt",
175        "//aead:aes_gcm_key_manager",
176        "//experimental/pqcrypto/kem/subtle:cecpq2_subtle_boringssl_util",
177        "//experimental/pqcrypto/kem/util:test_util",
178        "//subtle:random",
179        "//subtle:subtle_util",
180        "//util:enums",
181        "//util:statusor",
182        "//util:test_matchers",
183        "//util:test_util",
184        "@boringssl//:crypto",
185        "@com_google_absl//absl/status",
186        "@com_google_googletest//:gtest_main",
187    ],
188)
189
190cc_test(
191    name = "cecpq2_aead_hkdf_hybrid_decrypt_test",
192    size = "small",
193    srcs = ["cecpq2_aead_hkdf_hybrid_decrypt_test.cc"],
194    copts = ["-Iexternal/gtest/include"],
195    deps = [
196        ":cecpq2_aead_hkdf_hybrid_decrypt",
197        ":cecpq2_aead_hkdf_hybrid_encrypt",
198        "//:hybrid_encrypt",
199        "//aead:aes_ctr_hmac_aead_key_manager",
200        "//aead:aes_gcm_key_manager",
201        "//aead:xchacha20_poly1305_key_manager",
202        "//config:tink_config",
203        "//experimental/pqcrypto/kem/subtle:cecpq2_subtle_boringssl_util",
204        "//experimental/pqcrypto/kem/util:test_util",
205        "//experimental/pqcrypto/proto:cecpq2_aead_hkdf_cc_proto",
206        "//subtle:random",
207        "//subtle:subtle_util",
208        "//util:enums",
209        "//util:statusor",
210        "//util:test_matchers",
211        "//util:test_util",
212        "@boringssl//:crypto",
213        "@com_google_absl//absl/status",
214        "@com_google_googletest//:gtest_main",
215    ],
216)
217