| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2007 16:41:16
|
ivo costa
JavaEvangelist
![[Avatar]](/images/avatar/2ab0ebde9cc0cd85fc47ce045d440caf.png)
Membro desde: 06/11/2007 12:07:34
Mensagens: 493
Localização: Porto Alegre - RS
Offline
|
Existe um programa open source que é o openp2m, o programa tem por finalidade compartilhar arquivos por e-mails (e é muito bom). Parando com a propaganda, eu estava olhando o código fonte do programa e vi que tem a função descriptografar e decidi fazer uma gambiarra que implementava aquela função pra descriptografar uma senha. Mas vejam só! no código fonte está sendo declarado uma variável do tipo BigInteger e como paramêtro uma String = "CHAVE". Achei isso estranho mas mesmo assim fui testar o código, e como esperado da erro nessa parte! Mas como pode o programa funcionar ao baixar via JNLP? Alguém tem ideia?
site do programa openp2m.sourceforge.net
codigo fonte do programa sourceforge.krugle.com/kse/files/cvs/cvs.sourceforge.net/openp2m/src-core/gui/LoginGUI
|
Eu sonho com um mundo melhor, onde galinhas que atravessam a rua não serão questionadas pelos seus motivos.
Formate o seu código usando as tags [code] http://www.guj.com.br/posts/list/50115.java
Faça perguntas inteligentes |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2007 16:53:53
|
rodrigoallemand
GUJ Ranger
![[Avatar]](/images/avatar/d7b431b1a0cc5f032399870ff4710743.jpg)
Membro desde: 21/02/2005 20:19:47
Mensagens: 972
Localização: Rio de Janeiro, Recreio!!!
Offline
|
Se a classe for java.lang.BigInteger e receber a string "CHAVE", vai dar zinabre mesmo...
Mas se for uma classe proprietaria com o nome de BigInteger, ai o cara faz mágica lá dentro...
|
Rodrigo Allemand
A culpa é minha e eu a coloco em quem eu quizer!. (Homer Simpson)
http://blog.rodrigoallemand.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2007 16:55:38
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Eles devem ter retirado a chave dos fontes.
Você não achou que eles publicariam a chave interna deles, achou?
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2007 17:08:38
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Provavelmente, se você olhar os fontes ou a documentação vai aprender como é que se gera a tal chave.
Dá a impressão que precisa de um processo um pouco complexo, já que o nome da classe é RSA e provavelmente o tal número é uma chave privada, que deve ser gerada por um processo especial (não dá para simplesmente espetar qualquer número lá.)
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2007 17:18:56
|
ivo costa
JavaEvangelist
![[Avatar]](/images/avatar/2ab0ebde9cc0cd85fc47ce045d440caf.png)
Membro desde: 06/11/2007 12:07:34
Mensagens: 493
Localização: Porto Alegre - RS
Offline
|
mas pelo o que eu vi (baixei todo o códifo fonte via CVS) ele não faz nada por baixo dos panos com a variável BIgInteger, e eu acho que não tem pra que ele esconder a chave poq é opensource.
Quando eu achar o e-mail desse cara vou perguntar pra ele e posto aqui o segredo da mágica.
|
Eu sonho com um mundo melhor, onde galinhas que atravessam a rua não serão questionadas pelos seus motivos.
Formate o seu código usando as tags [code] http://www.guj.com.br/posts/list/50115.java
Faça perguntas inteligentes |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2007 17:43:06
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
O código acima gera um par de chaves, e as imprime.
Exemplo:
O que o código do Glauber chama de "chave privada" provavelmente é o "expoente privado", e o que é chamado de "chave pública" é provavelmente o "módulo".
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2007 18:49:04
|
ivo costa
JavaEvangelist
![[Avatar]](/images/avatar/2ab0ebde9cc0cd85fc47ce045d440caf.png)
Membro desde: 06/11/2007 12:07:34
Mensagens: 493
Localização: Porto Alegre - RS
Offline
|
Eu também acho que é isso, mas e o new BigInteger("CHAVE")?
ps.: eu ainda não achei o e-mail do Glauber.
ps. 2: ninguém poderia me ajudar nesso tópico http://guj.com.br/posts/list/73898.java
Flw!
|
Eu sonho com um mundo melhor, onde galinhas que atravessam a rua não serão questionadas pelos seus motivos.
Formate o seu código usando as tags [code] http://www.guj.com.br/posts/list/50115.java
Faça perguntas inteligentes |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2007 03:49:52
|
seymorebutts
Smalltalk
Membro desde: 18/11/2007 03:40:59
Mensagens: 1
Offline
|
Saudações vi o vosso post e recentemente encotrei o codigo fonte do openp2m e decidir ver como era uma vez que o uso com frequencia.
A mesma duvida surgiu.
Procurei um pouco e encontrei esta classe que supostamente decripta a chave do open mas nao percebo como a posso por a funcionar.
Se quiserem dar uma ajuda agradecia, percebo alguma coisa de java mas nada de algoritmos de encriptação ainda mais este, pelo vi durante a minha pesquisa este meio estranho.
Bem aqui vai a classe para voces verem se podem dar uma ajuda.
/*
* OpenP2M Crypt Break
*
* Encrypt and decrypt password for program OpenP2M.
*
* 06/05/2006 - frighetti AT cascavel.pm.org
*/
import java.lang.String;
import java.math.BigInteger;
class RSA
{
private BigInteger n, d, e;
public RSA()
{
n = new BigInteger("849613389756793222155926708916406526722137707856633" +
"710486677120848018911369507691157686832490341300851" +
"2741498700587851315525414979963642608998181269527941");
d = new BigInteger("169922677951358644431185341783281305344427541571326" +
"742097335424169603782273897848542211926500549462803" +
"9077923965408489035118957525416966246759228390003017");
e = new BigInteger("5");
}
public final String encrypt(String s) {
return "_" + encrypt(new BigInteger(s.getBytes())).toString(36);
}
private BigInteger encrypt(BigInteger message)
{
return message.modPow(e, n);
}
public final String decrypt(String s) throws NumberFormatException
{
return s.startsWith("_") ?
new String(decrypt(new BigInteger(s.substring(1), 36)).toByteArray()) :
new String(decrypt(new BigInteger(s)).toByteArray());
}
private BigInteger decrypt(BigInteger message)
{
return message.modPow(d, n);
}
}
public class openp2m_crypt
{
private String enc = null, dec = null;
public static void main(String[] args)
{
if (args.length <= 1)
usage();
System.out.println(" " + parseargs(args) + "\n");
}
public static void usage()
{
System.out.println("Usage: \n" +
" java openp2m_crypt [-c <string for crypt> | -d <password crypted>]\n" +
" -c : criptography password for openp2m\n" +
" -d : decriptography password for openp2m\n");
System.exit(1);
}
public static String parseargs(String[] args)
{
RSA rsa = new RSA();
for (int i = 0; i < args.length; i++)
{
if (args[i].equals("-c") && i+1<args.length)
{
return rsa.encrypt(args[++i]);
}
else if (args[i].equals("-d") && i+1<args.length)
{
return rsa.decrypt(args[++i]);
}
}
return "";
}
}
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/11/2007 19:00:43
|
Sami Koivu
Virtual Machine Man
![[Avatar]](/images/avatar/a4d8e2a7e0d0c102339f97716d2fdfb6.jpg)
Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline
|
ivo costa wrote:Eu também acho que é isso, mas e o new BigInteger("CHAVE")?
ps.: eu ainda não achei o e-mail do Glauber.
ps. 2: ninguém poderia me ajudar nesso tópico http://guj.com.br/posts/list/73898.java
Flw!
Acho que essa versão com "CHAVE" é antiga. Acho que eles mudaram a estrutura do CVS e a nova versão está dentro da pasta openp2m/src-core
http://openp2m.cvs.sourceforge.net/openp2m/openp2m/src-core/gui/LoginGUI.java?view=log
Se você tiver um usuário para o site source-forge, você consegue mandar um e-mail pro Glauber via o site mesmo: http://sourceforge.net/sendmessage.php?touser=1617181
[]s,
Sami
This message was edited 2 times. Last update was at 19/11/2007 19:22:26
|
(Slightly) Random Broken Thoughts on Java Security |
|
|
 |
|
|