public static Xts Create(byte[] key) { Xts.VerifyKey(512, key); byte[] array = new byte[32]; byte[] array2 = new byte[32]; Buffer.BlockCopy(key, 0, array, 0, 32); Buffer.BlockCopy(key, 32, array2, 0, 32); return(new XtsAes256(Aes.Create, array, array2)); }
public static Xts Create(byte[] key) { Xts.VerifyKey(256, key); byte[] array = new byte[16]; byte[] array2 = new byte[16]; Buffer.BlockCopy(key, 0, array, 0, 16); Buffer.BlockCopy(key, 16, array2, 0, 16); return(new XtsAes128(Aes.Create, array, array2)); }
public static Xts Create(byte[] key1, byte[] key2) { Xts.VerifyKey(256, key1); Xts.VerifyKey(256, key2); return(new XtsAes256(Aes.Create, key1, key2)); }
protected XtsAes256(Func <SymmetricAlgorithm> create, byte[] key1, byte[] key2) : base(create, Xts.VerifyKey(256, key1), Xts.VerifyKey(256, key2)) { }