public CryptoTransform(byte[] key, byte[] iv, IKeySchedule keySchedule) { IKeySchedule scheduler = (IKeySchedule)Activator.CreateInstance(keySchedule.GetType()); scheduler.Key = key; scheduler.IV = iv; this.keySchedule = scheduler; byte[] random = new byte[8]; scheduler.GetNext(8).CopyTo(random, 0); rounds = MinRounds + (random[0] % (MaxAdditionalRounds + 1)); }
public BlockEncoder(IKeySchedule keySchedule) { KeySchedule = keySchedule ?? throw new ArgumentNullException(); PseudoRandomize(); }
public Encryptor(byte[] key, byte[] iv, IKeySchedule keySchedule) : base(key, iv, keySchedule) { }
public ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV, IKeySchedule keySchedule) { return(new Decryptor(rgbKey, rgbIV, keySchedule)); }