21.6.15

Introdução à Criptografia

Criptografia é uma ciência que transforma dados legíveis em inteligíveis através de códigos e crifras, sendo usada nos dias atuais para manter a privacidade de emails, autenticações e transações financeiras fora isso é uma poderosa ferramenta para manter a informação livre. Já a Criptoanálise faz o contrário, estudando métodos para transformar mensagens ilegíveis em algo inteligível através de ferramentas para encontrar padrões. A Criptologia envolve tanto a criptografia como a criptoanálise. 

A Esteganografia é a arte de esconder informações, camuflando os dados dentro de outro objeto que pode ser imagens, vídeos, sons e arquivos, não alterando seu conteúdo. Esteganoanálise é a arte de encontrar mensagens escondidas.

Cifra é uma técnica da criptografia para substituição de letras, já um Código envolve a substituição de palavras ou frases. Texto plano é a mensagem a ser comunicada, o processo de transformar um texto plano em uma cifra se chama Encriptação e seu processo inverso Desencriptação. Cifrar e Decifrar são sinônimos de Encriptar e Desencriptar.

Nas Cifras de substituição, cada letra do texto plano é substituída por outra letra gerando o texto cifrado. São classificadas em 3 categorias:
1) Monoalfabética: cada letra do alfabeto é substituída por um símbolo diferente. Essa substituição também é dividida em 3 categorias:
- Monogrâmica: de "mono"="um" e "grama"="caractere", onde cada caractere é substituído por outro. Exemplos de cifras: Hebráicas (Atbash, Albam e Atbah), César, Templários, Pig Pen e Bazeries.
- Poligrâmica: de "poli"="muitos", envolve a substituição de vários caracteres por outros vários.
- Tomogrâmica: de "tomo"="cortar",  onde cada caractere é substituído por vários outros.
2) Polialfabética: cada símbolo representa uma letra diferente, ou seja, são uma combinação ordenada de vários sistemas monoalfabéticos. Exemplo de cifras: Disco de Albert, Playfair, Hill e Vigenère.
3) Homofônicas: cada letra é substituída por símbolos correspondentes à frequência dessa letra.

As Cifras de transposição mantêm a mesma mensagem, só alterando a ordem dos caracteres.

Existe também a Supercifragem que consiste na utilização de várias técnicas diferentes de cifragem.

Exemplo de cifras e códigos: cifras hebráicas, César, Disco de Alberti, Quadrado de Trithemius, Vigenère, Auto Chave, ADFGX, ADFGVX, Vernam (OTP - One Time Pad). Para mais detalhes leia o artigo História da Criptografia - Cifras e Códigos.

Encriptação consiste em transformar dados legíveis em ilegíveis utilizando uma Chave que é a informação conhecida somente pelo emissor e receptor. A encriptação Simétrica usa apenas uma chave para cifrar e decifrar, já a encriptação Assimétrica usa duas chaves: a Chave Pública que é compartilhada entre o emissor e receptor sendo utilizada para cifrar a mensagem e a Chave Privada  usado para decifrar, onde cada um tem a sua própria chave. 
Encriptação Assimétrica

Exemplos de algoritmos de encriptação simétrica: AES (Advanced Encryption Standard), Blowfish, DES (Data Encryption Standard), IDEA (International Data Encryption Algorithm), RC2, RC4, RC6, SEED, Serpent, TEA (Tiny Encryption Algorithm), 3DES, Twofish. 
Exemplos de encriptação assimétrica: RSA (Rivest-Shamir-Adleman), Diffie-Helman, ElGamal, DSA (Digital Signature Algorithm), ECDSA (Elliptic Curve DSA), XTR, Fortezza.

Resumos criptográficos (ou funções de hashing) mapeiam uma sequência de bits de tamanho variável em pequenas sequências de tamanho fixo. Esses pequenos resumos são usados para identificar arquivos e mensagens, e para verificar sua integridade, ou veja conferir se não foram alterados. Exemplos: MD5, SHA1, SHA-256, SHA-512.
Uma Assinatura digital verifica a integridade e autoria, utilizando a criptografia assimétrica e resumos criptográficos para assinar o documento.

A moeda digital Bitcoin usa 2 funções de hashing: SHA-256 e RIPEMD-160, fora isso ele também usa o ECDSA na curva elíptica secp256k1 para fazer assinaturas. 

* Fontes
HIstória, Técnicas e Classificação de Algoritmos Esteganográficos - JASPER N. A.
Segurança Digital com Esteganografia. - PINTO J. P.; HENRIQUES M. A. A.
An introduction to cryptography and cryptanalysis. - SCHAEFER E.
Introduςão à Criptografia e seus Fundamentos. PELLEGRINI J. C.
http://www.encryptionanddecryption.com/algorithms/symmetric_algorithms.html
http://blog.ezyang.com/2011/06/the-cryptography-of-bitcoin/
http://www.gta.ufrj.br/grad/06_1/ssl/cripto.htm

0 comentários:

Postar um comentário