Criptografia: Conceitos, padrões e um pouco de história - .Net Magazine 63

Neste artigo não trataremos da complexidade e da teoria, apenas faremos uma introdução conceitual e prática sobre criptografia e como a plataforma .NET a implementa.

Esse artigo faz parte da revista .NET Magazine edição 63. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler essa revista em PDF.

Criptografia

 

Conceitos, padrões e um pouco de história

Apesar de bastante presente hoje em dia, o estudo da criptografia não é algo novo. É uma ciência estudada desde a Roma Antiga, época em que os algoritmos usados para criptografar informações eram bem simples. Desde então essa ciência vem se desenvolvendo até chegarmos aos sofisticados e complexos algoritmos de encriptação e decriptação de hoje, estudada por teóricos e cientistas da informação, matemáticos, e até físicos.

Nos dias de hoje a criptografia se concentra no estudo de algoritmos que possam ser implementados em computadores. Estes algoritmos fazem o embaralhamento da informação a partir de uma chave ou um par de chaves. No nosso caso essas chaves são sequências de bits que nos permitem encriptar e decriptar informações. A encriptação feita com apenas uma chave é chamada de encriptação simétrica. Aquela feita com um par de chaves é chamada de encriptação assimétrica.

E aos programadores que precisam proteger informações sigilosas em seus sistemas, a boa notícia é que alguns algoritmos, simétricos e assimétricos já estão implementados na plataforma .NET, prontos para serem usados.

Neste artigo não trataremos da complexidade e da teoria, apenas faremos uma introdução conceitual e prática sobre criptografia e como a plataforma .NET a implementa. Também daremos algumas dicas de políticas de uso da criptografia e de alguns exemplos implementados.

 

Encriptação com chave simétrica

Encriptação com chave simétrica, também conhecida como encriptação com chave secreta, é uma técnica que consiste no uso de uma única chave secreta para encriptar e decriptar dados. Os algoritmos usados nessa técnica processam documentos utilizando essa chave, o texto encriptado não pode ser restaurado ao seu formato original de maneira fácil, sem a posse da chave secreta. As Figuras 1 e 2 mostram como funciona a encriptação e a decriptação usando chave simétrica.

 

Figura 1. Encriptação

 

 

Figura 2. Decriptação

 

A principal vantagem dos algoritmos simétricos é que eles são rápidos e adequados à encriptação de grandes arquivos. Mas embora este tipo de encriptação seja bastante segura, uma pessoa mal intencionada com conhecimentos técnicos suficiente pode recuperar o arquivo original, se ele tiver tempo suficiente. Basta usar algoritmos de força bruta para gerar todas as chaves simétricas possíveis. Esse tempo é tipicamente da ordem de centenas de anos, pois o cracker (pessoa que tenta quebrar uma emcriptação) deve tentar, no mínimo,  possibilidades. Note que dessa forma algoritmos simétricos seguros usam chaves grandes, pois o tempo para quebrar o nosso código, varia exponencialmente com o tamanho da chave. Essencialmente, quanto maior a chave usada para encriptar e decriptar, maior será o tempo necessário para decifrar informação criptografada.

 

Nota do DevMan

Os algoritmos de criptografia implementados na plataforma .NET não foram criados pela Microsoft. Eles foram criados e testados à exaustão, tanto pela indústria quanto pelo meio acadêmico. Sendo assim, você não precisa projetar seus próprios algoritmos de criptografia. Basta usar aqueles fornecidos pelo Framework .NET"

[...] continue lendo...

Artigos relacionados