Componentes:
Alexandre
Andressa
Emilio
Jacenildo
Waldenice
Introdução
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.
O envio e 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 receptor tenham acesso
livre à informação trabalhada.
Finalidade
 Autenticar a identidade de usuários
 Autenticar e proteger o sigilo de comunicações
pessoais e de transações comerciais e bancárias
 Proteger a integridade de transferências eletrônicas de
fundos
 Como você já sabe desde a aula anterior, criptografia não é uma invenção da era
dos computadores, e a idéia de colocar textos em formatos ilegíveis a olho nu
fascina muito as pessoas. Veja, a seguir, uma tentativa nessa direção, que não é
criptografia, mas é uma brincadeira interessante de tentar se codificar texto.
Fixe seus olhos no texto abaixo e deixe que a sua mente leia corretamente o que
está escrito.
35T3 P3QU3N0 T3XTO 53RV3
4P3N45 P4R4 M05TR4R
COMO NO554 C4B3Ç4
CONS3GU3 F4Z3R CO1545
1MPR3551ON4ANT35!
R3P4R3 N155O! NO COM3ÇO
35T4V4 M310 COMPL1C4DO,
M45 N3ST4 L1NH4 SU4
M3NT3 V41 D3C1FR4NDO
O CÓD1GO QU453
4UTOM4T1C4M3NT3, S3M
PR3C1S4R P3N54R MU1TO,
C3RTO? POD3 F1C4R B3M
ORGULHO5O D155O! SU4
C4P4C1D4D3 M3R3C3!
P4R4BÉN5!
É o tipo mais simples de criptografia, a mesma
chave é utilizada para encriptar e decriptar uma
mensagem. Somente o remetente e o destinatário
devem conhecer a chave secreta, pois esta é a
única maneira de obter a confidencialidade.
O processamento necessário para a encriptação e
decriptação é menor quando comparado ao da
criptografia assimétrica. Com o um algoritmo força
bruta é computacionalmente inviável, no caso
médio, quebrar uma chave de 128 bits.
Vantagem
 Rapidez na criptografia e descriptografia da
informação e simples de implementar.
Desvantagens
 É necessário um
canal seguro para enviar a
mensagem.
 A criptografia simétrica não garante a
identidade de quem enviou ou recebeu a
mensagem (autenticidade e não-repudiação).
 Se uma pessoa quer se comunicar com outra com segurança, ela deve passar
primeiramente a chave utilizada para cifrar a mensagem. Este processo é
chamado distribuição de chaves, e como a chave é o principal elemento de
segurança para o algoritmo, ela deve ser transmitida por um meio seguro.
Porém, se existe um meio seguro de se enviar a chave, por que não enviar a
própria mensagem por este meio? A resposta para esta questão é que meios
seguros de comunicação são geralmente caros e mais difíceis de serem
obtidos e utilizados, sendo então razoável sua utilização uma única vez, mas
não continuamente.
Se n pessoas querem se comunicar utilizando chave secreta, será
necessário
(n)(n-1) /2 chaves, gerando um grande problema para o
gerenciamento de chaves entre grandes grupos de usuários.
Uma das tentativas de solucionar o problema da distribuição das chaves
secretas foi a criação de um centro de distribuição de chaves (Key
Distribution Center - KDC), que seria responsável pela comunicação entre
pessoas aos pares. Para isto, o KDC deve ter consigo todas as chaves secretas
dos usuários que utilizam seus serviços. Por exemplo, imagine a situação
descrita pela figura, onde A quer mandar uma mensagem secreta para B.
Para isto, ele manda a mensagem para o KDC usando sua chave secreta. O
KDC recebe esta mensagem, decifrando com a chave secreta de A, depois o
KDC a cifra novamente usando agora a chave secreta de B, e a envia para o
mesmo. O maior problema em torno do KDC, é que este constitui um
componente centralizado, além de ser gerenciado por pessoas que podem,
casualmente, serem corrompidas.
 DES (Data Encryption Standard)
Criado pela IBM em 1977, usa criptografia de 56 bits, o que corresponde a
cerca de 72 quadrilhões de chaves diferentes. Apesar de ser um valor
bastante alto, foi quebrado por em 1997 por força bruta (tentativa e erro),
em um desafio feito na Internet.
 Triple-DES
Baseia-se na utilização três vezes seguidas do DES com chaves diferentes.
 RC (Ron’s Code ou Rivest Cipher)
Desenvolvido por Ron Rivest, é largamente utilizado em e- mails. Possui
diversas versões (RC2, RC4, RC5 e RC6), com chaves que vão de 8 à 1024
bits
 IDEA (Internacional Data Encryption Algorithm)
Criado em 1991 por Massey e Xuejia Lai, utiliza chaves de 128
bits com uma estrutura semelhante ao anteriormente citado
DES, porém, possui uma implementação mais simples.
 Skipjack
Algoritmo secreto desenvolvido pela National Security
Agency para uso por civis. É o coração do chip Clipper,
desenvolvido pela NSA.
 Podemos citar ainda o Twofish e o Blowfish, entre outros.
 Em 1997, o NIST (National Institute of Standards
and Technology), órgão dos EUA, lançou um
concurso para adotar um novo algoritmo de
criptografia simétrica para proteger
informações condenciais.
 O novo algoritmo, que passaria a se chamar
AES (Advanced Encryption Standard), substituiria
o DES (Data Encryption Standard).
 O novo algoritmo deveria ter pré-requisitos
como:
 Não possuir patentes;
 Cifrar em blocos de 128 bits com chaves
de 128, 192 ou 256 bits;
 Possibilidade de implementação tanto em
software quanto em hardware;
 Ser mais rápido do que o 3DES.
 Em 1998, apresentaram-se 15 candidatos e,
um ano depois, 5 destes foram escolhidos
como nalistas: MARS, RC6, Rijndael,
Serpent e Twosh.
 Em 2000, após análises da comunidade
criptográfica mundial, é escolhido como
padrão o algoritmo Rijndael, criado pelos
belgas Vincent Rijmen e Joan Daemen.
 Nb ! número de bits do bloco dividido por 32.
 Nk ! número de bits da chave dividido por
32
 Nr ! número de rodadas, que é igual a 10,
12 e 14 para Nk igual a 4, 6 ou 8,
respectivamente.
 Estado é o bloco de dados, ou seja, a matriz
que contém inicialmente a mensagem e
possui 4 linhas e Nb colunas.
 A chave principal é alocada em uma matriz
 de 4 linhas e Nk colunas
 SubBytes - Substitui cada byte individualmente
 por outro em uma caixa de substituição.
 ShiftRows - Rotaciona ciclicamente os bytes
 de cada linha, trocando sua posição.
 MixColumns - Multiplicação, sobre GF(28), de
 uma matriz xa pelo estado.
 AddRoundKey - É um XOR byte a byte entre o
 estado e a chave da rodada.
O AES é rápido tanto em software quanto em hardware,
é relativamente fácil de executar e requer pouca
memória. Apesar de ser um padrão novo de
criptografia, está sendo atualmente implantado em
grande escala.
*Nk ! número de bits da chave dividido por 32
 Utilização de chaves diferentes para cifrar e decifrar. Emissor e
receptor possuem duas chaves, uma pública que pode ser
divulgada e outra privada que deve ser mantida em segredo.
 Emissor envia mensagem criptografada através da chave pública
do receptor. A chave esta disponível para qualquer pessoa. O
receptor recebe a mensagem e a decriptografa utilizando a sua
chave privada(somente ele conhece). Se quiser responder deverá
fazer o mesmo, a diferença é que dessa vez a chave pública do
emissor será utilizada.
 O emissor de posse de sua chave privada, somente ele poderá
decifrar a mensagem, garantindo assim o sigilo. A grande
vantagem é que não só emissor pode enviar mensagens
criptografadas para receptor, mas qualquer pessoa, basta
conhecer a chave pública deste receptor, além disto, emissor e
receptor não precisam combinar chaves antecipadamente.
 Emissor envia uma mensagem, primeiramente criptografa através
de sua chave privada(assinando a mensagem) e logo após
criptografa a mensagem com a chave pública do
receptor(tornando-a sigilosa), isto é o emissor envia a mensagem
duplamente criptografa para receptor, este por sua vez ao receber a
mensagem deverá decriptografa duas vezes. Primeiro com sua
chave privada e depois com a chave publica do emissor.
 O maior problema das chaves assimétricas é que ela é
computacionalmente intensiva, sendo necessário muito tempo
para criptografar uns poucos parágrafos.
 Um algoritmo que faz criptografia assimétrica é o RSA, e um
exemplo de aplicativo que a utilize é o PGP que possibilita correio
eletrônico criptografa.
 Pode-se combinar os melhores aspectos da criptografia com chave
simétrica e assimétrica, codificando a mensagem com o método da
chave simétrica e criptografando a chave simétrica com o método
da chave assimétrica. Com isso beneficia-se velocidade do método
simétrico e da facilidade de distribuição de chaves do método
assimétrico.
 Emissor envia a mensagem codificada através da criptografia de
chave simétrica, gerada aleatoriamente apenas para esta
mensagem. Conhecida como chave de sessão (session key).
 Emissor criptografa essa chave de sessão com a chave pública do
receptor (isto não toma muito tempo por que a chave não é muito
grande). Emissor envia a mensagem criptografa e a chave de
sessão criptografa para emissor, este por sua vez ao receber
decriptografa a chave de sessão com sua chave privada e em
seguida, decriptografa a mensagem usando a chave de sessão que
acabou de receber, podendo assim ler o conteúdo da mensagem.
 Diffie-Helman
Através da troca de uma chave de cifragem de tal forma que uma
terceira parte não autorizada, não tenha como deduzi-la. Cada
participante inicia com sua chave secreta e através da troca de
informações é derivada uma outra chave chamada chave de
sessão, que será usada para futuras comunicações. O algoritmo
baseia-se na exponenciação discreta, pois sua função inversa, os
logaritmos discretos, é de alta complexidade.
 Merkle-Hellman
Baseava-se em um jogo matemático chamado Knapsack
(Mochila), onde dada uma coleção de itens, verifica-se as
possíveis maneiras de armazená-la dentro de um repositório de
tamanho fixo, de forma a não sobrar espaço. Foi usado durante
muitos anos, porém com a descoberta de uma falha crucial foi
inutilizado para fins práticos.
 A assinatura digital é uma garantia que o documento é uma cópia
verdadeira e correta do original.
 Com chaves assimétrica. Emissor criptografa a mensagem com sua
própria chave privada e envia ao receptor. Para decriptografar deve-se
usar a chave pública do emissor. Desta forma qualquer pessoa pode ler
a mensagem, porém tem-se a certeza de que foi o emissor quem
enviou, pois somente ele possui o chave privada.
 Para assinar uma mensagem, uma função Message Digest (MD) é usada
para processar o documento, produzindo um pequeno pedaço de
dados, chamado de hash. Uma MD é uma função matemática que
refina toda a informação de um arquivo em um único pedaço de dados
de tamanho fixo. Entra-se com os dados a serem "digeridos" e o
algoritmo MD gera um hash de 128 ou 160 bits (dependendo do
algoritmo, são exemplos: MD4, MD5 e Snefru). Uma vez computada
uma message digest, criptografa-se o hash gerado com uma chave
privada. O resultado de todo este procedimento é chamado de
assinatura digital da informação.
 O motivo para se usar funções message digest está diretamente
ligado ao tamanho do bloco de dados a ser criptografado para se
obter a assinatura. De fato, criptografar mensagens longas pode
durar muito tempo, enquanto que criptografar hashs, que são
 Contudo as assinaturas digitais podem ser forjadas, assim podese, matematicamente ser verificada em quanto sua integridade e
autenticidade. Primeiro, executa-se a função MD (usando o
mesmo algoritmo MD que foi aplicado ao documento na
origem), obtendo assim um hash para aquele documento, e
posteriormente, decifra-se a assinatura digital com a chave
pública do remetente. A assinatura digital decifrada deve
produzir o mesmo hash gerado pela função MD executada
anteriormente. Se estes valores são iguais é determinado que o
documento não foi modificado após a assinatura do mesmo, caso
contrário o documento ou a assinatura, ou ambos foram
alterados. Infelizmente, a assinatura digital pode dizer apenas
que o documento foi modificado, mas não o que foi modificado e
o quanto foi modificado. Para ser possível que um documento ou
uma assinatura adulterada não seja detectada, o atacante deve ter
acesso a chave privada de quem assinou esse documento.
Download

Criptografia