1// Copyright 2017 Google Inc. 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//////////////////////////////////////////////////////////////////////////////// 16 17syntax = "proto3"; 18 19package google.crypto.tink; 20 21option java_package = "com.google.crypto.tink.proto"; 22option java_multiple_files = true; 23option go_package = "github.com/google/tink/go/proto/aes_siv_go_proto"; 24 25// Tink implements RFC 5297 (https://www.rfc-editor.org/rfc/rfc5297) for 26// AES-SIV, putting the SIV/Tag at the beginning of the ciphertext. 27// 28// While the RFC 5297 supports a list of associated datas, Tink only supports 29// exactly one associated data, which corresponds to a list with one element in 30// RFC 5297. An empty associated data is a list with one empty element, and not 31// an empty list. 32 33message AesSivKeyFormat { 34 // Only valid value is: 64. 35 uint32 key_size = 1; 36 uint32 version = 2; 37} 38 39// key_type: type.googleapis.com/google.crypto.tink.AesSivKey 40message AesSivKey { 41 uint32 version = 1; 42 // First half is AES-CTR key, second is AES-SIV. 43 bytes key_value = 2; 44} 45