private void runTest(Case dc) { IMac digest = new SkeinMac(dc.getBlockSize(), dc.getOutputSize()); digest.Init(new KeyParameter(dc.getKey())); byte[] message = dc.getMessage(); digest.BlockUpdate(message, 0, message.Length); byte[] output = new byte[digest.GetMacSize()]; digest.DoFinal(output, 0); if (!AreEqual(output, dc.getDigest())) { Fail(digest.AlgorithmName + " message " + (dc.getMessage().Length * 8) + " mismatch.\n Message " + Hex.ToHexString(dc.getMessage()) + "\n Key " + Hex.ToHexString(dc.getKey()) + "\n Expected " + Hex.ToHexString(dc.getDigest()) + "\n Actual " + Hex.ToHexString(output)); } }