Posts Tagged criptografia

Hackers quebram criptografia SSL usado por milhões de sites

Pesquisadores descobriram uma fraqueza séria em praticamente todos os sites protegidos pelo protocolo Secure Sockets Layer que permite que atacantes  silenciosamente consigam descriptografar dados que estão passando entre um servidor web e um browser do usuário final.

A vulnerabilidade reside nas versões 1.0 e anteriores do TLS, ou Transport Layer Security, o sucessor da tecnologia de secure sockets layer que serve como base de confiança da internet . Embora as versões 1.1 e 1.2 do TLS não serem suscetíveis ao ataque, elas, quase que totalmente, não são suportadas em browsers e sites, fazendo transações criptografadas no PayPal, GMail, e quaquer outro web site vulnerável a escutas por hackers que são capazes de controlar a conexão entre o usuário final e no site ele está visitando.

Na conferência de segurança Ekoparty em Buenos Aires, os investigadores tailandeses Duong e Juliano Rizzo planejam demonstrar a prova de conceito do código chamado BEAST, que é curto para um Exploit no Navegador Contra SSL / TLS. O código trabalha com um sniffer de rede para descriptografar os cookies criptografados será usado um site alvo para conceder acesso a contas de usuário restrito. O exploit funciona mesmo contra sites que usam HSTS ou Segurança de Transporte HTTP Strict, o que impede certas páginas de carregar a menos que estejam protegidos por SSL.

Fonte: http://news.hitb.org

 

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

, , , , , , , , , , , , ,

Comments

Entendendo a criptografia RSA – parte II

Dando sequência ao primeiro post (Entendendo a criptografia RSA – Parte 1), vou explicar como são feitos os cálculos envolvendo multiplicação em matemática modular e mostrar algumas propriedades interessantes. A intenção é completar a base de conhecimento para compreensão da matemática envolvida na criptografia RSA. Mas é bom frisar que, para tornar a explicação compreensível a todos, algumas particularidades serão ignoradas.

A multiplicação na matemática modular pode ser feita de uma maneira muito simples se os módulos forem calculados antes. Por exemplo, calcular 351 x 437 (mod 10) poderia ser complicado se formos calcular 351x 437 e só depois achar o resto módulo 10. Para isso, teríamos que calcular 351x 437 = 153.387 e só depois achar 153.387 (mod 10) = 7. Calculando os módulos antes, teríamos 351 (mod 10) = 1 e 437 (mod 10) = 7., ou seja, nossa conta se resume a 1 . 7 = 7 (mod 10). Apesar de eu ter escolhido o módulo 10 para tornar mais fácil a visualização, fica também nítida a redução na complexidade dos cálculos se quisermos achar 12.243 x 626 (mod 12) porque podemos calcular 12.243 (mod 12) x 626 (mod 12) e nossa conta se resume a achar 3 x 2 = 6 (mod 12).

Por consequência direta, as contas com potências também podem ficar bastante simplificadas. Para isso, precisamos usar algumas estratégias de cálculos a fim de reduzir o expoente ou transformar as contas em sucessivas multiplicações como a anterior. Por exemplo, calcular 24123.495.876mod 23seria praticamente impossível sem o uso de programa específico de computador, mas podemos fazer as contas de cabeça se usarmos o fato de que 24 = 1 (mod 23). Isso simplifica o cálculo e nos permite ver rapidamente que o resultado é 1. Outro exemplo seria calcular de cabeça 35(mod 7). Transformando em sucessivas multiplicações, teríamos:

  • 3×3=2(mod 7), ou seja, 32= 2(mod 7);
  • Como 33=32x3, podemos fazer 33=2×3=6(mod 7) e seguir até 35;
  • Mas podemos usar que 35=32x32x3 e teríamos 35=2x2x3(mod 7), resultando em 35 =4×3=5(mod 7)

São simplificações como essas que permitem aos computadores calcularem potências cujos expoentes são números com mais de 300 algarismos, o que seria impraticável em tempo hábil se as contas fossem feitas da maneira que estamos acostumados.

Como lidamos com números inteiros e as divisões nem sempre têm resultados inteiros, essa operação não existe em matemática modular. Isso é contornado com o uso do inverso multiplicativo que nada mais é do que encontrar um número a que, multiplicado por seu inverso b, seja igual a 1 (mod c). Em breve falarei de meios eficientes de se encontrar o inverso de um número mas, para entender o funcionamento da RSA, basta saber que a . b = 1 (mod c) implica que a é o inverso multiplicativo de b módulo c e vice-versa.

Se você entendeu o que foi dito nestes dois post da série, já está apto a entender porque a RSA funciona e, ainda, ter um noção dos motivos de sua eficiência. Portanto, no próximo post falarei exatamente sobre isso. Espero que, como eu, você fique maravilhado com a simplicidade da ideia frente à sua eficiência.

Fonte: http://dascoisasqueaprendi.com.br/

Entendendo a criptografia RSA – Parte 1

 

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

, , , , , , , , ,

Comments

Entendendo a criptografia RSA – Parte 1

Muito se ouve falar sobre criptografia e, mais especificamente, da eficiência da RSA para proteção de dados. Mas é menos comum ver explicações acerca dos motivos que a tornam tão boa no que se propõe. Mais que isso, como são relativamente simples as teorias nas quais se embasaram Rivest, Shamir e Adleman para sua criação. Claro que não dá para falar tudo num só post! Por isso, dedicarei a próxima série a este fascinante assunto: A teoria matemática por trás da criptografia RSA.

Desde que li O livro dos códigos, sou fascinado pelo assunto “criptografia”. Em especial, o livro me despertou um enorme interesse pela Enigma e pela criptografia RSA. Apesar de não ter informações muito técnicas, conta a história por trás das coisas e foi justamente isso que me interessou. Especificamente sobre a RSA, fiquei curioso por entender como algo tão “simples” pudesse ser tão eficiente. Até porque, sempre achei que as soluções simples são as mais elegantes.

Antes de qualquer coisa, é preciso entender que tudo se baseia na matemática modular. Apesar do nome soar estranho aos ouvidos de alguns e, ainda, as coisas parecerem ainda mais esquisitas quando se ouve dizer que pode acontecer 9  + 7 = 4 em matemática modular; posso afirmar que tratam-se de conceitos que usamos quase naturalmente no cotidiano. O exemplo mais ilustrativo é o cálculo de horas num relógio de ponteiro: suponha que o ponteiro das horas esteja no nove, onde ele estará depois de sete horas? Viu como não é mais tão inconsebível 9 + 7 = 4?

Outros exemplos simples de contas que custumeiramente fazemos usando matemática modular podem ser o cálculo de que dia da semana será daqui a cinco dias ou em quantos anos acontecerá o próximo ano bissexto. Iniciando uma “tradução” para matemática, dizer que 9 + 7 = 4 num relógio de ponteiro é o mesmo que dizer “9 + 7 deixa resto 4 quando dividido por 12”. Aliás, esta é a principal ideia na matemática modular: buscamos sempre o resto da divisão de um número por outro. Voltando ao relógio, para calcularmos onde o ponteiro estará depois de 49 horas ao invés de 7, teríamos que somar 49 + 9 = 58 e achar o resto da divisão por 12 que é 10. Neste caso, 49 + 9 = 10.

Tendo já um conceito acerca da matemática modular, é importante que saibamos como tudo isso é formalmente escrito. Abstraindo o conceito de congruência, para dizer que 9 + 7 deixa resto 4 ao ser dividido por 12 ou que 49 + 9 deixa resto 10 na mesma divisão, precisamos escrever 9 + 7 = 4 (mod 12) e 9 + 49 = 10 (mod 12). Melhor explicando, dizer que a + b = c (mod x)(lê-se a mais b é igual a c módulo x), é o mesmo que dizer que a + b deixa resto c ao ser dividido por x.

Explicado tudo isso, vamos a resultados práticos! Dois deles podem ser ditos assim: a + b (mod x) = a (mod x) + b (mod x). Apesar de parecer um resultados sem muita utilidade, imagine-se calculando onde estaria o ponteiro do relógio já citado se passassem 13 horas e, depois, mais 25 horas! Normalmente, somaríamos 9 + 13 + 25, dividiríamos por 12 e acharíamos o resto. Seria como calcular 9 + 13 + 25 (mod 12), o que pode não ser um cálculo tão trivial. Mas pode ser simplificado se fizermos 9 (mod 12) + 13 (mod 12) + 25 (mod 12), ou seja, calcular os restos antes de somar. Teríamos então: 9 + 1 + 1 = 11 (mod 12). Viu como as contas ficam mais simples?! O mais impressionante é que o mesmo se aplica à multiplicação, mas isso fica para o próximo post.

Fonte: http://dascoisasqueaprendi.com.br/

Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

, , , , ,

Comments