Uma das coisas mais legais do .NET em relação a outras linguagens é que a Microsoft se preocupou em integrar no framework .NET implementações da Microsoft CryptoAPI de modo que a maioria dos algoritmos e funções criptográficas de mercado estão inclusas nativamente.

Isto facilita demais o trabalho do desenvolvedor que necessita implementar níveis de segurança para garantir sigilo em suas aplicações. Infelizmente para cada bem vem um mal e a implementação da Microsoft para determinados algoritmos difere em algum ponto das demais implementações que encontramos por aí. Um exemplo disto é a utilização de Padding para correção de blocagem de cifras em alguns algoritmos. Isto, felizmente, pode ser corrigido.

O AES ou Advanced Encryption Standard (do inglês), também chamado de Rijndael, é um algoritmo de cifragem de blocos adotada pelo Governo dos Estados Unidos desde 2001 e foi criado para se tornar um padrão em criptografia. Por se tratar de um algoritmo de criptografia simétrica, a mesma chave usada para criptografar, também é usada para decriptografar uma informação.

Maiores informações sobre este algoritmo em português pode ser encontrado aqui: ...