Você está na página 1de 30

Criptografia

Parte 1 - Conceitos
Criptografia
Criptografia (Do 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.
Criptografia
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 hieroglifos usados em
monumentos do Antigo Egito (cerca de
4500 anos atrás). Diversas técnicas de
ocultar mensagens foram utilizadas pelos
gregos e romanos.
Criptografia
• Criptografia (kriptós = escondido, oculto; grápho =
grafia) : é a arte ou ciência de escrever em cifra ou
em códigos, de forma a permitir que somente o
destinatário a decifre e a compreenda.
• Criptoanálise (kriptós = escondido, oculto; análysis
= decomposição) : é a arte ou ciência de determinar
a chave ou decifrar mensagens sem conhecer a
chave. Uma tentativa de criptoanálise é chamada
ataque.
• Criptologia (kriptós = escondido, oculto; logo =
estudo, ciência) : é a ciência que reúne a
criptografia e a criptoanálise.
Criptografia
Em criptografia, a Cifra de César, também
conhecida como cifra de troca ou ainda código
de César, é uma das mais simples e conhecidas
técnicas de encriptação. É um tipo de cifra de
substituição em que cada letra do texto é
substituída por outra, que se apresenta no
alfabeto abaixo dela um número fixo de vezes.
Por exemplo, com uma troca de 3 posições, A
seria substituído por D, B viraria E e assim por
diante. O nome do método teve origem numa
técnica semelhante usada por Júlio César para
se comunicar com os seus generais.
Criptografia
A transformação pode ser representada
alinhando-se dois alfabetos; o alfabeto cifrado é
o alfabeto normal rotacionado à direita ou
esquerda um número fixo de posições. Por
exemplo, aqui está uma cifra de César usando
uma rotação à esquerda de 3 posições (o
parâmetro de troca, 3 neste caso, é usado como
chave e deve ser transmitido por um canal
seguro).
Normal: abcdefghijklmnopqrstuvwxyz
Cifrado: DEFGHIJKLMNOPQRSTUVWXYZABC
Criptografia
Análise de frequência é um método de
empregado para decifrar de mensagens
encriptadas por meio da análise, no texto
encriptado, de padrões que se repetem
constantemente, que podem indicar a
ocorrência de letras ou de palavras de uso
corriqueiro, tais como preposições ("de",
"da"), pronomes, ("não", "sim"), etc.
Criptografia
O uso básico de análise de frequências consiste
em primeiro em calcular a frequência das letras
que aparecem no texto cifrado e de seguida
associar letras de texto plano a elas. Uma
grande frequência de X poderá sugerir que as X
serão correspondentes ao a, mas este nem
sempre será assim , já que as letras e e o têm
una frequência alta também em português. No
entanto, não será nada provável que as X
representem, neste caso, a letra k ou a w. Por
isso, o criptoanalista poderá ter que tentar várias
combinações até decifrar o texto.
Criptografia
A cifra de César pode ser usada de forma
incremental, para dificultar a criptoanálise:
a variação é de 3, por exemplo. Assim, o
primeiro caractere é alterado em três
posições, o segundo em seis, o terceiro
em nove, assim por diante.
Criptografia
As transposições preservam todas os caracteres de uma
mensagem, apenas os mudam de lugar. São baseadas no
princípio matemático da permutação. Existem diversos
tipos de transposição, entre elas as geométricas. São
chamadas de geométricas porque usam uma figura
geométrica, geralmente um quadrado ou retângulo, para
orientar a transposição.
A transposição é chamada de simples quando o sistema usar
apenas um processo, e de dupla quando usar dois
processos distintos de transposição. A maioria dos
sistemas rearranjam o texto letra por letra, mas existem
também os que rearranjam grupos de letras.
Existem ainda as transposições com grades ou grelhas,
como a transposição de Fleissner e as transposições por
itinerário.
Criptografia
Nas transposições simples por coluna escreve-se
o texto horizontalmente numa matriz
predefinida, obtendo-se o texto cifrado através
das colunas verticais. O destinatário, usando o
processo inverso, volta a obter o texto claro.
Apesar de muito simples, serviu de base para o
algoritmo alemão ADFGFX, que foi utilizado
durante a Primeira Guerra Mundial. Acompanhe
o exemplo abaixo onde é utilizada uma matriz
de 6 colunas para o texto "A transposição é
eficiente":
Criptografia
A T R A N S
P O S I Ç Ã
O É E F I C
I E N T E

O resultado é APOIT OÉERS ENAIF TNÇIE


SÃC se a matriz for deixada incompleta ou
APOIT OÉERS ENAIF TNÇIE SÃCX se
for completada, por exemplo, com X.
Criptografia
A grande maioria dos algoritmos criptográficos
atuais são cifras de bloco. As cifras de fluxo,
que convertem o texto claro em texto cifrado bit
a bit, ainda são objeto de pesquisa e têm uma
aplicação prática muito discreta. O motivo é que
as cifras de fluxo dependem de geradores
randômicos de chaves que, apesar da aparente
simplicidade, são difíceis de implementar
através de software ou de hardware.
Criptografia
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 isso, quase todo o trabalho
realizado em criptografia se tornou secreto, realizado em
organizações governamentais especializadas (como o
NSA nos Estados Unidos). Apenas em meados de 1970
as coisas começaram a mudar.
Criptografia
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.
Criptografia
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
Os algoritmos de chave-simétrica (Também chamados
de Sistemas de Chaves Simétricas, criptografia de
chave única, ou criptografia de chave secreta) são
uma classe de algoritmos para a criptografia, que
usam chaves criptográficas relacionadas para a
decifração e a encriptação. A chave de encriptação é
relacionada insignificativamente à chave de
decifração, que podem ser idênticos ou tem uma
simples transformação entre as duas chaves. As
chaves, na prática, representam um segredo
compartilhado entre dois ou mais partidos que podem
ser usados para manter uma ligação confidencial da
informação. Usa-se uma única chave, usada por
ambos interlocutores, e na premissa de que esta é
conhecida apenas por eles.
Criptografia
Os algoritmos de chave-simétrica são
geralmente muito menos intensivos
computacionalmente do que os algoritmos
de chave assimétrica. Na prática, isto
significa que um algoritmo de chave
assimétrica de qualidade é centenas ou
milhares de vezes mais lentos do que um
algoritmo de chave simétrica de
qualidade.
Criptografia
A desvantagem dos algoritmos de chave-
simétrica, é a exigência de uma chave secreta
compartilhada, com uma cópia em cada
extremidade. As chaves estão sujeitas à
descoberta potencial por um adversário
criptográfico, por isso necessitam ser mudadas
freqüentemente e mantidas seguras durante a
distribuição e no serviço. Essa exigência de
escolher, distribuir e armazenar chaves sem
erro e sem perda, são conhecidas como a
“chave gerência”.
Criptografia
A criptografia de chave pública ou
criptografia assimétrica é um método de
criptografia que utiliza um par de chaves:
uma chave pública e uma chave privada.
A chave pública é distribuída livremente
para todos os correspondentes via e-mail
ou outras formas, enquanto a chave
privada deve ser conhecida apenas pelo
seu dono.
Criptografia
Em um algoritmo de criptografia assimétrica,
uma mensagem cifrada (encriptada é um
termo incorrecto) com a chave pública
pode somente ser decifrada pela sua
chave privada correspondente. Do mesmo
modo, uma mensagem cifrada com a
chave privada pode somente ser decifrada
pela sua chave pública correspondente.
Criptografia
Os algoritmos de chave pública podem ser
utilizados para autenticidade e
confidencialidade. Para confidencialidade, a
chave pública é usada para cifrar mensagens,
com isso apenas o dono da chave privada pode
decifrá-la. Para autenticidade, a chave privada é
usada para cifrar mensagens, com isso garante-
se que apenas o dono da chave privada poderia
ter cifrado a mensagem que foi decifrada com a
'chave pública'.
Criptografia
RSA é um algoritmo de encriptação de dados, que
deve o seu nome a três professores do Instituto MIT
(fundadores da actual empresa RSA Data Security,
Inc.), Ron Rivest, Adi Shamir e Len Adleman, que
inventaram este algoritmo — até à data (2005), a
mais bem sucedida implementação de sistemas de
chaves assimétricas, e fundamenta-se em Teorias
Clássicas dos Números. É considerado dos mais
seguros, já que mandou por terra todas as
tentativas de quebrá-lo. Foi também o primeiro
algoritmo a possibilitar encriptação e assinatura
digital, e uma das grandes inovações em
criptografia de chave pública.
Criptografia
O RSA envolve um par de chaves, uma
chave pública que pode ser conhecida por
todos e uma chave privada que deve ser
mantida em sigilo. Toda mensagem
encriptada usando uma chave pública só
pode ser desencriptada usando a
respectiva chave privada.
Criptografia
RSA baseia-se no fato de que, se bem que encontrar dois
números primos de grandes dimensões (p.e. 100
dígitos) é computacionalmente fácil, conseguir factorizar
o produto de tais dois números é considerado
computacionalmente complexo (em outras palavras, o
tempo estimado para o conseguir ronda os milhares de
anos). De fato, este algoritmo mostra-se
computacionalmente inquebrável com números de tais
dimensões, e a sua força é geralmente quantificada com
o número de bits utilizados para descrever tais números.
Para um número de 100 dígitos são necessários cerca
de 350 bits, e as implementações atuais superam os
512 e mesmo os 1024 bits.
Criptografia
Em criptografia, a assinatura digital é um método de
autenticação de informação digital tipicamente tratada,
por vezes com demasiada confiança, como análoga à
assinatura física em papel. Embora existam analogias,
também existem diferenças que podem ser importantes.
O termo assinatura eletrônica, por vezes confundido,
tem um significado diferente: refere-se a qualquer
mecanismo, não necessariamente criptográfico, para
identificar o remetente de uma mensagem electrônica. A
legislação pode validar, por vezes, tais assinaturas
electrónicas como endereços Telex e cabo, bem como a
transmissão por fax de assinaturas manuscritas em
papel.
Criptografia
A utilização da assinatura digital providencia a
prova inegável de que uma mensagem veio do
emissor. Para verificar este requisito, uma
assinatura digital deve ter as seguintes
propriedades:
- autenticidade - o receptor deve poder confirmar
que a assinatura foi feita pelo emissor;
- integridade - qualquer alteração da mensagem
faz com que a assinatura não corresponda mais
ao documento;
- não repúdio ou irretratabilidade - o emissor não
pode negar a autenticidade da mensagem;
Criptografia
Existem diversos métodos para assinar digitalmente
documentos, e estes métodos estão em constante
evolução. Porém de maneira resumida, uma assinatura
típica envolve dois processos criptográficos, o hash
(resumo) e a encriptação deste hash.
Em um primeiro momento é gerado um resumo
criptográfico da mensagem através de algoritmos
complexos (Exemplos: MD5, SHA-1, SHA-256) que
reduzem qualquer mensagem sempre a um resumo de
mesmo tamanho. A este resumo criptográfico se dá o
nome de hash.
Criptografia
Após gerar o hash, ele deve ser criptografado através de
um sistema de chave pública, para garantir a
autenticação e o não-repúdio. O autor da mensagem
deve usar sua chave privada para assinar a mensagem
e armazenar o hash criptografado junto a mensagem
original.
Para verificar a autenticidade do documento, deve ser
gerado um novo resumo a partir da mensagem que está
armazenada, e este novo resumo deve ser comparado
com a assinatura digital. Para isso, é necessário
descriptografar a assinatura obtendo o hash original. Se
ele for igual ao hash recém gerado, a mensagem está
integra. Além da assinatura existe o selo cronológico
que atesta a referência de tempo à assinatura.
Criptografia
O Transport Layer Security (TLS) e o seu predecessor,
Secure Sockets Layer (SSL), são protocolos
criptográficos que provêem comunicação segura na
Internet para serviços como email (SMTP), navegação
por páginas (HTTP) e outros tipos de transferência de
dados.
O servidor do site que está sendo acessado envia uma
chave pública ao browser, usada por este para enviar
uma chamada secreta, criada aleatoriamente. Desta
forma, fica estabelecida a trocas de dados
criptografados entre dois computadores.
Baseia-se no protocolo TCP da suíte TCP/IP e utiliza-se do
conceito introduzido por Diffie-Hellman nos anos 70
(criptografia de chave pública) e Phil Zimmerman
(criador do conceito PGP).