func TestDecrypt(t *testing.T) { for n, vec := range test_vectors.GetAESVectors(testing.Short()) { constr, inputMask, outputMask := GenerateKeys(vec.Key, vec.Key) in, out := [16]byte{}, [16]byte{} copy(in[:], vec.Out) in = outputMask.Encode(in) // Apply output encoding. constr.Decrypt(out[:], in[:]) out = inputMask.Encode(out) // Remove input encoding. if !bytes.Equal(vec.In, out[:]) { t.Fatalf("Real disagrees with result in test vector %v! %x != %x", n, vec.Out, out) } } }
func TestDecrypt(t *testing.T) { for n, vec := range test_vectors.GetAESVectors(testing.Short()) { constr, inputMask, outputMask := GenerateDecryptionKeys( vec.Key, vec.Key, common.IndependentMasks{common.RandomMask, common.RandomMask}, ) inputInv, _ := inputMask.Invert() outputInv, _ := outputMask.Invert() in, out := make([]byte, 16), make([]byte, 16) copy(in, inputInv.Mul(matrix.Row(vec.Out))) // Apply input encoding. constr.Decrypt(out, in) copy(out, outputInv.Mul(matrix.Row(out))) // Remove output encoding. if !bytes.Equal(vec.In, out) { t.Fatalf("Real disagrees with result in test vector %v! %x != %x", n, vec.In, out) } } }