public override void PerformTest() { X931TestVector[] vectors = CreateTestVectorData(); for (int i = 0; i != vectors.Length; i++) { X931TestVector tv = vectors[i]; X931SecureRandomBuilder bld = new X931SecureRandomBuilder(tv.EntropyProvider); bld.SetDateTimeVector(Hex.Decode(tv.DateTimeVector)); SecureRandom rand = bld.Build(tv.Engine, new KeyParameter(Hex.Decode(tv.Key)), tv.IsPredictionResistant); for (int j = 0; j != tv.Expected.Length - 1; j++) { byte[] expected = Hex.Decode(tv.Expected[j]); byte[] res = new byte[expected.Length]; rand.NextBytes(res); if (!Arrays.AreEqual(expected, res)) { Fail("expected output wrong [" + j + "] got : " + Strings.FromByteArray(Hex.Encode(res))); } } { byte[] expected = Hex.Decode(tv.Expected[tv.Expected.Length - 1]); byte[] res = new byte[expected.Length]; for (int j = tv.Expected.Length - 1; j != 10000; j++) { rand.NextBytes(res); } if (!Arrays.AreEqual(expected, res)) { Fail("expected output wrong [" + 10000 + "] got : " + Strings.FromByteArray(Hex.Encode(res))); } } } }
public override void PerformTest() { X931TestVector[] vectors = CreateTestVectorData(); for (int i = 0; i != vectors.Length; i++) { X931TestVector tv = vectors[i]; X931SecureRandomBuilder bld = new X931SecureRandomBuilder(tv.EntropyProvider); bld.SetDateTimeVector(Hex.Decode(tv.DateTimeVector)); SecureRandom rand = bld.Build(tv.Engine, new KeyParameter(Hex.Decode(tv.Key)), tv.IsPredictionResistant); for (int j = 0; j != tv.Expected.Length - 1; j++) { byte[] expected = Hex.Decode(tv.Expected[j]); byte[] res = new byte[expected.Length]; rand.NextBytes(res); if (!Arrays.AreEqual(expected, res)) { Fail("expected output wrong [" + j + "] got : " + Strings.FromByteArray(Hex.Encode(res))); } } { byte[] expected = Hex.Decode(tv.Expected[tv.Expected.Length - 1]); byte[] res = new byte[expected.Length]; for (int j = tv.Expected.Length - 1; j != 10000; j++) { rand.NextBytes(res); } if (!Arrays.AreEqual(expected, res)) { Fail("expected output wrong [" + 10000 + "] got : " + Strings.FromByteArray(Hex.Encode(res))); } } } }
public void TestX931() { SecureRandom random = new X931SecureRandomBuilder().Build(new AesEngine(), new KeyParameter(new byte[16]), false); CheckSecureRandom(random); }