Blog do programador e tecnico em redes ….
13 nov 2009
Em criptografia, XTEA (eXtended TEA) é um bloco cifra projetada para corrigir deficiências no tea. A cifra de David Wheeler e Roger Needham da Cambridge Computer Laboratory, e um algoritmo que foi apresentado em um relatório técnico não publicado em 1997 (Needham e Wheeler, 1997). Não está sujeito a quaisquer patentes.
Como TEA, XTEA é um bloco 64-bit Feistel rede com uma chave de 128 bits e um sugerido 64 rodadas. Várias diferenças são visíveis a partir de TEA, inclusive um pouco mais complexo chave-horário e um rearranjo dos turnos, XORs e aditamentos.
XTEA foi apresentado juntamente com um bloco de largura variável cifra denominado Bloco TEA, que utiliza a função XTEA rodadas, mas aplica-se ciclicamente em toda uma mensagem para várias iterações. Porque opera em toda a mensagem, Bloco TEA tenha a propriedade que não tem um modo de funcionamento. Um ataque a todo o Bloco TEA foi descrito em (Saarinen, 1998), que também detalha uma fraqueza no Bloco TEA do sucessor, XTEA.
Criado após hackers haverem quebrado o a segurança de um console de video game da microsoft que utilizava o TEA como algoritmo de criptografia, parece que foi um erro no bloco 32.
A partir de 2004, o melhor ataque é relatado sobre XTEA-chave relacionadas com um diferencial ataque a 26 dos 64 rounds de XTEA, exigindo 220,5 escolhido plaintexts e complexidade de um tempo 2.115,15 (Ko et al, 2004).
O extraordinariamente pequena dimensão do XTEA algoritmo tornaria uma opção viável em situações onde há extrema constrangimentos por exemplo sistemas legados hardware (talvez embutido), onde a quantidade de RAM disponível é mínimo.
e baixe uma classe bem legal em php para xtea aqui.
13 nov 2009
Server.HTMLEncode é uma função que serve para codificar uma string em HTML. Vejam um exemplo prático:
Suponha que você tenha um site que permita o usuário cadastrar-se à vontade. Então, um engraçadinho resolve cadastrar o nome dele da seguinte maneira:
<font color=”red” style=”font-size: 30pt”>Adriano Nântua</font>
Pronto. De agora em diante, toda vez que o nome dele for escrito no site estará vermelho e bem grande, diferente das outras pessoas (isso se o palhaço não resolver botar tamanho 800 e esculhambar de vez o seu site).
Para evitar isso, na hora de escrever o nome, ao invés de fazer o usual:
<%= nome %>
faça o funcional:
<%= Server.HtmlEncode(nome) %>
Desta maneira, nome do espertinho, será escrito da mesma maneira que ele informou, pois a função codifica a string em HTML, escrevendo < ao invés de <.
Obviamente, a função não serve somente para se proteger de usuários humoristas. Em geral serve para que os caracteres cadastrados sejam escritos fielmente.
Imagine que você vá jogar a string O filme “A Rocha” ganhou 20 prêmios no value de um input de texto. Só vai dar O Filme, pois o browser vai ler o ” como fim do value, e o resto da string vai ficar fazendo sujeira na Tag. Um desmantelo.
Basta usar, então, o Server.HTMLEncode para consertar as coisas.
13 nov 2009
aSSL permite ao cliente para negociar um segredo aleatória 128-bit tecla com o servidor utilizando o algoritmo RSA. Quando a ligação tiver sido estabelecida, os dados serão enviados e recebidos usando o algoritmo AES.
aSSL é composto por alguns arquivos Javascript e um componente lado do servidor. esta sendo mudada recentemente a negociação de algoritmo RSA RC4 para somente um puro Javascript (ASP) servidor componente está disponível no momento. e esta sendo um porte para as principais línguagens da web (PHP, Java, Perl, Python, TKL, etc) logo que possível, uma vez que a biblioteca já passou da fase beta.
Como funciona aSSL 1.2
1. O navegador solicita ao servidor para iniciar o processo.
2. O servidor retorna a sua RSA modulus e o público expoente.
3. O browser gera uma troca aleatória 128-bit chave, e o criptografa usando a chave pública do servidor e passa o intercâmbio chave criptografada para o servidor.
4. O servidor recebe esta encriptado 128-bit chave, descodifica-la com sua chave privada e, caso o resultado é ok, retorna a sessão duração tempo.
5. O navegador recebe a sessão duração tempo, e define um tempo limite para manter viva a ligação.
Notas. Todas as subsequentes cliente-servidor por meio de intercâmbios aSSL estão codificados e descodificada utilizando algoritmo AES. aSSL permite múltiplas conexões seguras a ser estabelecido com um ou mais servidores, sendo ideal para uso em sites de comercio eletronico sem ser preciso comprar um certificado de alguma empresa de certificação que podem custa muito caro.