コード例 #1
0
ファイル: CryptoTransform.cs プロジェクト: Hedzer/Urchin
        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));
        }
コード例 #2
0
ファイル: BlockEncoder.cs プロジェクト: Hedzer/Urchin
 public BlockEncoder(IKeySchedule keySchedule)
 {
     KeySchedule = keySchedule ?? throw new ArgumentNullException();
     PseudoRandomize();
 }
コード例 #3
0
 public Encryptor(byte[] key, byte[] iv, IKeySchedule keySchedule) : base(key, iv, keySchedule)
 {
 }
コード例 #4
0
 public ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV, IKeySchedule keySchedule)
 {
     return(new Decryptor(rgbKey, rgbIV, keySchedule));
 }