CryptDeriveKey falha no nome do algoritmo AES

Estou tentando implementar a criptografia AES no meu aplicativo. Eu tenho o código a seguir para criar uma versão em hash da senha do usuário.

PasswordDeriveBytes passwdHash = new PasswordDeriveBytes( password, salt, 
                                                          "SHA1", 128 );
byte[] keyBytes                = passwdHash.CryptDeriveKey( "AES", "SHA1", 
                                                            192, iv );

A segunda linha lança umSystem.Security.Cryptography.CryptographicException com a mensagem de erroObject identifier (OID) is unknown. Usei o Reflector para verificar se o erro está sendo gerado porqueCryptDeriveKey() não gosta do nome do algoritmo "AES" (estou usandoAesCryptoServiceProvider() para executar a criptografia). Tentei alterar o nome para "AESManaged", "AES192" e "Rijndael", mas todos lançaram a mesma exceção.

Como faço para que isso funcione? Ou existe um método alternativo de derivar os bytes-chave? Além disso, existe alguma documentação sobre quais são as cadeias de nomes de algoritmos permitidas? Não consigo encontrar nada nos documentos do MSDN para essa função.

Estou usando o Visual Studio 2008 e o destino .NET framework 3.5

Agradeço antecipadamente por sua ajuda!

questionAnswers(2)

yourAnswerToTheQuestion