• Nenhum resultado encontrado

POS 2 crypto

N/A
N/A
Protected

Academic year: 2021

Share "POS 2 crypto"

Copied!
34
0
0

Texto

(1)

Professor MSc. Ciro Meneses Santos

Professor MSc. Ciro Meneses Santos

Data: 06/03/2010

Data: 06/03/2010

P

P

ó

ó

s Gradua

s Gradua

ç

ç

ão em Adm de Redes

ão em Adm de Redes

(2)

Conteúdo

Š

Deslocamento ou método de César

Š

Tabela de Transformação

Š

Método Vigenere

Š

Método de Vernam

Š

XOR – Ou – Exclusivo

(3)

Introdução

• Criptografia, do grego kryptós = (escondido,

oculto) + grápho = (grafia, escrita). É a arte ou a ciência de escrever em cifra ou em código;

ŠCriptoanálise, do grego kryptos + analysis =

decomposição. É a arte ou a ciência de determinar a chave ou decifrar mensagens sem conhecer a chave.

ŠCriptologia, do grego kryptós + lógos = estudo,

ciência. É a ciência que reúne a criptografia e a criptoanálise.

(4)

Introdução

Š Criptologia - É então o estudo de sistemas para

comunicações secretas, consistindo de dois campos de estudo competitivos entre si:

Š Criptografia – O projeto de sistemas de

comunicação secreta.

Š Criptoanálise – O estudo das formas de burlar

ou “quebrar” os sistemas de comunicação secreta.

(5)

• Em outras palavras, é um conjunto de técnicas que permitem tornar incompreensível uma

mensagem originalmente escrita com clareza, de forma a permitir normalmente que apenas o

destinatário a decifre e compreenda. Quase

sempre o deciframento requer o conhecimento de uma chave, uma informação secreta

disponível ao destinatário.

Š Terceiros podem através de “escuta” ter acesso à mensagem cifrada e determinar o texto original ou mesmo a chave, “quebrando”o sistema.

(6)

Š A maior aplicação da criptologia no passado foi em sistemas de comunicação militar e

diplomático.

Š Sua utilização durante a segunda Guerra, e a conseqüente quebra dos códigos alemão e

japonês, foi fundamental para o sucesso dos aliados.

Š Com o passar do temo outras aplicações de criptologia foram surgindo

(7)

1. Os sistemas de arquivos dos computadores (onde cada usuário gostaria de manter privados os arquivos de seu computador).

2. E transferências de informação ou “dinheiro” por meio eletrônico (onde grande quantidade de dinheiro está envolvida).

3. Transações eletrônicas, compras on-line com número de cartão de crédito, acesso à conta corrente para saldo e transações bancárias.

(8)

A criptologia tem muita afinidade com ciência da computação e algoritmos, especialmente a

aritmética e processamento de strings. De fato, a arte ou a ciência da criptologia está intimamente relacionada com os computadores e a ciência da computação, e ainda está ao início, longe de ser totalmente entendida. Como os algoritmos, os

sistemas de criptografia existiam muito antes dos computadores. Projeto de sistemas secretos e

projeto de algoritmos tem uma herança comum, e as mesmas pessoas se sentem atraídas por ambos.

(9)

Ainda não se sabe que ramo da criptologia tem sido mais afetado pela disponibilidade de

computadores. Os que lidam com criptografia têm agora uma “máquina” para criptografar muito

mais poderosa que antigamente. Entretanto, os que trabalham com criptoanálise também

possuem um potencial muito maior para quebrar códigos. Mas , os códigos a serem quebrados são muito mais complicados que os anteriormente utilizados.

(10)

Terminologia

Remetente (R) deseja enviar uma mensagem (M) para o destinatário (D).

Transforma (M) em um texto secreto, chamado texto cifrado (C) usando um algoritmo de criptografia inverso e uma

chave (K) e então envia o texto cifrado.

O destinatário usa um algoritmo de criptografia inverso e uma chave (K), que possibilita transformar o texto cifrado (C) de volta à mensagem original (M).

R M C D

K

C

K

(11)

Deslocamento ou

Método de César

A cada letra é dado um valor de acordo com sua posição no alfabeto, conforme a tabela abaixo (assumimos que o espaço em branco tem o valor 0)

A B C D E F G H I J K L M N 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

O P Q R S T U V W X Y Z 15 16 17 18 19 20 21 22 23 24 25 26

Ao criptografar um texto contendo outros caracteres, como pontuação e números, precisamos considerá-los como parte do alfabeto e estabelecer uma ordem entre eles.

(12)

Deslocamento

Se uma letra ocupa a n-ésima posição no alfabeto (tem um valor n) será substituída pela

(n+k)-ésima letra no alfabeto (a letra de valor n+k), onde k é um número fixo inteiro.

Os exemplos abaixo mostram como umas

mensagem seria criptografada por este método. Mensagem: ATACAR DE MADRUGADA

Texto cifrado com k=1: BUBDBSAEDANBESVHBEB Mensagem: ATACAR DE MADRUGADA Texto cifrado com k=3:

(13)

Deslocamento

• Para se decifrar um texto cifrado C, as letras com valor n são substituídas pelas letras com valor n-k, gerando-se a mensagem original M. • Neste método assumimos aritmética modular,

ou seja, não usamos propriamente n+k mas (n+k) mod TAM, onde TAM é o tamanho do alfabeto.

• Consideramos alfabeto com 27 possíveis

caracteres. Englobando as 26 letras e o espaço em branco. Desta forma, a letra X cifrada com k =7 seria transformada em uma letra D pois (24 + 7) mod 27 = 4.

(14)

Deslocamento

• Este método é bastante fraco. Existem apenas 27 chaves possíveis. Um criptoanalista poderia facilmente testar todas

as chaves. Além disso é bastante sensível à análise de freqüência.

• Em um texto qualquer da língua portuguesa a letra mais freqüente é, quase sempre, a letra A ou E. o criptoanalista nem precisaria testar todas as chaves, bastaria descobrir a letra mais freqüente no texto cifrado C e descobria a chave k, conseqüentemente a mensagem M.

(15)

Deslocamento

Texto cifrado: EXEGEVDEQERLE Letra mais freqüente: E

Então E corresponde ao A, logo K = 4. Mensagem: ATACAR AMANHA

Texto cifrado: TQYFWEUFWFEHFXF Mensagem: ???

(16)

Tabela de transformação

• Um método bem melhor que deslocamento

simples é utilizar uma tabela geral para definir como as letras são substituídas.

• Cada letra do texto será substituída por uma outra letra de acordo com a transformação indicada na tabela.

• Neste caso a chave usada para cifrar o texto é a tabela de transformação.

(17)

Tabela de transformação

• O exemplo abaixo mostra uma possível tabela de transformação e uma mensagem cifrada com esta tabela.

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

F Q H T I W J X K V A L

Texto cifrado: ATACAR DE MADRUGADA Mensagem: GWGBGTUNDUPGNTJMGNG

(18)

Tabela de transformação

• O criptoanalista teria mais trabalho pois existem muitas chaves a serem testadas para se ter a certeza da mensagem original.

• São cerca de 27!, mais de 1028 chaves possíveis.

• Entretanto o método ainda é sensível à análise de freqüência: através de contagem consegue-se facilmente descobrir a letra A ou E (as mais freqüentes em português), diminuindo bastante o número de chaves a se testar.

• Também poderia ser analisada a freqüência de duas letras seguidas, descobrindo-se certas combinações com DE que ocorrem muito em português e evitar testar chaves que proporcionariam combinações que não ocorrem em português, com QJ.

(19)

Método Vigenere

• Uma forma de evitar o ataque do criptoanalista baseado na freqüência é usar mais de uma tabela, ou mais de um deslocamento.

• O método de Vigenere é uma extensão do método do Deslocamento. A chave não é apenas um inteiro k que é usada para todas as letras da mensagem, mas uma pequena seqüência de inteiros, que são usados repetidamente.

• Geralmente esta seqüência de inteiros é representada por uma seqüência de letras, onde o A vale 1, B vale 2 e assim por diante. Neste caso o valor da letra da chave é adicionado ao valor da letra da mensagem para se determinar

(20)

Método Vigenere

Mensagem: ATACAR DE MADRUGADA Chave ABC: ABCABCABCABCABCABCA Texto Cifrado: BVDDCUAFHAODETXHCGB

• No exemplo a letra M (valor 13) é somada ao B (valor 2) da chave resultando em O (valor 15).

Mensagem: ATACAR DE MADRUGADA Chave DCBA: DCBADCBADCBADCBADCB Texto Cifrado: EWCDEUBEICOBHUWHEGC

• No exemplo a letra G (valor 7) é somada ao A (valor 1) da chave resultando em H (valor 8).

(21)

Método Vigenere

• Note que as letras A da mensagem foram transformadas em B, C e D, dependendo da posição dentro do texto. Além disto, um dos D’s do texto cifrado corresponde ao segundo A de ATACAR e outro ao C de ATACAR. Assim percebe-se que a freqüência não ajuda tanto o criptoanalista.

• Este método pode ser melhorado aplicando-se uma tabela de transformação e não um deslocamento simples.

• É claro que quanto maior a chave mais seguro se torna o método. Porém mais complicada se torna a distribuição das chaves.

(22)

Método de Vernam

• Este nome é dado quando se usa o método de Vigenere com uma chave tão grande quanto o

texto. Como a chave é do tamanho do texto, cada posição da chave é usada apenas uma vez ao

cifrar uma mensagem.

• Este é o único método comprovadamente seguro. • Como cada letra da chave é usada apenas uma

vez, o criptoanalista teria que testar todas a possíveis letras de chave para cada posição da mensagem. Isto é o mesmo que tentar todas as possíveis mensagens... Há noticias de que este tenha sido o método usado na comunicação

Washington-Moscou e em outras comunicações vitais.

(23)

Método de Vernam

Mensagem: ATACAR DE MADRUGADA Chave : CRIPTOLOGIACRIPTOLO Texto Cifrado: ?

• No exemplo a letra M (valor 13) é somada ao A (valor 1) da chave resultando em N (valor 14).

Mensagem: ATACAR DE MADRUGADA Chave: KRYPTOSGRAPHOLOGOSS Texto Cifrado: ?

(24)

XOR – Ou-Exclusivo

• Se a mensagem e a chave são codificadas em binário, um esquema comum de cifrar posição por posição é utilizar a função “ou-exclusivo”. Para cifrar a mensagem fazemos um “ou-exclusivo” bit-a-bit da mensagem com a chave, ou seja, cada bit do texto cifrado será o resultado2 de um “xor” do bit do texto original e o bit da senha.

• Uma característica interessante é que para decifrar a mensagem utilizamos exatamente o mesmo processo que usamos para cifrar.

(25)

XOR – Ou-Exclusivo

• O texto cifrado é o “ou-exclusivo” bit-a-bit da mensagem com a chave, mas ao fazermos um “ou-exclusivo: da chave com o texto cifrado obtemos novamente a mensagem original.

• Neste caso vale ressaltar que se o criptoanalista conseguir a mensagem e o texto cifrado um “ou-exclusivo”lhe revela a chave.

(26)

XOR – Ou-Exclusivo

• O exemplo abaixo considera cada dígito da mensagem, senha e texto cifrado como sendo representado por uma seqüência de 3 bits:

• O resultado do XOR é 0 para bits iguais e 1 para bits diferentes.

Mensagem: 735 → 111 011 101 Chave ABC: 5 → 101

(27)

Método de chave publica

RSA

• RSA é um sistema de criptografia de chave pública tanto para cifrar quanto para autenticação de dados, foi inventado em 1977 por Ron Rivest, Adi Shamir e Leonard Adleman, pesquisadores do MIT.

• A principal vantagem da criptografia baseada em chave pública é a sua maior segurança em relação a criptografia baseada em chave secreta. No sistema baseado em chave pública as chaves privadas nunca precisam ser transmitidas ou recebidas a ninguém.

(28)

Procedimento de cifragem

e decifragem

• RSA é um sistema de criptografia de chave pública tanto para cifrar quanto para autenticação de dados, foi inventado em 1977 por Ron Rivest, Adi Shamir e Leonard Adleman, pesquisadores do MIT.

• A principal vantagem da criptografia baseada em chave pública é a sua maior segurança em relação a criptografia baseada em chave secreta. No sistema baseado em chave pública as chaves privadas nunca precisam ser transmitidas ou recebidas a ninguém.

(29)

Procedimento de cifragem

e decifragem

• Estabelecer dois números primos grandes p e q, e definir o módulo n como sendo n = pq.

Os fatores p e q devem ser mantidos em segredo; • Estabelecer um inteiro qualquer d que seja

relativamente primo ao inteiro (p – 1)( q – 1);

• Encontrar o valor de e na faixa 1 < = e < = (p – 1)(q – 1) tirando da fórmula ed = 1( mod( p – 1)( q – 1));

• Sendo assim é conhecida a chave pública, formada pelo par de inteiros (e,n);

• Representar a mensagem M que será transmitida como um inteiro na faixa { 1,..., n); se a mensagem M for muito grande, deve-se colocá-la em blocos;

• Criptografar M num criptograma C da seguinte forma: C = Me (mod n);

(30)

Procedimento de cifragem

e decifragem

Tanto o remetente quanto o destinatário tem que saber o valor de n, o remetente sabe o valor de e e somente o destinatário sabe o valor de d. Portanto, é um algoritmo de criptografia de chave pública com uma chave pública KU = {e,n} e uma chave privada que é KR = {d,n}.

Algumas questões têm que ser satisfeitas para este algoritmo de criptografia funcionar satisfatoriamente. As condições são: seja possível achar valores de e, d, n tais que Med = M mod n

para todo M < n, seja relativamente fácil calcular Me e Cd para todos os valores de M < n e seja

(31)

Criptografia RSA

Para criar uma chave RSA precisamos escolher dois números primos grandes, geralmente este números são maiores que 10100,

Escolhemos dois números primos "p" e "q".

p = 3 q = 11

Calcula-se então n e z

n = p*q = 33

(32)

Criptografia RSA

Calcula-se então d e e

Em seguida deveremos escolher um número primo em relação a z que será associado a d, o único requisito é que não haja fatores comuns entre eles, o 7 não tem favor comum com 20.

d = 7

Calcula-se um número que será associado a e, (e * d) mod z = 1

(3 * 7) mod 20 = 1

(33)

Criptografia RSA

p = 3 q = 11 n = 33 z = 20 d = 7 e = 3

Chave pública e, n Kpu = {3, 33} Chave privada d, n Kpr = {7, 33}

A B C D E F G H I J K L M N 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

O P Q R S T U V W X Y Z 15 16 17 18 19 20 21 22 23 24 25 26

texto cripto = (texto original) mod n

texto original = (texto cripto) mod n

d e

(34)

Criptografia RSA

Chave privada d, n

Kpr = {7, 33}

Com exemplo vamos encriptar de desencriptar a letra "m“ e “o”, para isso veremos qual o número correspondente na tabela acima e verificamos que é o número 13, então:

texto criptografado = 13 ^ e mod n texto criptografado = 13 ^ 3 mod 33 texto criptografado = 19

Convertendo o valor para a tabela padronizada anteriormente teremos a letra "S". O destinatário ao receber a mensagem deverá descriptografá-la usando a fórmula usando os dados da chave privada:

texto original = 19 ^ d mod n texto original = 19 ^ 7 mod 33 texto original = 13

O número 13 é equivalente a letra “m" na tabela padronizada

Chave pública e, n

Referências

Documentos relacionados

Antes de as unidades de corte vertical serem baixadas até ao chão ou retiradas da unidade de tracção, baixe os rolos de transporte (Figura 6) para proteger as lâminas do contacto com

Toxicidade para órgãos - alvo específicos - exposição repetida: não há dados disponíveis. Perigo por aspiração: não há

Os dados quantitativos ainda que não sejam as únicas ou preferenciais balizas para a qualidade dos museus, são imprescindíveis para possibilitar à gestão do museu projetar

Padrão de conexão: qualquer dispositivo compatível como USB usa padrões definidos de conexão (ver mais no tópico sobre conectores), assim não é necessário ter um tipo de

Quando da apresentação do formulário de referência por conta do pedido de registro de distribuição pública de valores mobiliários, as informações devem se referir aos 3

Como eles não são caracteres que possam ser impressos normalmente com a função print(), então utilizamos alguns comandos simples para utilizá-los em modo texto 2.. Outros

PROCESSO SELETIVO DE TRANSFERÊNCIA DE ALUNOS E PORTADOR DE DIPLOMA DE GRADUAÇÃO PRIMEIRO SEMESTRE - 2016 Comunicação e linguagem Pensamento  Funções executivas

Seleção de Indicadores Compilação de dados dos Indicadores Normalização e indexação dos dados dos Indicadores Ponderação dos valores indexados dos Indicadores