SlideShare uma empresa Scribd logo
Criptografia
Sistemas Distribuídos
Jade Carvalho
Isadora M. Coelho
O que é Criptografia?
Escondido + Escrever
Conjunto de técnicas para codificar informações, com a finalidade de evitar que pessoas
indesejadas tenham acesso a elas.
Usos para a criptografia em nosso dia-a-dia: proteger documentos secretos, transmitir
informações confidenciais pela Internet ou por uma rede local, etc.
Em Sistemas Distribuídos:
Essencial para a segurança dos dados que nesse sistema trafega.
Kryptós Gráphein
2
Histórico
600 a.C.
A história começa pela criação de cifras de substituição
monoalfabéticas (onde um símbolo do alfabeto é substituído por outro
símbolo no alfabeto cifrado) pelos Hebreus.
Exemplo: Cifra Atbash, que consiste na substituição da primeira letra do
alfabeto pela última, da segunda pela penúltima, e assim por diante.
800 d.C.
Com o início das pesquisas sobre criptoanálise, o matemático árabe
Ibrahim Al-Kadi inventou a técnica de análise de frequência para quebrar
esse tipo de cifra. Ele também expôs métodos de cifragem como, por
exemplo, análise estatística de letras e combinações de letras em árabe.
3
1400 - Império Romano
A cifra de César foi nomeada em homenagem a Júlio César que, segundo Suetónio, a usava com
uma troca de três posições para proteger mensagens de significado militar.
- no século XIX, a seção de anúncios pessoais nos jornais era por vezes utilizada para trocar
mensagens criptografadas usando a cifra de Cesar, inclusive, entre amantes.
- em 1915, a cifra de César continuava em uso: o exército russo empregou-a em substituição às
cifras mais complicadas que provaram serem muito difíceis de suas tropas entenderem; no
entanto, criptoanalistas alemães e austríacos tiveram pouca dificuldade em descriptografar
suas mensagens.
- atualmente, cifras de César podem ser encontradas em brinquedos infantis, como os anéis
decodificadores.
- uma troca de César de treze posições é também executada no algoritmo ROT13, um método
simples de ofuscar o texto amplamente encontrado em UNIX e usado para obscurecer o texto
(como a parte final de uma piada ou spoilers), mas não como método de criptografia.
Normal: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cifrado: DEFGHIJKLMNOPQRSTUVWXYZABC
Normal: a ligeira raposa marrom saltou sobre o cachorro cansado
Cifrado: D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR
Histórico
4
1914 - 1918 - I Guerra Mundial
Nada de inovador havia sido desenvolvido no campo de
criptografia, até que Alexander’s Weekly escreveu um
ensaio sobre métodos de criptografia, que se tornou útil
como uma introdução para os criptoanalistas britânicos
na quebra dos códigos e cifras alemães durante a I
Guerra Mundial; e escreveu uma história famosa, “O
Escaravelho de Ouro”, um conto ambientado no século
XIX onde a criptoanálise era um elemento de destaque.
- Importante instrumento de quebra de códigos
navais alemães;
- Uso de conceitos de criptografia para decodificar o
telegrama de Zimmermann, que apontado como
um dos responsáveis por apressar a entrada dos
EUA na primeira guerra mundial.
Histórico
5
Década de 40 - II Guerra Mundial
Os alemães usaram uma máquina eletromecânica para criptografar e
descriptografar, denominada de Enigma. Logo após o estopim da
segunda guerra mundial, um grupo de criptógrafos britânicos, entre
eles Newman e Alan Turing, conseguiu quebrar as cifras da Enigma e
decifrar mensagens secretas dos nazistas.
- Os militares alemães implantaram máquinas usando one-time
pad (cifra de chave única), um algoritmo de criptografia onde o
texto é combinado com uma chave aleatória;
- Os ingleses, por sua vez, criaram o primeiro computador
digital programável, o Colossus, para ajudar com sua
criptoanálise.
- Agentes britânicos do SOE usavam inicialmente "cifras poema"
(poemas memorizados eram as chaves de
encriptação/desencriptação), mas, mais tarde, durante a
Segunda Guerra, eles modificaram para o one-time pad.
Histórico
6
1945 - 1991 - Guerra Fria
Criados e utilizados diversos métodos para esconder mensagens com estratégias e
operações. Desses esforços, surgiram outros tipos de criptografia, tais como:
- chave simétrica: existe 1 chave, que é compartilhada pelos interlocutores e
usada tanto para cifrar quanto para decifrar;
- chave assimétrica: existem 2 chaves, uma pública e uma privada, a chave
privada é usada para cifrar a mensagem, com isso garante-se que apenas o
dono da chave poderia tê-la editado;
- por hash e até a chamada criptografia quântica: que se encontra, hoje, em
desenvolvimento.
Histórico
7
Tipos de Criptografia
A criptografia hash permite que, através de uma string de qualquer tamanho, seja calculado
um identificador digital de tamanho fixo, chamado de valor hash.
Uma função hash é dita one-way pois uma vez obtido o valor hash h para uma string x, é
computacionalmente impossível fazer o processo inverso, ou seja, encontrar um valor x tal que H
(x) = h.
Diz-se ainda que H(x) é livre de colisão, significando que as funções hash devem garantir uma
probabilidade mínima de que duas strings diferentes acabem por resultar no mesmo valor hash.
Qualquer alteração na string original que deu origem ao identificador digital, mesmo que de um
único bit, acabará por gerar uma alteração significativa no valor hash final.
8
Tabela Hash
Seja uma função hash H, e x uma string qualquer, tem-se que H(x) será o valor hash para a string x.
As características básicas de uma função hash são:
● Valor de entrada da função possui qualquer tamanho;
● Valor de saída da função possui tamanho fixo;
● H(x) é relativamente fácil de ser computado, para qualquer valor de x;
● H(x) é uma função “one-way”;
● H(x) é livre de colisão.
Mensagem original: PET Mensagem Associada: 16 5 20
Função: f(x)=2x+1 Mensagem Cifrada: 33 11 41
Tipos de Criptografia
9
Tabela Hash
A assinatura digital obtida através do uso da criptografia assimétrica não pode ser empregada.
Na prática é necessário o emprego da função hashing para o adequado emprego da assinatura
digital.
Na prática é inviável e contraproducente utilizar puramente algoritmos de chave pública para
assinaturas digitais: quando se deseja assinar grandes mensagens, que levam preciosos minutos
ou horas para serem integralmente cifradas com a chave privada de alguém, ao invés disso, é
empregada uma função hashing.
➔ Gera um valor pequeno, de tamanho fixo, derivado da mensagem que se pretende assinar,
de qualquer tamanho, para oferecer agilidade nas assinaturas digitais, além de integridade
confiável.
Serve, portanto, para garantir a integridade do conteúdo da mensagem que representa.
Tipos de Criptografia
10
Tabela Hash
http://www.ronielton.eti.br/publicacoes/artigorevistasegurancadigital2012.pdf
Na criptografia simétrica a chave para
cifrar é a mesma usada para decifrar, este
método tem um desempenho muito melhor
que a assimétrica, porém existe um grande
problema na divulgação das chaves aos
membros, pois, apresenta um risco real de
algum intruso captar esta chave e ter
acesso as mensagens, e ler todas que
forem endereçadas a algum membro, ou
até mesmo enviar mensagens.
Existe normalmente uma chave para cada
dois membros, por isso o número de
chaves cresce muito com aumento de
participantes na comunicação.
Tipos de Criptografia
11
Chave Simétrica
- DES (Data Encryption Standard), IBM, 1977.
Usa criptografia de 56 bits (72 quadrilhões de chaves diferentes). Apesar de ser um valor alto, foi
quebrado em 1997 por força bruta, em um desafio feito na Internet. O texto cifrado é gerado a partir
de 16 iterações entre as permutações do texto inicial e a chave. O DES foi normalizado pelo ANSI
(American National Standard Institute) sob o nome de ANSI X3.92.
(Alguns documentos se referem ao DES como o padrão, e o algoritmo como DEA (Data Encryption Algorithm)).
- IDEA (Internacional Data Encryption Algorithm), Massey e Xuejia Lai, 1991.
Utiliza chaves de 128 bits com uma estrutura semelhante ao DES, porém, possui uma
implementação mais simples. É considerado um dos melhores algoritmos de bloco. O proprietário
da patente deste método é a ASCOM, que, visando sua disseminação, autorizou o uso não
comercial do algoritmo.
- RC (Ron’s Code ou Rivest Cipher), Ron Rivest, 1987.
Largamente utilizado em e-mails. Possui diversas versões (RC2, RC4, RC5 e RC6), com chaves
que vão de 8 à 1024 bits.
Tipos de Criptografia
Algoritmos de Chave Simétrica
12
As grandes linhas do algoritmo são as seguintes:
- Fracionamento do texto original em blocos de 64 bits;
- Permutação inicial dos blocos;
- Corte dos blocos em duas partes: esquerda e direita, G e D;
- Etapas de permutação e de substituição repetidas 16 vezes (voltas);
- Recolamento das partes esquerda e direita, seguidamente
permutação inicial inversa.
Tipos de Criptografia
Algoritmos de Chave Simétrica - DES
http://www.numaboa.com.br/criptografia/bloco/313-des2
13
Alternativa para aumento de segurança do DES...
Uma chave de 56 bits dá um número enorme de possibilidades, porém numerosos processadores
permitem calcular mais de 106 chaves por segundo; assim, utilizados paralelamente num elevado
número de máquinas, é possível para um grande organismo (um Estado, por exemplo) encontrar a
chave certa.
➔ Encadear três codificações DES com a ajuda de duas chaves de 56 bits ("chave de 112 bits").
Este método é chamado Triplo DES, notado TDES (às vezes 3DES ou 3-DES). O TDES aumenta
significativamente a segurança, contudo usa igualmente mais recursos para a codificação e
decodificação.
Tipos de Criptografia
2112
= 5,192.296.858.534.828e+33 = (5 quadrilhões) e+33
Algoritmos de Chave Simétrica - TDES
http://www.numaboa.com.br/criptografia/bloco/313-des2
14
Tipos de Criptografia
O texto claro é dividido em blocos de 64 bits.
Cada um destes blocos é dividido em 4 sub-blocos de 16 bits:
B1, B2, B3 e B4, que são a entrada da primeira rodada do
algoritmo.
São oito rodadas, onde os quatro sub-blocos são submetidos à
operação lógica XOR, somados e multiplicados entre si e com
seis sub-blocos de 16 bits oriundos da chave (K1, K2, K3, K4,
K5 e K6).
Entre cada rodada, o segundo e o terceiro sub-blocos são
trocados.
http://www.numaboa.com.br/criptografia/bloco/336-idea
Algoritmos de Chave Simétrica - IDEA
15
Algoritmos de Chave Simétrica - IDEA
Tipos de Criptografia
A cada rodada, tem-se:
1. Multiplicação de B1 pelo primeiro sub-bloco da chave K1.
2. Adição de B2 com o segundo sub-bloco da chave K2.
3. Adição de B3 com o terceiro sub-bloco da chave K3.
4. Multiplicação de B4 pelo quarto sub-bloco da chave K4.
5. XOR entre os resultados obtidos nas etapas (1) e (3).
6. XOR entre os resultados obtidos nas etapas (2) e (4).
7. Multiplicação do resultado da etapa (5) pelo quinto sub-
bloco da chave K5
8. Adição dos resultados das etapas (6) e (7).
9. Multiplicação do resultado da etapa (8) pelo sexto sub-bloco
da chave K6.
10. Adição dos resultados das etapas (7) e (9).
11. XOR entre os resultados obtidos nas etapas (1) e (9).
12. XOR entre os resultados obtidos nas etapas (3) e (9).
13. XOR entre os resultados obtidos nas etapas (2) e (10).
14. XOR entre os resultados obtidos nas etapas (4) e (10).
http://www.numaboa.com.br/criptografia/bloco/336-idea
16
Tipos de Criptografia
A saída da rodada são os quatro sub-blocos resultantes das etapas
(11), (13), (12) e (14).
Exceto na última rodada, os sub-blocos (13) e (12) trocam de lugar
e esta nova sequência de sub-blocos será a entrada para a próxima
rodada.
Após a oitava rodada, a saída final é transformada com:
1. Multiplicação de B1 pelo primeiro sub-bloco da chave K1.
2. Adição de B2 com o segundo sub-bloco da chave K2.
3. Adição de B3 com o terceiro sub-bloco da chave K3.
4. Multiplicação de B4 pelo quarto sub-bloco da chave K4.
5.
No final, os quatro sub-blocos obtidos (G1, G2, G3 e G4) são
concatenados para produzir o texto cifrado.
http://www.numaboa.com.br/criptografia/bloco/336-idea
Algoritmos de Chave Simétrica - IDEA
17
Algoritmo simétrico de criptografia de fluxo (bits originais combinados com bits de cifragem vindos de um
gerador de dígitos pseudo-aleatório) muito usado em software e em protocolos conhecidos, como o Secure
Socket Layers (SSL) (para proteger tráfego na Internet) e WEP (segurança de redes sem fio).
Largamente utilizado em e-mails. Possui diversas versões (RC2, RC4, RC5 e RC6), com chaves que vão
de 8 à 1024 bits.
Durante tempos foi um segredo comercial muito bem guardado da empresa RSA Data Security, Inc., líder
mundial em algoritmos de criptografia.
Sete anos depois, um código alegadamente equivalente ao RC4 surge em uma mailing list dedicada à
criptografia, onde utilizadores com cópias legais puderam confirmar a compatibilidade.
Assim, o RC4 não é a versão comercial, e é habitualmente referida como ARC4 (Alleged RC4).
Tipos de Criptografia
http://pt.wikipedia.org/wiki/RC4
Algoritmos de Chave Simétrica - RC
18
As transformações no algoritmo são lineares, não são necessários cálculos complexos, já que o
sistema funciona basicamente por permutações e somas de valores inteiros,
➢ Algoritmo muito simples e rápido.
Tipos de Criptografia
http://pt.wikipedia.org/wiki/RC4
Algoritmos de Chave Simétrica - RC
De uma forma geral, o algoritmo consiste em utilizar um array que a
cada utilização tem os seus valores permutados, e misturados com
a chave.
Esta chave, utilizada na inicialização do array, pode ter até 256
bytes (2048 bits), embora o algoritmo seja mais eficiente quando é
menor, pois a perturbação aleatória induzida no array é superior.
19
Blowfish, Bruce Schneier, 1993
➔ Alternativa grátis e mais rápida.
➔ É uma cifra simétrica de blocos que pode ser usado em substituição ao DES ou IDEA, e é mais rápido que ambos.
➔ Tem chave de tamanho variável, de 32 à 448 bits, sendo ideal tanto para aplicações domésticas quanto comerciais.
A criptografia é feita através de uma função com 16 iterações.
Apesar de um complexo algoritmo de inicialização, tem grande eficiência com os microprocessadores atuais.
A cifragem do texto é feita em blocos de 64 ou 128 bits, nos quais os bits são tratados em grupos de 32 bits.
Para aumentar sua eficiência, usa funções simples para os microprocessadores, como XOR, adição e multiplicação
modular. O algoritmo consiste de duas partes, sendo elas:
● Expansão da chave: Transformação da chave em subchaves, totalizando 4.168 bits.
● Criptografia dos dados: consiste de 16 fases, sendo que, em cada uma dessas, é feita uma permutação dependente
da chave e uma substituição dependente da chave e dos dados.
Tipos de Criptografia
Algoritmos de Chave Simétrica - Outros exemplos...
http://pt.wikipedia.org/wiki/Blowfish 20
Twofish, Bruce Schnneir, John Kelsey, Doug Whiting, David Wagner, Chris Hall, e Niels Ferguson.
● Evolução para algoritmo Blowfish. Surgiu a partir de uma tentativa de modificar o modelo original do
algoritmo Blowfish, para torná -lo um algoritmo com tamanho de bloco de 128 bits.
● Trata a mensagem em blocos de 128 bits, utilizando chaves de tamanhos variáveis, podendo ser de
128, 192 ou 256 bits.
● Realiza 16 interações durante a criptografia. É possível utilizar menos estágios, visto que só foi
possível quebrá-lo na quinta interação. Mais do que 16 interações diminui a velocidade sem
aumentar muito a segurança.
● Assim como o Blowfish e o DES, durante as suas 16 interações, o Twofish utiliza o método Feistel
Network, o qual consiste em utilizar-se um método de cifragem fraco diversas vezes de modo a
tornar-se um processo complexo.
Tipos de Criptografia
Algoritmos de Chave Simétrica - Outros exemplos...
http://www.trabalhosfeitos.com/ensaios/Criptografia-Twofish/397371.html 21
É usado um par de chaves distintas, onde uma é
usada para criptografar e a outra para
descriptografar, este método é também conhecido
como criptografia de chaves públicas.
Possui um desempenho muito inferior com relação
à criptografia simétrica, porém ela resolve dois
problemas muito importantes:
● O problema de distribuição das chaves: cada
membro do grupo possui um par de chaves,
onde a chave publica é divulgada para todos
do grupo sem que haja qualquer risco na
confidencialidade;
● Não cresce o número de chaves com o
aumento de membros do grupo.
Tipos de Criptografia
Chave Assimétrica
22
- RSA, por Ron Rivest, Adi Shamir e Len Adleman, 1977
Um dos algoritmos de chave assimétrica mais utilizados. Para quebrar sua criptografia, seria necessário a
fatoração do número gerado para encontrar os 2 números primos que o geraram, porém, para isso é
necessário um poder muito alto de processamento e muito tempo, o que acaba inviabilizando a tarefa.
- ElGamal, por Taher ElGamal
Faz uso de um algoritmo conhecido como “logaritmo discreto” para se tornar seguro.
É frequente seu uso em assinaturas digitais.
- PGP (Pretty Good Privacy), Davi Phil Zimmermann Arimateia, 1991.
É frequentemente utilizado para assinatura, criptografia e descriptografia de textos, e-mails, arquivos,
diretórios e partições inteiras de disco para incrementar a segurança de comunicações via e-mail.
O PGP e produtos similares seguem o padrão OpenPGP (RFC 4880).
Tipos de Criptografia
Algoritmos de Chave Assimétrica
23
http://www.numaboa.com.br/criptografia/chaves/350-rsa
http://pajhome.org.uk/crypt/rsa/rsa.html
Tipos de Criptografia
Algoritmos de Chave Assimétrica - RSA
24
A função do RSA é muito demorada de ser revertida que, para efeitos práticos, pode ser
considerada como uma função de mão única. O algoritmo pode ser dividido em 3 fases:
1. Gere 2 números primos grandes, p and q
2. Faça n = pq
3. Faça m = (p-1)(q-1)
4. Escolha um pequeno número e, tal que e e m sejam primos entre si;
5. Encontre d, tal que d x e % m = 1
➔ Publique e e n como chave pública e guarde d e n como chave privada.
❖ Encriptação: C = P e
% n
❖ Decriptação: P = C d
% n
Tipos de Criptografia
Algoritmos de Chave Assimétrica - RSA
25
A segurança do algoritmo vem da dificuldade computacional de se fatorar grandes
números.
● Números primos pequenos não são seguros e podem ser fatorados para se
encontrar a chave privada;
● Números primos grandes demais (mais difíceis de serem quebrados) acabam
tornando os cálculos extremamente lentos;
http://www.numaboa.com.br/criptografia/chaves/350-rsa
http://pajhome.org.uk/crypt/rsa/rsa.html
Tipos de Criptografia
Algoritmos de Chave Assimétrica - PGP
26
É frequentemente utilizado para assinatura e criptografia de textos, e-mails, arquivos, diretórios e partições inteiras de
disco para incrementar a segurança de comunicações via e-mail.
O PGP e produtos similares seguem o padrão OpenPGP (RFC 4880).
O PGP pode, ainda, ser utilizado como um sistema à prova de falsificações de assinaturas digitais permitindo, desta forma,
a comprovação de que arquivos ou e-mails não foram modificados.
Padrão OpenPGP
A chave secreta (além de descriptografar), é capaz de assinar dados: a chave pública correspondente pode verificar se o
remetente é verdadeiro e se o conteúdo não foi adulterado depois de assinado.
Sistema de cadeias de confiança: quando um usuário obtém a chave pública de outro usuário, pode-se verificar a
impressão digital da chave obtida, garantindo que a chave é a verdadeira. Ao ter certeza de que a chave é verdadeira, o
usuário pode assinar a chave pública do outro usuário com a sua chave privada, atestando a outros usuários que a chave
realmente pertence a quem diz pertencer.
Com os dois tipos de Chaves (Simétrica e Assimétrica) tendo suas vantagens e desvantagens, era natural o
surgimento um método que buscasse mixar as vantagens de cada um, eliminando assim, suas
desvantagens.
Os protocolos abaixo são um exemplo desse mix:
- TLS (Transport Layer Security)
- SSL (Secure Sockets Layer)
Para compensar o problema do segredo pré-estabelecido da chave simétrica e o alto poder computacional
necessário na chave simétrica, foi elaborado um meio onde em sua primeira etapa (handshake), seja
utilizado a criptografia assimétrica, autenticando assim os nós e combinando uma chave secreta para um
uso posterior na criptografia simétrica. Como o algoritmo de chave pública garante que a negociação foi
realizada em um canal seguro, todo o restante do processo pode passar a ser realizado utilizando algoritmos
de chave simétrica, o que diminui potencialmente a necessidade do poder computacional, permitindo seu
uso em uma comunicação mais intensa.
Tipos de Criptografia
Combinação dos Tipos - Assimétrica + Simétrica
27
Tipo Vantagem Desvantagem
Chave
Simétrica
Velocidade: geralmente muito mais rápidos do que os
assimétricos - cifrar grande quantidade de dados em pouco
tempo.
Confidencialidade e privacidade mantendo os dados
relativamente seguros.
As chaves geralmente são pequenas permitindo gerar
cifradores bastantes "enxutos".
Necessidade do compartilhamento da chave. Não
permite autenticação do remetente, assim, qualquer
pessoa que possuir a chave poderá mandar uma
mensagem criptografada.
Chave
Assimétrica
Garantia de sigilo ou autoria dos dados, já que não há
necessidade de compartilhamento da chave (privada).
Velocidade: algoritmos geralmente muito mais lentos
do que os simétricos.
Hash
Computacionalmente simples de ser calculada. Oferece
agilidade nas assinaturas digitais. Garante a integridade do
conteúdo da mensagem que representa.
Alta complexidade de tempo na etapa de
descriptografar os dados.
Simétrica
+
Assimétrica
Ganho de velocidade com uso da Criptografia Simétrica.
Ganho de segurança com a não necessidade de
compartilhamento da chave.
Tipos de Criptografia
Vantagens e Desvantagens
28
➔ Atualmente, o sistema mais comum (RSA) baseia-se na fatorização de números, porém com a
constante evolução tecnológica e o desenvolvimento de computadores quânticos é possível que num
futuro próximo a fatorização de números primos de grandes dimensões seja processada muito mais
rapidamente, tornando este método de criptografia pouco viável.
➔ Todos os métodos de criptografia seguros atuais tem sua segurança garantida devido a capacidade de
computação limitada de um suposto organismo invasor.
❖ A criptografia quântica utiliza os princípios da Mecânica Quântica para garantir uma comunicação
segura. Com ela, emissor e receptor podem criar e partilhar uma chave secreta para criptografar e
decifrar suas mensagens.
❖ A criptografia quântica só será utilizada para produzir e distribuir as chaves, não para transmitir a
mensagem.
❖ A chave gerada poderá ser utilizada com qualquer algoritmo de criptografia escolhido.
❖ O algoritmo mais comumente associado com a criptografia quântica é o one-time pad.
Futuro da Criptografia
29
É uma técnica de criptografia que não pode ser quebrada se utilizada corretamente. É uma técnica de
criptografia simétrica.
Consiste num algoritmo em que o texto original é combinado, caractere por caractere, a uma chave
secreta aleatória com, no mínimo, o mesmo número de caracteres do purotexto.
Para garantir que a criptografia seja segura, a chave só deve ser usada uma única vez, sendo
imediatamente destruída após o uso.
Foi primeiramente descrita pelo banqueiro e criptografista Frank Miller em 1882.
Em 1917 foi reinventada e, poucos anos depois, registada.
Futuro da Criptografia
30
One-time Pad - Chave de uso único
Em 1949, Claude Shannon em seu trabalho a "Communication Theory of Secrecy Systems", em
tempos de guerra, sobre a teoria matemática de criptografia, no qual ele provou que todas as cifras
teoricamente inquebráveis devem ter os mesmos requisitos que a one-time pad.
Se a chave for verdadeiramente aleatória, nunca reutilizada, e mantida em segredo:
➔ a cifra de uso único é indecifrável.
Futuro da Criptografia
31
One-time Pad - Chave de uso único
➔ Nem sempre uma chave criptográ fica menor significa um menor tempo de encriptaç ão.
➔ Algoritmos criptográ ficos simétricos modernos quase sempre são mais rá pidos em suas operaç ões que
os antigos padrões.
➔ Algoritmo mais usado, o RSA, tem sua garantia de segurança destruída com a Computação Quântica.
➔ Destaque para as características da chave propostas pelo One-time Pad, que a tornam "inquebrável".
➔ Uma solução: uso dos dois tipos de criptografia, Simétrica + Assimétrica, aproveitando as vantagens de
ambos.
Conclusões
32
[1].http://www.ecnsoft.net/wp-content/plugins/downloads-manager/upload/Artigo%20-%20DESEMPENHO%20DE%
20ALGORITMOS%20CRIPTOGRAFICOS%20SIMETRICOS%20PARA%20GRANDES%20VOLUMES%20DE%20DADOS.pdf
[2] http://www.dsc.ufcg.edu.br/~pet/jornal/abril2014/materias/historia_da_computacao.html
[3] https://nunojob.wordpress.com/2008/02/19/introducacao-a-criptografia-one-time-pad/
[4] http://www.dsc.ufcg.edu.br/~pet/jornal/abril2014/materias/historia_da_computacao.html
[5] http://www3.iesam-pa.edu.br/ojs/index.php/sistemas/article/viewFile/501/401
[6] http://www.gta.ufrj.br/grad/07_1/ass-dig/TiposdeCriptografia.html
[7] http://www.techtudo.com.br/artigos/noticia/2012/06/o-que-e-criptografia.html
[8] http://pt.kioskea.net/contents/132-introducao-a-codificacao-des
[9] http://www.numaboa.com.br/criptografia/bloco/336-idea
Bibliografia
33
[10] http://pt.wikipedia.org/wiki/RC4
[11] http://pt.wikipedia.org/wiki/Matriz_de_permutação
[12] http://pt.wikipedia.org/wiki/One-time_pad
[13] http://www.numaboa.com.br/criptografia/chaves/350-rsa
[14] http://pt.wikipedia.org/wiki/Claude_Shannon
[15] http://searchsecurity.techtarget.com/definition/one-time-pad
[16] http://pt.wikipedia.org/wiki/One-time_pad
Bibliografia
34

Mais conteúdo relacionado

Mais procurados

Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografia
Natanael Fonseca
 
3º-ANO-APRENDIZAGEM-LÚDICA-LÍNGUA-PORTUGUESA.pdf
3º-ANO-APRENDIZAGEM-LÚDICA-LÍNGUA-PORTUGUESA.pdf3º-ANO-APRENDIZAGEM-LÚDICA-LÍNGUA-PORTUGUESA.pdf
3º-ANO-APRENDIZAGEM-LÚDICA-LÍNGUA-PORTUGUESA.pdf
Luciane Souza
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
Rodrigo Branas
 
METODOLOGIA DO ENSINO DE LÍNGUAS
METODOLOGIA DO ENSINO DE LÍNGUASMETODOLOGIA DO ENSINO DE LÍNGUAS
METODOLOGIA DO ENSINO DE LÍNGUAS
Jairo Caetano
 
Característias hereditárias
Característias hereditáriasCaracterístias hereditárias
Característias hereditárias
Real Auto Ònibus
 
A Linguagem sql
A Linguagem sqlA Linguagem sql
A Linguagem sql
Centro Paula Souza
 
Ficheiros em C
Ficheiros em CFicheiros em C
Ficheiros em CBaguiasri
 
Importância do profissional Hacker ético no mercado de trabalho
Importância do profissional Hacker ético no mercado de trabalhoImportância do profissional Hacker ético no mercado de trabalho
Importância do profissional Hacker ético no mercado de trabalho
Marcos Flávio Araújo Assunção
 
Doenças causadas por virus
Doenças  causadas por virusDoenças  causadas por virus
Doenças causadas por virus
Adrianne Mendonça
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
Oziel Moreira Neto
 
Vale a pena LER de novo...
Vale a pena LER de novo...Vale a pena LER de novo...
Vale a pena LER de novo...
ISI Engenharia
 
Vírus de computador ( aline e manuela)
Vírus de computador ( aline e manuela)Vírus de computador ( aline e manuela)
Vírus de computador ( aline e manuela)
Marta Durão Nunes
 
Protocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportProtocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry Transport
Norberto Enomoto
 
Deep web
Deep webDeep web

Mais procurados (20)

Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografia
 
3º-ANO-APRENDIZAGEM-LÚDICA-LÍNGUA-PORTUGUESA.pdf
3º-ANO-APRENDIZAGEM-LÚDICA-LÍNGUA-PORTUGUESA.pdf3º-ANO-APRENDIZAGEM-LÚDICA-LÍNGUA-PORTUGUESA.pdf
3º-ANO-APRENDIZAGEM-LÚDICA-LÍNGUA-PORTUGUESA.pdf
 
Aula reino protoctista
Aula reino protoctistaAula reino protoctista
Aula reino protoctista
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Plano de aula 01
Plano de aula 01Plano de aula 01
Plano de aula 01
 
METODOLOGIA DO ENSINO DE LÍNGUAS
METODOLOGIA DO ENSINO DE LÍNGUASMETODOLOGIA DO ENSINO DE LÍNGUAS
METODOLOGIA DO ENSINO DE LÍNGUAS
 
Característias hereditárias
Característias hereditáriasCaracterístias hereditárias
Característias hereditárias
 
Parasitologia
ParasitologiaParasitologia
Parasitologia
 
A Linguagem sql
A Linguagem sqlA Linguagem sql
A Linguagem sql
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Ficheiros em C
Ficheiros em CFicheiros em C
Ficheiros em C
 
Importância do profissional Hacker ético no mercado de trabalho
Importância do profissional Hacker ético no mercado de trabalhoImportância do profissional Hacker ético no mercado de trabalho
Importância do profissional Hacker ético no mercado de trabalho
 
Doenças causadas por virus
Doenças  causadas por virusDoenças  causadas por virus
Doenças causadas por virus
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Vale a pena LER de novo...
Vale a pena LER de novo...Vale a pena LER de novo...
Vale a pena LER de novo...
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Vírus de computador ( aline e manuela)
Vírus de computador ( aline e manuela)Vírus de computador ( aline e manuela)
Vírus de computador ( aline e manuela)
 
Protocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportProtocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry Transport
 
Aula02
Aula02Aula02
Aula02
 
Deep web
Deep webDeep web
Deep web
 

Destaque

Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Ministério Público da Paraíba
 
Quest cripto chave_lj
Quest cripto chave_ljQuest cripto chave_lj
Quest cripto chave_ljCarol Luz
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4
Filipo Mór
 
Tales of the Crypto
Tales of the CryptoTales of the Crypto
Tales of the Crypto
Adler Medrado
 
Criptografia simetrica e assimétrica
Criptografia simetrica e assimétricaCriptografia simetrica e assimétrica
Criptografia simetrica e assimétrica
Anchises Moraes
 

Destaque (6)

Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
 
Quest cripto chave_lj
Quest cripto chave_ljQuest cripto chave_lj
Quest cripto chave_lj
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4
 
Tales of the Crypto
Tales of the CryptoTales of the Crypto
Tales of the Crypto
 
Criptografia simétrica
Criptografia simétricaCriptografia simétrica
Criptografia simétrica
 
Criptografia simetrica e assimétrica
Criptografia simetrica e assimétricaCriptografia simetrica e assimétrica
Criptografia simetrica e assimétrica
 

Semelhante a Seminário de SD - criptografia

Segurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - CriptografiaSegurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - Criptografia
Cleber Fonseca
 
Criptografia
CriptografiaCriptografia
Criptografia
Artur Prass
 
Criptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCriptografia - Redes de Computadores
Criptografia - Redes de Computadores
Cícero Bruno
 
Criptografia
CriptografiaCriptografia
Criptografia
Artur Prass
 
Criptografia (1).pdf
Criptografia (1).pdfCriptografia (1).pdf
Criptografia (1).pdf
claudio864549
 
Psi apostila2
Psi apostila2Psi apostila2
Psi apostila2
paulo_batista
 
Data encryption standard DES & 3DES
Data encryption standard DES & 3DESData encryption standard DES & 3DES
Data encryption standard DES & 3DES
Laís Berlatto
 
Criptografia - Faculdade Impacta
Criptografia - Faculdade ImpactaCriptografia - Faculdade Impacta
Criptografia - Faculdade Impacta
Luiz Sales Rabelo
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmos
digobfpc
 
Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Criptografia_Métodos_E_Tecnicas_Criptograficas.pptCriptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Márcio Antônio Moraes Reyes
 
Conceitos Básicos de Criptografia
Conceitos Básicos de CriptografiaConceitos Básicos de Criptografia
Conceitos Básicos de Criptografia
Mariana Carvalho
 
Aes 25
Aes 25Aes 25
Aes 25
Adenas San
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografia
Hélio Martins
 
Criptografia
CriptografiaCriptografia
Criptografia
Cleber Ramos
 
Segurança de Redes
Segurança de RedesSegurança de Redes
Segurança de Redes
Nelson Seiji Takahashi
 
Sistemas Logicas de Seguranca
Sistemas Logicas de SegurancaSistemas Logicas de Seguranca
Sistemas Logicas de Seguranca
DinoManuelMafunga
 
Si
SiSi
Apresentação tema 9 Segurança das Informações e Continuidade dos negócios
Apresentação tema 9 Segurança das Informações e Continuidade dos negóciosApresentação tema 9 Segurança das Informações e Continuidade dos negócios
Apresentação tema 9 Segurança das Informações e Continuidade dos negóciosSanger Dias
 

Semelhante a Seminário de SD - criptografia (20)

Segurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - CriptografiaSegurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - Criptografia
 
Redes ii p2
Redes ii p2Redes ii p2
Redes ii p2
 
Redes ii p2
Redes ii p2Redes ii p2
Redes ii p2
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Criptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCriptografia - Redes de Computadores
Criptografia - Redes de Computadores
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Criptografia (1).pdf
Criptografia (1).pdfCriptografia (1).pdf
Criptografia (1).pdf
 
Psi apostila2
Psi apostila2Psi apostila2
Psi apostila2
 
Data encryption standard DES & 3DES
Data encryption standard DES & 3DESData encryption standard DES & 3DES
Data encryption standard DES & 3DES
 
Criptografia - Faculdade Impacta
Criptografia - Faculdade ImpactaCriptografia - Faculdade Impacta
Criptografia - Faculdade Impacta
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmos
 
Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Criptografia_Métodos_E_Tecnicas_Criptograficas.pptCriptografia_Métodos_E_Tecnicas_Criptograficas.ppt
Criptografia_Métodos_E_Tecnicas_Criptograficas.ppt
 
Conceitos Básicos de Criptografia
Conceitos Básicos de CriptografiaConceitos Básicos de Criptografia
Conceitos Básicos de Criptografia
 
Aes 25
Aes 25Aes 25
Aes 25
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografia
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Segurança de Redes
Segurança de RedesSegurança de Redes
Segurança de Redes
 
Sistemas Logicas de Seguranca
Sistemas Logicas de SegurancaSistemas Logicas de Seguranca
Sistemas Logicas de Seguranca
 
Si
SiSi
Si
 
Apresentação tema 9 Segurança das Informações e Continuidade dos negócios
Apresentação tema 9 Segurança das Informações e Continuidade dos negóciosApresentação tema 9 Segurança das Informações e Continuidade dos negócios
Apresentação tema 9 Segurança das Informações e Continuidade dos negócios
 

Seminário de SD - criptografia

  • 2. O que é Criptografia? Escondido + Escrever Conjunto de técnicas para codificar informações, com a finalidade de evitar que pessoas indesejadas tenham acesso a elas. Usos para a criptografia em nosso dia-a-dia: proteger documentos secretos, transmitir informações confidenciais pela Internet ou por uma rede local, etc. Em Sistemas Distribuídos: Essencial para a segurança dos dados que nesse sistema trafega. Kryptós Gráphein 2
  • 3. Histórico 600 a.C. A história começa pela criação de cifras de substituição monoalfabéticas (onde um símbolo do alfabeto é substituído por outro símbolo no alfabeto cifrado) pelos Hebreus. Exemplo: Cifra Atbash, que consiste na substituição da primeira letra do alfabeto pela última, da segunda pela penúltima, e assim por diante. 800 d.C. Com o início das pesquisas sobre criptoanálise, o matemático árabe Ibrahim Al-Kadi inventou a técnica de análise de frequência para quebrar esse tipo de cifra. Ele também expôs métodos de cifragem como, por exemplo, análise estatística de letras e combinações de letras em árabe. 3
  • 4. 1400 - Império Romano A cifra de César foi nomeada em homenagem a Júlio César que, segundo Suetónio, a usava com uma troca de três posições para proteger mensagens de significado militar. - no século XIX, a seção de anúncios pessoais nos jornais era por vezes utilizada para trocar mensagens criptografadas usando a cifra de Cesar, inclusive, entre amantes. - em 1915, a cifra de César continuava em uso: o exército russo empregou-a em substituição às cifras mais complicadas que provaram serem muito difíceis de suas tropas entenderem; no entanto, criptoanalistas alemães e austríacos tiveram pouca dificuldade em descriptografar suas mensagens. - atualmente, cifras de César podem ser encontradas em brinquedos infantis, como os anéis decodificadores. - uma troca de César de treze posições é também executada no algoritmo ROT13, um método simples de ofuscar o texto amplamente encontrado em UNIX e usado para obscurecer o texto (como a parte final de uma piada ou spoilers), mas não como método de criptografia. Normal: ABCDEFGHIJKLMNOPQRSTUVWXYZ Cifrado: DEFGHIJKLMNOPQRSTUVWXYZABC Normal: a ligeira raposa marrom saltou sobre o cachorro cansado Cifrado: D OLJHLUD UDSRVD PDUURP VDOWRX VREUH R FDFKRUUR FDQVDGR Histórico 4
  • 5. 1914 - 1918 - I Guerra Mundial Nada de inovador havia sido desenvolvido no campo de criptografia, até que Alexander’s Weekly escreveu um ensaio sobre métodos de criptografia, que se tornou útil como uma introdução para os criptoanalistas britânicos na quebra dos códigos e cifras alemães durante a I Guerra Mundial; e escreveu uma história famosa, “O Escaravelho de Ouro”, um conto ambientado no século XIX onde a criptoanálise era um elemento de destaque. - Importante instrumento de quebra de códigos navais alemães; - Uso de conceitos de criptografia para decodificar o telegrama de Zimmermann, que apontado como um dos responsáveis por apressar a entrada dos EUA na primeira guerra mundial. Histórico 5
  • 6. Década de 40 - II Guerra Mundial Os alemães usaram uma máquina eletromecânica para criptografar e descriptografar, denominada de Enigma. Logo após o estopim da segunda guerra mundial, um grupo de criptógrafos britânicos, entre eles Newman e Alan Turing, conseguiu quebrar as cifras da Enigma e decifrar mensagens secretas dos nazistas. - Os militares alemães implantaram máquinas usando one-time pad (cifra de chave única), um algoritmo de criptografia onde o texto é combinado com uma chave aleatória; - Os ingleses, por sua vez, criaram o primeiro computador digital programável, o Colossus, para ajudar com sua criptoanálise. - Agentes britânicos do SOE usavam inicialmente "cifras poema" (poemas memorizados eram as chaves de encriptação/desencriptação), mas, mais tarde, durante a Segunda Guerra, eles modificaram para o one-time pad. Histórico 6
  • 7. 1945 - 1991 - Guerra Fria Criados e utilizados diversos métodos para esconder mensagens com estratégias e operações. Desses esforços, surgiram outros tipos de criptografia, tais como: - chave simétrica: existe 1 chave, que é compartilhada pelos interlocutores e usada tanto para cifrar quanto para decifrar; - chave assimétrica: existem 2 chaves, uma pública e uma privada, a chave privada é usada para cifrar a mensagem, com isso garante-se que apenas o dono da chave poderia tê-la editado; - por hash e até a chamada criptografia quântica: que se encontra, hoje, em desenvolvimento. Histórico 7
  • 8. Tipos de Criptografia A criptografia hash permite que, através de uma string de qualquer tamanho, seja calculado um identificador digital de tamanho fixo, chamado de valor hash. Uma função hash é dita one-way pois uma vez obtido o valor hash h para uma string x, é computacionalmente impossível fazer o processo inverso, ou seja, encontrar um valor x tal que H (x) = h. Diz-se ainda que H(x) é livre de colisão, significando que as funções hash devem garantir uma probabilidade mínima de que duas strings diferentes acabem por resultar no mesmo valor hash. Qualquer alteração na string original que deu origem ao identificador digital, mesmo que de um único bit, acabará por gerar uma alteração significativa no valor hash final. 8 Tabela Hash
  • 9. Seja uma função hash H, e x uma string qualquer, tem-se que H(x) será o valor hash para a string x. As características básicas de uma função hash são: ● Valor de entrada da função possui qualquer tamanho; ● Valor de saída da função possui tamanho fixo; ● H(x) é relativamente fácil de ser computado, para qualquer valor de x; ● H(x) é uma função “one-way”; ● H(x) é livre de colisão. Mensagem original: PET Mensagem Associada: 16 5 20 Função: f(x)=2x+1 Mensagem Cifrada: 33 11 41 Tipos de Criptografia 9 Tabela Hash
  • 10. A assinatura digital obtida através do uso da criptografia assimétrica não pode ser empregada. Na prática é necessário o emprego da função hashing para o adequado emprego da assinatura digital. Na prática é inviável e contraproducente utilizar puramente algoritmos de chave pública para assinaturas digitais: quando se deseja assinar grandes mensagens, que levam preciosos minutos ou horas para serem integralmente cifradas com a chave privada de alguém, ao invés disso, é empregada uma função hashing. ➔ Gera um valor pequeno, de tamanho fixo, derivado da mensagem que se pretende assinar, de qualquer tamanho, para oferecer agilidade nas assinaturas digitais, além de integridade confiável. Serve, portanto, para garantir a integridade do conteúdo da mensagem que representa. Tipos de Criptografia 10 Tabela Hash http://www.ronielton.eti.br/publicacoes/artigorevistasegurancadigital2012.pdf
  • 11. Na criptografia simétrica a chave para cifrar é a mesma usada para decifrar, este método tem um desempenho muito melhor que a assimétrica, porém existe um grande problema na divulgação das chaves aos membros, pois, apresenta um risco real de algum intruso captar esta chave e ter acesso as mensagens, e ler todas que forem endereçadas a algum membro, ou até mesmo enviar mensagens. Existe normalmente uma chave para cada dois membros, por isso o número de chaves cresce muito com aumento de participantes na comunicação. Tipos de Criptografia 11 Chave Simétrica
  • 12. - DES (Data Encryption Standard), IBM, 1977. Usa criptografia de 56 bits (72 quadrilhões de chaves diferentes). Apesar de ser um valor alto, foi quebrado em 1997 por força bruta, em um desafio feito na Internet. O texto cifrado é gerado a partir de 16 iterações entre as permutações do texto inicial e a chave. O DES foi normalizado pelo ANSI (American National Standard Institute) sob o nome de ANSI X3.92. (Alguns documentos se referem ao DES como o padrão, e o algoritmo como DEA (Data Encryption Algorithm)). - IDEA (Internacional Data Encryption Algorithm), Massey e Xuejia Lai, 1991. Utiliza chaves de 128 bits com uma estrutura semelhante ao DES, porém, possui uma implementação mais simples. É considerado um dos melhores algoritmos de bloco. O proprietário da patente deste método é a ASCOM, que, visando sua disseminação, autorizou o uso não comercial do algoritmo. - RC (Ron’s Code ou Rivest Cipher), Ron Rivest, 1987. Largamente utilizado em e-mails. Possui diversas versões (RC2, RC4, RC5 e RC6), com chaves que vão de 8 à 1024 bits. Tipos de Criptografia Algoritmos de Chave Simétrica 12
  • 13. As grandes linhas do algoritmo são as seguintes: - Fracionamento do texto original em blocos de 64 bits; - Permutação inicial dos blocos; - Corte dos blocos em duas partes: esquerda e direita, G e D; - Etapas de permutação e de substituição repetidas 16 vezes (voltas); - Recolamento das partes esquerda e direita, seguidamente permutação inicial inversa. Tipos de Criptografia Algoritmos de Chave Simétrica - DES http://www.numaboa.com.br/criptografia/bloco/313-des2 13
  • 14. Alternativa para aumento de segurança do DES... Uma chave de 56 bits dá um número enorme de possibilidades, porém numerosos processadores permitem calcular mais de 106 chaves por segundo; assim, utilizados paralelamente num elevado número de máquinas, é possível para um grande organismo (um Estado, por exemplo) encontrar a chave certa. ➔ Encadear três codificações DES com a ajuda de duas chaves de 56 bits ("chave de 112 bits"). Este método é chamado Triplo DES, notado TDES (às vezes 3DES ou 3-DES). O TDES aumenta significativamente a segurança, contudo usa igualmente mais recursos para a codificação e decodificação. Tipos de Criptografia 2112 = 5,192.296.858.534.828e+33 = (5 quadrilhões) e+33 Algoritmos de Chave Simétrica - TDES http://www.numaboa.com.br/criptografia/bloco/313-des2 14
  • 15. Tipos de Criptografia O texto claro é dividido em blocos de 64 bits. Cada um destes blocos é dividido em 4 sub-blocos de 16 bits: B1, B2, B3 e B4, que são a entrada da primeira rodada do algoritmo. São oito rodadas, onde os quatro sub-blocos são submetidos à operação lógica XOR, somados e multiplicados entre si e com seis sub-blocos de 16 bits oriundos da chave (K1, K2, K3, K4, K5 e K6). Entre cada rodada, o segundo e o terceiro sub-blocos são trocados. http://www.numaboa.com.br/criptografia/bloco/336-idea Algoritmos de Chave Simétrica - IDEA 15
  • 16. Algoritmos de Chave Simétrica - IDEA Tipos de Criptografia A cada rodada, tem-se: 1. Multiplicação de B1 pelo primeiro sub-bloco da chave K1. 2. Adição de B2 com o segundo sub-bloco da chave K2. 3. Adição de B3 com o terceiro sub-bloco da chave K3. 4. Multiplicação de B4 pelo quarto sub-bloco da chave K4. 5. XOR entre os resultados obtidos nas etapas (1) e (3). 6. XOR entre os resultados obtidos nas etapas (2) e (4). 7. Multiplicação do resultado da etapa (5) pelo quinto sub- bloco da chave K5 8. Adição dos resultados das etapas (6) e (7). 9. Multiplicação do resultado da etapa (8) pelo sexto sub-bloco da chave K6. 10. Adição dos resultados das etapas (7) e (9). 11. XOR entre os resultados obtidos nas etapas (1) e (9). 12. XOR entre os resultados obtidos nas etapas (3) e (9). 13. XOR entre os resultados obtidos nas etapas (2) e (10). 14. XOR entre os resultados obtidos nas etapas (4) e (10). http://www.numaboa.com.br/criptografia/bloco/336-idea 16
  • 17. Tipos de Criptografia A saída da rodada são os quatro sub-blocos resultantes das etapas (11), (13), (12) e (14). Exceto na última rodada, os sub-blocos (13) e (12) trocam de lugar e esta nova sequência de sub-blocos será a entrada para a próxima rodada. Após a oitava rodada, a saída final é transformada com: 1. Multiplicação de B1 pelo primeiro sub-bloco da chave K1. 2. Adição de B2 com o segundo sub-bloco da chave K2. 3. Adição de B3 com o terceiro sub-bloco da chave K3. 4. Multiplicação de B4 pelo quarto sub-bloco da chave K4. 5. No final, os quatro sub-blocos obtidos (G1, G2, G3 e G4) são concatenados para produzir o texto cifrado. http://www.numaboa.com.br/criptografia/bloco/336-idea Algoritmos de Chave Simétrica - IDEA 17
  • 18. Algoritmo simétrico de criptografia de fluxo (bits originais combinados com bits de cifragem vindos de um gerador de dígitos pseudo-aleatório) muito usado em software e em protocolos conhecidos, como o Secure Socket Layers (SSL) (para proteger tráfego na Internet) e WEP (segurança de redes sem fio). Largamente utilizado em e-mails. Possui diversas versões (RC2, RC4, RC5 e RC6), com chaves que vão de 8 à 1024 bits. Durante tempos foi um segredo comercial muito bem guardado da empresa RSA Data Security, Inc., líder mundial em algoritmos de criptografia. Sete anos depois, um código alegadamente equivalente ao RC4 surge em uma mailing list dedicada à criptografia, onde utilizadores com cópias legais puderam confirmar a compatibilidade. Assim, o RC4 não é a versão comercial, e é habitualmente referida como ARC4 (Alleged RC4). Tipos de Criptografia http://pt.wikipedia.org/wiki/RC4 Algoritmos de Chave Simétrica - RC 18
  • 19. As transformações no algoritmo são lineares, não são necessários cálculos complexos, já que o sistema funciona basicamente por permutações e somas de valores inteiros, ➢ Algoritmo muito simples e rápido. Tipos de Criptografia http://pt.wikipedia.org/wiki/RC4 Algoritmos de Chave Simétrica - RC De uma forma geral, o algoritmo consiste em utilizar um array que a cada utilização tem os seus valores permutados, e misturados com a chave. Esta chave, utilizada na inicialização do array, pode ter até 256 bytes (2048 bits), embora o algoritmo seja mais eficiente quando é menor, pois a perturbação aleatória induzida no array é superior. 19
  • 20. Blowfish, Bruce Schneier, 1993 ➔ Alternativa grátis e mais rápida. ➔ É uma cifra simétrica de blocos que pode ser usado em substituição ao DES ou IDEA, e é mais rápido que ambos. ➔ Tem chave de tamanho variável, de 32 à 448 bits, sendo ideal tanto para aplicações domésticas quanto comerciais. A criptografia é feita através de uma função com 16 iterações. Apesar de um complexo algoritmo de inicialização, tem grande eficiência com os microprocessadores atuais. A cifragem do texto é feita em blocos de 64 ou 128 bits, nos quais os bits são tratados em grupos de 32 bits. Para aumentar sua eficiência, usa funções simples para os microprocessadores, como XOR, adição e multiplicação modular. O algoritmo consiste de duas partes, sendo elas: ● Expansão da chave: Transformação da chave em subchaves, totalizando 4.168 bits. ● Criptografia dos dados: consiste de 16 fases, sendo que, em cada uma dessas, é feita uma permutação dependente da chave e uma substituição dependente da chave e dos dados. Tipos de Criptografia Algoritmos de Chave Simétrica - Outros exemplos... http://pt.wikipedia.org/wiki/Blowfish 20
  • 21. Twofish, Bruce Schnneir, John Kelsey, Doug Whiting, David Wagner, Chris Hall, e Niels Ferguson. ● Evolução para algoritmo Blowfish. Surgiu a partir de uma tentativa de modificar o modelo original do algoritmo Blowfish, para torná -lo um algoritmo com tamanho de bloco de 128 bits. ● Trata a mensagem em blocos de 128 bits, utilizando chaves de tamanhos variáveis, podendo ser de 128, 192 ou 256 bits. ● Realiza 16 interações durante a criptografia. É possível utilizar menos estágios, visto que só foi possível quebrá-lo na quinta interação. Mais do que 16 interações diminui a velocidade sem aumentar muito a segurança. ● Assim como o Blowfish e o DES, durante as suas 16 interações, o Twofish utiliza o método Feistel Network, o qual consiste em utilizar-se um método de cifragem fraco diversas vezes de modo a tornar-se um processo complexo. Tipos de Criptografia Algoritmos de Chave Simétrica - Outros exemplos... http://www.trabalhosfeitos.com/ensaios/Criptografia-Twofish/397371.html 21
  • 22. É usado um par de chaves distintas, onde uma é usada para criptografar e a outra para descriptografar, este método é também conhecido como criptografia de chaves públicas. Possui um desempenho muito inferior com relação à criptografia simétrica, porém ela resolve dois problemas muito importantes: ● O problema de distribuição das chaves: cada membro do grupo possui um par de chaves, onde a chave publica é divulgada para todos do grupo sem que haja qualquer risco na confidencialidade; ● Não cresce o número de chaves com o aumento de membros do grupo. Tipos de Criptografia Chave Assimétrica 22
  • 23. - RSA, por Ron Rivest, Adi Shamir e Len Adleman, 1977 Um dos algoritmos de chave assimétrica mais utilizados. Para quebrar sua criptografia, seria necessário a fatoração do número gerado para encontrar os 2 números primos que o geraram, porém, para isso é necessário um poder muito alto de processamento e muito tempo, o que acaba inviabilizando a tarefa. - ElGamal, por Taher ElGamal Faz uso de um algoritmo conhecido como “logaritmo discreto” para se tornar seguro. É frequente seu uso em assinaturas digitais. - PGP (Pretty Good Privacy), Davi Phil Zimmermann Arimateia, 1991. É frequentemente utilizado para assinatura, criptografia e descriptografia de textos, e-mails, arquivos, diretórios e partições inteiras de disco para incrementar a segurança de comunicações via e-mail. O PGP e produtos similares seguem o padrão OpenPGP (RFC 4880). Tipos de Criptografia Algoritmos de Chave Assimétrica 23
  • 24. http://www.numaboa.com.br/criptografia/chaves/350-rsa http://pajhome.org.uk/crypt/rsa/rsa.html Tipos de Criptografia Algoritmos de Chave Assimétrica - RSA 24 A função do RSA é muito demorada de ser revertida que, para efeitos práticos, pode ser considerada como uma função de mão única. O algoritmo pode ser dividido em 3 fases: 1. Gere 2 números primos grandes, p and q 2. Faça n = pq 3. Faça m = (p-1)(q-1) 4. Escolha um pequeno número e, tal que e e m sejam primos entre si; 5. Encontre d, tal que d x e % m = 1 ➔ Publique e e n como chave pública e guarde d e n como chave privada. ❖ Encriptação: C = P e % n ❖ Decriptação: P = C d % n
  • 25. Tipos de Criptografia Algoritmos de Chave Assimétrica - RSA 25 A segurança do algoritmo vem da dificuldade computacional de se fatorar grandes números. ● Números primos pequenos não são seguros e podem ser fatorados para se encontrar a chave privada; ● Números primos grandes demais (mais difíceis de serem quebrados) acabam tornando os cálculos extremamente lentos; http://www.numaboa.com.br/criptografia/chaves/350-rsa http://pajhome.org.uk/crypt/rsa/rsa.html
  • 26. Tipos de Criptografia Algoritmos de Chave Assimétrica - PGP 26 É frequentemente utilizado para assinatura e criptografia de textos, e-mails, arquivos, diretórios e partições inteiras de disco para incrementar a segurança de comunicações via e-mail. O PGP e produtos similares seguem o padrão OpenPGP (RFC 4880). O PGP pode, ainda, ser utilizado como um sistema à prova de falsificações de assinaturas digitais permitindo, desta forma, a comprovação de que arquivos ou e-mails não foram modificados. Padrão OpenPGP A chave secreta (além de descriptografar), é capaz de assinar dados: a chave pública correspondente pode verificar se o remetente é verdadeiro e se o conteúdo não foi adulterado depois de assinado. Sistema de cadeias de confiança: quando um usuário obtém a chave pública de outro usuário, pode-se verificar a impressão digital da chave obtida, garantindo que a chave é a verdadeira. Ao ter certeza de que a chave é verdadeira, o usuário pode assinar a chave pública do outro usuário com a sua chave privada, atestando a outros usuários que a chave realmente pertence a quem diz pertencer.
  • 27. Com os dois tipos de Chaves (Simétrica e Assimétrica) tendo suas vantagens e desvantagens, era natural o surgimento um método que buscasse mixar as vantagens de cada um, eliminando assim, suas desvantagens. Os protocolos abaixo são um exemplo desse mix: - TLS (Transport Layer Security) - SSL (Secure Sockets Layer) Para compensar o problema do segredo pré-estabelecido da chave simétrica e o alto poder computacional necessário na chave simétrica, foi elaborado um meio onde em sua primeira etapa (handshake), seja utilizado a criptografia assimétrica, autenticando assim os nós e combinando uma chave secreta para um uso posterior na criptografia simétrica. Como o algoritmo de chave pública garante que a negociação foi realizada em um canal seguro, todo o restante do processo pode passar a ser realizado utilizando algoritmos de chave simétrica, o que diminui potencialmente a necessidade do poder computacional, permitindo seu uso em uma comunicação mais intensa. Tipos de Criptografia Combinação dos Tipos - Assimétrica + Simétrica 27
  • 28. Tipo Vantagem Desvantagem Chave Simétrica Velocidade: geralmente muito mais rápidos do que os assimétricos - cifrar grande quantidade de dados em pouco tempo. Confidencialidade e privacidade mantendo os dados relativamente seguros. As chaves geralmente são pequenas permitindo gerar cifradores bastantes "enxutos". Necessidade do compartilhamento da chave. Não permite autenticação do remetente, assim, qualquer pessoa que possuir a chave poderá mandar uma mensagem criptografada. Chave Assimétrica Garantia de sigilo ou autoria dos dados, já que não há necessidade de compartilhamento da chave (privada). Velocidade: algoritmos geralmente muito mais lentos do que os simétricos. Hash Computacionalmente simples de ser calculada. Oferece agilidade nas assinaturas digitais. Garante a integridade do conteúdo da mensagem que representa. Alta complexidade de tempo na etapa de descriptografar os dados. Simétrica + Assimétrica Ganho de velocidade com uso da Criptografia Simétrica. Ganho de segurança com a não necessidade de compartilhamento da chave. Tipos de Criptografia Vantagens e Desvantagens 28
  • 29. ➔ Atualmente, o sistema mais comum (RSA) baseia-se na fatorização de números, porém com a constante evolução tecnológica e o desenvolvimento de computadores quânticos é possível que num futuro próximo a fatorização de números primos de grandes dimensões seja processada muito mais rapidamente, tornando este método de criptografia pouco viável. ➔ Todos os métodos de criptografia seguros atuais tem sua segurança garantida devido a capacidade de computação limitada de um suposto organismo invasor. ❖ A criptografia quântica utiliza os princípios da Mecânica Quântica para garantir uma comunicação segura. Com ela, emissor e receptor podem criar e partilhar uma chave secreta para criptografar e decifrar suas mensagens. ❖ A criptografia quântica só será utilizada para produzir e distribuir as chaves, não para transmitir a mensagem. ❖ A chave gerada poderá ser utilizada com qualquer algoritmo de criptografia escolhido. ❖ O algoritmo mais comumente associado com a criptografia quântica é o one-time pad. Futuro da Criptografia 29
  • 30. É uma técnica de criptografia que não pode ser quebrada se utilizada corretamente. É uma técnica de criptografia simétrica. Consiste num algoritmo em que o texto original é combinado, caractere por caractere, a uma chave secreta aleatória com, no mínimo, o mesmo número de caracteres do purotexto. Para garantir que a criptografia seja segura, a chave só deve ser usada uma única vez, sendo imediatamente destruída após o uso. Foi primeiramente descrita pelo banqueiro e criptografista Frank Miller em 1882. Em 1917 foi reinventada e, poucos anos depois, registada. Futuro da Criptografia 30 One-time Pad - Chave de uso único
  • 31. Em 1949, Claude Shannon em seu trabalho a "Communication Theory of Secrecy Systems", em tempos de guerra, sobre a teoria matemática de criptografia, no qual ele provou que todas as cifras teoricamente inquebráveis devem ter os mesmos requisitos que a one-time pad. Se a chave for verdadeiramente aleatória, nunca reutilizada, e mantida em segredo: ➔ a cifra de uso único é indecifrável. Futuro da Criptografia 31 One-time Pad - Chave de uso único
  • 32. ➔ Nem sempre uma chave criptográ fica menor significa um menor tempo de encriptaç ão. ➔ Algoritmos criptográ ficos simétricos modernos quase sempre são mais rá pidos em suas operaç ões que os antigos padrões. ➔ Algoritmo mais usado, o RSA, tem sua garantia de segurança destruída com a Computação Quântica. ➔ Destaque para as características da chave propostas pelo One-time Pad, que a tornam "inquebrável". ➔ Uma solução: uso dos dois tipos de criptografia, Simétrica + Assimétrica, aproveitando as vantagens de ambos. Conclusões 32
  • 33. [1].http://www.ecnsoft.net/wp-content/plugins/downloads-manager/upload/Artigo%20-%20DESEMPENHO%20DE% 20ALGORITMOS%20CRIPTOGRAFICOS%20SIMETRICOS%20PARA%20GRANDES%20VOLUMES%20DE%20DADOS.pdf [2] http://www.dsc.ufcg.edu.br/~pet/jornal/abril2014/materias/historia_da_computacao.html [3] https://nunojob.wordpress.com/2008/02/19/introducacao-a-criptografia-one-time-pad/ [4] http://www.dsc.ufcg.edu.br/~pet/jornal/abril2014/materias/historia_da_computacao.html [5] http://www3.iesam-pa.edu.br/ojs/index.php/sistemas/article/viewFile/501/401 [6] http://www.gta.ufrj.br/grad/07_1/ass-dig/TiposdeCriptografia.html [7] http://www.techtudo.com.br/artigos/noticia/2012/06/o-que-e-criptografia.html [8] http://pt.kioskea.net/contents/132-introducao-a-codificacao-des [9] http://www.numaboa.com.br/criptografia/bloco/336-idea Bibliografia 33
  • 34. [10] http://pt.wikipedia.org/wiki/RC4 [11] http://pt.wikipedia.org/wiki/Matriz_de_permutação [12] http://pt.wikipedia.org/wiki/One-time_pad [13] http://www.numaboa.com.br/criptografia/chaves/350-rsa [14] http://pt.wikipedia.org/wiki/Claude_Shannon [15] http://searchsecurity.techtarget.com/definition/one-time-pad [16] http://pt.wikipedia.org/wiki/One-time_pad Bibliografia 34