public Init ( bool forEncryption, ICipherParameters parameters ) : void | ||
forEncryption | bool | |
parameters | ICipherParameters | |
return | void |
public static long CheckBCRijndael () { CheckFirstCall (); long after, before = GC.GetTotalMemory (true); IBlockCipher cipher = new CbcBlockCipher(new AesFastEngine ()); cipher.Init(true, new ParametersWithIV(new KeyParameter(_key), _iv)); cipher.ProcessBlock (_input, 0, _output, 0); after = GC.GetTotalMemory (true); cipher.ProcessBlock (_input, 0, _output, 0); return after - before; }
private void encryptBlock(byte[] key, byte[] iv, byte[] cekBlock) { IBlockCipher engine = new CbcBlockCipher(new DesEngine()); engine.Init(true, new ParametersWithIV(new KeyParameter(key), iv)); for (int i = 0; i < cekBlock.Length; i += 8) { engine.ProcessBlock(cekBlock, i, cekBlock, i); } for (int i = 0; i < cekBlock.Length; i += 8) { engine.ProcessBlock(cekBlock, i, cekBlock, i); } }
public void Init(bool encrypting, ICipherParameters parameters) { if (!(parameters is KeyParameter)) { throw new ArgumentException("Invalid parameter passed to "+ "DesSsh1Engine init - " + parameters.GetType()); } this.encrypting = encrypting; byte[] passphraseKey = (parameters as KeyParameter).GetKey(); if (passphraseKey.Length !=16) { throw new ArgumentException("key size different than 16 bytes"); } byte[] keyPart1 = new byte[8]; byte[] keyPart2 = new byte[8]; Array.Copy(passphraseKey, keyPart1, 8); Array.Copy(passphraseKey, 8, keyPart2, 0, 8); desEngine1 = new CbcBlockCipher(new DesEngine()); desEngine2 = new CbcBlockCipher(new DesEngine()); desEngine3 = new CbcBlockCipher(new DesEngine()); desEngine1.Init(encrypting, new KeyParameter(keyPart1)); desEngine2.Init(!encrypting, new KeyParameter(keyPart2)); desEngine3.Init(encrypting, new KeyParameter(keyPart1)); }