Должно ли это быть , как zip-файл, или это может быть zip-файл?
Используете ли вы .NET Framework 3.0 или 3.5? Если так, посмотрите на
System.IO.Packaging.ZipPackage
В этом обсуждении есть раздел об этом.
В дополнение к DotNetZip (с лицензией Microsoft Public License), о которой упоминает Джей Риггс, есть SharpZipLib (с лицензией GPL). Какой бы вариант вы ни выбрали, убедитесь, что условия лицензии соответствуют вашему пониманию слова «бесплатно».
Если вы можете использовать ZipPackage, одно из преимуществ заключается в том, что вам не нужно думать о лицензионных условиях (помимо тех, которые предназначены для разработки любого другого приложения .NET).
РЕДАКТИРОВАТЬ: DotNetZip и SharpZipLib поддерживают шифрование. Я не вижу, что делает ZipPackage, но вы можете посмотреть на System.IO.Packaging.EncryptedPackageEnvelope .