Me temo que con la librería System.IO.Compression no se puede hacer.
Con Ionic.Zip sí. Aquí tienes un ejemplo de cómo hacerlo:
string zipFile = @"C:\Users\Fesslersoft\Desktop\ZipTest\Test.zip";
string targetDirectory = @"C:\Users\Fesslersoft\Desktop\ZipTest\";
using (Ionic.Zip.ZipFile zip = Ionic.Zip.ZipFile.Read(zipFile))
{
zip.Password = "1234";
zip.ExtractAll(targetDirectory, Ionic.Zip.ExtractExistingFileAction.DoNotOverwrite);
}
Este ejemplo está sacado de:
How to extract a password protected zip file using DotNetZip in C# and VB.NET
Es posible que tengas que cambiar también el valor de la propiedad Encryption en función del algoritmo de encriptación utilizado en la compresión.
Píldoras .NET
Artículos, tutoriales y ejemplos de código .NET
Píldoras JS
Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...