public override void PerformTest()
{
byte[] key = Hex.Decode("9661410AB797D8A9EB767C21172DF6C7");
byte[] iv = Hex.Decode("4B5C2F003E67F39557A8D26F3DA2B155");
ICipherParameters kp = new KeyParameter(key);
ICipherParameters kpwiv = new ParametersWithIV(kp, iv);
VmpcEngine engine = new VmpcEngine();
try
{
engine.Init(true, kp);
Fail("Init failed to throw expected exception");
}
catch (ArgumentException)
{
// Expected
}
engine.Init(true, kpwiv);
checkEngine(engine);
engine.Reset();
byte[] output = checkEngine(engine);
engine.Init(false, kpwiv);
byte[] recovered = new byte[output.Length];
engine.ProcessBytes(output, 0, output.Length, recovered, 0);
if (!Arrays.AreEqual(input, recovered))
{
Fail("decrypted bytes differ from original bytes");
}
}