Formatos de criptografia e cálculos de Hash
29/03/2010 Deixe um comentário
Para acompanhas o post acesse o exemplo de “Formatos de criptografia e cálculos de Hash”, o link é este:
https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=FerHenrique&ReleaseId=4098
A criptografia simétrica trabalha com uma chave secreta que tem o poder de criptografar e descriptografar os dados. Ao criptografarmos uma informação utilizando uma chave secreta, somos obrigamos a descriptografar essa mesma informação utilizando a mesma chave secreta. No exemplo utilizo o algoritmo Rijndael, mas o .Net Framework oferece suporte a outros algoritmos como: AES, DES, Triple DES e RC2.

[Processo simétrico de criptografia]
A criptografia assimétrica trabalha com pares de chaves. Onde uma chave é pública e a outra chave é privada. Mensagens criptografadas com a chave pública podem ser descriptografadas apenas com a chave privada, isso permite que qualquer um criptografe informações com a chave pública e que apenas um receptor a descriptografe utilizando a chave privada.
O processo de criptografia com chaves assimétricas começa com a transferência/compartilhamento da chave publica. Após receber a chave pública o receptor fica encarregado de criptografar a informação e enviá-la para o emissor da chave pública, aquele que terá o trabalho de executar a descriptografia. Assim, o emissor da chave pública pode fazer a descriptografia da informação com a chave privada de forma segura e confiável.

[Processo assimétrico de criptografia]
Diante disso você pode imaginar que devemos sempre utilizar as chaves assimétricas para protegermos nossos dados. Mas esse não é um ponto de vista muito ponderado. o processo de criptografia assimétrico é o mais seguro, mas é lento. Em contraponto, o processo simétrico é mais rápido, mas não tão seguro.
O processo correto de utilização é a combinação das duas técnicas. Executar a criptografia utilizando o processo simétrico e trafegar a chave secreta utilizando o processo assimétrico. Isso permite maior segurança e desempenho ao processo de proteção dos dados trafegados.
O exemplo ainda demonstra formas de utilização de cálculo Hash, utilizando MD5, SHA1, SHA256, SHA314 e SHA512.


