Сколько Вы были бы готовы оплатить AES в DotNetZip?;)
DotNetZip поддерживает Шифрование AES, с 128 или 256-разрядные ключи.
http://www.codeplex.com/DotNetZip
Пример кода:
using (ZipFile zip = new ZipFile())
{
zip.AddFile("ReadMe.txt"); // no password for this entry
// use a password for subsequent entries
zip.Password= "This.Encryption.is.FIPS.197.Compliant!";
zip.Encryption= EncryptionAlgorithm.WinZipAes256;
zip.AddFile("Rawdata-2008-12-18.csv");
zip.Save("Backup-AES-Encrypted.zip");
}
Зашифрованные AES zip-файлы, произведенные DotNetZip, могут быть прочитаны и извлечены WinZip, и наоборот.
Можно также просто создать обычные zip-файлы без шифрования.
о, и это свободно.
Что относительно С 7 zip? Это - открытый исходный код под LGPL (так должно быть применимым в Вашем проекте), и согласно спецификации это поддерживает ZIP с Шифрованием AES.
Если деньги являются большой проблемой, Вы могли бы взять библиотеку с открытым исходным кодом как этот http://www.codeplex.com/DotNetZip, который теперь сделал, чтобы AES поддерживала
Проверьте эту потрясающую статью о Потоковом Конвейере. Это не только определяет прохладный способ связать потоки друг с другом многопоточным способом, используемым примером является сжатие, сопровождаемое шифрованием.