예제 #1
0
 public PBKDF_Blake3TestCase()
 {
     Ctx         = Converters.ConvertStringToBytes(ctxString, Encoding.UTF8);
     FullInput   = Enumerable.Range(0, 1 << 15).Select(i => (byte)(i % 251)).ToArray();
     KdfInstance =
         HashFactory.KDF.PBKDF_Blake3.CreatePBKDF_Blake3(TestConstants.EmptyBytes, TestConstants.EmptyBytes);
 }
예제 #2
0
        public void TestCheckTestVectors()
        {
            foreach (var vector in Blake3TestVectors.Blake3Vectors)
            {
                byte[] chunkedInput = new byte[Convert.ToInt32(vector[0])];
                Array.Copy(FullInput, chunkedInput, chunkedInput.Length);

                KdfInstance = HashFactory.KDF.PBKDF_Blake3.CreatePBKDF_Blake3(chunkedInput, Ctx);

                var output = KdfInstance.GetBytes(vector[3].Length >> 1);

                Assert.IsTrue(TestHelper.Compare(output, Converters.ConvertHexStringToBytes(vector[3])),
                              "test vector mismatch");
            } // end foreach
        }
 internal KDFNotBuiltInToDeriveBytesAdapter(IKDFNotBuiltIn kdfNotBuiltIn)
 {
     _kdfNotBuiltIn = kdfNotBuiltIn != null
         ? kdfNotBuiltIn.Clone()
         : throw new ArgumentNullException(nameof(kdfNotBuiltIn));
 }
예제 #4
0
 public static DeriveBytes CreateDeriveBytesFromKDFNotBuiltIn(IKDFNotBuiltIn kdfNotBuiltIn) =>
 new KDFNotBuiltInToDeriveBytesAdapter(kdfNotBuiltIn);