Buscar

introducao criptografia

Prévia do material em texto

Introdução a Criptografia
Prof. Emerson Alberto Marconato
Criptografia
“Criptografia é um conjunto de Técnicas para cifrar ou
decifrar informações por meio de um algoritmo,
convertendo um texto original em um texto ilegível,
sendo possível mediante o processo inverso
recuperar as informações originais”recuperar as informações originais”
Texto Cifrado
Texto Claro
Algoritmo
Criptográfico
Alguns termos utilizados na criptografia
Texto legível (texto claro, texto original, texto simples)
Texto Ilegível (cifra, texto cifrado, texto código, 
criptograma)
Encriptar (codificar, criptografar, cifrar)
Algoritmo criptográfico: seqüência de procedimentos Algoritmo criptográfico: seqüência de procedimentos 
matemáticos capaz de cifra/decifrar informações.
Criptologia: Estudo dos princípios, métodos e meios de 
ocultar informações.
Criptoanálise: ciência que abrange os princípios, 
métodos e meios para se chegar à decriptação de 
um criptograma. 
Criptografia – Breve Histórico
Antiga quanto a própria Escrita (Egípcios/Romanos)
1900a.C., um escriba teve a idéia de substituir palavras
para que se um ladrão encontra-se pergaminho não
encontraria o tesouro e morreria de fome nas pirâmides.
50 a.C., Cesar com sua cifra de substituição cifrou
documentos/segredos governamentais.
50 a.C., Cesar com sua cifra de substituição cifrou
documentos/segredos governamentais.
1901, início da era da comunicação sem fio (desafio de
proteção).
1921 – primeira máquina eletromecânica de cifragem
(Heber Electric Code)
1933-1945 – Máquina Enigma(Alemanha nazista),
quebrado por um matemático polonês
Criptografia – Breve Histórico
1943, Máquina Colossus (quebra códigos)
1976, Diffie-Hellman – algoritmo de Chave Pública
1976 , Lucifer (DES) – IBM, 56 bits de chave
1977-1978, RSA (Rivest) 
1990, IDEA, 128 bits de chave
1991, PGP, sistema de segurança para usuários comuns
1994, RC4,RC5
1997, DES é quebrado (14.000 computadores) 
1998, DES quebrado em 56 Horas
1999, DES quebrado em 22 horas (Disbributed.Net -100 mil 
Computadores pessoais) 
2000-2001 – AES (novo padrão)
Criptografia – Breve Histórico
Máquina Enigma
Importância da criptografia 
A maioria dos documentos e informações atualmente 
encontra-se no formato digital.
Internet
2016 – 3,2 bilhões de usuário no mundo (segundo o 
Facebook)Facebook)
55% dos ataques são de pessoas da própria empresa
Importância da criptografia 
O que os SOs podem oferecer de proteção?
Normalmente a proteção do S.O é por meio de Login, onde 
temos um administrador do sistema responsável pela criação 
dos demais usuários.
Infelizmente existem alguns ataques eficientes contra esse Infelizmente existem alguns ataques eficientes contra esse 
tipo de proteção:
Ataques contra senhas: Os sistemas operacionais vem 
com um usuário de administrador padrão e o mesmo login
é utilizado pra realizar todas as operações mo sistema. 
Assim o invasor se tiver competência poderá utilizar 
técnicas de capturas de senhas ou software de testes 
exaustivos de senhas até descobrir a senha correta. 
Importância da criptografia
Ataque de recuperação de dados: O SO organiza as
informações em arquivos e diretórios. Contudo, não
deixam de ser bits eletrônicos que podem ser acessados
sem a utilização do SO. Capturando os bits brutos,
esses podem ser interpretados posteriormente.
Ataque de reconstrução de memória: Uma vezAtaque de reconstrução de memória: Uma vez
que uma informação é armazenada na memória
por algum aplicativo somente este pode manipular
esses dados. Mas após a execução o SO
simplesmente libera a área de memória utilizada, e
o invasor poderá alocar a mesma área e examinar
as informações manipuladas.
Importância da criptografia
Como proteger as informações?
Utilizando criptografia
É importante salientar que a criptografia não é a única É importante salientar que a criptografia não é a única 
ferramenta para proteção de um sistema, além disso ela 
não é a prova de falhas.
Toda criptografia pode ser quebrada!
Dados X Informações
Informações: seqüência de bits/caracteres capaz de ser 
interpretada e agregam um valor, ou seja tenha algum 
sentido. (uma carta, um banco de dados, uma panilha, 
etc).
Dados: seqüência de bits/caracteres que não possuem Dados: seqüência de bits/caracteres que não possuem 
significado ou valor na forma como esta sendo 
apresentada. (caracteres aleatórios, texto cifrados, etc) 
“Desta forma, nosso objetivo principal é transformar 
informações em dados cifrados.”
Esteganografia
A Esteganografia esconde as mensagens através de 
artifícios, por exemplo imagens ou um texto que tenha 
sentido mas que sirvam apenas de suporte. 
Marcação de caracteresMarcação de caracteres
Tinta Invisível
Pequenos furos no papel
Moderna Esteganografia
Uso de bits não significativos
Área não usada
Esteganografia (Banco Nacional Suíço )
Softwares de Esteganografia
Existem dezenas (pagos e gratuitos) - alguns até on-line 
Existem alguns sites na Internet dedicados ao tema. 
Um bom é o http://www.stegoarchive.com. 
Existem softwares pequenos (<1Mb que podem ser 
baixados para teste)
Algoritmos Criptográficos Antigos
Cifra de César (código de César). 
Origem: Usada pelo imperador romano Júlio César 
em 50 a.C
Classe: Substituição Simples.Classe: Substituição Simples.
Características: Reversível: uma cifragem dupla 
devolve a mensagem original.
Segurança: Baixíssima
Uso: Em textos muito curtos
Algoritmos Criptográficos Antigos
Cifra de César (código de César).
Cada letra da mensagem original era substituída pela letra que a 
seguida em três posições no alfabeto: a letra A era substituída por 
D, a B por E, e assim até a última letra.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
DEFGHIJKLMNOPQRSTUVWXYZABC
Ex: MARCONATO PDUFRQDWR
SISTEMAS VLVWHPDV
Cifra de César (código de César).
Problemas
Ex: CASA – FDVD letras iguais geram a mesma cifra A sempre será D no 
criptograma.
Conhecido o algoritmo qualquer pessoa pode decodificar!
Algoritmo: 
Para i =0 até o tamanho da String faça 
Cifra = String(i) + 3 posiçõesCifra = String(i) + 3 posições
Exercícios: 
1) Usando o algoritmo de CESAR cifrar as informações a seguir:
a) A A A B B B C C C
b) S I S T E M A S D E I F O R M C A O
c) 7 S E M E S T R E
d) R $ 3, 5 0 
Cifra de César (código de César).
2) Decifrar os seguintes dados:
a) FULSWRJUDILD
b) VHJXUDQFD
c) VDR SDXOR
d) WULFRORUd) WULFRORU
Cifra de César (melhorada V1).
Por que apenas 3 deslocamentos?
Para que revelar o valor do deslocamento? 
Pode-se facilmente melhorar a cifra de César 
adicionando um deslocamento não conhecido. adicionando um deslocamento não conhecido. 
Dificultando o invasor, pois mesmo que esse conheça a 
cifra não sabe qual o deslocamento utilizado.
Exemplo: Claro Desloc. Cifra
F A B I O 3 I D E L R
F A B I O 5 K F G N T
Cifra de César (melhorada V1).
Exercícios
1) Cifrar conforme o deslocamento : 
SISTEMAS (desloc 4) 
SISTEMAS (desloc 6)
C R I P T O G R A F I A (desloc 5)C R I P T O G R A F I A (desloc 5)
C I F R A D E C E S A R (desloc 2)
2) Decifrar conforme o deslocamento
XZUWJXF (R: SUPRESA) (desloc 5)
BMABM (R: TESTE) (desloc. 8)
VGORGUVCFG (R: TEMPESTADE) (desloc 2)
Cifra de César (melhorada V1).
3) Decifrar
TIRXEKSRS PENTAGONO com desl. de 4
KPHQTOCECQ INFORMACAO com desl. de 2
XJHWJYT SECRETO com desl. de 5
4) Para aumentar a segurança de César. Podemos 
aplicar a cifra em cima da cifra. Isso funciona?
EX: 
textoOriginal cifra(cesar) cifra1 cifra(cesar) cifra2
textoOriginadecifra(cesar) cifra1decifra(cesar) cifra2
Cifra de César (melhorada V2).
Mesmo com a melhoria aplicada a cifra de César ainda 
assim este é vulnerável, pois pode-se identificar 
facilmente as vogais em um texto.
A R A R A Q U A R A D U D U D T X D U DA R A R A Q U A R A D U D U D T X D U D
A e R são repetidos várias vezes, sendo possível 
visualizar isso no texto cifrado. 
Como acabar com esse problema?
Outras Chaves
Toda cifra que apresenta uma substituição com 
deslocamento fixo é chamadaCifra de César;
Exemplo => Chave = 10:
ALGORITMO: KVQYBSDWYALGORITMO: KVQYBSDWY
COMPUTADOR: MYWZEDKNYB
Com Ajuda de Tabela Matemática
Suponha chave = 7;
Para cifrar a letra E (4) = 4 + 7 = 11 (L);
Computacionalmente é indicado usar a Tabela ASCII
A tabela ASCII
Cifra de César - Implementação
Escreva um algoritmo para implementar a criptografia 
utilizando a Cifra de César:
Algoritmo Cesar
variavel palavra,cifrado: texto;
i, chave: inteiro;i, chave: inteiro;
ler palavra;
ler chave;
para i de 1 até tamanho_palavra
cifrado[i] = palavra[i]+chave;
mostrar cifrado;
Fim.
Substituição Simples
Baseado em tabela de substituição;
Troca-se as letras da primeira linha pelas letras da 
segunda linha;
As letras da segunda linha são selecionadas 
aleatoriamente (chave da substituição);aleatoriamente (chave da substituição);
Possível obter 26! combinações de chave:
=> 26! = 403291461126605635584000000.
Substituição Simples
Exemplos utilizando a tabela acima:
ALGORITMO = IPMGBAEZG
COMPUTADOR = KGZTOEIRGB
CARAGUATATUBA = KIBIMOIEIEONI
Substituição Simples - Implementação
Escreva um algoritmo para implementar a criptografia 
utilizando a Substituição Simples:
Algoritmo Simples
variavel palavra,cifrado, chave: texto;
i: inteiro;i: inteiro;
ler palavra;
para i de 1 até tamanho_palavra
cifrado[i] = chave[palavra[i]];
mostrar cifrado;
Fim.
Substituição Simples – Decriptografia
Calcular a chave inversa:
Chave original:
Chave inversa:
Cifra de Vigenère
Cada letra é representada por um inteiro;
Chave é uma sequência de N letras;
Para cifrar, soma-se o valor da letra com o valor da 
chave para uma determinada posição;
Cifra de Vigenère
Exemplo: CARAGUATATUBA
Chave: CRIPTO
Cifra de Vigenère - Exercícios
Exercício – Gere as cifras para as palavras usando a 
chave: “CHAVE”
CRIPTOGRAFIA
UNIVEM
CARAGUATATUBACARAGUATATUBA
Decifre a palavra:
CSGJVKAMJ
Cifra de Vigenère - Soluções
CRIPTOGRAFIA: EYIKXQNRVJKH
UNIVEM: WUIQIO
CARAGUATATUBA: EHRVKWHTVXWIA
CSGJVKAMJ: ALGORITMOCSGJVKAMJ: ALGORITMO
Cifra de Vigenère - Algoritmo
Escreva um algoritmo para implementar a Cifra de 
Vigenère:
Algoritmo Vigenere
variavel palavra,cifrado,chave:texto;
i, tam: inteiro;i, tam: inteiro;
ler palavra;
ler chave;
para i de 1 até tamanho_palavra
cifrado[i]=palavra[i]+chave[i mod tam];
mostrar cifrado;
Fim.
Introdução a Criptoanálise
Tente decifrar o seguinte texto:
TFD F TIVJTZDVEKF URJ IVUVJ UV TFDGLKRUFIVJ V R
TFEJVHLVEKV EVTVJJZURUV UV GIVJVIMRI RJ
ZEWFIDRTFVJ HLV KIRWVXRD EVCRJ TIZFL JV LDRZEWFIDRTFVJ HLV KIRWVXRD EVCRJ TIZFL JV LDR
XIREUV MRIZVURUV UV RCXFIZKDFJ UV
TIZGKFXIRWZR TFD TRIRTKVIZJKZTRJ V FSAVKZMFJ
UZWVIVEKVJ KFIEREUF R VJTFCYR UF RCXFIZKDF
ZUVRC LDR KRIVWR ERF DLZKF JZDGCVJ
Agradecimentos
Prof. Rodolfo Barros Chiaramonte;
Prof. Edward D. Moreno;
Prof. Fábio D. Pereira;

Continue navegando