Criptografia - MD5 [RESOLVIDO]

25. Re: Criptografia - MD5 [RESOLVIDO]

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 26/01/2009 - 17:55h

hash puro, tem o sha1, sha2 e sha3.

Confesso que não pesquisei realmente o poder de cada um, mas pelo que pude observar, o que se chama de sha1, sha2 e sha3...

O que vi é que o meu SUSE, nos aplicativos de linha de comando, possui:
sha1sum
sha224sum
sha256sum
sha384sum
sha512sum

(nossa! um hash de 512 bits é realmente uma estupidez em termos de força bruta. 256 bits simétrico já é considerado de segurança eterna quanto a força bruta)

O gnupg versão 2.0.9 também:

$ gpg --version
gpg (GnuPG) 2.0.9
Copyright (C) 2008 Free Software Foundation, Inc.

Supported algorithms:
Pubkey: RSA, ELG, DSA
Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224

Compression: Uncompressed, ZIP, ZLIB, BZIP2
Used libraries: gcrypt(1.4.0)

Então, estamos já bem além do sha1 com seus 160 bits!

E a biblioteca mhash do php (no suse tu instala o pacote php5-mhash) já possui TODOS eles:

$senha="teste123";

$sha= strtoupper(bin2hex( mhash(MHASH_SHA1, $senha) ));
printf ("%-15s %s\n", "Sha1 (160b):", "$senha = $sha");

$senha="teste123";
$sha= strtoupper(bin2hex( mhash(MHASH_SHA224, $senha) ));
printf ("%-15s %s\n", "Sha224:", "$senha = $sha");

$sha= strtoupper(bin2hex( mhash(MHASH_SHA256, $senha) ));
printf ("%-15s %s\n", "Sha256:", "$senha = $sha");

$sha1= strtoupper(bin2hex( mhash(MHASH_SHA512, $senha) ));
printf ("%-15s %s\n", "Sha512:", "$senha = $sha");




  


26. Re: Criptografia - MD5 [RESOLVIDO]

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 26/01/2009 - 18:07h

Complementando o último comentário...

isto falando de hashes puros.
Mas todo o algoritmo simétrico pode ser convertido para hash em uma forma recursiva, usando um bloco padrão como senha.

O Suse permite usar DES (ECA), MD5 e Blowfish como hash. Curiosamente não permite usar o sha1. Eu já sabia que no arquivo de senhas do Linux se começar com $1$ é MD5, se começar com $2$ é sha1 (e se não começar com $ é o antigo DES).

Agora fiquei sabendo que se começar com $2a$ é Blowfish.



27. Codigos

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 26/01/2009 - 18:28h

Voltando ao topico, eis uma funcao para gerar um sal aleatorio:
(minha implementacao)

function random_salt($tam)
{
$possiveis = '0123456789'; // Numeros
$possiveis.= 'abcdefghijklmnopqrstuvwxyz'; // letras minusculas
$possiveis.= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; // letras maiusculas
$possiveis.= './'; // Simbolos

$str = "";
mt_srand((double) microtime() * 1000000);

$tp = strlen($possiveis); // qtd de cars possiveis
while (strlen($str) < $tam){
$id = rand() % $tp;
$car = $possiveis{$id};
$str.= $car;
}
return $str;
}

Exemplo de uso:

$salt = random_salt(12); // retornara 12 cars aleatorios para ser usado como salt



28. Re: Criptografia - MD5 [RESOLVIDO]

Paulo Camboim
paulocamboim

(usa Slackware)

Enviado em 27/01/2009 - 12:17h

Implementei a autenticação utilizando sha1 com a sua funcao de random_salt.
Muito obrigado pelas dicas =)

Agora o sistema de autenticação está mais seguro ;)


29. Rainbow Tables

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 29/01/2009 - 09:49h

Além dos sites que tentam quebrar hashes online (mas com uma base curta) tem o projeto open ophcrack.

Você pode baixar o programa e compilar a sua própria tabela rainbow (se tiver hardware e tempo!)

Contudo já tem para download muitas tabelas pre-compiladas para os hashes do Windows (eu não disse!).
http://ophcrack.sourceforge.net/tables.php

Para o lampasswd a tabela completa ocupa 7.5G (só para se ter uma idéia da bobagem que é este algoritmo, ele não faz distinção entre maiúsculas e minúsculas. teste, TESTE, TeStE para o LM são a mesma senha :-O)

Para o NT passwd é diferente...
Uma das tabelas tem 8G e abrange todas as senhas de até 6 cars com qualquer letra, número ou dígito (viu! Senhas de até 6 cars no Windows já tem nas tabelas!!). Ainda todas de 7 cars apenas letras e números (sem simbolos) e todas de 8 car apenas letras minusculas e números.

Por 52GB tu consegue uma tabela de 8 cars letras min e numeros (com a primeira letra em maiuscula) + letras min e numeros para 9 cars.

E o pessoal continua processando. Algumas tabelas não são públicas.

Agora tenta encontrar tabelas rainbow para senhas com salt :-D


30. Retificando

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 29/01/2009 - 09:56h

Olhando o site com maior atenção, vi que as grandes tabelas precisam ser COMPRADAS!!

Apenas as menores podem ser baixadas gratuitamente!!

Elas custam de $99 até $499 por tabela!!
(bom, a de 52Gb custa $499 mas é vendida junto com um HD, incluído no preço)

Bahhhhh...




01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts