SlideShare uma empresa Scribd logo
Criptografia: matemática e lógica computacionalCriptografia: matemática e lógica computacional
protegendo informaçõesprotegendo informações
Alex Camargo
alexcamargoweb@gmail.com
DIA INTERNACIONAL DE SEGURANÇA EM INFORMÁTICA
UNIVERSIDADE FEDERAL DO PAMPA
CAMPUS BAGÉ
Bagé/2015
I - Apresentação
Formação acadêmica:
 Bacharel em Sistemas de Informação (URCAMP, 2010)
TCC: Web sistema integrado a uma rede social para academias
de ginástica
Orientador: Prof. Abner Guedes
 Especialista em Sistemas Distribuídos com Ênfase em
Banco de Dados (UNIPAMPA, 2013)
TCC: Interligando bases de dados do sistema Controle de Marcas
e Sinais utilizando o MySQL Cluster
Orientadores: Prof. Érico Amaral e Prof. Rafael Bastos
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
I - Apresentação
Formação acadêmica:
 Mestrando em Engenharia de Computação (FURG, 2017)
Dissertação: Um estudo sobre ferramentas para a identificação
e previsão de mutações em estruturas de proteínas
Orientador: Profa. Karina dos Santos Machado
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
I - Apresentação
Experiência profissional:
 Programador Web e DBA
Local: Prefeitura Municipal de Bagé
Setor: Núcleo de Tecnologia da Informação - NTI
 Professor
Local: Capacitar Escola Técnica
Disciplinas: Banco de Dados e Análise de Sistemas
 Professor
Local: Universidade Federal do Pampa - UNIPAMPA
Disciplinas: Algoritmos e Programação, Laboratório de
Programação I e Laboratório de Programação II
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
I - Apresentação
Experiência profissional:
 Bolsista na modalidade mestrado
Local: Universidade Federal do Rio Grande – FURG
Projeto: Bioinformática Estrutural de Proteínas: modelos,
algoritmos e aplicações biotecnológicas
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
II. Pré-requisitos
Características esperadas (não obrigatórias):
 Conhecimentos gerais em programação.
 Experiência em ambientes Linux (pode ajudar).
 Interesse em aprender coisas novas.
"Aprender o que eu já sei não tem graça." - Prof. Gerson Leiria
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
III. Objetivos
Objetivos desta palestra:
 Compreender técnicas básicas de Criptografia.
 Explorar algoritmos em diferentes abordagens.
 Motivar o uso consciente de cifras.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
IV. Sumário
1. O que é Criptografia?
- 1.1. Introdução
- 1.2. História
1.2.1. Cifra de César
1.2.2. Enigma
- 1.3. Categorias
1.3.1. Cifras de Substituição
1.3.2. Cifras de Transposição
2. Técnicas de Criptografia
- 2.1. Introdução
- 2.2. Criptografia Simétrica
2.2.1. DES
- 2.3. Criptografia Assimétrica
2.3.1. RSA
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
IV. Sumário
- 2.4. Criptografia Hash
2.4.1. MD5
3. Criptografia na prática
- 3.1. Criptografando dados no MySQL
- 3.2. Criptografando dados com PHP
4. Desafios
- 4.1. Exercício sobre substituição
- 4.2. Exercício sobre transposição
- 4.3. Exercício final
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
1. O que é Criptografia?
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
1.1. Introdução
A Criptografia é a ciência que estuda formas de se escrever e
ler uma mensagem através de códigos.
 Privacidade: proteção contra o acesso de intrusos.
 Autenticidade: certificação de autoria.
 Integridade: impedimento de modificação não autorizada.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Processos de cifragem e decifragem
1.2. História
A palavra criptografia deriva da junção das palavras gregas
kriptos (secreto, oculto) e grifo (grafia).
 Passado: largamente utilizada em guerras e conflitos.
 Atualmente: usado para proteger informações digitais.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
1.2. História
A palavra criptografia deriva da junção das palavras gregas
kriptos (secreto, oculto) e grifo (grafia).
 Passado: largamente utilizada em guerras e conflitos.
 Atualmente: principal meio para proteger informações
digitais.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Telegrama criptografado de 1917 Figura. Senha de um usuário criptografada
1.2.1. Cifra de César
O primeiro relato de um algoritmo de criptografia que se tem
é conhecido como algoritmo de César, usado pelo imperador Júlio
César na Roma Antiga.
 Algoritmo de substituições alfabéticas no texto da
mensagem.
 Três posições a frente no alfabeto.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Cifra de César básica
1.2.1. Cifra de César
O primeiro relato de um algoritmo de criptografia que se tem
é conhecido como algoritmo de César, usado pelo imperador Júlio
César na Roma Antiga.
 Algoritmo de substituições alfabéticas no texto da
mensagem.
 Três posições a frente no alfabeto.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Cifra de César melhorada
1.2.2. Enigma
Após a Primeira Guerra Mundial, o alemão Scherbuis criou a
máquina Enigma, o que revolucionou o mundo da criptografia.
 Os três cilindros podiam permutar entre si, temos 3! = 6.
 Cada um dos três cilindros podia ser regulado de vinte e seis
maneiras diferentes, o que dá 263 = 17576 combinações.
 Era possível trocar seis pares de letras a partir das vinte e seis
do alfabeto, gerando, aproximandamente 1 bilhão de
combinações diferentes.
 Por fim, o número de chaves era dado por:
17576 × 6 × 100391791500 ≃ 1 zilhão.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
1.2.2. Enigma
Após a Primeira Guerra Mundial, o alemão Scherbuis criou a
máquina Enigma, o que revolucionou o mundo da criptografia.
 Os três cilindros podiam permutar entre si, temos 3! = 6.
 Cada um dos três cilindros podia ser regulado de vinte e seis
maneiras diferentes, o que dá 263 = 17576 combinações.
 Era possível trocar seis pares de letras a partir das vinte e seis
do alfabeto, gerando, aproximandamente 1 bilhão de
combinações diferentes.
 Por fim, o número de chaves era dado por:
17576 × 6 × 100391791500 ≃ 1 zilhão.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Máquina Enigma
1.2.2. Enigma
Após a Primeira Guerra Mundial, o alemão Scherbuis criou a
máquina Enigma, o que revolucionou o mundo da criptografia.
 Os três cilindros podiam permutar entre si, temos 3! = 6.
 Cada um dos três cilindros podia ser regulado de vinte e seis
maneiras diferentes, o que dá 263 = 17576 combinações.
 Era possível trocar seis pares de letras a partir das vinte e seis
do alfabeto, gerando, aproximandamente 1 bilhão de
combinações diferentes.
 Por fim, o número de chaves era dado por:
17576 × 6 × 100391791500 ≃ 1 zilhão.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Máquina Enigma: diagrama simplificado
1.2.3. Outros exemplos
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Disco de Alberti (1466)
1.2.3. Outros exemplos
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Alfabetos de cifra de Della Porta (1563)
1.2.3. Outros exemplos
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Cilindro de Jefferson (1795)
1.3. Categorias
Os métodos de criptografia são divididos em duas categorias:
 Cifras de substituição.
 Cifras de transposição.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
1.3.1 Cifras de Substituição
Nas cifras de substituição cada grupo de letras é substituído
por outro grupo de letras.
 Substituindo as letras da palavra "paz" pela correspondente
resultaria em "HQN".
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Cifras de substituição
1.3.2 Cifras de Transposição
As cifras de transposição utilizam o princípio de mudança da
ordem das letras da mensagem a ser enviada.
 No exemplo acima, a chave serve de apoio para enumerar as
colunas na ordem alfabética crescente das letras.
 O texto é lido na vertical, resultando em:
"ndtnmidcaoerlnnoineohaet"
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Cifras de transposição
2. Técnicas de Criptografia
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
2.1. Introdução
Os processos de cifragem e decifragem de dados são
realizados através de algoritmos criptográficos específicos:
 Chaves simétricas.
 Chaves assimétricas.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
2.2. Criptografia Simétrica
A criptografia simétrica utiliza apenas uma chave para
codificar e decodificar uma mensagem.
 Foi o primeiro tipo de criptografia criado.
 É usada em transmissões de dados em que não é necessário
um grande nível de segurança.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
2.2. Criptografia Simétrica
A criptografia simétrica utiliza apenas uma chave para
codificar e decodificar uma mensagem.
 Foi o primeiro tipo de criptografia criado.
 É usada em transmissões de dados em que não é necessário
um grande nível de segurança.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Criptografia simétrica
2.2.1. DES
O Data Encryption Standard (DES) é um padrão criptográfico
criado em 1977 através de uma licitação aberta pela antiga
National Security Agency (NSA).
 Tanto o algoritmo quanto a chave são simétricos.
 A estrutura do funcionamento do DES pode ser dividida em três
partes: permutação inicial, cifragens com operações de
chave e permutação final.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
2.2.1. DES
O Data Encryption Standard (DES) é um padrão criptográfico
criado em 1977 através de uma licitação aberta pela antiga
National Security Agency (NSA).
 Tanto o algoritmo quanto a chave são simétricos.
 A estrutura do funcionamento do DES pode ser dividida em três
partes: permutação inicial, cifragens com operações de
chave e permutação final.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Ciclo do DES
2.3. Criptografia Assimétrica
A criptografia assimétrica é baseada no uso de pares de
chaves para cifrar/decifrar mensagens.
 As duas chaves são relacionadas através de um processo
matemático de dificíl decifragem via ataque.
 Este método é também conhecido como criptografia de
chaves públicas.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
2.3. Criptografia Assimétrica
A criptografia assimétrica é baseada no uso de pares de
chaves para cifrar/decifrar mensagens.
 As duas chaves são relacionadas através de um processo
matemático.
 Este método é também conhecido como criptografia de
chaves públicas.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Criptografia assimétrica
2.3.1. RSA
O algoritmo RSA é assim denominado devido ao sobrenome de
seus autores, Ronald Rivest, Adi Shamir e Leonard Adleman, cujo
trabalho foi primeiramente publicado em abril de 1977.
 A segurança se baseia na dificuldade de fatorar números
extensos.
 A fatoração de um número de 200 dígitos requer 4 milhões de
anos para ser processada.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
2.3.1. RSA
O algoritmo RSA é assim denominado devido ao sobrenome de
seus autores, Ronald Rivest, Adi Shamir e Leonard Adleman, cujo
trabalho foi primeiramente publicado em abril de 1977.
 A segurança se baseia na dificuldade de fatorar números
extensos.
 A fatoração de um número de 200 dígitos requer 4 milhões de
anos para ser processada.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Algoritmo RSA
2.4. Criptografia Hash
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.
 Função matemática que refina toda a informação de um
arquivo em um único pedaço de dados de tamanho fixo.
 Em geral, entra-se com os dados a serem "digeridos" e o
algoritmo MD gera um hash de 128 ou 160 bits.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
2.4.1. MD5
É uma função inventada por Ron Rivest, do MIT. Foi
inicialmente proposto em 1991, após alguns ataques de
criptoanálise terem sidos descobertos contra a função MD4.
 Este algoritmo produz um valor hash de 128 bits.
 Foi projetado para ser rápido, simples e seguro.
 Seus detalhes são públicos e analisados pela comunidade de
criptografia.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
2.4.1. MD5
É uma função inventada por Ron Rivest, do MIT. Foi
inicialmente proposto em 1991, após alguns ataques de
criptoanálise terem sidos descobertos contra a função MD4.
 Este algoritmo produz um valor hash de 128 bits.
 Foi projetado para ser rápido, simples e seguro.
 Seus detalhes são públicos e analisados pela comunidade de
criptografia.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. MD5 Encrypter: http://www.md5online.org/md5-encrypt.html
3. Criptografia na prática
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
3.1. Criptografando dados
no MySQL
O MySQL, a partir da versão 4.1, atualizou seu padrão de
senhas hash proporcionando uma melhor segurança e redução nos
riscos das senhas serem decifradas por ataques.
 Diferente formato dos valores de senha produzidos pela função
PASSWORD().
 Aumento no tamanho da string gerada (de 16 para 41 bytes).
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
3.1. Criptografando dados
no MySQL
O MySQL, a partir da versão 4.1, atualizou seu padrão de
senhas hash proporcionando uma melhor segurança e redução nos
riscos das senhas serem decifradas.
 Diferente formato dos valores de senha produzidos pela função
PASSWORD().
 Aumento no tamanho da string gerada (de 16 para 41 bytes).
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. MySQL: descrição da tabela
3.1. Criptografando dados
no MySQL
O MySQL, a partir da versão 4.1, atualizou seu padrão de
senhas hash proporcionando uma melhor segurança e redução nos
riscos das senhas serem decifradas.
 Diferente formato dos valores de senha produzidos pela função
PASSWORD().
 Aumento no tamanho da string gerada (de 16 para 41 bytes).
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. MySQL: inserção de um registro
3.1. Criptografando dados
no MySQL
O MySQL, a partir da versão 4.1, atualizou seu padrão de
senhas hash proporcionando uma melhor segurança e redução nos
riscos das senhas serem decifradas.
 Diferente formato dos valores de senha produzidos pela função
PASSWORD().
 Aumento no tamanho da string gerada (de 16 para 41 bytes).
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. MySQL: exibindo a coluna senha encriptada
3.2. Criptografando dados
com PHP
A função crypt(), nativa do PHP, retorna uma string
criptografada usando o algoritmo de encriptação Unix Standard
DES-based ou algoritmos alternativos disponíveis no sistema.
 Sintaxe: string crypt ( string $str [, string $salt ] )
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
3.2. Criptografando dados
com PHP
A função crypt(), nativa do PHP, retorna uma string
criptografada usando o algoritmo de encriptação Unix Standard
DES-based ou ou algoritmos alternativos disponíveis no sistema.
 Sintaxe: string crypt ( string $str [, string $salt ] )
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. crypt: Encriptação unidirecional de string (hashing)
3.2. Criptografando dados
com PHP
A função crypt(), nativa do PHP, retorna uma string
criptografada usando o algoritmo de encriptação Unix Standard
DES-based ou ou algoritmos alternativos disponíveis no sistema.
 Sintaxe: string crypt ( string $str [, string $salt ] )
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. crypt: Encriptação unidirecional de string (hashing)
4. Desafios
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
4.1. Exercício sobre substituição
1. Implementar um programa que faça a encriptação e
desencriptação de um texto digitado pelo usuário utilizando a
técnica de substituição.
Exemplo:
unipampa = vojqbnqb
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
4.1. Exercício sobre substituição
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Desafio sobre substituição: gabarito
4.1. Exercício sobre substituição
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Desafio sobre substituição: gabarito
4.1. Exercício sobre substituição
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Desafio sobre substituição: gabarito
4.1. Exercício sobre substituição
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Desafio sobre substituição: gabarito
4.1. Exercício sobre substituição
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Desafio sobre substituição: gabarito
Figura. Desafio sobre substituição: gabarito
4.2. Exercício sobre transposição
1. Implementar um programa que faça a encriptação e
desencriptação de um texto digitado pelo usuário utilizando a
técnica de transposição.
Exemplo:
unipampa = nupiamap
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
4.2. Exercício sobre transposição
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Desafio sobre transposição: gabarito
4.2. Exercício sobre transposição
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Desafio sobre transposição: gabarito
4.2. Exercício sobre transposição
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Desafio sobre transposição: gabarito
4.2. Exercício sobre transposição
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Desafio sobre transposição: gabarito
4.2. Exercício sobre transposição
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Figura. Desafio sobre transposição: gabarito
Figura. Desafio sobre transposição: gabarito
4.3. Exercício final
1. Escreva uma função que receba como parâmetro um texto e
faça a sua cifragem usando a seguinte regra. Para toda letra do
texto, de acordo com sua posição em cada vetor, atribua a letra
que estiver 13 posições depois do mesmo vetor. Imprima a frase
criptografada que deve ser exibida em grupos de 5 letras. O último
grupo deve ser completado com 000 se contiver menos de 5 letras.
Escreva outra função que exiba a frase desencriptada. A
implementação deve fazer o uso de arquivos texto.
Considere o alfabeto = " ", A, B, C ... K ... X, Y, Z contendo 27
caracteres.
Exemplo:
AGORA = FMTWF
TUDO BEM = YZITE GJR00
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
V. Agradecimentos
CAPES (Coordenação de Aperfeiçoamento de Pessoal de Nível
Superior.
 Profa. Karina Machado (FURG)
 Prof. Érico Amaral (UNIPAMPA)
 Prof. Rafael Bastos (IDEAU)
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
VI. Contato
FURG - Campus Carreiros - Av. Itália, KM 8 - Rio Grande/RS
 Centro de Ciências Computacionais - Laboratório LAMSA
 Grupo de Pesquisa em Biologia Computacional
http://www.biologiacomputacional.c3.furg.br/
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
VII. Referências
ALMEIDA, Mendes et al. Criptografia em sistemas distribuídos. Sistemas de Informação
& Gestão de Tecnologia., n. 1, 2010.
CARVALHO, Jade; COELHO, Isadora. Criptografia - Sistemas Distribuídos. Disponível
em: <http://pt.slideshare.net/IsadoraMartiniCoelho/seminario-de-sd-criptografia>.
Acesso em: Ago/2015.
CAVALCANTE, André LB. Teoria dos números e criptografia. Revista Virtual, 2005.
FIARRESGA, Victor Manuel Calhabrês. Criptografia e matemática. Dissertação de
Mestrado. Faculdade de Ciências da Universidade de Lisboa, 2010.
GIMENEZ, José Roberto Bollis. Implementação do algoritmo RSA. 2011.
GTECH. Programação em C/C++ - Aula 36, 37 E 38. Disponível em:
<http://gtechinfor.com.br/ >. Acesso em: Ago/2015.
HINZ, Marco Antônio Mielke. Um estudo descritivo de novos algoritmos de criptografia.
Monografia de Graduação. Universidade Federal de Pelotas, 2010.
MOREIRA, Vinícius Fernandes; Criptografia para Dispositivos Móveis. Monografia de
Graduação. Faculdade de Tecnologia de São José dos Campos, 2010.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
VII. Referências
MYSQL. MySQL 5.1 Reference Manual. Disponível em:
<https://dev.mysql.com/doc/refman/5.1/en/password-hashing.html>. Acesso em:
Ago/2015.
OLIVEIRA, Ronielton Rezende. Criptografia simétrica e assimétrica: os principais
algoritmos de cifragem. Revista Segurança Digital, Brasília, v. 2, n. 3, p. 21-24, 2012.
PEREIRA, F. C. Criptografia Temporal: Aplicação Prática em Processos de Compra.
Dissertação de Mestrado. Universidade Federal de Santa Catarina, 2003.
PHP. Manual do PHP - Crypt. Disponível em:
<http://php.net/manual/pt_BR/function.crypt.php>. Acesso em: Ago/2015.
RIBEIRO, Vinicius Gadis. Um Estudo Comparativo entre algoritmos de criptografia DES–
Lucifer (1977) e AES–Rijndael (2000). In: VII Congreso Argentino de Ciencias de la
Computación. 2001.
TRINTA, Fernando Antônio Mota; MACÊDO, Rodrigo Cavalcanti de. Um Estudo sobre
Criptografia e Assinatura Digital. Pernambuco: Universidade Federal de Pernambuco
(UFPE), 1998.
Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
Criptografia: matemática e lógica computacionalCriptografia: matemática e lógica computacional
protegendo informaçõesprotegendo informações
OBRIGADO!
Slideshare: alexcamargoweb
Guide me in your truth and teach me, for you are God my
Savior, and my hope is in you all day long. Psalm 25:5
Bagé/2015

Mais conteúdo relacionado

Mais procurados

Suricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığıSuricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığı
Kurtuluş Karasu
 
Information Security Cryptography ( L02- Types Cryptography)
Information Security Cryptography ( L02- Types Cryptography)Information Security Cryptography ( L02- Types Cryptography)
Information Security Cryptography ( L02- Types Cryptography)
Anas Rock
 
Computer Security Lecture 3: Classical Encryption Techniques 2
Computer Security Lecture 3: Classical Encryption Techniques 2Computer Security Lecture 3: Classical Encryption Techniques 2
Computer Security Lecture 3: Classical Encryption Techniques 2
Mohamed Loey
 
18CS2005 Cryptography and Network Security
18CS2005 Cryptography and Network Security 18CS2005 Cryptography and Network Security
18CS2005 Cryptography and Network Security
Kathirvel Ayyaswamy
 
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere Cipher
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere CipherCaesar Cipher , Substitution Cipher, PlayFair and Vigenere Cipher
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere Cipher
Mona Rajput
 
методи за криптиране и декриптиране на данни
методи за криптиране и декриптиране на данниметоди за криптиране и декриптиране на данни
методи за криптиране и декриптиране на данниkgospodinova89
 
Cryptography
CryptographyCryptography
Cryptography
Pratiksha Patil
 
Cryptography and Network Security
Cryptography and Network SecurityCryptography and Network Security
Cryptography and Network Security
Ramki M
 
Unidad 5 - Criptografía
Unidad 5 - CriptografíaUnidad 5 - Criptografía
Unidad 5 - Criptografía
vverdu
 
Advanced cryptography and implementation
Advanced cryptography and implementationAdvanced cryptography and implementation
Advanced cryptography and implementation
Akash Jadhav
 
Cifrado de datos
Cifrado de datosCifrado de datos
Cifrado de datos
Carmen Sandoval
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Kathirvel Ayyaswamy
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
Uday Meena
 
Cryptography
CryptographyCryptography
Cryptography
IGZ Software house
 
Cryptography and Network Security
Cryptography and Network SecurityCryptography and Network Security
Cryptography and Network Security
Pa Van Tanku
 
Rsa
RsaRsa
Cryptography - An Overview
Cryptography - An OverviewCryptography - An Overview
Cryptography - An Overview
ppd1961
 
2. Stream Ciphers
2. Stream Ciphers2. Stream Ciphers
2. Stream Ciphers
Sam Bowne
 
Cryptography and Network security # Lecture 8
Cryptography and Network security # Lecture 8Cryptography and Network security # Lecture 8
Cryptography and Network security # Lecture 8
Kabul Education University
 
Encryption technology
Encryption technologyEncryption technology
Encryption technology
Neha Bhambu
 

Mais procurados (20)

Suricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığıSuricata ile siber tehdit avcılığı
Suricata ile siber tehdit avcılığı
 
Information Security Cryptography ( L02- Types Cryptography)
Information Security Cryptography ( L02- Types Cryptography)Information Security Cryptography ( L02- Types Cryptography)
Information Security Cryptography ( L02- Types Cryptography)
 
Computer Security Lecture 3: Classical Encryption Techniques 2
Computer Security Lecture 3: Classical Encryption Techniques 2Computer Security Lecture 3: Classical Encryption Techniques 2
Computer Security Lecture 3: Classical Encryption Techniques 2
 
18CS2005 Cryptography and Network Security
18CS2005 Cryptography and Network Security 18CS2005 Cryptography and Network Security
18CS2005 Cryptography and Network Security
 
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere Cipher
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere CipherCaesar Cipher , Substitution Cipher, PlayFair and Vigenere Cipher
Caesar Cipher , Substitution Cipher, PlayFair and Vigenere Cipher
 
методи за криптиране и декриптиране на данни
методи за криптиране и декриптиране на данниметоди за криптиране и декриптиране на данни
методи за криптиране и декриптиране на данни
 
Cryptography
CryptographyCryptography
Cryptography
 
Cryptography and Network Security
Cryptography and Network SecurityCryptography and Network Security
Cryptography and Network Security
 
Unidad 5 - Criptografía
Unidad 5 - CriptografíaUnidad 5 - Criptografía
Unidad 5 - Criptografía
 
Advanced cryptography and implementation
Advanced cryptography and implementationAdvanced cryptography and implementation
Advanced cryptography and implementation
 
Cifrado de datos
Cifrado de datosCifrado de datos
Cifrado de datos
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 
Cryptography
CryptographyCryptography
Cryptography
 
Cryptography and Network Security
Cryptography and Network SecurityCryptography and Network Security
Cryptography and Network Security
 
Rsa
RsaRsa
Rsa
 
Cryptography - An Overview
Cryptography - An OverviewCryptography - An Overview
Cryptography - An Overview
 
2. Stream Ciphers
2. Stream Ciphers2. Stream Ciphers
2. Stream Ciphers
 
Cryptography and Network security # Lecture 8
Cryptography and Network security # Lecture 8Cryptography and Network security # Lecture 8
Cryptography and Network security # Lecture 8
 
Encryption technology
Encryption technologyEncryption technology
Encryption technology
 

Destaque

Nota de aula seguranca da informacao - criptografia
Nota de aula   seguranca da informacao - criptografiaNota de aula   seguranca da informacao - criptografia
Nota de aula seguranca da informacao - criptografia
felipetsi
 
Criptografia
CriptografiaCriptografia
Criptografia
Paula P.
 
Kerberos
KerberosKerberos
Cronograma FDC
Cronograma FDCCronograma FDC
Cronograma FDC
Marcelo Soares
 
Conhecendo outras ferramentas de autenticação
Conhecendo outras ferramentas de autenticaçãoConhecendo outras ferramentas de autenticação
Conhecendo outras ferramentas de autenticação
Adriano Henrique
 
Criptografia - como utilizar
Criptografia - como utilizarCriptografia - como utilizar
Criptografia - como utilizar
Felipe Weckx
 
Conexões SSH com PHP
Conexões SSH com PHPConexões SSH com PHP
Conexões SSH com PHP
Felipe Weckx
 
Autenticação e autorização
Autenticação e autorizaçãoAutenticação e autorização
Autenticação e autorização
Douglas Aguiar
 
Autenticação e Controle de Acesso
Autenticação e Controle de AcessoAutenticação e Controle de Acesso
Autenticação e Controle de Acesso
Denis L Presciliano
 
Questões de-informática
Questões de-informáticaQuestões de-informática
Questões de-informática
jocaco
 
Criptografia Aplicada
Criptografia AplicadaCriptografia Aplicada
Criptografia Aplicada
Marcelo Martins
 

Destaque (11)

Nota de aula seguranca da informacao - criptografia
Nota de aula   seguranca da informacao - criptografiaNota de aula   seguranca da informacao - criptografia
Nota de aula seguranca da informacao - criptografia
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Kerberos
KerberosKerberos
Kerberos
 
Cronograma FDC
Cronograma FDCCronograma FDC
Cronograma FDC
 
Conhecendo outras ferramentas de autenticação
Conhecendo outras ferramentas de autenticaçãoConhecendo outras ferramentas de autenticação
Conhecendo outras ferramentas de autenticação
 
Criptografia - como utilizar
Criptografia - como utilizarCriptografia - como utilizar
Criptografia - como utilizar
 
Conexões SSH com PHP
Conexões SSH com PHPConexões SSH com PHP
Conexões SSH com PHP
 
Autenticação e autorização
Autenticação e autorizaçãoAutenticação e autorização
Autenticação e autorização
 
Autenticação e Controle de Acesso
Autenticação e Controle de AcessoAutenticação e Controle de Acesso
Autenticação e Controle de Acesso
 
Questões de-informática
Questões de-informáticaQuestões de-informática
Questões de-informática
 
Criptografia Aplicada
Criptografia AplicadaCriptografia Aplicada
Criptografia Aplicada
 

Semelhante a Criptografia: matemática e lógica computacional protegendo informações

Si
SiSi
Sistemas Logicas de Seguranca
Sistemas Logicas de SegurancaSistemas Logicas de Seguranca
Sistemas Logicas de Seguranca
DinoManuelMafunga
 
Seminário de SD - criptografia
Seminário de SD - criptografiaSeminário de SD - criptografia
Seminário de SD - criptografia
Isadora Martini Coelho
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmos
digobfpc
 
Redes ii p2
Redes ii p2Redes ii p2
Redes ii p2
redesinforma
 
Redes ii p2
Redes ii p2Redes ii p2
Redes ii p2
redesinforma
 
Tecnicas_Classicas_de_Criptografia_2014.pptx
Tecnicas_Classicas_de_Criptografia_2014.pptxTecnicas_Classicas_de_Criptografia_2014.pptx
Tecnicas_Classicas_de_Criptografia_2014.pptx
Vinícius Marques
 
Criptografia simétrica
Criptografia simétricaCriptografia simétrica
Criptografia simétrica
Claudia Beatriz Lopes Almeida
 
Criptografia - Faculdade Impacta
Criptografia - Faculdade ImpactaCriptografia - Faculdade Impacta
Criptografia - Faculdade Impacta
Luiz Sales Rabelo
 
Unidade 3 criptogradia
Unidade 3   criptogradiaUnidade 3   criptogradia
Unidade 3 criptogradia
Juan Carlos Lamarão
 
Aes 25
Aes 25Aes 25
Aes 25
Adenas San
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografia
Natanael Fonseca
 
Criptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCriptografia - Redes de Computadores
Criptografia - Redes de Computadores
Cícero Bruno
 
Conceitos Básicos de Criptografia
Conceitos Básicos de CriptografiaConceitos Básicos de Criptografia
Conceitos Básicos de Criptografia
Mariana Carvalho
 
Apoio
ApoioApoio
Segurança de Redes
Segurança de RedesSegurança de Redes
Segurança de Redes
Nelson Seiji Takahashi
 
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 (1).pdf
Criptografia (1).pdfCriptografia (1).pdf
Criptografia (1).pdf
claudio864549
 
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdf
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdfTECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdf
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdf
ssusere0b5a8
 
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
 

Semelhante a Criptografia: matemática e lógica computacional protegendo informações (20)

Si
SiSi
Si
 
Sistemas Logicas de Seguranca
Sistemas Logicas de SegurancaSistemas Logicas de Seguranca
Sistemas Logicas de Seguranca
 
Seminário de SD - criptografia
Seminário de SD - criptografiaSeminário de SD - criptografia
Seminário de SD - criptografia
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmos
 
Redes ii p2
Redes ii p2Redes ii p2
Redes ii p2
 
Redes ii p2
Redes ii p2Redes ii p2
Redes ii p2
 
Tecnicas_Classicas_de_Criptografia_2014.pptx
Tecnicas_Classicas_de_Criptografia_2014.pptxTecnicas_Classicas_de_Criptografia_2014.pptx
Tecnicas_Classicas_de_Criptografia_2014.pptx
 
Criptografia simétrica
Criptografia simétricaCriptografia simétrica
Criptografia simétrica
 
Criptografia - Faculdade Impacta
Criptografia - Faculdade ImpactaCriptografia - Faculdade Impacta
Criptografia - Faculdade Impacta
 
Unidade 3 criptogradia
Unidade 3   criptogradiaUnidade 3   criptogradia
Unidade 3 criptogradia
 
Aes 25
Aes 25Aes 25
Aes 25
 
Introdução a criptografia
Introdução a criptografiaIntrodução a criptografia
Introdução a criptografia
 
Criptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCriptografia - Redes de Computadores
Criptografia - Redes de Computadores
 
Conceitos Básicos de Criptografia
Conceitos Básicos de CriptografiaConceitos Básicos de Criptografia
Conceitos Básicos de Criptografia
 
Apoio
ApoioApoio
Apoio
 
Segurança de Redes
Segurança de RedesSegurança de Redes
Segurança de Redes
 
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
 
Criptografia (1).pdf
Criptografia (1).pdfCriptografia (1).pdf
Criptografia (1).pdf
 
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdf
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdfTECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdf
TECREDES_SRC - Aula 09 (Introdução aos sistemas de criptografia).pdf
 
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
 

Mais de Alex Camargo

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - Eclesiologia
Alex Camargo
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - Demonologia
Alex Camargo
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeiros
Alex Camargo
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?
Alex Camargo
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínas
Alex Camargo
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurança
Alex Camargo
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Alex Camargo
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Alex Camargo
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom Samaritano
Alex Camargo
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem pratica
Alex Camargo
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Alex Camargo
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Alex Camargo
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
Alex Camargo
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Alex Camargo
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Alex Camargo
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020
Alex Camargo
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alex
Alex Camargo
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence
Alex Camargo
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finais
Alex Camargo
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)
Alex Camargo
 

Mais de Alex Camargo (20)

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - Eclesiologia
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - Demonologia
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeiros
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínas
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurança
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom Samaritano
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem pratica
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alex
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finais
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)
 

Criptografia: matemática e lógica computacional protegendo informações

  • 1. Criptografia: matemática e lógica computacionalCriptografia: matemática e lógica computacional protegendo informaçõesprotegendo informações Alex Camargo alexcamargoweb@gmail.com DIA INTERNACIONAL DE SEGURANÇA EM INFORMÁTICA UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ Bagé/2015
  • 2. I - Apresentação Formação acadêmica:  Bacharel em Sistemas de Informação (URCAMP, 2010) TCC: Web sistema integrado a uma rede social para academias de ginástica Orientador: Prof. Abner Guedes  Especialista em Sistemas Distribuídos com Ênfase em Banco de Dados (UNIPAMPA, 2013) TCC: Interligando bases de dados do sistema Controle de Marcas e Sinais utilizando o MySQL Cluster Orientadores: Prof. Érico Amaral e Prof. Rafael Bastos Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 3. I - Apresentação Formação acadêmica:  Mestrando em Engenharia de Computação (FURG, 2017) Dissertação: Um estudo sobre ferramentas para a identificação e previsão de mutações em estruturas de proteínas Orientador: Profa. Karina dos Santos Machado Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 4. I - Apresentação Experiência profissional:  Programador Web e DBA Local: Prefeitura Municipal de Bagé Setor: Núcleo de Tecnologia da Informação - NTI  Professor Local: Capacitar Escola Técnica Disciplinas: Banco de Dados e Análise de Sistemas  Professor Local: Universidade Federal do Pampa - UNIPAMPA Disciplinas: Algoritmos e Programação, Laboratório de Programação I e Laboratório de Programação II Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 5. I - Apresentação Experiência profissional:  Bolsista na modalidade mestrado Local: Universidade Federal do Rio Grande – FURG Projeto: Bioinformática Estrutural de Proteínas: modelos, algoritmos e aplicações biotecnológicas Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 6. II. Pré-requisitos Características esperadas (não obrigatórias):  Conhecimentos gerais em programação.  Experiência em ambientes Linux (pode ajudar).  Interesse em aprender coisas novas. "Aprender o que eu já sei não tem graça." - Prof. Gerson Leiria Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 7. III. Objetivos Objetivos desta palestra:  Compreender técnicas básicas de Criptografia.  Explorar algoritmos em diferentes abordagens.  Motivar o uso consciente de cifras. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 8. IV. Sumário 1. O que é Criptografia? - 1.1. Introdução - 1.2. História 1.2.1. Cifra de César 1.2.2. Enigma - 1.3. Categorias 1.3.1. Cifras de Substituição 1.3.2. Cifras de Transposição 2. Técnicas de Criptografia - 2.1. Introdução - 2.2. Criptografia Simétrica 2.2.1. DES - 2.3. Criptografia Assimétrica 2.3.1. RSA Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 9. IV. Sumário - 2.4. Criptografia Hash 2.4.1. MD5 3. Criptografia na prática - 3.1. Criptografando dados no MySQL - 3.2. Criptografando dados com PHP 4. Desafios - 4.1. Exercício sobre substituição - 4.2. Exercício sobre transposição - 4.3. Exercício final Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 10. 1. O que é Criptografia? Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 11. 1.1. Introdução A Criptografia é a ciência que estuda formas de se escrever e ler uma mensagem através de códigos.  Privacidade: proteção contra o acesso de intrusos.  Autenticidade: certificação de autoria.  Integridade: impedimento de modificação não autorizada. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Processos de cifragem e decifragem
  • 12. 1.2. História A palavra criptografia deriva da junção das palavras gregas kriptos (secreto, oculto) e grifo (grafia).  Passado: largamente utilizada em guerras e conflitos.  Atualmente: usado para proteger informações digitais. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 13. 1.2. História A palavra criptografia deriva da junção das palavras gregas kriptos (secreto, oculto) e grifo (grafia).  Passado: largamente utilizada em guerras e conflitos.  Atualmente: principal meio para proteger informações digitais. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Telegrama criptografado de 1917 Figura. Senha de um usuário criptografada
  • 14. 1.2.1. Cifra de César O primeiro relato de um algoritmo de criptografia que se tem é conhecido como algoritmo de César, usado pelo imperador Júlio César na Roma Antiga.  Algoritmo de substituições alfabéticas no texto da mensagem.  Três posições a frente no alfabeto. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Cifra de César básica
  • 15. 1.2.1. Cifra de César O primeiro relato de um algoritmo de criptografia que se tem é conhecido como algoritmo de César, usado pelo imperador Júlio César na Roma Antiga.  Algoritmo de substituições alfabéticas no texto da mensagem.  Três posições a frente no alfabeto. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Cifra de César melhorada
  • 16. 1.2.2. Enigma Após a Primeira Guerra Mundial, o alemão Scherbuis criou a máquina Enigma, o que revolucionou o mundo da criptografia.  Os três cilindros podiam permutar entre si, temos 3! = 6.  Cada um dos três cilindros podia ser regulado de vinte e seis maneiras diferentes, o que dá 263 = 17576 combinações.  Era possível trocar seis pares de letras a partir das vinte e seis do alfabeto, gerando, aproximandamente 1 bilhão de combinações diferentes.  Por fim, o número de chaves era dado por: 17576 × 6 × 100391791500 ≃ 1 zilhão. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 17. 1.2.2. Enigma Após a Primeira Guerra Mundial, o alemão Scherbuis criou a máquina Enigma, o que revolucionou o mundo da criptografia.  Os três cilindros podiam permutar entre si, temos 3! = 6.  Cada um dos três cilindros podia ser regulado de vinte e seis maneiras diferentes, o que dá 263 = 17576 combinações.  Era possível trocar seis pares de letras a partir das vinte e seis do alfabeto, gerando, aproximandamente 1 bilhão de combinações diferentes.  Por fim, o número de chaves era dado por: 17576 × 6 × 100391791500 ≃ 1 zilhão. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Máquina Enigma
  • 18. 1.2.2. Enigma Após a Primeira Guerra Mundial, o alemão Scherbuis criou a máquina Enigma, o que revolucionou o mundo da criptografia.  Os três cilindros podiam permutar entre si, temos 3! = 6.  Cada um dos três cilindros podia ser regulado de vinte e seis maneiras diferentes, o que dá 263 = 17576 combinações.  Era possível trocar seis pares de letras a partir das vinte e seis do alfabeto, gerando, aproximandamente 1 bilhão de combinações diferentes.  Por fim, o número de chaves era dado por: 17576 × 6 × 100391791500 ≃ 1 zilhão. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Máquina Enigma: diagrama simplificado
  • 19. 1.2.3. Outros exemplos Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Disco de Alberti (1466)
  • 20. 1.2.3. Outros exemplos Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Alfabetos de cifra de Della Porta (1563)
  • 21. 1.2.3. Outros exemplos Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Cilindro de Jefferson (1795)
  • 22. 1.3. Categorias Os métodos de criptografia são divididos em duas categorias:  Cifras de substituição.  Cifras de transposição. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 23. 1.3.1 Cifras de Substituição Nas cifras de substituição cada grupo de letras é substituído por outro grupo de letras.  Substituindo as letras da palavra "paz" pela correspondente resultaria em "HQN". Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Cifras de substituição
  • 24. 1.3.2 Cifras de Transposição As cifras de transposição utilizam o princípio de mudança da ordem das letras da mensagem a ser enviada.  No exemplo acima, a chave serve de apoio para enumerar as colunas na ordem alfabética crescente das letras.  O texto é lido na vertical, resultando em: "ndtnmidcaoerlnnoineohaet" Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Cifras de transposição
  • 25. 2. Técnicas de Criptografia Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 26. 2.1. Introdução Os processos de cifragem e decifragem de dados são realizados através de algoritmos criptográficos específicos:  Chaves simétricas.  Chaves assimétricas. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 27. 2.2. Criptografia Simétrica A criptografia simétrica utiliza apenas uma chave para codificar e decodificar uma mensagem.  Foi o primeiro tipo de criptografia criado.  É usada em transmissões de dados em que não é necessário um grande nível de segurança. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 28. 2.2. Criptografia Simétrica A criptografia simétrica utiliza apenas uma chave para codificar e decodificar uma mensagem.  Foi o primeiro tipo de criptografia criado.  É usada em transmissões de dados em que não é necessário um grande nível de segurança. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Criptografia simétrica
  • 29. 2.2.1. DES O Data Encryption Standard (DES) é um padrão criptográfico criado em 1977 através de uma licitação aberta pela antiga National Security Agency (NSA).  Tanto o algoritmo quanto a chave são simétricos.  A estrutura do funcionamento do DES pode ser dividida em três partes: permutação inicial, cifragens com operações de chave e permutação final. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 30. 2.2.1. DES O Data Encryption Standard (DES) é um padrão criptográfico criado em 1977 através de uma licitação aberta pela antiga National Security Agency (NSA).  Tanto o algoritmo quanto a chave são simétricos.  A estrutura do funcionamento do DES pode ser dividida em três partes: permutação inicial, cifragens com operações de chave e permutação final. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Ciclo do DES
  • 31. 2.3. Criptografia Assimétrica A criptografia assimétrica é baseada no uso de pares de chaves para cifrar/decifrar mensagens.  As duas chaves são relacionadas através de um processo matemático de dificíl decifragem via ataque.  Este método é também conhecido como criptografia de chaves públicas. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 32. 2.3. Criptografia Assimétrica A criptografia assimétrica é baseada no uso de pares de chaves para cifrar/decifrar mensagens.  As duas chaves são relacionadas através de um processo matemático.  Este método é também conhecido como criptografia de chaves públicas. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Criptografia assimétrica
  • 33. 2.3.1. RSA O algoritmo RSA é assim denominado devido ao sobrenome de seus autores, Ronald Rivest, Adi Shamir e Leonard Adleman, cujo trabalho foi primeiramente publicado em abril de 1977.  A segurança se baseia na dificuldade de fatorar números extensos.  A fatoração de um número de 200 dígitos requer 4 milhões de anos para ser processada. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 34. 2.3.1. RSA O algoritmo RSA é assim denominado devido ao sobrenome de seus autores, Ronald Rivest, Adi Shamir e Leonard Adleman, cujo trabalho foi primeiramente publicado em abril de 1977.  A segurança se baseia na dificuldade de fatorar números extensos.  A fatoração de um número de 200 dígitos requer 4 milhões de anos para ser processada. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Algoritmo RSA
  • 35. 2.4. Criptografia Hash 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.  Função matemática que refina toda a informação de um arquivo em um único pedaço de dados de tamanho fixo.  Em geral, entra-se com os dados a serem "digeridos" e o algoritmo MD gera um hash de 128 ou 160 bits. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 36. 2.4.1. MD5 É uma função inventada por Ron Rivest, do MIT. Foi inicialmente proposto em 1991, após alguns ataques de criptoanálise terem sidos descobertos contra a função MD4.  Este algoritmo produz um valor hash de 128 bits.  Foi projetado para ser rápido, simples e seguro.  Seus detalhes são públicos e analisados pela comunidade de criptografia. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 37. 2.4.1. MD5 É uma função inventada por Ron Rivest, do MIT. Foi inicialmente proposto em 1991, após alguns ataques de criptoanálise terem sidos descobertos contra a função MD4.  Este algoritmo produz um valor hash de 128 bits.  Foi projetado para ser rápido, simples e seguro.  Seus detalhes são públicos e analisados pela comunidade de criptografia. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. MD5 Encrypter: http://www.md5online.org/md5-encrypt.html
  • 38. 3. Criptografia na prática Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 39. 3.1. Criptografando dados no MySQL O MySQL, a partir da versão 4.1, atualizou seu padrão de senhas hash proporcionando uma melhor segurança e redução nos riscos das senhas serem decifradas por ataques.  Diferente formato dos valores de senha produzidos pela função PASSWORD().  Aumento no tamanho da string gerada (de 16 para 41 bytes). Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 40. 3.1. Criptografando dados no MySQL O MySQL, a partir da versão 4.1, atualizou seu padrão de senhas hash proporcionando uma melhor segurança e redução nos riscos das senhas serem decifradas.  Diferente formato dos valores de senha produzidos pela função PASSWORD().  Aumento no tamanho da string gerada (de 16 para 41 bytes). Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. MySQL: descrição da tabela
  • 41. 3.1. Criptografando dados no MySQL O MySQL, a partir da versão 4.1, atualizou seu padrão de senhas hash proporcionando uma melhor segurança e redução nos riscos das senhas serem decifradas.  Diferente formato dos valores de senha produzidos pela função PASSWORD().  Aumento no tamanho da string gerada (de 16 para 41 bytes). Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. MySQL: inserção de um registro
  • 42. 3.1. Criptografando dados no MySQL O MySQL, a partir da versão 4.1, atualizou seu padrão de senhas hash proporcionando uma melhor segurança e redução nos riscos das senhas serem decifradas.  Diferente formato dos valores de senha produzidos pela função PASSWORD().  Aumento no tamanho da string gerada (de 16 para 41 bytes). Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. MySQL: exibindo a coluna senha encriptada
  • 43. 3.2. Criptografando dados com PHP A função crypt(), nativa do PHP, retorna uma string criptografada usando o algoritmo de encriptação Unix Standard DES-based ou algoritmos alternativos disponíveis no sistema.  Sintaxe: string crypt ( string $str [, string $salt ] ) Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 44. 3.2. Criptografando dados com PHP A função crypt(), nativa do PHP, retorna uma string criptografada usando o algoritmo de encriptação Unix Standard DES-based ou ou algoritmos alternativos disponíveis no sistema.  Sintaxe: string crypt ( string $str [, string $salt ] ) Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. crypt: Encriptação unidirecional de string (hashing)
  • 45. 3.2. Criptografando dados com PHP A função crypt(), nativa do PHP, retorna uma string criptografada usando o algoritmo de encriptação Unix Standard DES-based ou ou algoritmos alternativos disponíveis no sistema.  Sintaxe: string crypt ( string $str [, string $salt ] ) Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. crypt: Encriptação unidirecional de string (hashing)
  • 46. 4. Desafios Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 47. 4.1. Exercício sobre substituição 1. Implementar um programa que faça a encriptação e desencriptação de um texto digitado pelo usuário utilizando a técnica de substituição. Exemplo: unipampa = vojqbnqb Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 48. 4.1. Exercício sobre substituição Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Desafio sobre substituição: gabarito
  • 49. 4.1. Exercício sobre substituição Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Desafio sobre substituição: gabarito
  • 50. 4.1. Exercício sobre substituição Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Desafio sobre substituição: gabarito
  • 51. 4.1. Exercício sobre substituição Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Desafio sobre substituição: gabarito
  • 52. 4.1. Exercício sobre substituição Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Desafio sobre substituição: gabarito Figura. Desafio sobre substituição: gabarito
  • 53. 4.2. Exercício sobre transposição 1. Implementar um programa que faça a encriptação e desencriptação de um texto digitado pelo usuário utilizando a técnica de transposição. Exemplo: unipampa = nupiamap Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 54. 4.2. Exercício sobre transposição Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Desafio sobre transposição: gabarito
  • 55. 4.2. Exercício sobre transposição Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Desafio sobre transposição: gabarito
  • 56. 4.2. Exercício sobre transposição Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Desafio sobre transposição: gabarito
  • 57. 4.2. Exercício sobre transposição Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Desafio sobre transposição: gabarito
  • 58. 4.2. Exercício sobre transposição Criptografia: matemática e lógica computacional protegendo informações Alex Camargo Figura. Desafio sobre transposição: gabarito Figura. Desafio sobre transposição: gabarito
  • 59. 4.3. Exercício final 1. Escreva uma função que receba como parâmetro um texto e faça a sua cifragem usando a seguinte regra. Para toda letra do texto, de acordo com sua posição em cada vetor, atribua a letra que estiver 13 posições depois do mesmo vetor. Imprima a frase criptografada que deve ser exibida em grupos de 5 letras. O último grupo deve ser completado com 000 se contiver menos de 5 letras. Escreva outra função que exiba a frase desencriptada. A implementação deve fazer o uso de arquivos texto. Considere o alfabeto = " ", A, B, C ... K ... X, Y, Z contendo 27 caracteres. Exemplo: AGORA = FMTWF TUDO BEM = YZITE GJR00 Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 60. V. Agradecimentos CAPES (Coordenação de Aperfeiçoamento de Pessoal de Nível Superior.  Profa. Karina Machado (FURG)  Prof. Érico Amaral (UNIPAMPA)  Prof. Rafael Bastos (IDEAU) Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 61. VI. Contato FURG - Campus Carreiros - Av. Itália, KM 8 - Rio Grande/RS  Centro de Ciências Computacionais - Laboratório LAMSA  Grupo de Pesquisa em Biologia Computacional http://www.biologiacomputacional.c3.furg.br/ Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 62. VII. Referências ALMEIDA, Mendes et al. Criptografia em sistemas distribuídos. Sistemas de Informação & Gestão de Tecnologia., n. 1, 2010. CARVALHO, Jade; COELHO, Isadora. Criptografia - Sistemas Distribuídos. Disponível em: <http://pt.slideshare.net/IsadoraMartiniCoelho/seminario-de-sd-criptografia>. Acesso em: Ago/2015. CAVALCANTE, André LB. Teoria dos números e criptografia. Revista Virtual, 2005. FIARRESGA, Victor Manuel Calhabrês. Criptografia e matemática. Dissertação de Mestrado. Faculdade de Ciências da Universidade de Lisboa, 2010. GIMENEZ, José Roberto Bollis. Implementação do algoritmo RSA. 2011. GTECH. Programação em C/C++ - Aula 36, 37 E 38. Disponível em: <http://gtechinfor.com.br/ >. Acesso em: Ago/2015. HINZ, Marco Antônio Mielke. Um estudo descritivo de novos algoritmos de criptografia. Monografia de Graduação. Universidade Federal de Pelotas, 2010. MOREIRA, Vinícius Fernandes; Criptografia para Dispositivos Móveis. Monografia de Graduação. Faculdade de Tecnologia de São José dos Campos, 2010. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 63. VII. Referências MYSQL. MySQL 5.1 Reference Manual. Disponível em: <https://dev.mysql.com/doc/refman/5.1/en/password-hashing.html>. Acesso em: Ago/2015. OLIVEIRA, Ronielton Rezende. Criptografia simétrica e assimétrica: os principais algoritmos de cifragem. Revista Segurança Digital, Brasília, v. 2, n. 3, p. 21-24, 2012. PEREIRA, F. C. Criptografia Temporal: Aplicação Prática em Processos de Compra. Dissertação de Mestrado. Universidade Federal de Santa Catarina, 2003. PHP. Manual do PHP - Crypt. Disponível em: <http://php.net/manual/pt_BR/function.crypt.php>. Acesso em: Ago/2015. RIBEIRO, Vinicius Gadis. Um Estudo Comparativo entre algoritmos de criptografia DES– Lucifer (1977) e AES–Rijndael (2000). In: VII Congreso Argentino de Ciencias de la Computación. 2001. TRINTA, Fernando Antônio Mota; MACÊDO, Rodrigo Cavalcanti de. Um Estudo sobre Criptografia e Assinatura Digital. Pernambuco: Universidade Federal de Pernambuco (UFPE), 1998. Criptografia: matemática e lógica computacional protegendo informações Alex Camargo
  • 64. Criptografia: matemática e lógica computacionalCriptografia: matemática e lógica computacional protegendo informaçõesprotegendo informações OBRIGADO! Slideshare: alexcamargoweb Guide me in your truth and teach me, for you are God my Savior, and my hope is in you all day long. Psalm 25:5 Bagé/2015