public GuillotineCipherEncrypt(KeyedHashAlgorithm oMAC, SymmetricAlgorithm oCipher, IAONT oAONT, byte[] barrKey)
 {
     moMAC    = oMAC;
     moCipher = oCipher;
     moAONT   = oAONT;
     mKey     = barrKey;
 }
 public SwitchCipherDecryptTranform(int totalPairsCount, KeyedHashAlgorithm oMAC, IAONT oAONT, IRandomSwap oRandOrd)
 {
     moMAC             = oMAC;
     moAONT            = oAONT;
     moRandOrd         = oRandOrd;
     miTotalPairsCount = totalPairsCount;
 }
 public SwitchOAEP(KeyedHashAlgorithm oMAC, IAONT oAONT, IRandomSwap oRandOrd)
 {
     moMAC           = oMAC;
     moAONT          = oAONT;
     moAONT.seedSize = miTotalPairsCount / 8;   // The seed size needn't be longer than the complexity due to swapping parts
     moRandOrd       = oRandOrd;
 }
 public GuillotineCipher(KeyedHashAlgorithm oMAC, SymmetricAlgorithm oCipher, IAONT oAONT)
 {
     moMAC                   = oMAC;
     moCipher                = oCipher;
     moAONT                  = oAONT;
     LegalKeySizesValue      = new KeySizes[1];
     LegalKeySizesValue[0]   = new KeySizes(128, 256, 128);
     BlockSizeValue          = miSecurityFactor; // The IV size has to be BlockSizeValue/8 for SymmetricAlgorithm.set_IV to work
     LegalBlockSizesValue    = new KeySizes[1];
     LegalBlockSizesValue[0] = new KeySizes(miSecurityFactor, miSecurityFactor, 0);
 }