Skip to content

Commit a2e6e19

Browse files
stanischikncopybara-github
authored andcommitted
Shared proto message for the Willow public encryption key
PiperOrigin-RevId: 825082135
1 parent 6941c19 commit a2e6e19

File tree

3 files changed

+42
-1
lines changed

3 files changed

+42
-1
lines changed

willow/proto/willow/BUILD

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,13 @@ cc_proto_library(
3030
name = "decryptor_cc_proto",
3131
deps = [":decryptor_proto"],
3232
)
33+
34+
proto_library(
35+
name = "key_proto",
36+
srcs = ["key.proto"],
37+
)
38+
39+
cc_proto_library(
40+
name = "key_cc_proto",
41+
deps = [":key_proto"],
42+
)

willow/proto/willow/decryptor.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2021 Google LLC
1+
// Copyright 2025 Google LLC
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.

willow/proto/willow/key.proto

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Copyright 2025 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
edition = "2023";
16+
17+
package secure_aggregation.willow;
18+
19+
option java_multiple_files = true;
20+
21+
// A simple container for a Willow public cryptographic key that embeds the key
22+
// ID and the "raw" key material.
23+
message Key {
24+
// A short identifier for the key to allow decryption or verification to find
25+
// the corresponding key from a list.
26+
bytes key_id = 1;
27+
28+
// The raw key material. This is the serialized bytes of the key material
29+
// returned by the key generation service.
30+
bytes key_material = 2;
31+
}

0 commit comments

Comments
 (0)