Caro Luiz,

    Não me interprete mal mas segue abaixo uma correção para o seu texto.
Espero que Vc aceite isto como um auxílio e não como uma crítica.

    As funçoes hash possuem algumas características como:
    a) Dado o texto de entrada é fácil calcular a saída;
    b) Dado a saída é complicado (mas não impossível) obter o texto de
entrada;
    c) É complicado encontrar duas mensagens de entrada dado que as suas
saídas geradas pela função hash sejam iguais (baixa taxa de colisão).

    Basicamente estas funções usam um mecanismo de manipulação de blocos
(XORs, permutações, deslocamentos, etc) para gerar a sua saída.

    Funções de hash, pelo menos as que eu conheço e trabalho (MD2, MD5,
SHA-1, RIPE-MD, e outros) não se utilizam de nenhuma operação de
exponenciação modular ou se aponham na dificuladade de se fatorar primos.

    Estas duas ferramentes (na falta de um termo melhor :-) ), exponenciação
modular e fatoração de primos, são normalmente empregadas em algorítmos
assimétricos, tal como o RSA, e algoritmos de derivação de chaves como o
Diffie-Hellman.

     Ainda acho que uma boa solução para o problema apresentado pelo Paulo,
é o uso de um algoritmo de Password Based Encryption, ou simplemente PBE.
Neste algorítmo é usado uma passphrase para a apartir dela gerar uma chave
simétrica a qual será usada para cifrar algum dado. Na JCE da Sun, e em um
conjunto de outras implementações de JCE, inclusive a da minha empresa,
existem implementações deste tipo de cifra.

    Espero ter contribuído em algo.

OBS: Uma boa literatura sobre este assunto é o livro "Applied Cryptography"
do Bruce Schneier. No site da JavaSoft (http://java.sun.com/security/)
existem conjunto de informações de implementações de recursos de segurança
no Java.

    [ ]´s
    Luciano da Silva Coelho
    [EMAIL PROTECTED]
    Sun Certified Programmer for JAVA2
    Sun Certified Web Component Developer for J2EE
    Sun Certified Instructor for JAVA2
    e-Sec Tecnologia em Segurança de Dados
    www.esec.com.br
----- Original Message -----
From: "Luiz Reginaldo" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, May 10, 2002 9:09 AM
Subject: Re: [java-list] Password


> Quer ter seu próprio endereço na Internet?
> Garanta já o seu e ainda ganhe cinco e-mails personalizados.
> DomíniosBOL - http://dominios.bol.com.br
>
>
>
>
>
>   Complementando o que o João disse: é possível encontrar o texto de
entrada
> a partir do texto de saída, mas o tempo para esse processamento, com os
> recursos computacionais atualmente disponíveis, levaria milhões de anos.
>
> Muitas das funções hash se baseam na dificuldade de fatoração de números
> primos, e no fato de que não é conhecido um algoritmo capaz de fazer tal
> fatoração em tempo polinomial.
>
> Um grande abraço,
>
>      Luiz Reginaldo
>
> ----- Original Message -----
> From: "João Paulo Batistella" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Tuesday, May 07, 2002 10:39 AM
> Subject: Re: [java-list] Password
>
>
> > Garante sim.
> >
> > A função hash funciona assim:
> > Dado um texto de entrada, uma saída é gerada.
> > A partir da saída, é impossível se chegar novamente ao
> > texto da entrada. Mas dada a mesma entrada, a mesma
> > saída é gerada.
> > Se vc aplica essa função na senha do usuário quando o
> > está cadastrando ou trocando de senha, o que fica
> > guardado é essa saída, que não significa nada para
> > ninguém que venha a pegar esse arquivo. Quando o
> > usuário vai logar, vc aplica a função na entrada dele
> > e, se bater o resultado com o que está guardado, ele
> > bateu a senha correta.
> > Esse tipo de autenticação é usado no UNIX.
> >
> > JP
> >
> > --- [EMAIL PROTECTED] wrote:
> > > Mas Marco, na realidade esse algoritmo nao garante
> > > seguranca nenhuma, ou
> > > nao?
> > > Como gravar em um arquivo essa "password" se quando
> > > transformada em string
> > > fica identica?
> > >
> > > Atenciosamente
> > > PAULO BRANCO
> > > DIRETIVA DIGITAL
> > >
> > >
> > >
> > >
> > > "Marco Aurelio Vilela Garcia" <[EMAIL PROTECTED]>
> > > 06/05/2002 12:54
> > > Please respond to java-list
> > >
> > >
> > >         To:     <[EMAIL PROTECTED]>
> > >         cc:
> > >         Subject:        Re: [java-list] Password
> > >
> > >
> > > Caro Matheus;
> > > No caso de criptografar uma senha, eu sugiro que não
> > > utilize nada para
> > > criptografia. A documentação ainda está fraca, pois
> > > a API de criptografia
> > > foi liberada para usuários fora dos EUA há muito
> > > pouco tempo. É possível
> > > obter uma funcionalidade parecida usando um digesto
> > > de mensagem.
> > > O procedimento é o seguinte: uma classe irá, a
> > > partir da sua senha, criar
> > > uma string que parece ser criptografada. Mas não se
> > > trata de criptografia,
> > > é
> > > apenas uma forma de autenticação. Eu estou usando
> > > isso para armazenar
> > > senhas
> > > numa base de dados. Estou satisfeito até agora.
> > >
> > > Logo abaixo escrevo um código para vc experimentar.
> > >
> > > Abraços
> > > Marco
> > >
> > >
> > >
> > > import java.security.*;
> > >
> > > /**
> > >  *  @author  Marco Aurélio Vilela Garcia
> > >  *  @version 1,0
> > >  */
> > > public final class PasswordEncDec {
> > >
> > >     public static String cryptSenha(String senha){
> > >         try{
> > >             MessageDigest md =
> > > MessageDigest.getInstance("SHA");
> > >             byte[] buf = senha.getBytes();
> > >             md.update(buf);
> > >             byte[] digest = md.digest();
> > >
> > >             return new String(digest);
> > >         }
> > >         catch(NoSuchAlgorithmException nsae){
> > >
> > >
> > System.err.println("===============================================");
> > >
> > >
> > System.err.println("===============================================");
> > >             System.err.println("      Erro
> > > acontecendo no
> > > PasswordEncDec");
> > >             System.err.println("              Método
> > > cryptSenha ");
> > >             System.err.println("Exceção: "+ nsae);
> > >
> > >
> > System.err.println("===============================================");
> > >
> > >
> > System.err.println("===============================================");
> > >             return null;
> > >         }
> > >     }
> > > }
> > >
> > >
> > >
> > > ----- Original Message -----
> > > From: "MATHEUS Fabio O CONFAB"
> > > <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Monday, May 06, 2002 8:54 AM
> > > Subject: [java-list] Password
> > >
> > >
> > > Pessoall,
> > >
> > > Alguém teria um exemplo simples de criptografia de
> > > uma string, ou
> > > simplesmente só o algoritimo??
> > > Qquer ajuda seria importante..
> > >
> > > Grato e boa semana!
> > > Fábio Oliveira Matheus
> > > Confab Industrial S/A. - Depto. Sistemas
> > > Pindamonhangaba - São Paulo - Brasil
> > > E-Mail: [EMAIL PROTECTED]
> > > Fone: 12-244-9316  Fax: 12-244-9304
> > >
> > >
> > >
> > > ------------------------------ LISTA SOUJAVA
> > > ----------------------------
> > > http://www.soujava.org.br  -  Sociedade de Usuários
> > > Java da Sucesu-SP
> > > dúvidas mais comuns:
> > > http://www.soujava.org.br/faq.htm
> > > regras da lista:
> > > http://www.soujava.org.br/regras.htm
> > > historico:
> > >
> > http://www.mail-archive.com/java-list%40soujava.org.br
> > > para sair da lista: envie email para
> > > [EMAIL PROTECTED]
> > >
>
> -------------------------------------------------------------------------
> > >
> > >
> > >
> > > ------------------------------ LISTA SOUJAVA
> > > ----------------------------
> > > http://www.soujava.org.br  -  Sociedade de Usuários
> > > Java da Sucesu-SP
> > > dúvidas mais comuns:
> > > http://www.soujava.org.br/faq.htm
> > > regras da lista:
> > > http://www.soujava.org.br/regras.htm
> > > historico:
> > >
> > http://www.mail-archive.com/java-list%40soujava.org.br
> > > para sair da lista: envie email para
> > > [EMAIL PROTECTED]
> > >
>
> -------------------------------------------------------------------------
> > >
> > >
> > >
> > >
> > >
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Yahoo! Health - your guide to health and wellness
> > http://health.yahoo.com
> >
> > ------------------------------ LISTA
SOUJAVA ----------------------------
> > http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> > dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> > regras da lista: http://www.soujava.org.br/regras.htm
> > historico: http://www.mail-archive.com/java-list%40soujava.org.br
> > para sair da lista: envie email para
[EMAIL PROTECTED]
>
> -------------------------------------------------------------------------
>
>
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> historico: http://www.mail-archive.com/java-list%40soujava.org.br
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
>


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a