protected byte [] DecryptReceivedBody(byte [] body)
        {
            string strKey = KEY_MESSAGE_TCP_5;

            if (_bUseNewKey)
            {
                strKey = "k0XVqt/$lCgEw3FV75$84wjZ";
            }
            TripleDESCryptoServiceProvider TripleDesProvider = new TripleDESCryptoServiceProvider();
            //int sizeKey = System.Text.Encoding.UTF8.GetByteCount (KEY_MESSAGE_TCP_5);
            int sizeKey = System.Text.Encoding.UTF8.GetByteCount(strKey);

            byte [] byKey;
            byKey = new byte[sizeKey];
            //System.Text.Encoding.UTF8.GetBytes(KEY_MESSAGE_TCP_5,0, KEY_MESSAGE_TCP_5.Length,byKey, 0);
            System.Text.Encoding.UTF8.GetBytes(strKey, 0, strKey.Length, byKey, 0);
            TripleDesProvider.Mode = CipherMode.ECB;
            TripleDesProvider.Key  = byKey;
            Array.Clear(TripleDesProvider.IV, 0, TripleDesProvider.IV.Length);

            OPSTripleDesEncryptor OPSTripleDesEnc = new OPSTripleDesEncryptor(TripleDesProvider);

            byte [] byRes = null;
            byte [] byTemp;

            byTemp = OPSTripleDesEnc.ProcessData(body, InternalSinkProcessOrder.reverse);

            byRes = null;
            byRes = new byte[byTemp.Length];
            Array.Copy(byTemp, 0, byRes, 0, byTemp.Length);
            return(byRes);
        }
        public CelesProcessChannel() : base(new OPSCelesCodifier())
        {
            // Add the concrete IInternalSinks.

            TripleDESCryptoServiceProvider cs = new TripleDESCryptoServiceProvider();

            cs.GenerateKey();
            cs.GenerateIV();
            OPSTripleDesEncryptor encriptor = new OPSTripleDesEncryptor(cs);

            _sinks.Add(encriptor);
        }