SlideShare una empresa de Scribd logo
1 de 32
Introdução a Criptografia


Natanael Fonseca
Arquiteto de Software




                                        1
Ementa
1.    Princípios básicos da Segurança da Informação
2.    Introdução a Criptografia;
      –   Criptografia;
      –   Criptograma;
      –   Ciframento e Desiframento;
      –   CriptoAnálise;
      –   Criptologia;
      –   Anagrama;
      –   Esteganografia.
3.    Um pouco de história;
      –   ATBASH;
      –   Cítala Espartana;
      –   Ciframento de César;
      –   Cifrário de Vigenére;
4.    Criptografia de chave simétrica;
5.    Criptografia de chave assimétrica;
6.    Diffie-Hellman;
7.    Modelo Hibrido;
8.    SSL;
9.    Assinatura Digital;
10.   Funções de Hash;



                                                      2
Princípios Básicos da Segurança da
              Informação
• Confidencialidade:
   – Significa proteger informações contra sua revelação para alguém
     não autorizado.
• Autenticidade:
   – Está associado com identificação correta de um usuário ou
     computador.
• Integridade:
   – Consiste em proteger a informação contra modificação sem a
     permissão explícita do proprietário daquela informação.
• Disponibilidade:
   – Consiste na proteção dos serviços prestados pelo sistema de
     forma que eles não sejam degradados ou se tornem
     indisponíveis sem autorização

                                                                   3
Criptografia

Do grego, Kryptós: “escondido, oculto” e Graphein: “escrita”. È a arte
ou ciência de escrever mensagens ocultas ou codificadas, ou seja,
consiste em técnicas que procuram tornar possível a comunicação
secreta entre dois agentes, sobre um canal aberto.




                                                                     4
Criptograma
• É um texto cifrado que obedece a um código e a uma lógica
  pré-determinados para decifrar a mensagem. O criptograma
  pode ser montado envolvendo números, letras, números e
  letras e símbolos gráficos.




                                                              5
Ciframento e Deciframento
• Cifrar uma mensagem, consiste em aplicar uma técnica de
  criptografia para obter um criptograma a partir de um
  mensagem.

• Decifrar uma mensagem, consiste em aplicar uma técnica de
  criptografia para obter a mensagem original contida em um
  criptograma.




                                                          6
CriptoAnálise
A criptoanálise é a arte de tentar descobrir o texto cifrado
e/ou a lógica utilizada em sua encriptação (chave).
As pessoas que participam desse esforço são denominadas
criptoanalistas. Da fusão da criptografia com a
criptoanálise, forma-se a criptologia.



       http://www.cryptool.org/en/jcryptool




                                                         7
Criptologia

• É a disciplina científica que reúne e estuda os conhecimentos
  (matemáticos, computacionais, psicológicos, filológicos, etc.) e
  técnicas necessários à criptoanálise (solução de criptogramas) e
  à criptografia (escrita codificada).




                                                                8
Anagrama
• (do grego ana = "voltar" ou "repetir" + graphein = "escrever")
  é uma espécie de jogo de palavras, resultando do rearranjo
  das letras de uma palavra ou frase para produzir outras
  palavras, utilizando todas as letras originais exatamente uma
  vez. Um exemplo conhecido é o nome da personagem
  Iracema, claro anagrama de América, no romance de José de
  Alencar.




                                                               9
Esteganografia

Do grego: ("escrita escondida"). É o estudo e uso das
técnicas para ocultar a existência de uma mensagem
dentro de outra. Em outras palavras, esteganografia é o
ramo particular da criptologia que consiste em fazer
com que uma forma escrita seja camuflada em outra a
fim de mascarar o seu verdadeiro sentido.



                                                      10
Técnicas de Esteganografia

•   Ruído;
•   Espalhando a Informação;
•   Ordenação;
•   Dividindo a Informação;




                                     11
Criptografia e Esteganografia


Nunca confundir, Pois são conceitos diferentes !

“Enquanto a primeira oculta o significado, a
segunda oculta a existência da mensagem.”



                                                   12
Um pouco de História
Ao que se tem conhecimento, as técnicas de
criptografia mais antigas, foram usadas para
construir:

        »   ATBASH
        »   Cítala Espartana;
        »   Ciframento de César;
        »   Substituição MonoAlfabética;
        »   Cifrário de Vigenére;
        »   Dentre outros..............muitos outros.........


                                                                13
ATBASH
Na Bíblia, o livro de Jeremias usa um código extremamente simples do
alfabeto hebreu para a história de Babel: a primeira letra do alfabeto hebreu
(Aleph) é trocada pela última (Taw), a segunda letra (Beth) e trocada pela
penúltima (Shin) e assim sucessivamente. Destas quatro letras deriva o
nome da cifra: Aleph Taw Beth SHin - ATBASH. l Aplicando o sistema do
Atbash ao alfabeto latino obtemos a seguinte tabela de substituição:


  A     B     C    D     E     F    G     H    I     J     K    L     M
  Z     Y     X    W     V     U    T     S    R     Q     P    O     N




                                                                           14
Cítala Espartana
Uma forma de transposição utiliza o primeiro dispositivo de criptografia
militar conhecido, a cítala espartana, que remonta ao séc. V a.C. O cítala
consiste num bastão no qual é enrolada uma tira de couro ou pergaminho,
como mostrado na figura abaixo.

O remetente escreve a mensagem ao longo do bastão e depois desenrola
a tira, a qual então se converteu numa seqüência de letras sem sentido. O
mensageiro usa a tira como cinto, com as letras voltadas para dentro.

O destinatário, ao receber o "cinto", enrola-o no seu bastão, cujo diâmetro
é igual ao do bastão do remetente. Desta forma, pode ler a mensagem.




                                                                         15
Ciframento de César
• Apesar da sua simplicidade (ou exatamente devido a ela), esta cifra foi
  utilizada pelos oficiais sulistas na Guerra de Secessão americana e pelo
  exército russo em 1915.
•
  A cifra ROT13, que surgiu em 1984 na USENET, baseia-se numa
  substituição na posição 13 (A por N, B por O, etc).
•
  Com o uso de dois discos concêntricos contendo todas as letras do
  alfabeto, a substituição se torna extremamente simples. Estes discos,
  inclusive, já foram utilizados como brinquedo que fazia a alegria de muitas
  crianças (... e de adultos também).



                                                                          16
Cifrário de Vigenére
• O uso das carreiras de Vigenère é muito sujeito a erros. A
  leitura é penosa e, depois de algum tempo, bastante
  fatigante. Trabalhar com réguas sobre a tabela de alfabetos
  cifrantes também acaba cansando. Devido a este fato, a partir
  de 1880, muitos criptólogos passaram a utilizar a chamada
  Régua de Saint-Cyr .




                                                             17
Chave simétrica
• Esse é um tipo de chave mais simples, onde o emissor e o
  receptor fazem uso da mesma chave, isto é, uma única chave
  é usada na codificação e na decodificação da informação.
  Existem vários algoritmos que usam chaves simétricas, como
  o DES, o IDEA, e o RC.




                                                               18
Algoritmos de Chave Simétrica
•   DES (Data Encryption Standard): criado pela IBM em 1977, faz uso de chaves de 56
    bits. Isso corresponde a 72 quatrilhões de combinações. É um valor absurdamente
    alto, mas não para um computador potente. Em 1997, esse algoritmo foi quebrado
    por técnicas de "força bruta" (tentativa e erro) em um desafio promovido na
    internet;
•   IDEA (International Data Encryption Algorithm): criado em 1991 por James Massey
    e Xuejia Lai, o IDEA é um algoritmo que faz uso de chaves de 128 bits e que tem uma
    estrutura semelhante ao DES. Sua implementação em software é mais fácil do que a
    implementação deste último;

•   RC (Ron's Code ou Rivest Cipher): criado por Ron Rivest na empresa RSA Data
    Security, esse algoritmo é muito utilizado em e-mails e faz uso de chaves que vão de
    8 a 1024 bits. Possui várias versões: RC2, RC4, RC5 e RC6. Essencialmente, cada
    versão difere da outra por trabalhar com chaves maiores.

    Há ainda outros algoritmos conhecidos, como o AES (Advanced Encryption Standard)
    - que é baseado no DES - , o 3DES, o Twofish e sua variante Blowfish, entre outros.



                                                                                      19
Vantagens no uso da chave
          simétrica

• Desempenho;
• Simplicidade;
• Constante Atualização;




                              20
Desvantagens das chaves
            simétricas

• A necessidade constante de chave secreta;
• Dificuldade para gerenciar grandes
  quantidades de chaves em larga escala;
• Dificuldade para iniciar uma comunicação
  segura entre entidades desconhecidas;



                                              21
Chave assimétrica
Também conhecida como "chave pública", a chave
assimétrica trabalha com duas chaves: uma denominada
privada e outra denominada pública. Neste método, um
emissor deve criar uma chave de codificação e enviá-la ao
receptor. Essa é a chave pública. Uma outra chave deve ser
criada para a decodificação. Esta, a chave privada, é secreta.




                                                                 22
Algoritmos de Chave Assimétrica
•   RSA (Rivest, Shamir and Adleman): criado em 1977 por Ron Rivest, Adi Shamir e
    Len Adleman nos laboratórios do MIT (Massachusetts Institute of Technology), é
    um dos algoritmos de chave assimétrica mais usados. Nele, números primos são
    utilizados da seguinte forma: dois números primos são multiplicados para se obter
    um terceiro valor. Porém, descobrir os dois primeiros números a partir do terceiro
    é muito trabalhoso. Se dois números primos grandes forem usados na
    multiplicação, será necessário usar muito processamento para descobrí-los,
    tornando essa tarefa praticamente inviável. Basicamente, a chave privada no RSA
    são os números multiplicados e a chave pública é o valor obtido;

•   ElGamal: criado por Taher ElGamal, esse algoritmo faz uso de um problema
    matemático conhecido por "logaritmo discreto" para se tornar seguro. Sua
    utilização é freqüente em assinaturas digitais.

    Existem ainda outros algoritmos, como o DSA (Digital Signature Algorithm), o
    Schnorr (praticamente usado apenas em assinaturas digitais) e Diffie-Hellman.




                                                                                    23
Desvantagens
• Lentidão no processamento;
   – Grandes quantidades de informações sendo criptografadas pode ser um
     problema.


• Confiança no repositório de chaves públicas;

   – Possibilidade de escolher quem terá a chave;

• Encontrar uma maneira de confiar na informação;

   – Como garantir que a chave pública de João é realmente de João ?



                                                                           24
Diffie-Hellman
• Método de criptografia desenvolvido por Whitfield
  Diffie e Martin Hellman e publicado em 1976.
• O algoritmo pode ser usado para a distribuição de
  chaves, mas não para cifrar ou decifrar mensagens.




                                                       25
Modelo Hibrido
• Trata-se de utilizar o melhor dos dois mundos.

  – Encapsulamento da chave usando chave assimétrica;

     • Ex: RSA.


  – Encapsulamento dos dados usando chave simétrica;

     • Ex: DES.

                                                       26
Modelo Hibrido




                 27
O Conhecido SSL(HTTPS)




                         28
Assinatura Digital




                     29
Funções de Hash
• O que é Hash ?

• O conceito teórico diz que :

• "hash é a transformação de uma grande
  quantidade de informações em uma pequena
  quantidade de informações".


                                         30
Uso do HASH
Sua utilização como componente de assinatura digital, é
necessária em virtude da lentidão dos algoritmos
assimétricos, ou seja, em vez disso é empregada uma
função de HASH, que gera um valor pequeno.

Algoritmos de hash mais usados, são:
   •   MD4;
   •   MD5;
   •   SHA-1;
   •   WHIRPOOL.


                                                    31
Referencias
• Hook, David. Beginning Cryptography with Java, 1. ed. Wrox
  Press, 2005. ISBN:0764596330.

• Knudsen, Jonathan B. Java Cryptography, 1. ed. O'Reilly, 1998.
  ISBN: ISBN: 1-56592-402-9.

• Silva, Lino Sarlo Da. Public Key InfraEstructire - PKI, 1. ed.
  NOVATEC, 2004. ISBN: 8575220462.

• Singh, Simon. Livro dos Codigos, 1. ed. Record, 2001. ISBN:
  8501055980.



                                                                   32

Más contenido relacionado

La actualidad más candente

Segunda geração de computadores (1955 1964)
Segunda geração de computadores (1955 1964)Segunda geração de computadores (1955 1964)
Segunda geração de computadores (1955 1964)
Thaís Santos
 

La actualidad más candente (20)

Conceitos Básicos de Criptografia
Conceitos Básicos de CriptografiaConceitos Básicos de Criptografia
Conceitos Básicos de Criptografia
 
Redes de Computadores
Redes de ComputadoresRedes de Computadores
Redes de Computadores
 
Desafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhãDesafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhã
 
Informática Básica - Aula 09 - Uso de E-mail
Informática Básica - Aula 09 - Uso de E-mailInformática Básica - Aula 09 - Uso de E-mail
Informática Básica - Aula 09 - Uso de E-mail
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IP
 
Seminario seguranca da informacao
Seminario seguranca da informacaoSeminario seguranca da informacao
Seminario seguranca da informacao
 
Aula 5 - Assinatura e Certificado Digital
Aula 5 - Assinatura e Certificado DigitalAula 5 - Assinatura e Certificado Digital
Aula 5 - Assinatura e Certificado Digital
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
AULA 9 - INTRODUÇÃO À CIBERSEGURANÇA
AULA 9 - INTRODUÇÃO À CIBERSEGURANÇAAULA 9 - INTRODUÇÃO À CIBERSEGURANÇA
AULA 9 - INTRODUÇÃO À CIBERSEGURANÇA
 
Pensamento Computacional aula 01
Pensamento Computacional aula 01Pensamento Computacional aula 01
Pensamento Computacional aula 01
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Segunda geração de computadores (1955 1964)
Segunda geração de computadores (1955 1964)Segunda geração de computadores (1955 1964)
Segunda geração de computadores (1955 1964)
 
Componentes de uma Rede de computadores
Componentes de uma Rede de computadoresComponentes de uma Rede de computadores
Componentes de uma Rede de computadores
 
Aula 1 - Introdução a Segurança da Informação
Aula 1 - Introdução a Segurança da InformaçãoAula 1 - Introdução a Segurança da Informação
Aula 1 - Introdução a Segurança da Informação
 
Boas Práticas em Segurança da Informação
Boas Práticas em Segurança da InformaçãoBoas Práticas em Segurança da Informação
Boas Práticas em Segurança da Informação
 
Aula 02 - JavaScript: Arrays
Aula 02 - JavaScript: ArraysAula 02 - JavaScript: Arrays
Aula 02 - JavaScript: Arrays
 
Correio eletronico
Correio eletronicoCorreio eletronico
Correio eletronico
 
SO-09 Entrada e Saída: Hardware
SO-09 Entrada e Saída: HardwareSO-09 Entrada e Saída: Hardware
SO-09 Entrada e Saída: Hardware
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Segurança de Dados e Informações - Aula 4 - Criptografia
Segurança de Dados e Informações - Aula 4 - CriptografiaSegurança de Dados e Informações - Aula 4 - Criptografia
Segurança de Dados e Informações - Aula 4 - Criptografia
 

Destacado

Crime de dano e o vírus de computador
Crime de dano e o vírus de computadorCrime de dano e o vírus de computador
Crime de dano e o vírus de computador
Walter Aranha Capanema
 
Esteganografia: a arte de ocultar arquivos dentro de arquivos - Vanderlei Pollon
Esteganografia: a arte de ocultar arquivos dentro de arquivos - Vanderlei PollonEsteganografia: a arte de ocultar arquivos dentro de arquivos - Vanderlei Pollon
Esteganografia: a arte de ocultar arquivos dentro de arquivos - Vanderlei Pollon
Tchelinux
 
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
 
O que são virus informáticos
O que são virus informáticosO que são virus informáticos
O que são virus informáticos
mrcelino
 
Vários tipos de vírus informáticos
Vários tipos de vírus informáticos Vários tipos de vírus informáticos
Vários tipos de vírus informáticos
Dália Pereira
 

Destacado (19)

Classificação de Algoritmos Esteganográficos
Classificação de Algoritmos EsteganográficosClassificação de Algoritmos Esteganográficos
Classificação de Algoritmos Esteganográficos
 
O que é esteganografia
O que é esteganografiaO que é esteganografia
O que é esteganografia
 
Crime de dano e o vírus de computador
Crime de dano e o vírus de computadorCrime de dano e o vírus de computador
Crime de dano e o vírus de computador
 
Certificados SSL e Let's Encrypt
Certificados SSL e Let's EncryptCertificados SSL e Let's Encrypt
Certificados SSL e Let's Encrypt
 
Esteganografia: a arte de ocultar arquivos dentro de arquivos - Vanderlei Pollon
Esteganografia: a arte de ocultar arquivos dentro de arquivos - Vanderlei PollonEsteganografia: a arte de ocultar arquivos dentro de arquivos - Vanderlei Pollon
Esteganografia: a arte de ocultar arquivos dentro de arquivos - Vanderlei Pollon
 
Esteganografia
EsteganografiaEsteganografia
Esteganografia
 
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
 
Vírus de Computadores
Vírus de ComputadoresVírus de Computadores
Vírus de Computadores
 
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
 
Data encryption standard DES & 3DES
Data encryption standard DES & 3DESData encryption standard DES & 3DES
Data encryption standard DES & 3DES
 
RC 4
RC 4 RC 4
RC 4
 
O que são virus informáticos
O que são virus informáticosO que são virus informáticos
O que são virus informáticos
 
Vários tipos de vírus informáticos
Vários tipos de vírus informáticos Vários tipos de vírus informáticos
Vários tipos de vírus informáticos
 
DES
DESDES
DES
 
Cryptography
CryptographyCryptography
Cryptography
 
Cryptography
CryptographyCryptography
Cryptography
 
Soluções de Segurança da Informação para o mundo corporativo (para cada probl...
Soluções de Segurança da Informação para o mundo corporativo (para cada probl...Soluções de Segurança da Informação para o mundo corporativo (para cada probl...
Soluções de Segurança da Informação para o mundo corporativo (para cada probl...
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 

Similar a Introdução a criptografia

Criptografia e certificação digital
Criptografia e certificação digitalCriptografia e certificação digital
Criptografia e certificação digital
Juarez Junior
 
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕESS.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
Mateus Cardoso
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmos
digobfpc
 

Similar a Introdução a criptografia (20)

Seminário de SD - criptografia
Seminário de SD - criptografiaSeminário de SD - criptografia
Seminário de SD - criptografia
 
Sistemas Logicas de Seguranca
Sistemas Logicas de SegurancaSistemas Logicas de Seguranca
Sistemas Logicas de Seguranca
 
Si
SiSi
Si
 
Criptografia - Faculdade Impacta
Criptografia - Faculdade ImpactaCriptografia - Faculdade Impacta
Criptografia - Faculdade Impacta
 
Criptografia e certificação digital
Criptografia e certificação digitalCriptografia e certificação digital
Criptografia e certificação digital
 
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]
 
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
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografia
 
Criptografia
CriptografiaCriptografia
Criptografia
 
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
 
Psi apostila2
Psi apostila2Psi apostila2
Psi apostila2
 
Criptografia (1).pdf
Criptografia (1).pdfCriptografia (1).pdf
Criptografia (1).pdf
 
Redes ii p2
Redes ii p2Redes ii p2
Redes ii p2
 
Redes ii p2
Redes ii p2Redes ii p2
Redes ii p2
 
Criptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCriptografia - Redes de Computadores
Criptografia - Redes de Computadores
 
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕESS.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
S.D.I - SEGURANÇA DE DADOS E INFORMAÇÕES
 
Certificados Digitais & Criptografia
Certificados Digitais & CriptografiaCertificados Digitais & Criptografia
Certificados Digitais & Criptografia
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmos
 
Inf seg redinf_semana6
Inf seg redinf_semana6Inf seg redinf_semana6
Inf seg redinf_semana6
 

Más de Natanael Fonseca

Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
Natanael Fonseca
 
Desafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidDesafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma Android
Natanael Fonseca
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)
Natanael Fonseca
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
Natanael Fonseca
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
Natanael Fonseca
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
Natanael Fonseca
 
Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)
Natanael Fonseca
 

Más de Natanael Fonseca (19)

Microservices With Istio Service Mesh
Microservices With Istio Service MeshMicroservices With Istio Service Mesh
Microservices With Istio Service Mesh
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Curso Java Básico - Aula 05
Curso Java Básico - Aula 05Curso Java Básico - Aula 05
Curso Java Básico - Aula 05
 
Aula05
Aula05Aula05
Aula05
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Desafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma AndroidDesafios de projeto para quem usa a plataforma Android
Desafios de projeto para quem usa a plataforma Android
 
Fragmentos
FragmentosFragmentos
Fragmentos
 
Atividades e Intenções (Android)
Atividades e Intenções (Android)Atividades e Intenções (Android)
Atividades e Intenções (Android)
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
 
Certificados Digitais x509
Certificados Digitais x509Certificados Digitais x509
Certificados Digitais x509
 
Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)Infra Estrutura de Chaves Publicas(PKI)
Infra Estrutura de Chaves Publicas(PKI)
 
Transações em EJB
Transações em EJBTransações em EJB
Transações em EJB
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring Framework
 
Java annotation
Java annotationJava annotation
Java annotation
 
Validação de certificados digitais
Validação de certificados digitaisValidação de certificados digitais
Validação de certificados digitais
 

Introdução a criptografia

  • 1. Introdução a Criptografia Natanael Fonseca Arquiteto de Software 1
  • 2. Ementa 1. Princípios básicos da Segurança da Informação 2. Introdução a Criptografia; – Criptografia; – Criptograma; – Ciframento e Desiframento; – CriptoAnálise; – Criptologia; – Anagrama; – Esteganografia. 3. Um pouco de história; – ATBASH; – Cítala Espartana; – Ciframento de César; – Cifrário de Vigenére; 4. Criptografia de chave simétrica; 5. Criptografia de chave assimétrica; 6. Diffie-Hellman; 7. Modelo Hibrido; 8. SSL; 9. Assinatura Digital; 10. Funções de Hash; 2
  • 3. Princípios Básicos da Segurança da Informação • Confidencialidade: – Significa proteger informações contra sua revelação para alguém não autorizado. • Autenticidade: – Está associado com identificação correta de um usuário ou computador. • Integridade: – Consiste em proteger a informação contra modificação sem a permissão explícita do proprietário daquela informação. • Disponibilidade: – Consiste na proteção dos serviços prestados pelo sistema de forma que eles não sejam degradados ou se tornem indisponíveis sem autorização 3
  • 4. Criptografia Do grego, Kryptós: “escondido, oculto” e Graphein: “escrita”. È a arte ou ciência de escrever mensagens ocultas ou codificadas, ou seja, consiste em técnicas que procuram tornar possível a comunicação secreta entre dois agentes, sobre um canal aberto. 4
  • 5. Criptograma • É um texto cifrado que obedece a um código e a uma lógica pré-determinados para decifrar a mensagem. O criptograma pode ser montado envolvendo números, letras, números e letras e símbolos gráficos. 5
  • 6. Ciframento e Deciframento • Cifrar uma mensagem, consiste em aplicar uma técnica de criptografia para obter um criptograma a partir de um mensagem. • Decifrar uma mensagem, consiste em aplicar uma técnica de criptografia para obter a mensagem original contida em um criptograma. 6
  • 7. CriptoAnálise A criptoanálise é a arte de tentar descobrir o texto cifrado e/ou a lógica utilizada em sua encriptação (chave). As pessoas que participam desse esforço são denominadas criptoanalistas. Da fusão da criptografia com a criptoanálise, forma-se a criptologia. http://www.cryptool.org/en/jcryptool 7
  • 8. Criptologia • É a disciplina científica que reúne e estuda os conhecimentos (matemáticos, computacionais, psicológicos, filológicos, etc.) e técnicas necessários à criptoanálise (solução de criptogramas) e à criptografia (escrita codificada). 8
  • 9. Anagrama • (do grego ana = "voltar" ou "repetir" + graphein = "escrever") é uma espécie de jogo de palavras, resultando do rearranjo das letras de uma palavra ou frase para produzir outras palavras, utilizando todas as letras originais exatamente uma vez. Um exemplo conhecido é o nome da personagem Iracema, claro anagrama de América, no romance de José de Alencar. 9
  • 10. Esteganografia Do grego: ("escrita escondida"). É o estudo e uso das técnicas para ocultar a existência de uma mensagem dentro de outra. Em outras palavras, esteganografia é o ramo particular da criptologia que consiste em fazer com que uma forma escrita seja camuflada em outra a fim de mascarar o seu verdadeiro sentido. 10
  • 11. Técnicas de Esteganografia • Ruído; • Espalhando a Informação; • Ordenação; • Dividindo a Informação; 11
  • 12. Criptografia e Esteganografia Nunca confundir, Pois são conceitos diferentes ! “Enquanto a primeira oculta o significado, a segunda oculta a existência da mensagem.” 12
  • 13. Um pouco de História Ao que se tem conhecimento, as técnicas de criptografia mais antigas, foram usadas para construir: » ATBASH » Cítala Espartana; » Ciframento de César; » Substituição MonoAlfabética; » Cifrário de Vigenére; » Dentre outros..............muitos outros......... 13
  • 14. ATBASH Na Bíblia, o livro de Jeremias usa um código extremamente simples do alfabeto hebreu para a história de Babel: a primeira letra do alfabeto hebreu (Aleph) é trocada pela última (Taw), a segunda letra (Beth) e trocada pela penúltima (Shin) e assim sucessivamente. Destas quatro letras deriva o nome da cifra: Aleph Taw Beth SHin - ATBASH. l Aplicando o sistema do Atbash ao alfabeto latino obtemos a seguinte tabela de substituição: A B C D E F G H I J K L M Z Y X W V U T S R Q P O N 14
  • 15. Cítala Espartana Uma forma de transposição utiliza o primeiro dispositivo de criptografia militar conhecido, a cítala espartana, que remonta ao séc. V a.C. O cítala consiste num bastão no qual é enrolada uma tira de couro ou pergaminho, como mostrado na figura abaixo. O remetente escreve a mensagem ao longo do bastão e depois desenrola a tira, a qual então se converteu numa seqüência de letras sem sentido. O mensageiro usa a tira como cinto, com as letras voltadas para dentro. O destinatário, ao receber o "cinto", enrola-o no seu bastão, cujo diâmetro é igual ao do bastão do remetente. Desta forma, pode ler a mensagem. 15
  • 16. Ciframento de César • Apesar da sua simplicidade (ou exatamente devido a ela), esta cifra foi utilizada pelos oficiais sulistas na Guerra de Secessão americana e pelo exército russo em 1915. • A cifra ROT13, que surgiu em 1984 na USENET, baseia-se numa substituição na posição 13 (A por N, B por O, etc). • Com o uso de dois discos concêntricos contendo todas as letras do alfabeto, a substituição se torna extremamente simples. Estes discos, inclusive, já foram utilizados como brinquedo que fazia a alegria de muitas crianças (... e de adultos também). 16
  • 17. Cifrário de Vigenére • O uso das carreiras de Vigenère é muito sujeito a erros. A leitura é penosa e, depois de algum tempo, bastante fatigante. Trabalhar com réguas sobre a tabela de alfabetos cifrantes também acaba cansando. Devido a este fato, a partir de 1880, muitos criptólogos passaram a utilizar a chamada Régua de Saint-Cyr . 17
  • 18. Chave simétrica • Esse é um tipo de chave mais simples, onde o emissor e o receptor fazem uso da mesma chave, isto é, uma única chave é usada na codificação e na decodificação da informação. Existem vários algoritmos que usam chaves simétricas, como o DES, o IDEA, e o RC. 18
  • 19. Algoritmos de Chave Simétrica • DES (Data Encryption Standard): criado pela IBM em 1977, faz uso de chaves de 56 bits. Isso corresponde a 72 quatrilhões de combinações. É um valor absurdamente alto, mas não para um computador potente. Em 1997, esse algoritmo foi quebrado por técnicas de "força bruta" (tentativa e erro) em um desafio promovido na internet; • IDEA (International Data Encryption Algorithm): criado em 1991 por James Massey e Xuejia Lai, o IDEA é um algoritmo que faz uso de chaves de 128 bits e que tem uma estrutura semelhante ao DES. Sua implementação em software é mais fácil do que a implementação deste último; • RC (Ron's Code ou Rivest Cipher): criado por Ron Rivest na empresa RSA Data Security, esse algoritmo é muito utilizado em e-mails e faz uso de chaves que vão de 8 a 1024 bits. Possui várias versões: RC2, RC4, RC5 e RC6. Essencialmente, cada versão difere da outra por trabalhar com chaves maiores. Há ainda outros algoritmos conhecidos, como o AES (Advanced Encryption Standard) - que é baseado no DES - , o 3DES, o Twofish e sua variante Blowfish, entre outros. 19
  • 20. Vantagens no uso da chave simétrica • Desempenho; • Simplicidade; • Constante Atualização; 20
  • 21. Desvantagens das chaves simétricas • A necessidade constante de chave secreta; • Dificuldade para gerenciar grandes quantidades de chaves em larga escala; • Dificuldade para iniciar uma comunicação segura entre entidades desconhecidas; 21
  • 22. Chave assimétrica Também conhecida como "chave pública", a chave assimétrica trabalha com duas chaves: uma denominada privada e outra denominada pública. Neste método, um emissor deve criar uma chave de codificação e enviá-la ao receptor. Essa é a chave pública. Uma outra chave deve ser criada para a decodificação. Esta, a chave privada, é secreta. 22
  • 23. Algoritmos de Chave Assimétrica • RSA (Rivest, Shamir and Adleman): criado em 1977 por Ron Rivest, Adi Shamir e Len Adleman nos laboratórios do MIT (Massachusetts Institute of Technology), é um dos algoritmos de chave assimétrica mais usados. Nele, números primos são utilizados da seguinte forma: dois números primos são multiplicados para se obter um terceiro valor. Porém, descobrir os dois primeiros números a partir do terceiro é muito trabalhoso. Se dois números primos grandes forem usados na multiplicação, será necessário usar muito processamento para descobrí-los, tornando essa tarefa praticamente inviável. Basicamente, a chave privada no RSA são os números multiplicados e a chave pública é o valor obtido; • ElGamal: criado por Taher ElGamal, esse algoritmo faz uso de um problema matemático conhecido por "logaritmo discreto" para se tornar seguro. Sua utilização é freqüente em assinaturas digitais. Existem ainda outros algoritmos, como o DSA (Digital Signature Algorithm), o Schnorr (praticamente usado apenas em assinaturas digitais) e Diffie-Hellman. 23
  • 24. Desvantagens • Lentidão no processamento; – Grandes quantidades de informações sendo criptografadas pode ser um problema. • Confiança no repositório de chaves públicas; – Possibilidade de escolher quem terá a chave; • Encontrar uma maneira de confiar na informação; – Como garantir que a chave pública de João é realmente de João ? 24
  • 25. Diffie-Hellman • Método de criptografia desenvolvido por Whitfield Diffie e Martin Hellman e publicado em 1976. • O algoritmo pode ser usado para a distribuição de chaves, mas não para cifrar ou decifrar mensagens. 25
  • 26. Modelo Hibrido • Trata-se de utilizar o melhor dos dois mundos. – Encapsulamento da chave usando chave assimétrica; • Ex: RSA. – Encapsulamento dos dados usando chave simétrica; • Ex: DES. 26
  • 30. Funções de Hash • O que é Hash ? • O conceito teórico diz que : • "hash é a transformação de uma grande quantidade de informações em uma pequena quantidade de informações". 30
  • 31. Uso do HASH Sua utilização como componente de assinatura digital, é necessária em virtude da lentidão dos algoritmos assimétricos, ou seja, em vez disso é empregada uma função de HASH, que gera um valor pequeno. Algoritmos de hash mais usados, são: • MD4; • MD5; • SHA-1; • WHIRPOOL. 31
  • 32. Referencias • Hook, David. Beginning Cryptography with Java, 1. ed. Wrox Press, 2005. ISBN:0764596330. • Knudsen, Jonathan B. Java Cryptography, 1. ed. O'Reilly, 1998. ISBN: ISBN: 1-56592-402-9. • Silva, Lino Sarlo Da. Public Key InfraEstructire - PKI, 1. ed. NOVATEC, 2004. ISBN: 8575220462. • Singh, Simon. Livro dos Codigos, 1. ed. Record, 2001. ISBN: 8501055980. 32