Criptografia
Origem: Wikipédia, a enciclopédia livre.
Criptografia (em grego: kryptós, "escondido", e gráphein, "escrita") é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível, de forma que possa ser conhecida apenas por seu destinatário (detentor da "chave secreta"), o que a torna difícil de ser lida por alguém não autorizado. Assim sendo, só o receptor da mensagem pode ler a informação com facilidade. É um ramo da Matemática, parte da Criptologia.1 2 Há dois tipos de chaves criptográficas:chaves simétricas (criptografia de chave única) e chaves assimétricas (criptografia de chave pública).3
Uma informação não-cifrada que é enviada de uma pessoa (ou organização) para outra é chamada de "texto claro" (plaintext). Cifragem é o processo de conversão de um texto claro para um código cifrado e decifragem é o processo contrário, de recuperar o texto original a partir de um texto cifrado. De facto, o estudo da criptografia cobre bem mais do que apenas cifragem e decifragem. É um ramo especializado da teoria da informação com muitas contribuições de outros campos da matemática e do conhecimento, incluindo autores como Maquiavel, Sun Tzu e Karl von Clausewitz. A criptografia moderna é basicamente formada pelo estudo dos algoritmos criptográficos que podem ser implementados em computadores.
Índice
[esconder]Terminologia[editar | editar código-fonte]
O termo é comumente usado para se referir a área de estudo de forma abrangente, como criptologia ("o estudo dos segredos"). Outros termos relacionados são: Criptoanálise, Esteganografia, Esteganálise,Código, e Criptologia. Alguns autores cunharam o termo Criptovirologia para se referir a vírus que contém e usam chaves públicas.4 O estudo das formas de esconder o significado de uma mensagem usando técnicas de cifragem tem sido acompanhado pelo estudo das formas de conseguir ler a mensagem quando não se é o destinatário; este campo de estudo é chamado criptoanálise.5
As pessoas envolvidas neste trabalho, e na criptografia em geral, são chamados criptógrafos, criptólogos ou cripto analistas, dependendo de suas funções específicas.
A Esteganografia é o estudo das técnicas de ocultação de mensagens dentro de outras, diferentemente da Criptografia, que a altera de forma a tornar seu significado original ininteligível. A Esteganografia não é considerada parte da Criptologia, apesar de muitas vezes ser estudada em contextos semelhantes e pelos mesmos pesquisadores. A Esteganálise é o equivalente a criptoanálise com relação à Esteganografia.6
História[editar | editar código-fonte]
Antigamente, a cifragem era utilizada na troca de mensagens, sobretudo em assuntos ligados à guerra (no intuito de o inimigo não descobrir a estratégia do emissor da mensagem, caso se apoderasse dela), aoamor (para que os segredos amorosos não fossem descobertos pelos familiares) e à diplomacia (para que facções rivais não estragassem os planos de acordos diplomáticos entre nações). O primeiro uso documentado da criptografia foi em torno de 1900 a.c., no Egito, quando um escriba usou hieróglifos fora do padrão numa inscrição.
Entre 600 a.c. e 500 a.c., os hebreus utilizavam a cifra de substituição simples (de fácil reversão e fazendo uso de cifragem dupla para obter o texto original), sendo monoalfabético e monogrâmica (os caracteres são trocados um a um por outros), e com ela escreveram o Livro de Jeremias.
O chamado "Codificador de Júlio César" ou "Cifra de César" que apresentava uma das técnicas mais clássicas de criptografia, é um exemplo de substituição que, simplesmente, substitui as letras do alfabeto avançando três casas. O autor da cifragem trocava cada letra por outra situada a três posições à frente no alfabeto. Segundo o autor, esse algoritmo foi responsável por enganar muitos inimigos do Império Romano; no entanto, após ter sido descoberta a chave, como todas, perdeu sua funcionalidade.
Destacam-se os estudos de Blaise de Vigenère que constituíram um método muito interessante; é a cifra de Vigenère que utiliza a substituição de letras. Tal processo consiste na seqüência de várias cifras (como as de César) com diferentes valores de deslocamento alfanumérico. A partir desse período, Renascença, a criptologia começou a ser seriamente estudada no Ocidente e, assim, diversas técnicas foram utilizadas e os antigos códigos monoalfabéticos foram, aos poucos, sendo substituídos por polialfabéticos.
Dos anos 700 a 1200, são relatados incríveis estudos estatísticos, em que se destacam expoentes como al-Khalil, al-Kindi, Ibn Dunainir e Ibn Adlan, que marcaram sua época. Na Idade Média, a civilização árabe-islâmica contribuiu muito para os processos criptográficos, sobretudo quanto à criptoanálise (análise da codificação, a procura de padrões que identificassem mensagens camufladas por códigos).
Na Idade Moderna, merecem destaque o holandês Kerckhoff e o alemão Kasiski. Modernamente, em 1918, Arthur Scherbius desenvolveu uma máquina de criptografia chamada Enigma, utilizada amplamente pela marinha de guerra alemã em 1926, como a principal forma de comunicação.
Em 1928, o exército alemão construiu uma versão conhecida como "Enigma G", que tinha como garantidor de segurança a troca periódica mensal de suas chaves. Essa máquina tinha como diferencial ser elétrico-mecânica, funcionando com três (inicialmente) a oito rotores. Aparentava ser uma máquina de escrever, mas quando o usuário pressionava uma tecla, o rotor da esquerda avançava uma posição, provocando a rotação dos demais rotores à direita, sendo que esse movimento dos rotores gerava diferentes combinações de encriptação.
Assim, a codificação da mensagem pelas máquinas "Enigma" era de muito difícil decodificação, uma vez que, para isso, era necessário ter outra máquina dessas e saber qual a chave (esquema) utilizada para realizar a codificação.
A Colossus surgiu do esforço de engenharia reversa das forças aliadas em decriptar as mensagens da marinha e do exército alemão, só logrando efetivo êxito após se ter conseguido uma máquina Enigma alemã (furtada). Tais equipamentos foram, inicialmente, desenvolvidos como máquinas de decriptação, mas depois passaram a codificar mensagens das forças aliadas.
Depois, surgiram outras máquinas fisicamente semelhantes à Enigma (pareciam com antigas máquinas de escrever), porém foram aperfeiçoadas de forma a dificultar o mais possível a decriptação por quem não as possuísse.
Devido aos esforços de guerra, a criptografia passou a ser largamente utilizada. Em 1948, Claude Shannon desenvolveu a Teoria Matemática da Comunicação, que permitiu grandes desenvolvimentos nos padrões de criptografia e na criptoanálise.
Durante a chamada "Guerra Fria", entre Estados Unidos e União Soviética, foram criados e utilizados diversos métodos a fim de esconder mensagens a respeito de estratégias e operações, criptografadas com diferentes métodos e chaves.
Diffie e Hellman revolucionaram os sistemas de criptografia existentes até 1976, a partir do desenvolvimento de um sistema de criptografia de chave pública que foi aperfeiçoado por pesquisadores do MIT e deu origem ao algoritmo RSA.
Além dos avanços da criptografia, a criptoanálise se desenvolveu muito com os esforços de se descobrir padrões e chaves, além da diversidade dos canais de propagação das mensagens criptografadas. Desses esforços, surgiram diversos tipos de criptografia, tais como por chave simétrica, por chave assimétrica, por hash e até a chamada criptografia quântica, que se encontra, hoje, em desenvolvimento.
Durante muito tempo, o termo referiu-se exclusivamente à cifragem, o processo de converter uma informação comum (texto claro) em algo não-inteligível; o qual chama-se texto cifrado. A decifragem é a tarefa contrária, dado uma informação não-inteligível convertê-la em texto claro. No uso coloquial, o termo "código" é usado para referir-se a qualquer método de cifragem ou similar. Em criptografia, "código" tem um significado mais específico, refere-se a substituição de uma unidade significativa (i.e., o significado de uma palavra ou frase) pelo substituto equivalente. Códigos não são mais usados na criptografia moderna, visto que o uso de cifras se tornou mais prático e seguro, como também melhor adaptado aos computadores.
Nos dias atuais, onde grande parte dos dados é digital, sendo representados por bits, o processo de criptografia é basicamente feito por algoritmos que fazem o embaralhamento dos bits desses dados a partir de uma determinada chave ou par de chaves, dependendo do sistema criptográfico escolhido. Atualmente, a criptografia é amplamente utilizada na WEB, em segurança a fim de autenticar os usuários para lhes fornecer acesso, na proteção de transações financeiras e em redes de comunicação.
Cifras e Códigos[editar | editar código-fonte]
A cifra é um ou mais algoritmos que cifram e decifram um texto. A operação do algoritmo costuma ter como parâmetro uma chave criptográfica. Tal parâmetro costuma ser secreto (conhecido somente pelos comunicantes). A cifra pode ser conhecida, mas não a chave; assim como se entende o mecanismo de uma fechadura comum, mas não se pode abrir a porta sem uma chave real.
Na linguagem não-técnica, um Código secreto é o mesmo que uma cifra. Porém, na linguagem especializada os dois conceitos são distintos. Um código funciona manipulando o significado, normalmente pela substituição simples de palavras ou frases. Uma cifra, ao contrário, trabalha na representação da mensagem (letras, grupos de letras ou, atualmente, bits).
Por exemplo, um código seria substituir a frase "Atacar imediatamente" por "Mickey Mouse". Uma cifra seria substituir essa frase por "sysvst ozrfosyszrmyr". No Dia D, por exemplo, as praias de desembarque não eram conhecidas pelo seu nome próprio, mas pelos seus códigos (Omaha, Juno, etc.).
Basicamente, códigos não envolvem chave criptográfica, apenas tabelas de substituição ou mecanismos semelhantes. Códigos podem ser então encarados como cifras cuja a chave é o próprio conhecimento do mecanismo de funcionamento da cifra.
Chave Criptográfica[editar | editar código-fonte]
Uma chave criptográfica é um valor secreto que modifica um algoritmo de encriptação. A fechadura da porta da frente da sua casa tem uma série de pinos. Cada um desses pinos possui múltiplas posições possíveis. Quando alguém põe a chave na fechadura, cada um dos pinos é movido para uma posição específica. Se as posições ditadas pela chave são as que a fechadura precisa para ser aberta, ela abre, caso contrário, não.
Visão geral: objetivos[editar | editar código-fonte]
A criptografia tem quatro objetivos principais:
- confidencialidade da mensagem: só o destinatário autorizado deve ser capaz de extrair o conteúdo da mensagem da sua forma cifrada. Além disso, a obtenção de informação sobre o conteúdo da mensagem (como uma distribuição estatística de certos caracteres) não deve ser possível, uma vez que, se o for, torna mais fácil a análise criptográfica.
- integridade da mensagem: o destinatário deverá ser capaz de determinar se a mensagem foi alterada durante a transmissão.
- autenticação do remetente: o destinatário deverá ser capaz de identificar o remetente e verificar que foi mesmo ele quem enviou a mensagem.
- não-repúdio ou irretratabilidade do emissor: não deverá ser possível ao emissor negar a autoria da mensagem.
Nem todos os sistemas ou algoritmos criptográficos são utilizados para atingir todos os objetivos listados acima. Normalmente, existem algoritmos específicos para cada uma destas funções. Mesmo em sistemas criptográficos bem concebidos, bem implementados e usados adequadamente, alguns dos objetivos acima não são práticos (ou mesmo desejáveis) em algumas circunstâncias. Por exemplo, o remetente de uma mensagem pode querer permanecer anônimo, ou o sistema pode destinar-se a um ambiente com recursos computacionais limitados.
Criptografia Clássica[editar | editar código-fonte]
Podemos dizer que o uso da criptografia é tão antigo quanto a necessidade do homem em esconder a informação. Muitos pesquisadores atribuem o uso mais antigo da criptografia conhecido aos hieróglifos usados em monumentos do Antigo Egito (cerca de 4500 anos atrás). Diversas técnicas de ocultar mensagens foram utilizadas pelos gregos e romanos.
A criptografia pré-computacional era formada por um conjunto de métodos de substituição e transposição dos caracteres de uma mensagem que pudessem ser executados manualmente (ou até mesmo mentalmente) pelo emissor e pelo destinatário da mensagem. O surgimento de máquinas especializadas e, posteriormente, dos computadores ocasionou uma significativa evolução das técnicas criptográficas.
Criptografia Moderna[editar | editar código-fonte]
A era da criptografia moderna começa realmente com Claude Shannon, possivelmente o pai da criptografia matemática. Em 1949 ele publicou um artigo Communication Theory of Secrecy Systems com Warren Weaver. Este artigo, junto com outros de seus trabalhos que criaram a área de Teoria da Informação estabeleceu uma base teórica sólida para a criptografia e para a criptoanálise. Depois disso, quase todo o trabalho realizado em criptografia se tornou secreto, realizado em organizações governamentais especializadas (como o NSA nosEstados Unidos). Apenas em meados de 1970 as coisas começaram a mudar.
Em 1976 aconteceram dois grandes marcos da criptografia para o público. O primeiro foi a publicação, pelo governo americano, do DES (Data Encryption Standard), um algoritmo aberto de criptografia simétrica, selecionado pela NIST em um concurso onde foi escolhido uma variante do algoritmo Lucifer, proposto pela IBM. O DES foi o primeiro algoritmo de criptografia disponibilizado abertamente ao mercado.
O segundo foi a publicação do artigo New Directions in Cryptography por Whitfield Diffie e Martin Hellman, que iniciou a pesquisa em sistemas de criptografia de chave pública. Este algoritmo ficou conhecido como "algoritmo Diffie-Hellman para troca de chaves" e levou ao imediato surgimento de pesquisas neste campo, que culminou com a criação do algoritmo RSA, por Ronald Rivest, Adi Shamir e Leonard Adleman.
Criptografia Quântica[editar | editar código-fonte]
Desenvolvimento da técnica reunindo o conceito de criptografia e a teoria quântica é mais antigo do que se imagina, sendo anterior à descoberta da criptografia de Chave Pública. Stephen Wiesner escreveu um artigo por volta de 1970 com o título: "Conjugate Coding" que permaneceu sem ser publicado até o ano de 1983. Em seu artigo, Wiesner explica como a teoria quântica pode ser usada para unir duas mensagens em uma única transmissão quântica na qual o receptor poderia decodificar cada uma das mensagens porém nunca as duas simultaneamente, pela impossibilidade de violar uma lei da natureza (o princípio de incerteza de Heisenberg).7
Utilizando-se pares de fótons, a criptografia quântica permite que duas pessoas escolham uma chave secreta sem jamais terem se visto, trocado alguma mensagem ou mesmo algo material. A criptografia quântica oferece a possibilidade de gerar uma chave segura se o sinal é um objeto quântico, assim, o termo mais correto seria Distribuição de Chave Quântica (Quantum Key Distribution - QKD) e não Criptografia Quântica. É interessante notar que a Criptologia atual está amparada na Matemática mas com a introdução desse conceito de mensagens criptografadas por chaves quânticas a física passou a ter importância primordial no tema. O maior problema para implementação da Criptografia quântica ainda é a taxa de erros na transmissão dos fótons seja por via aérea ou fibra ótica. Os melhores resultados obtidos atualmente se dão em cabos de fibra ótica de altíssima pureza, e conseqüentemente elevadíssimo custo também, alcançando algo em torno de 70 km.
Por via aérea a distância chega a algumas centenas de metros e qualquer tentativa de se aumentar essa distância tanto em um quanto em outro método a taxa de erros se torna muito grande e inviabiliza o processo. O desenvolvimento de tecnologias que permitam o perfeito alinhamento dos polarizadores, fibras óticas melhores e amplificadores quânticos de sinais permitirá que o sistema de Distribuição de Chaves Quânticas venha a ser o novo padrão de segurança de dados.
A Criptografia Quântica se destaca em relação aos outros métodos criptográficos pois não necessita do segredo nem do contato prévio entre as partes, permite a detecção de intrusos tentando interceptar o envio das chaves, e é incondicionalmente segura mesmo que o intruso tenha poder computacional ilimitado. A única forma possível de falha no processo seria se utilizar de um ardil onde a comunicação fosse interceptada e substituída, tanto para o emissor quanto para o receptor, criando assim um canal de comunicação controlado pelo intruso. O processo ainda apresenta um elevado custo de implantação, mas o desenvolvimento tecnológico poderá torná-la acessível a todas as aplicações militares, comerciais e de fins civis em geral.
Gestão de direitos digitais[editar | editar código-fonte]
A criptografia é central no tema de gestão de direitos digitais (DRM), um grupo de técnicas para controlar e restringir tecnologicamente o uso de direitos autorais e suas marcas registradas. Em 1998 a leiEstadounidense Millennium Copyright Act (DMCA) criminaliza toda a produção e diseminação de certas técnicas (não conhecidas ou mais tarde conhecidas) da criptogafia, especialmente aquelas que poderiam ser utilizadas para ultrapassar o DRM. Leis e códigos similares ao DRM foram desde essa altura aparecendo em vários países e regiões, incluindo a implementação Directive on the harmonisation of certain aspects of copyright and related rights in the information society na Europa. Leis com restrições similares estão a ser propostos pelos Estados membros da Organização Mundial da Propriedade Intelectual.
Alguns algoritmos e sistemas criptográficos[editar | editar código-fonte]
Funções de Hash criptográfico, ou message digest[editar | editar código-fonte]
Sistemas Free/Open Source[editar | editar código-fonte]
Algoritmos assimétricos ou de chave pública[editar | editar código-fonte]
Algoritmos simétricos[editar | editar código-fonte]
- Máquina Enigma (Máquina alemã de rotores utilizada na 2a Guerra Mundial)
- DES - Data Encryption Standard (FIPS 46-3, 1976)
- RC4 (um dos algoritmos criados pelo Prof. Ron Rivest)
- RC5 (também por Prof. Ron Rivest)
- Blowfish (por Bruce Schneier)
- IDEA - International Data Encryption Algorithm (J Massey e X Lai)
- AES (também conhecido como RIJNDAEL) - Advanced Encryption Standard (FIPS 197, 2001)
- RC6 (Ron Rivest)
Referências
- ↑ Fiarresga, Victor Manuel Calhabrês; Jorge Nuno Oliveira e Silva (2010). Criptografia e Matemática Repositório aberto da Universidade de Lisboa Teses de mestrado. Visitado em 17 de Junho de 2012.
- ↑ Knudsen, Jonathan. Java Cryptography. Beijing: O´Reilly, 1998. 344 p. ISBN 1-56592-402-9
- ↑ Alecrim, Emerson (2010). Criptografia InfoWester Propagando Conhecimento. Visitado em 17 de Junho de 2012.
- ↑ Young, Adam L.; Yung, Moti. Malicious Cryptography: Exposing Cryptovirology. Indianapolis: Addison-Wesley, 2004. 392 p. ISBN 0-7645-4975-8
- ↑ Gaines, Hele Fouché. Cryptanalysis. New York: Dover Publications, 1956. 237 p.
- ↑ Solomon, David. Coding for Data and Computer Communications. Northridge, California: Springer, 2005. 548 p. ISBN 0-387-21245-0
- ↑ Introdução à criptografia quântica (PDF) Revista Brasileira de Ensino de Física, v. 27, n. 4, p. 517 - 526, (2005). Visitado em 10 de fevereiro de 2009.
Bibliografia[editar | editar código-fonte]
- Hook, David. Beginning Cryptography with Java. Indianapolis: Wrox, 2005. 448 p. ISBN 0-7645-9633-0
- Schneier, Bruce. Applied Cryptography. New York: John Wiley and Sons, 1996. 758 p. ISBN 0-471-11709-9
- Viktoria Tkotz, Criptografia -Segredos Embalados para Viagem. Novatec Editora. ISBN 85-7522-071-3.
Ver também[editar | editar código-fonte]
- Criptografia Assimétrica
- Criptografia Simétrica
- Criptografia negável
- Hash (Resumo Criptográfico)
- Assinatura Digital
- ICP
- DNSSEC
- Problemas em aberto da ciência da computação
Ligações externas[editar | editar código-fonte]
- Mais sobre Criptografia
- Criptografia com números irracionais
- The world's first electronic Enigma machine
| A Wikipédia possui o portal: |
O envio e o recebimento de informações sigilosas é uma necessidade antiga, que existe há centenas de anos. Com o surgimento da internet e de sua consequente facilidade de transmitir dados de maneira precisa e extremamente rápida, a criptografia tornou-se uma ferramenta fundamental para permitir que apenas o emissor e o receptor tenham acesso livre à informação trabalhada. Este artigo tem como objetivo fazer uma abordagem introdutória à criptografia, mostrando os aspectos e conceitos mais importantes. Vamos lá?
O que é criptografia?
O termo criptografia surgiu da fusão das palavras gregas "kryptós" e "gráphein", que significam "oculto" e "escrever", respectivamente. Trata-se de um conjunto de conceitos e técnicas que visa codificar uma informação de forma que somente o emissor e o receptor possam acessá-la, evitando que um intruso consiga interpretá-la. Para isso, uma série de técnicas são usadas e muitas outras surgem com o passar do tempo.
Na computação, as técnicas mais conhecidas envolvem o conceito de chaves, as chamadas chaves criptográficas. Trata-se de um conjunto de bits baseado em um determinado algoritmo capaz de codificar e de decodificar informações. Se o receptor da mensagem usar uma chave incompatível com a chave do emissor, não conseguirá extrair a informação.
Os primeiros métodos criptográficos existentes usavam apenas um algoritmo de codificação. Assim, bastava que o receptor da informação conhecesse esse algoritmo para poder extraí-la. No entanto, se um intruso tivesse posse desse algoritmo, também poderia efetuar um processo de decifragem, caso capturasse os dados criptografados. Há ainda outro problema: imagine que a pessoa A tivesse que enviar uma informação criptografada à pessoa B. Esta última teria que conhecer o algoritmo usado. Imagine agora que uma pessoa C também precisasse receber uma informação da pessoa A, porém a pessoa C não poderia descobrir qual é a informação a ser enviada à pessoa B. Se a pessoa C capturasse a informação enviada à pessoa B, também conseguiria decifrá-la, pois quando a pessoa A enviou sua informação, a pessoa C também teve que conhecer o algoritmo usado. Para a pessoa A evitar esse problema, a única solução seria utilizar um algoritmo diferente para cada receptor.
Com o uso de chaves, um emissor pode usar o mesmo algoritmo (o mesmo método) para vários receptores. Basta que cada um receba uma chave diferente. Além disso, caso um receptor perca ou exponha determinada chave, é possível trocá-la, mantendo-se o mesmo algoritmo.
Você já deve ter ouvido falar de chave de 64 bits, chave de 128 bits e assim por diante. Esses valores expressam o tamanho de uma determinada chave. Quanto mais bits forem utilizados, mais segura será a criptografia. Explica-se: caso um algoritmo use chaves de 8 bits, por exemplo, apenas 256 chaves poderão ser usadas na decodificação, pois 2 elevado a 8 é 256. Isso deixa claro que 8 bits é inseguro, pois até uma pessoa é capaz de gerar as 256 combinações (embora demore), imagine então um computador! Porém, se forem usados 128 ou mais bits para chaves (faça 2 elevado a 128 para ver o que acontece), teremos uma quantidade extremamente grande de combinações, deixando a informação criptografada bem mais segura.
Chaves simétricas e assimétricas
Há dois tipos de chaves criptográficas: chaves simétricas e chaves assimétricas. Ambas são abordadas a seguir:
Chave simétrica
Esse é um tipo de chave mais simples, onde o emissor e o receptor fazem uso da mesma chave, isto é, uma única chave é usada na codificação e na decodificação da informação. Existem vários algoritmos que usam chaves simétricas, como o DES, o IDEA, e o RC:
- DES (Data Encryption Standard): criado pela IBM em 1977, faz uso de chaves de 56 bits. Isso corresponde a 72 quatrilhões de combinações. É um valor absurdamente alto, mas não para um computador potente. Em 1997, esse algoritmo foi quebrado por técnicas de "força bruta" (tentativa e erro) em um desafio promovido na internet;
- IDEA (International Data Encryption Algorithm): criado em 1991 por James Massey e Xuejia Lai, o IDEA é um algoritmo que faz uso de chaves de 128 bits e que tem uma estrutura semelhante ao DES. Sua implementação em software é mais fácil do que a implementação deste último;
- RC (Ron's Code ou Rivest Cipher): criado por Ron Rivest na empresa RSA Data Security, esse algoritmo é muito utilizado em e-mails e faz uso de chaves que vão de 8 a 1024 bits. Possui várias versões: RC2, RC4, RC5 e RC6. Essencialmente, cada versão difere da outra por trabalhar com chaves maiores.
Há ainda outros algoritmos conhecidos, como o AES (Advanced Encryption Standard) - que é baseado no DES - , o 3DES, o Twofish e sua variante Blowfish, entre outros.
O uso de chaves simétricas tem algumas desvantagens, fazendo com que sua utilização não seja adequada em situações onde a informação é muito valiosa. Para começar, é necessário usar uma grande quantidade de chaves caso muitas pessoas ou entidades estejam envolvidas. Ainda, há o fato de que tanto o emissor quanto o receptor precisam conhecer a mesma chave. A transmissão dessa chave de um para o outro pode não ser tão segura e cair em "mãos erradas".
Chave assimétrica
Também conhecida como "chave pública", a chave assimétrica trabalha com duas chaves: uma denominada privada e outra denominada pública. Neste método, um emissor deve criar uma chave de codificação e enviá-la ao receptor. Essa é a chave pública. Uma outra chave deve ser criada para a decodificação. Esta, a chave privada, é secreta.
Para melhor compreensão, imagine o seguinte: O InfoWester criou uma chave pública e a enviou a vários outros sites. Quando qualquer desses sites quiser enviar uma informação criptografada ao InfoWester deverá utilizar a chave pública deste. Quando o InfoWester receber essa informação, apenas será possível extraí-la com o uso da chave privada, que só o InfoWester tem. Caso o InfoWester queira enviar uma informação criptografada a outro site, deverá obter uma chave pública fornecida por este.
Entre os algoritmos que usam chaves assimétricas, têm-se o RSA (o mais conhecido) e o Diffie-Hellman:
RSA (Rivest, Shamir and Adleman): criado em 1977 por Ron Rivest, Adi Shamir e Len Adleman nos laboratórios do MIT (Massachusetts Institute of Technology), é um dos algoritmos de chave assimétrica mais usados. Nele, números primos (número primo é aquele que só pode ser dividido por 1 e por ele mesmo) são utilizados da seguinte forma: dois números primos são multiplicados para se obter um terceiro valor. Porém, descobrir os dois primeiros números a partir do terceiro (ou seja, fazer uma fatoração) é muito trabalhoso. Se dois números primos grandes (realmente grandes) forem usados na multiplicação, será necessário usar muito processamento para descobrí-los, tornando essa tarefa praticamente inviável. Basicamente, a chave privada no RSA são os números multiplicados e a chave pública é o valor obtido;
ElGamal: criado por Taher ElGamal, esse algoritmo faz uso de um problema matemático conhecido por "logaritmo discreto" para se tornar seguro. Sua utilização é freqüente em assinaturas digitais.
Existem ainda outros algoritmos, como o DSA (Digital Signature Algorithm), o Schnorr (praticamente usado apenas em assinaturas digitais) e Diffie-Hellman.
Certificação digital
Um recurso conhecido por certificação digital é muito utilizado com chaves públicas. Trata-se de um meio que permite, por exemplo, provar que um certo documento eletrônico foi mesmo emitido por uma determinada entidade ou pessoa. O receptor da informação usará a chave pública fornecida pelo emissor para se certificar da origem. Além disso, a chave fica integrada ao documento de forma que qualquer alteração por terceiros imediatamente a invalide.
Saiba mais sobre o assunto na matéria Entendendo a Certificação Digital, publicada aqui no InfoWester.
PGP
PGP é a sigla para Pretty Good Privacy. Trata-se de um software de criptografia criado por Philip Zimmermman em 1991. A intenção de Zimmermman foi a de ajudar na defesa da liberdade individual nos Estados Unidos e no mundo inteiro, uma vez que ele percebeu que o uso do computador seria algo cada vez maior e que o direito à privacidade deveria ser mantido nesse meio. Por ser disponibilizado de forma gratuita, o PGP acabou se tornando uns dos meios de criptografia mais conhecidos, principalmente na troca de e-mails.
No PGP, chaves assimétricas são usadas. Além disso, para reforçar a segurança, o software pode realizar um segundo tipo de criptografia através de um método conhecido como "chave de sessão" que, na verdade, é um tipo de chave simétrica.
Um fato curioso a ser citado é que Zimmermman foi alvo de uma investigação policial que durou quase 3 anos. Isso porque a legislação americana proíbe a exportação de software criptográfico sem expressa autorização do governo. Porém, na investigação, ficou provado que alguém sem identificação e não o próprio Zimmermman é que distribuiu o programa pela internet. O PGP então passou a ser enviado para outros países através de uma brecha na legislação americana: novas versões tiveram seu código-fonte publicado em livros. Estes são exportados de forma legal, pois a lei americana proíbe a exportação do software, mas o código impresso não é considerado programa.
Existem vários softwares baseados no PGP. Para mais informações, acesse a página sobre PGP na Wikipedia (em inglês).
Finalizando
Criptografia só pode ser considerada como tal se 4 princípios básicos forem seguidos e oferecidos: confidencialidade, autenticação, integridade da informação e não repudiabilidade (o remetente não pode negar o envio da informação). É por isso que a criptografia é um recurso tão importante na transmissão de informações pela internet e, mesmo assim, não é capaz de garantir 100% de segurança, pois sempre existe alguém que consegue desenvolver uma maneira de "quebrar" uma codificação. Por isso é que técnicas existentes são aperfeiçoadas e outras são criadas, como a "Criptografia Quântica". Na criptografia há ainda outros conceitos envolvidos, como a Função Hashing (usada em assinaturas digitais), e aplicações, como a já citada certificação digital.
Para quem deseja trabalhar com computação, criptografia é uma área interessante. Obviamente, é necessário ter muita afinidade com cálculos, afinal, como pode ser notado no artigo, matemática é a base para os conceitos que envolvem a criptografia.
Escrito por Emerson Alecrim - Publicado em 12_08_2005 - Atualizado em 11_07_2009
O que é a Criptografia?
O termo Criptografia surgiu da fusão das palavras gregas "Kryptós" e "gráphein", que significam "oculto" e "escrever", respectivamente. Trata-se de um conjunto de regras que visa codificar a informação de forma que só o emissor e o receptor consiga decifrá-la. Para isso varias técnicas são usadas, e ao passar do tempo modificada, aperfeiçoada e o surgimento de novas outras de maneira que fiquem mais seguras.
Criptografia
Na computação, a técnica usada são a de chaves, as chamadas “CHAVES CRIPTOGRAFICAS”, Trata-se de um conjunto de bit’s baseado em um algoritmo capaz de codificar e de decodificar informações. Se o receptor da mensagem usar uma chave diferente e incompatível com a do emissor ela não conseguira ter a informação.
A primeira técnica de criptografia usava apenas um algoritmo de decodificação, assim bastava o receptor de o algoritmo para decifrá-la, porem se um intruso conhecesse esse algoritmo poderia decifrar a informações caso captur asse os dados criptografados. Ainda existe outro problema imagine:
Se a pessoa A tivesse que enviar uma informação para a pessoa B, e a pessoa C tivesse que receber uma informação da pessoa A, mas a pessoa C não pode saber a informação passada a pessoa B,mas para a pessoa B e a pessoa C obterem a informação preecissaria ter o algoritmo, assim teríamos que ter mais que um algoritmo.
Com o uso de chaves, um emissor pode usar o mesmo algoritmo (o mesmo método) para vários receptores. Basta que cada um receba uma chave diferente. Além disso, caso um receptor perca ou exponha determinada chave, é possível trocá-la, mantendo-se o mesmo algoritmo.
Por meio do uso da criptografia você pode:
- proteger os dados sigilosos armazenados em seu computador, como o seu arquivo de senhas e a sua declaração de Imposto de Renda;
- criar uma área (partição) específica no seu computador, na qual todas as informações que forem lá gravadas serão automaticamente criptografadas;
- proteger seus backups contra acesso indevido, principalmente aqueles enviados para áreas de armazenamento externo de mídias;
- proteger as comunicações realizadas pela Internet, como os e-mails enviados/recebidos e as transações bancárias e comerciais realizadas.
Você já teve ter ouvido chave de 64 bit’s, chave de 128 bit’s e assim por diante, esses valores expressam o tamanho das chaves. Quanto mais bits’s foram usados mais seguro será o código, por exemplo, se foram usados um algoritmo use oito bit’s apenas 256 chaves poderão ser utilizadas por que 2 elevado a 8 (2*2*2*2*2*2*2*2) agora sabemos que esse código é insegura, uma pessoa pode gerar 256 combinação diferentes (apesar que demore), agora faça a conta da chave 128 2 elevado a 128:
Nenhum comentário:
Postar um comentário