/// <summary>
 /// Decompresses and Decrypts the given msg
 /// <para>Returns a decrypted & decompressed string</para>
 /// </summary>
 /// <param name="encryptedMsg">msg to decrypt and decompress</param>
 /// <param name="seed"> seed value to use</param>
 /// <returns>returns a decrypted & decompressed string</returns>
 public string DecompressDecrypt(string encryptedMsg, KeyHolder keys)
 {
     throw new NotImplementedException();
 }
 public void DecompressDecrypt(string inputFile, string outputFile, KeyHolder keys)
 {
     throw new NotImplementedException();
 }
        /// <summary>
        ///  Compresses a given message and encrypts it
        ///  <para>Returns an encrypted string</para>
        /// </summary>
        /// <param name="message">message to compress & encrypt</param>
        /// <param name="seed"> value to use as the seed</param>
        /// <returns>an encrypted stirng</returns>
        public string CompressEncrypt(string message, ref KeyHolder keys, string seed = null, string key = null)
        {
            HuffmanTree hTree = new HuffmanTree();

            return(EncryptStr(hTree.Compress(message), ref keys, seed, key));
        }