1*e7b1675dSTing-Kang Chang// Copyright 2020 Google LLC 2*e7b1675dSTing-Kang Chang// 3*e7b1675dSTing-Kang Chang// Licensed under the Apache License, Version 2.0 (the "License"); 4*e7b1675dSTing-Kang Chang// you may not use this file except in compliance with the License. 5*e7b1675dSTing-Kang Chang// You may obtain a copy of the License at 6*e7b1675dSTing-Kang Chang// 7*e7b1675dSTing-Kang Chang// http://www.apache.org/licenses/LICENSE-2.0 8*e7b1675dSTing-Kang Chang// 9*e7b1675dSTing-Kang Chang// Unless required by applicable law or agreed to in writing, software 10*e7b1675dSTing-Kang Chang// distributed under the License is distributed on an "AS IS" BASIS, 11*e7b1675dSTing-Kang Chang// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*e7b1675dSTing-Kang Chang// See the License for the specific language governing permissions and 13*e7b1675dSTing-Kang Chang// limitations under the License. 14*e7b1675dSTing-Kang Chang// 15*e7b1675dSTing-Kang Chang//////////////////////////////////////////////////////////////////////////////// 16*e7b1675dSTing-Kang Chang 17*e7b1675dSTing-Kang Changpackage subtle_test 18*e7b1675dSTing-Kang Chang 19*e7b1675dSTing-Kang Changimport "github.com/google/tink/go/testutil" 20*e7b1675dSTing-Kang Chang 21*e7b1675dSTing-Kang Changtype macSuite struct { 22*e7b1675dSTing-Kang Chang testutil.WycheproofSuite 23*e7b1675dSTing-Kang Chang TestGroups []*macGroup `json:"testGroups"` 24*e7b1675dSTing-Kang Chang} 25*e7b1675dSTing-Kang Chang 26*e7b1675dSTing-Kang Changtype macGroup struct { 27*e7b1675dSTing-Kang Chang testutil.WycheproofGroup 28*e7b1675dSTing-Kang Chang KeySize uint32 `json:"keySize"` 29*e7b1675dSTing-Kang Chang TagSize uint32 `json:"tagSize"` 30*e7b1675dSTing-Kang Chang Type string `json:"type"` 31*e7b1675dSTing-Kang Chang Tests []*macCase `json:"tests"` 32*e7b1675dSTing-Kang Chang} 33*e7b1675dSTing-Kang Chang 34*e7b1675dSTing-Kang Changtype macCase struct { 35*e7b1675dSTing-Kang Chang testutil.WycheproofCase 36*e7b1675dSTing-Kang Chang Key testutil.HexBytes `json:"key"` 37*e7b1675dSTing-Kang Chang Message testutil.HexBytes `json:"msg"` 38*e7b1675dSTing-Kang Chang Tag testutil.HexBytes `json:"tag"` 39*e7b1675dSTing-Kang Chang} 40*e7b1675dSTing-Kang Chang 41*e7b1675dSTing-Kang Changtype hkdfSuite struct { 42*e7b1675dSTing-Kang Chang testutil.WycheproofSuite 43*e7b1675dSTing-Kang Chang TestGroups []*hkdfGroup `json:"testGroups"` 44*e7b1675dSTing-Kang Chang} 45*e7b1675dSTing-Kang Chang 46*e7b1675dSTing-Kang Changtype hkdfGroup struct { 47*e7b1675dSTing-Kang Chang testutil.WycheproofGroup 48*e7b1675dSTing-Kang Chang KeySize uint32 `json:"keySize"` 49*e7b1675dSTing-Kang Chang Type string `json:"type"` 50*e7b1675dSTing-Kang Chang Tests []*hkdfCase `json:"tests"` 51*e7b1675dSTing-Kang Chang} 52*e7b1675dSTing-Kang Chang 53*e7b1675dSTing-Kang Changtype hkdfCase struct { 54*e7b1675dSTing-Kang Chang testutil.WycheproofCase 55*e7b1675dSTing-Kang Chang IKM testutil.HexBytes `json:"ikm"` 56*e7b1675dSTing-Kang Chang Salt testutil.HexBytes `json:"salt"` 57*e7b1675dSTing-Kang Chang Info testutil.HexBytes `json:"info"` 58*e7b1675dSTing-Kang Chang Size uint32 `json:"size"` 59*e7b1675dSTing-Kang Chang OKM testutil.HexBytes `json:"okm"` 60*e7b1675dSTing-Kang Chang} 61