Off desafio criptografia java

66 respostas
java

Boa noite Amigos do GUJ, até que ponto códigos de criptografia baseado em cálculos e cifragem seguindo a estrutura pessoal de cada programador é seguro???, ah muito tempo teve um post sobre desafio criptografia, onde vários postavam seus códigos e vários tentavam descriptografar... Proponho uma continuação... rsssss

Segue abaixo uma Classe feita por mim, tem 2 exemplo e o desafio (destacado em negrito)....
Exemplo 1
Criptografado: UM56MO56NZ56sOJ:TM8:mMI:rL9;MMH:VN46lM5ISNG:rQJ8=UF4
Descriptografado: Olá mundo!!!

Exemplo 2
Criptografado: TL7;OL5:TPH:sP9:vV8;r;pL=:sM79oY46pQ9:YL8:tO46MZJ:VM8;zNI:uX9:nXH:qN=:LM:;nUG:wWJ:LM:;qNI:MR9:LO7;mQ9:VL88qS46LN9:uT46oN9:PN7;OL=:MMG:NU5ILLI:VM58V6NUH:nX9:MP46nL5:MP=:QM;:lUJ:UTG:mMJ:\NI:\N7:WV9:nM89mT46uL6;lN9:lW6:WO5:lL7;NM=:xLI:NN99=NN4
Descriptografado: Unisaber Tecnologia em Análise e Desenvolvimento de Sistemas

Desafio
Criptografado: ML7;\LJ:LN8;NMI:YN5:VQ79lL46mWG:sP5:LL9:MSG8uZ46nN6;nM=:mMI:OS5:lPH:NM6;ML9:mL;8rL46lYG6nO=6sN=7LN47lP47VZ67nNJ6OT=7mL47wNJ6MU67mL67xT<6mN46mL56nW56SL56rSI:\N=:nM9:SM8;SO7;sOI:YL=:PO98LM46VL7;XLI:mN=ILO6:LW5:XL6;mL5:WY49lLG6vM6FML78MVI6lNH8LNH7zL98=BP4
Descriptografado: ?

Alguém se habilita???
Att +++++++

66 Respostas

Polimorphism

Se for realmente tão importante não é seguro não ^^

java

Esse é o X da questão, não é pra uso vital como comunicação militar (essa foi boa rsss) ou algo parecido…

ALGUNS PODEM DIZER QUE NÃO É SEGURO, MAS SERÁ QUE ALGUM PROGRAMADOR JAVA CONSEGUE QUEBRAR O CÓDIGO?

Polimorphism

Se fosse vital, esteja certo que alguém descobriria. Estou tentando aqui. Me dê tempo e consigo tambem.

pedroroxd

WTF?
To pensando em um algoritimo que faria isso aqui…
Mas eh bem fodinha…
Para um programador java experiente talvez seja simples :stuck_out_tongue:
Amanha vou tentar fazer… rs

lina

Oi,

Criptografia pessoal leva alguns conceitos. Para descubrir sua codificação é necessário ter um certo conhecimento sobre a pessoa de quem a desenvolveu.
Toda a codificação criptografada, deverá ter um padrão! até para a pessoa que fez a codificação conseguir decifra-la depois.

Dei uma olhada rapida nesse post e já verifiquei que você não adota nenhum padrão para reconhecimento de caracteres. Ou seja, será uma perda de tempo tentar decifra-lo.

É o mesmo que fazer:

Criptografado: ALÇEKAEÇK;8972348974asfj`SFJfp;sfoijfiofjafx87e8f733s&&w89sdu9su98&*(&897wr98789s7
Descriptografado: Pai, eu quero andar de bicicleta.

Criptografado: -085895789457dgfklsdgjdsoijoijd/~çlaseóspwi/[telefone removido];344;4343;4343;
Descriptografado: Pai, eu quero andar de bicicleta.

Tchauzin!

java

Oi,

Criptografia pessoal leva alguns conceitos. Para descubrir sua codificação é necessário ter um certo conhecimento sobre a pessoa de quem a desenvolveu.
Toda a codificação criptografada, deverá ter um padrão! até para a pessoa que fez a codificação conseguir decifra-la depois.

Dei uma olhada rapida nesse post e já verifiquei que você não adota nenhum padrão para reconhecimento de caracteres. Ou seja, será uma perda de tempo tentar decifra-lo.

É o mesmo que fazer:

Criptografado: ALÇEKAEÇK;8972348974asfj`SFJfp;sfoijfiofjafx87e8f733s&&w89sdu9su98&*(&897wr98789s7
Descriptografado: Pai, eu quero andar de bicicleta.

Criptografado: -085895789457dgfklsdgjdsoijoijd/~çlaseóspwi/[telefone removido];344;4343;4343;
Descriptografado: Pai, eu quero andar de bicicleta.

Tchauzin!


Oi lina,

Para iniciar GOSTARIA DE INFORMÁ-LA que o processo de criptografia e descriptografia é feito pela Classe java que desenvolvi.

VOCÊ acha que eu perderia meu tempo em fazer algo sem sentido??? A lógica está justamente em se "esconder" o padrão de criptografia utilizado, afim de dificultar o trabalho de hackersss. MAS JÁ ESTOU UM POUCO SATISFEITO pois a minha codificação está tão cifrada que você "achou" que o texto não tem sentido.

Se o padrão fosse revelado ai era fazer apenas o cara-crachá seria fácil demais não acha?

Realmente existe uma mensagem criptografada no texto:

L7;\LJ:LN8;NMI:YN5:VQ79lL46mWG:sP5:LL9:MSG8uZ46nN6;nM=:mMI:OS5:lPH:NM6;ML9:mL;8rL46lYG6nO=6sN=7LN47lP47VZ67nNJ6OT=7mL47wNJ6MU67mL67xT<6mN46mL56nW56SL56rSI:\N=:nM9:SM8;SO7;sOI:YL=:PO98LM46VL7;XLI:mN=ILO6:LW5:XL6;mL5:WY49lLG6vM6FML78MVI6lNH8LNH7zL98=BP4

O desafio é tentar quebrar esta criptografia, e debater sobre novas técnicas.

Nós conhecemos vários padrões de CRIPTOGRAFIA simétrica (DES, o IDEA e o RC) mas até que ponto um padrão feito por nós mesmo é 100% seguro???
Muitos podem dizer que não é… Mas SERÁ QUE EXISTE ALGUÉM QUE POSSA QUEBRAR?

ATENÇÃO! Nada de responder "um hacker quebra" sem essa de Estereótipos disso ou daquilo…

Vamos tentar!!! Rsss :wink:

Posteriormente irei divulgar a Classe para fins de estudos e aprimoramento.

edmarr

Parabéns, se vc esta se cabando tanto, de seu algoritmo de criptografia , ou seja nao eh nada alem disto de um belo algoritmo que esconde uma informação ,
lançar desafio para quem possa quebralo … bom meio sem lógica para um forum de resolução de duvidas nao ? ( se fosse o caso deveria ser movido para “off Topic”) , pois cada pessoa implementa de maneira diferente , independente da linguagem , ou seja , vc pode muito bem ter algoritmo somente de Ida ou seja criptrografa dai para saber se a chave esta certa , vc tem q pegar a chave x criptrografar eh verificar se
a mesma eh igual a salva em determinado local .

java

edmarr:
Parabéns, se vc esta se cabando tanto, de seu algoritmo de criptografia , ou seja nao eh nada alem disto de um belo algoritmo que esconde uma informação ,
lançar desafio para quem possa quebralo … bom meio sem lógica para um forum de resolução de duvidas nao ? ( se fosse o caso deveria ser movido para “off Topic”) , pois cada pessoa implementa de maneira diferente , independente da linguagem , ou seja , vc pode muito bem ter algoritmo somente de Ida ou seja criptrografa dai para saber se a chave esta certa , vc tem q pegar a chave x criptrografar eh verificar se
a mesma eh igual a salva em determinado local .

Que pena EDMAR que você tenha está idéia. Não estou me gabando de nada.

O interessante é: “O que seria um algorítmo que esconde uma informação?” ORA um algorítimo de criptografia…

O que seria criptografia? (Você deve saber >> Googlaaa…)

Sobre seu conceito de fórum tenho que discordar, um fórum não é simplesmente um local onde se tira dúvidas, mas também é um local onde se compartilha informações, discute-se artigos, novas técnicas, padrões e etc. É muito mais amplo do que apenas um TIRA DÚVIDAS.

VOLTANDO AO ASSUNTO…

SE ALGUÉM TIVER ALGUM CÓDIGO DE CRIPTOGRAFIA E QUISER COMPARTILHAR, VAMOS TESTAR A FORÇA DE NOSSOS CÓDIGOS.

ViniGodoy

Bom, de cara dá para perceber alguns padrões.

Cada letra do texto plano corresponde a 4 letras do texto criptografado. O texto criptografado ainda apresenta 4 letras de overhead, que pode ser o valor de alguma chave, para que você possa descriptografar depois.

Não terei tempo de fazer uma análise mais detalhada, mas se a segurança de sua criptografia estiver no algoritmo, e não num processo matemático, posso garantir que ela é baixa. E você dá claros indícios disso ao não publicar o seu código logo no primeiro post.

De qualquer forma, é interessante o desafio. Não deixe de postar a resposta daqui a uma semana ou duas semanas… Até pro pessoal ter tempo de ler e analisar (eu mesmo, se for fazer, só poderia no final de semana).

gomesrod

java:
Realmente existe uma mensagem criptografada no texto:

L7;\LJ:LN8;NMI:YN5:VQ79lL46mWG:sP5:LL9:MSG8uZ46nN6;nM=:mMI:OS5:lPH:NM6; ML9:mL;8rL46lYG6nO=6sN=7LN47lP47VZ67nNJ6OT=7mL47wNJ6MU67mL67xT<6mN46mL 56nW56SL56rSI:\N=:nM9:SM8;SO7;sOI:YL=:PO98LM46VL7;XLI:mN=ILO6:LW5:XL6;mL5:W Y49lLG6vM6FML78MVI6lNH8LNH7zL98=BP4

Essa mensagem tem 62 caracteres, só cheguei até aí :slight_smile:

O algoritmo é realmente mão-dupla, né !?

Marky.Vasconcelos

Outro padrão… todo final criptografado é ‘=’ mais 3 caracteres.

Uma pergunta… o primeiro texto que foi Olá mundo!! tinha acento mesmo na hora de criptografar?

Fazer calculo sem levar em consideração isso pode alterar o resultado.

Se possivel posta um texto criptografado e sem acentos e caracteres especiais. Para ser mais justo^^

java

Eh… eita pessoal inteligente… estão chegando lá… :lol: :lol: :lol: :lol: :lol:

1-ViniGodoy você está certo em sua afirmação.
2-GomesRod você também está certo em sua afirmação.
3-Mark_ameba você (pra variar) também está certo.

JÁ TEMOS 3 CARACTERÍSTICAS

ps: Mark, todo character é criptografado, seja com acento, seja sem acento.

VAMOS LÁ PESSOAL… ESTÁ PERTO… MAIS ALGUÉM???

ps2: SE ALGUÉM TIVER ALGUM ALGORÍTIMO E QUISER COMPARTILHAR ESTAMOS AS ORDENS…

E

O que o Mark estava perguntando é qual o “encoding” que você usou para converter “Olá, mundo” para bytes. Se foi usada a Windows-1252, a letra ‘á’ foi convertida para 1 byte (0xE0); se foi usado o UTF-8, a letra “á” foi convertida para 2 bytes (0xC3 0xA0). Isso ajuda a saber qual é o “plaintext” correto.

KWill

Não sei se ajuda muito, mas percebo que tem sempre o caractere ‘4’ no final do texto cifrado.

Inté.

java

KWill:
Não sei se ajuda muito, mas percebo que tem sempre o caractere ‘4’ no final do texto cifrado.

Inté.

Nem sempre Will veja:

Criptografado: mV45nM<6nM36KY36M[56RLG5kOD7kK88KM:7KL35MYI9KK79sK35oN6:QRI9VU:9VL<9TLG9SR47[L35kTI9NL79VMH9xT<9lL98KLG5nKG9oT89mT57kS35mNG9YT49LKD9kP89pL68=JQ3 Descriptografado: Sejam Bem-Vindo Amigos do GUJ-2009!

:wink:

E

Aham, sinto muito discordar. Os algoritmos modernos de criptografia usam conceitos como “IV” (initialization vector) e “salt” , de modo que para um mesmo dado normal (“plaintext”) possam corresponder inúmeros dados cifrados (“ciphertext”).

Por exemplo, usando o openssl, com a cifra “aes-256-cbc”, e a senha “pedrinho”, para o plaintext “Pai, eu quero andar de bicicleta.”, podemos obter o seguinte arquivo binário:

0000    53 61 6C 74 65 64 5F 5F  09 9A 34 4E A6 C9 88 5C   Salted__..4N...\
0010    C3 04 C0 C6 DD 05 DA 48  F3 EA 69 FF 1D 34 4A 16   .......H¾Ûi..4J.
0020    35 96 FB E0 50 0A E4 09  2E A7 28 A8 46 BE 1F F7   5.¹.P.....(.F..¸
0030    82 A6 74 74 8F F8 23 D3  48 A0 8F 61 3E 19 99 BD   ..tt.°#.H..a>...

ou então:

0000    53 61 6C 74 65 64 5F 5F  EA CD EA CF DA 23 32 8C   Salted__Û.Û..#2.
0010    D9 C3 A7 ED A0 7F 70 74  5D 15 0E 55 28 01 E0 D9   ...Ý..pt]..U(...
0020    0A 2C 6E 72 92 C5 BD 1B  E8 AA 2D 15 5A 92 F6 D3   .,nr......-.Z.÷.
0030    26 3A 48 1C CF F1 5E 94  DD 32 72 04 D6 FA 99 1C   &:H...^..2r.....
O
Vejam se isso ajuda. Chamei de palavra aos 4 caracteres correspodentes a cada caracter do texto plano e de frase ao conjunto de palavras. :roll: Não sei se pode ser útil mas alguém pode incluir os valores em base 64 também.
public class Cypher {

   public static void main(String[] args) {
      cript();
   }

   public static void cript() {
      String cypher = "UM56MO56NZ56sOJ:TM8:mMI:rL9;MMH:VN46lM5ISNG:rQJ8=UF4";
      String text = "Olá mundo!!!";
//       String cypher = "TL7;OL5:TPH:sP9:vV8;r\7;pL=:sM79oY46pQ9:YL8:tO46MZJ:VM8;" +
//       		"zNI:uX9:nXH:qN=:LM:;nUG:wWJ:LM:;qNI:MR9:LO7;mQ9:VL88qS46LN9:uT46oN9:PN7;" +
//       		"OL=:MMG:NU5ILLI:VM58V\46NUH:nX9:MP46nL5:MP=:QM;:lUJ:UTG:mMJ:\NI:\N7:" +
//       		"WV9:nM89mT46uL6;lN9:lW6:WO5:lL7;NM=:xLI:NN99=NN4";
//       String text = "Unisaber Tecnologia em Análise e Desenvolvimento de Sistemas";
      char[] cc = cypher.toCharArray();
      char[] tc = text.toCharArray();

      System.out.print(cypher.length() + " caracteres: ");

      for (char c : cc) {
         System.out.print(c);
      }
      System.out.println();
      System.out.print(text.length() + " caracteres: ");

      for (char c : tc) {
         System.out.print(c);
      }

      System.out.println("\n\nTabelas com Palavras e ASCII correspodentes\n");
      System.out.println("Ordem normal:");
      for (int i = 0; i < tc.length; i++) {
         int t = 4 * i;
         System.out.printf("%s: %s%s%s%s | %03d: %03d %03d %03d %03d\n", tc[i], cc[t], cc[t + 1], cc[t + 2],
               cc[t + 3], (int) tc[i], (int) cc[t], (int) cc[t + 1], (int) cc[t + 2], (int) cc[t + 3]);
      }

      System.out.println("\nFrase invertida:");
      for (int i = 0; i < tc.length; i++) {
         int t = 4 * (tc.length - i - 1);
         System.out.printf("%s: %s%s%s%s | %03d: %03d %03d %03d %03d\n", tc[i], cc[t], cc[t + 1], cc[t + 2],
               cc[t + 3], (int) tc[i], (int) cc[t], (int) cc[t + 1], (int) cc[t + 2], (int) cc[t + 3]);
      }

      System.out.println("\nFrase e Palavras invertidas:");
      for (int i = 0; i < tc.length; i++) {
         int t = 4 * (tc.length - i - 1);
         System.out.printf("%s: %s%s%s%s | %03d: %03d %03d %03d %03d\n", tc[i], cc[t + 3], cc[t + 2], cc[t + 1],
               cc[t], (int) tc[i], (int) cc[t + 3], (int) cc[t + 2], (int) cc[t + 1], (int) cc[t]);
      }
   }
}
O
Tô aqui me perguntando o porquê de ter colocado aqueles dois primeiros for para imprimir as duas Strings. Acho que ia fazer outra coisa e acabei esquecendo. Pra quem tá com preguiça de rodar o programa em casa:
52 caracteres: UM56MO56NZ56sOJ:TM8:mMI:rL9;MMH:VN46lM5ISNG:rQJ8=UF4
12 caracteres: Olá mundo!!!


Tabelas com Palavras e ASCII correspodentes

Ordem normal:
O: UM56 | 079: 085 077 053 054
l: MO56 | 108: 077 079 053 054
á: NZ56 | 225: 078 090 053 054
 : sOJ: | 032: 115 079 074 058
m: TM8: | 109: 084 077 056 058
u: mMI: | 117: 109 077 073 058
n: rL9; | 110: 114 076 057 059
d: MMH: | 100: 077 077 072 058
o: VN46 | 111: 086 078 052 054
!: lM5I | 033: 108 077 053 073
!: SNG: | 033: 083 078 071 058
!: rQJ8 | 033: 114 081 074 056

Frase invertida:
O: rQJ8 | 079: 114 081 074 056
l: SNG: | 108: 083 078 071 058
á: lM5I | 225: 108 077 053 073
 : VN46 | 032: 086 078 052 054
m: MMH: | 109: 077 077 072 058
u: rL9; | 117: 114 076 057 059
n: mMI: | 110: 109 077 073 058
d: TM8: | 100: 084 077 056 058
o: sOJ: | 111: 115 079 074 058
!: NZ56 | 033: 078 090 053 054
!: MO56 | 033: 077 079 053 054
!: UM56 | 033: 085 077 053 054

Frase e Palavras invertidas:
O: 8JQr | 079: 056 074 081 114
l: :GNS | 108: 058 071 078 083
á: I5Ml | 225: 073 053 077 108
 : 64NV | 032: 054 052 078 086
m: :HMM | 109: 058 072 077 077
u: ;9Lr | 117: 059 057 076 114
n: :IMm | 110: 058 073 077 109
d: :8MT | 100: 058 056 077 084
o: :JOs | 111: 058 074 079 115
!: 65ZN | 033: 054 053 090 078
!: 65OM | 033: 054 053 079 077
!: 65MU | 033: 054 053 077 085
java
ozix:
Tô aqui me perguntando o porquê de ter colocado aqueles dois primeiros for para imprimir as duas Strings. Acho que ia fazer outra coisa e acabei esquecendo. Pra quem tá com preguiça de rodar o programa em casa:
52 caracteres: UM56MO56NZ56sOJ:TM8:mMI:rL9;MMH:VN46lM5ISNG:rQJ8=UF4
12 caracteres: Olá mundo!!!


Tabelas com Palavras e ASCII correspodentes

Ordem normal:
O: UM56 | 079: 085 077 053 054
l: MO56 | 108: 077 079 053 054
á: NZ56 | 225: 078 090 053 054
 : sOJ: | 032: 115 079 074 058
m: TM8: | 109: 084 077 056 058
u: mMI: | 117: 109 077 073 058
n: rL9; | 110: 114 076 057 059
d: MMH: | 100: 077 077 072 058
o: VN46 | 111: 086 078 052 054
!: lM5I | 033: 108 077 053 073
!: SNG: | 033: 083 078 071 058
!: rQJ8 | 033: 114 081 074 056

Frase invertida:
O: rQJ8 | 079: 114 081 074 056
l: SNG: | 108: 083 078 071 058
á: lM5I | 225: 108 077 053 073
 : VN46 | 032: 086 078 052 054
m: MMH: | 109: 077 077 072 058
u: rL9; | 117: 114 076 057 059
n: mMI: | 110: 109 077 073 058
d: TM8: | 100: 084 077 056 058
o: sOJ: | 111: 115 079 074 058
!: NZ56 | 033: 078 090 053 054
!: MO56 | 033: 077 079 053 054
!: UM56 | 033: 085 077 053 054

Frase e Palavras invertidas:
O: 8JQr | 079: 056 074 081 114
l: :GNS | 108: 058 071 078 083
á: I5Ml | 225: 073 053 077 108
 : 64NV | 032: 054 052 078 086
m: :HMM | 109: 058 072 077 077
u: ;9Lr | 117: 059 057 076 114
n: :IMm | 110: 058 073 077 109
d: :8MT | 100: 058 056 077 084
o: :JOs | 111: 058 074 079 115
!: 65ZN | 033: 054 053 090 078
!: 65OM | 033: 054 053 079 077
!: 65MU | 033: 054 053 077 085

OZIX LEGAL, Usando a técnica PlainText Atack você consegiu (em uma das 3 tentativas descobrir o padrão, ainda não vou dizer qual... rss).

PlainText Atack, de posse do texto limpo (PlainText) e do texto crifrado (CypherText) e possível identificar o padrão de cryptografia utilizado...

No meu exemplo, o detalhe é que para cada criptografia feita as chaves e os valores são diferentes (prevendo um possível PlainText Atack), e sem o Texto Descriptografado é impossível (com esta técnica) chegar ao resultado de outras criptografias...

Um exemplo disso é o fato de que com este algorítimo não é possível chegar ao texto do DESSAFIO:

Desafio
Criptografado: ML7;\LJ:LN8;NMI:YN5:VQ79lL46mWG:sP5:LL9:MSG8uZ46nN6;nM=:mMI:OS5:lPH:NM6;ML9:mL;8rL46lYG6nO=6sN=7LN47lP47VZ67nNJ6OT=7mL47wNJ6MU67mL67xT<6mN46mL56nW56SL56rSI:\N=:nM9:SM8;SO7;sOI:YL=:PO98LM46VL7;XLI:mN=ILO6:LW5:XL6;mL5:WY49lLG6vM6FML78MVI6lNH8LNH7zL98=BP4  
 Descriptografado: ?

Achei SUPER interessante a técnica que você utilizou :wink:

Estão cada vez mais perto.
:wink: :lol: :lol: :lol: :lol:

O

Pensei em inverter quando vi que 56 aparece nas 3 primeiras palavras e as 3 últimas do texto plano são um “!”;

java

Você está no caminho…

Falowww

E

Resumindo: pelo que o Ozix descobriu, essa “criptografia” é bem fraquinha e consiste em embaralhar as letras, e mais algumas coisas.

É questão de você fornecer mais combinações plaintext/ciphertext para que ele descubra como funciona.

Com 2 combinações plaintext/ciphertext é difícil fazer as coisas, a menos que o algoritmo seja realmente fraco demais.

Pergunta imbecil número um: eu posso associar uma chave a esse algoritmo (ou seja, para cada chave diferente, o resultado é diferente?)
Pergunta imbecil número dois: você sabe o que é “salt”, “vetor de inicialização”, “padding” e outros conceitos básicos de criptografia?

Não estou desmerecendo seu esforço, mas é interessante você estudar um pouco mais. Criptografia não é para amadores.

lina

Oi,

Usuário ‘java’, esqueça o que eu falei no meu primeiro post. Pensei que a ideia era decifrar a criptografia visivelmente! (com padrões de caracteres e sequencias númericas) sem utilização de um programa ou uma chave de criptografia.

Buscarei e estudarei para achar o resultado.

Tchauzin!

pedroroxd

Isso é coisa para pessoas como vinigodoy,lina e Mark_Ameba :stuck_out_tongue:
Eu fui entender como funciona a Criptografia Aes, e nem com o código pronto entendi direito…
(http://www.gta.ufrj.br/grad/05_2/aes/)

Boa sorte ae…

pedroroxd

OPA! RESOLVI!

if (UM56MO56NZ56sOJ:TM8:mMI:rL9;MMH:VN46lM5ISNG:rQJ8=UF4  == Olá mundo!!!) &&
(TL7;OL5:TPH:sP9:vV8;r;pL=:sM79oY46pQ9:YL8:tO46MZJ:VM8;zNI:uX9:nXH:qN=:LM:;nUG:wWJ:LM:;qNI:MR9:LO7;mQ9:VL88qS46LN9:uT46oN9:PN7;OL=:MMG:NU5ILLI:VM58V6NUH:nX9:MP46nL5:MP=:QM;:lUJ:UTG:mMJ:\NI:\N7:WV9:nM89mT46uL6;lN9:lW6:WO5:lL7;NM=:xLI:NN99=NN4 == Unisaber Tecnologia em Análise e Desenvolvimento de Sistemas)
   {
      x = ML7;\LJ:LN8;NMI:YN5:VQ79lL46mWG:sP5:LL9:MSG8uZ46nN6;nM=:mMI:OS5:lPH:NM6;ML9:mL;8rL46lYG6nO=6sN=7LN47lP47VZ67nNJ6OT=7mL47wNJ6MU67mL67xT<6mN46mL56nW56SL56rSI:\N=:nM9:SM8;SO7;sOI:YL=:PO98LM46VL7;XLI:mN=ILO6:LW5:XL6;mL5:WY49lLG6vM6FML78MVI6lNH8LNH7zL98=BP4;

System.out.println(x);
}

O resultado deu:
Pare de perder tempo com isso, e vá fazer algo útil!!!

UAhuAHUah
zuera pessoal…
É foda msmo…
Boa sorte pra geral :wink:

java

enantiomero:
Resumindo: pelo que o Ozix descobriu, essa “criptografia” é bem fraquinha e consiste em embaralhar as letras, e mais algumas coisas.

É questão de você fornecer mais combinações plaintext/ciphertext para que ele descubra como funciona.

Com 2 combinações plaintext/ciphertext é difícil fazer as coisas, a menos que o algoritmo seja realmente fraco demais.

Pergunta imbecil número um: eu posso associar uma chave a esse algoritmo (ou seja, para cada chave diferente, o resultado é diferente?)
Pergunta imbecil número dois: você sabe o que é “salt”, “vetor de inicialização”, “padding” e outros conceitos básicos de criptografia?

Não estou desmerecendo seu esforço, mas é interessante você estudar um pouco mais. Criptografia não é para amadores.

ENAN, Ozix não descobriu o código, este código não é apenas de cifragem, existe um núcleo matemático, a cifragem é apenas o primeiro nível, após descobrir a cifragem que não será nada fácil (e até agora ninguém descobriu) com o dado nú será necessário QUEBRAR A FUNÇÃO MATEMÁTICA (que é o núcleo), é um pouco parecido com o RSA.

Não sou o guru da criptografia, mas antes de escrever essa classe passei a limpo alguns conceitos e técnicas.

reposta a pergunta imbecil um: para cada chave diferente o resultado é diferente (chavé pública), existe também uma chave privada que para cada chave pública pode assumir valores diferentes

resposta a pergunta imbecil dois: Para cada chave existe um salt aleatório, implementei um IV p/ a chave e para camuflar um padding em cada bloco.

Volto à premissa de que o objetivo é compartilhar e trocar informações…

E CONTINUAMOS…

ViniGodoy

Se é parecido com o RSA, vai ser realmente muito difícil de ser quebrado. ehhehehe. Nesse caso, você pode até publicar o algoritmo, que sem divulgar a chave ainda não conseguiremos quebrar as seqüências com facilidade.

Tenho algumas dúvidas. Todos os dados foram codificados com a mesma chave? Ou você está adotando chaves diferentes em cada exemplo? Esse algoritmo exige a presença da chave para ser decodificado?

Outra coisa que fiquei curioso. As letras e números são resultado direto do seu algoritmo, ou você usou algum tipo de encoding para transformar os bytes resultantes em algo que pudesse ser postado no GUJ (como Base64, por exemplo)?

java

Se é parecido com o RSA, vai ser realmente muito difícil de ser quebrado. ehhehehe. Nesse caso, você pode até publicar o algoritmo, que sem divulgar a chave ainda não conseguiremos quebrar as seqüências com facilidade.

Tenho algumas dúvidas. Todos os dados foram codificados com a mesma chave? Ou você está adotando chaves diferentes em cada exemplo? Esse algoritmo exige a presença da chave para ser decodificado?

Outra coisa que fiquei curioso. As letras e números são resultado direto do seu algoritmo, ou você usou algum tipo de encoding para transformar os bytes resultantes em algo que pudesse ser postado no GUJ (como Base64, por exemplo)?

Ops! Quando citei que era parecido com o RSA queria informar que havia um núcleo matemático e não apenas cifragem. Mas no caso do meu algorítimo com a publicação é possível chegar a chave por dedução (funções internas que manipulam e geram a chave).

Quem me dera ter desenvolvido um núcleo matemático como os 3 cabeças que criaram o RSA… que como você falou até com a publicação do código fica difícil descobrir a chave.

Respondendo a sua pergunta, foram chaves diferentes para cada codificação, não estou usando a mesma chave para os exemplos. Este agorítimo exige a presença da chave. São o resultado direto do algorítimo.

E

Já vi que é “snake oil”. O padding, que eu saiba, não é usado para “camuflar” nada. O IV não é “implementado para a chave”; ele é um parâmetro para o algoritmo.

Boa sorte, e espero boas vendas!

java

enantiomero:

Para cada chave existe um salt aleatório, implementei um IV p/ a chave e para camuflar um padding em cada bloco.

Já vi que é “snake oil”. O padding, que eu saiba, não é usado para “camuflar” nada. O IV não é “implementado para a chave”; ele é um parâmetro para o algoritmo.

Boa sorte, e espero boas vendas!

Cara eu não vou ficar debatendo com você!

se o código é INSEGURO como você diz, quebre o mesmo, descubra o desafio. SIMPLES…

E

Não posso achar uma curva cúbica com apenas um ponto. Preciso de 2 pontos para achar uma reta, de três para uma curva de segundo grau, e de quatro para uma curva cúbica. O que você está me pedindo é achar uma curva com apenas um ponto, e isso me recuso a fazer.

java

Ai eu te pergunto: “achar uma curva cúbica com apenas um ponto é possível?”

luistiagos

foda… mas acho q o Vinni consegue decifrar isto se tiver seu tempo a perder…

G

Olá pessoal!

Interessante o desafio, não sou nenhum expert mas olhando o post do “ozix” ele colocou os blocos invertido e sempre aparece no final “:” (dois pontos) ou “;” (ponto e virgula) indicando o inicio/fim de blocos de letras/palavras, outro detalhe é que quando a palavra começa com letra maíuscula a terminação/início não é com os símbolos de “pontos” caracteristica presente também nas letras acentuadas, posso estar enganado ou é realmente isso? :lol:
Até que fiquei curioso :), irei acompanhar o pessoal mais experiente na resolução…

Abraços

java

Mais uma dica

Desafio Criptografado: ML7;\LJ:LN8;NMI:YN5:VQ79lL46mWG:sP5:LL9:MSG8uZ46nN6;nM=:mMI:OS5:lPH:NM6;ML9:mL;8rL46lYG6nO=6sN=7LN47lP47VZ67nNJ6OT=7mL47wNJ6MU67mL67xT<6mN46mL56nW56SL56rSI:\N=:nM9:SM8;SO7;sOI:YL=:PO98LM46VL7;XLI:mN=ILO6:LW5:XL6;mL5:WY49lLG6vM6FML78MVI6lNH8LNH7zL98=BP4 Descriptografado: ?

Mesmo desafio criptografado de novo

Criptografado: oKG6MQG7mS66lL59LK36kV86lK:8ML<8kM78kO57TX67lN59mW;9LN98NT:7oX78mX:9WL<7SY;8UK49lU8: MN97vK:8tK59QL<:LV98wN56OM58nK:9RM::rL68tVE7NS86kY47uK77SLG7kV<:MK;6mX68YVI7mN::LK;6qL<9mLG7VM<:lS:9mK67l[<7PK;9kO87vK68KM< 7MS8:TUF9TK:8sVD8SS36kLH7rXH9lW59tM3:lV98pK87ON<7lKD:sK86{O:8MN96YV<9qK97lYG9xM69KO;9lM57nK97OWF7rL<:tNI7VNE9mOF7lLH7LK46SK78lL58=9B3 Descriptografado: ?

pedroroxd

Não entendi esse post acima…
Quer dizer que toda vez que você manda “Encriptografar” (nem sei se existe essa palavra rs), ele vai gerar uma nova criptografia?
Cada vez que você digita um texto, ele eh “encriptografado” diferente?
(desculpe a minha ignorancia)

C

Não pedroroxd.
Ele está sempre gerando valores criptografados diferentes, pois em cada vez ele está usando uma chave diferente.
Dê uma estudada em criptografia de chave simétrica, dai vc entende oq ele tá fazendo. =)

E senhor java, o que todo mundo está falando é que o seu algoritmo é fraco matematicamente. Ninguém tá querendo desmerecer o seu trabalho. Só estão falando que se um criptógrafo de verdade resolvesse gastar um tempo com os seus resultados, muito rapidamente ele descobriria.

edit: corrigindo português

java

Não pedroroxd.
Ele está sempre gerando valores criptografados diferentes, pois em cada vez ele está usando uma chave diferente.
Dê uma estudada em criptografia de chave simétrica, dai vc entende oq ele tá fazendo. =)

E senhor java, o que todo mundo está falando é que o seu algoritmo é fraco matematicamente. Ninguém tá querendo desmerecer o seu trabalho. Só estão falando que se um criptógrafo de verdade resolvesse gastar um tempo com os seus resultados, muito rapidamente ele descobriria.

edit: corrigindo português

clone, entendo o que você disse, matematicamente ele não é tão forte quando um RSA, na verdade ele é primo do DES (Data Encryption Standart) …

Sinceramente eu não acredito que um criptólogo encontraria o resultado facilmente.

Mais uma vez ressalto que a força de uma criptografia está principalmente no núcleo matemático onde mesmo conhecendo como é feito o cálculo sem as chaves seria quase que impossível chegar ao resultado, pois o tempo de cálculo seria inimaginavelmente grande (devido a limitações de processadores, por exemplo), o que inviabilizaria o processo.

Resolvi postar este artigo para discutir sobre o assunto, ninguém pode negar que é uma forma de estudar e divulgar o tema, ou seja, é um assunto pertinente ao fórum de java.

E para ver se tinham alguns programadores java que já tentaram desenvolver algum código próprio e ver se eles poderiam quebrar o código.

Vocês podem perguntar= “Porque tentar re-inventar a roda? Já não existem vários algorítimos seguros?”

Se todo mundo pensasse assim as técnicas e os processos nunca seriam aprimorados.

Além de saber como funciona eu quis por a mão na massa e fazer na prática.

Essa foi minha idéia.

E

Como tradicionalmente se diz se um algoritmo é seguro ou não:

  • Publicam-se o algoritmo e as teorias usadas para criá-lo, além de criar uma implementação de referência e uma coleção de vetores de teste;

  • Publicam-se também quais seriam eventuais vulnerabilidades se alguns parâmetros (como o tamanho de uma S-Box ou da própria chave) fossem reduzidos;

  • Outros criptógrafos tentam descobrir outras vulnerabilidades (você está pulando para a etapa 3 direto, sem passar pelas etapas 1 e 2.)

É assim que se faz. Publicar apenas algumas combinações “plaintext” / “ciphertext”, sem as chaves, não é suficiente.

Por favor, leia pelo menos o livro do Schneier, “Applied Cryptography”. Faça-nos este favor e volte depois.

edmarr

… :lol:

DavidUser

Seria uma boa se coloca-se o seu programa de criptografia…
Assim poderiamos testar com diversas palavras e frazes,
ao invés de nos prendermos a o que nos deu…

utilize um tipo de criptografia no seu propio cod-fonte e bagunçadores de código… assim o segredo não é revelado com uso de técnicas de Eng. Reversa

B

huAheUha muito legal seu codigo vou pensar!

Luca

Olá

Pera aí, tem muita gente falando mal mas até agora o desafio não foi quebrado.

Já fui melhor em criptografia. Acho que também saberia fazer algo bem dificil de descobrir (não tão bem quanto o thingol, meu guru de criptografia no GUJ). Tenho um monte de livros (mais de 7). O melhor e mais divertido de ler é o Practical Cryptography do Bruce Schneier. É um livro mais de conceitos do que de fórmulas matemáticas. Vou listar abaixo alguns conceitos tirados dele:

  • Não pense que criptografia é fácil
  • Criptografia é uma das partes mais fáceis de um sistema de segurança

Principio mais importante da criptografia, principio de Kerckhoffs (vou até colocar em negrito):
“A segurança de um esquema de encriptação deve depender única e tão somente do segredo da chave e não do segredo do algoritmo”

O Bruce tem também um texto clássico chamado Secrets and Lies contendo frases interessantes:

  • Security is not a problem that technology can solve. Security solutions have a technological component, but security is fundamentally a people problem.

  • Security is a process, not a product. As a process, it has many components. And like any process, some of these components are sturdier, more reliable, more oiled, more secure. Moreover, the components have-to fit together. The better they fit together, the better the process works.’ Often it’s the interfaces between components that are the least secure. Security is also like a chain. It is composed of many links, and each one of them is essential to the strength of the chain. And like a chain security is only as strong as the weakest link. In this part, we look at the different security technologies that make up a chain, looking from the inside of the onion to the outside. And we try not to mix metaphors quite so badly anymore.

[]s
Luca (acompanhando o tópico que está muito bom)

pedroroxd

Hehehe…
Me interessei por criptografia, peguei 1 livro na biblioteca e to aqui fuchicando

java
Luca:
Olá

Pera aí, tem muita gente falando mal mas até agora o desafio não foi quebrado.

Já fui melhor em criptografia. Acho que também saberia fazer algo bem dificil de descobrir (não tão bem quanto o thingol, meu guru de criptografia no GUJ). Tenho um monte de livros (mais de 7). O melhor e mais divertido de ler é o Practical Cryptography do Bruce Schneier. É um livro mais de conceitos do que de fórmulas matemáticas. Vou listar abaixo alguns conceitos tirados dele:

- Não pense que criptografia é fácil
- Criptografia é uma das partes mais fáceis de um sistema de segurança

Principio mais importante da criptografia, principio de Kerckhoffs (vou até colocar em negrito):
"A segurança de um esquema de encriptação deve depender única e tão somente do segredo da chave e não do segredo do algoritmo"

O Bruce tem também um texto clássico chamado Secrets and Lies contendo frases interessantes:
- Security is not a problem that technology can solve. Security solutions have a technological component, but security is fundamentally a people problem.

- Security is a process, not a product. As a process, it has many components. And like any process, some of these components are sturdier, more reliable, more oiled, more secure. Moreover, the components have-to fit together. The better they fit together, the better the process works.' Often it's the interfaces between components that are the least secure. Security is also like a chain. It is composed of many links, and each one of them is essential to the strength of the chain. And like a chain security is only as strong as the weakest link. In this part, we look at the different security technologies that make up a chain, looking from the inside of the onion to the outside. And we try not to mix metaphors quite so badly anymore.

[]s
Luca (acompanhando o tópico que está muito bom)

Interessante os conceitos e a bibliografia sugerida, valeu!
São post construtivos como esse que me motivam a adquirir mais conhecimento.
Muito obrigado! :wink: :wink: :wink: :wink: :wink:

Abrindo mais o jogo

Post 24/09/2009 16:14:25 Assunto: Re:OFF DESAFIO CRIPTOGRAFIA JAVA
Mais uma dica

Desafio Criptografado: ML7;\LJ:LN8;NMI:YN5:VQ79lL46mWG:sP5:LL9:MSG8uZ46nN6;nM=:mMI:OS5:lPH:NM6;ML9:mL;8rL46lYG6nO=6sN=7LN47lP47VZ67nNJ6OT=7mL47wNJ6MU67mL67xT<6mN46mL56nW56SL56rSI:\N=:nM9:SM8;SO7;sOI:YL=:PO98LM46VL7;XLI:mN=ILO6:LW5:XL6;mL5:WY49lLG6vM6FML78MVI6lNH8LNH7zL98=BP4 Descriptografado: ?

A CHAVE UTILIZADA NO EXEMPLO ACIMA É BP4

Mesmo desafio criptografado de novo


 Criptografado: oKG6MQG7mS66lL59LK36kV86lK:8ML<8kM78kO57TX67lN59mW;9LN98NT:7oX78mX:9WL<7SY;8UK49lU8:  
MN97vK:8tK59QL<:LV98wN56OM58nK:9RM::rL68tVE7NS86kY47uK77SLG7kV<:MK;6mX68YVI7mN::LK;6qL<9mLG7VM<:lS:9mK67l[<7PK;9kO87vK68KM<  
7MS8:TUF9TK:8sVD8SS36kLH7rXH9lW59tM3:lV98pK87ON<7lKD:sK86{O:8MN96YV<9qK97lYG9xM69KO;9lM57nK97OWF7rL<:tNI7VNE9mOF7lLH7LK46SK78lL58=9B3  
Descriptografado: ?  


A CHAVE UTILIZADA NO EXEMPLO ACIMA É 9B3

outra coisa alguém em algum código pronto (parecido com este ou não...) que esconde alguma informação?? POSTEM PRA GENTE TESTAR E APRIMORAR OS CONCEITOS.

ViniGodoy

Ahem… então o seu algoritmo não depende que ninguém informe a chave para ser decodificado, como você havia dito. Afinal, ela está escrita nos últimos bytes da mensagem. Qualquer usuário do algoritmo poderá reverter a mensagem, sem digitar nada.

Eu já havia deduzido isso, desde o meu primeiro post, e era com base nisso que ia fazer os testes no final de semana.

luistiagos

posta isto em um forum hacker que em 5 min tem neguinho que quebra sua criptografia…

Marky.Vasconcelos

Eu ainda não tive tempo de resolver isso… mas como eu disse… os caracteres depois do ‘=’ realmente eram importantes. :smiley:

Só falta descobrir sua matemática.

E

Só para encher o saco de novo - se a chave é tão pequena assim, ela pode ser deduzida por força bruta, desde que saibamos o algoritmo. Supondo que a chave tenha no máximo 3 caracteres de A-Z e de 0-9. então temos apenas 36^3 = 17576 chaves possíveis, ou seja, o equivalente a 14 bits. Você não faria suas transações em um banco que tivesse uma criptografia tão fraca assim :frowning:

ViniGodoy

enantiomero:
Só para encher o saco de novo - se a chave é tão pequena assim, ela pode ser deduzida por força bruta, desde que saibamos o algoritmo. Supondo que a chave tenha no máximo 3 caracteres de A-Z e de 0-9. então temos apenas 36^3 = 17576 chaves possíveis, ou seja, o equivalente a 14 bits. Você não faria suas transações em um banco que tivesse uma criptografia tão fraca assim :frowning:

Mas acho que a idéia foi justamente usar uma chave fraca para testar a entropia criada pelo algoritmo. Se ele usasse de cara uma chave forte, seria muito difícil para nós deduzirmos qualquer coisa.

Outra coisa que ele pode fazer, ainda, é compactar o resultado final. Isso torna o processo ainda mais difícil de decifar, já que elimina padrões visualmente óbvios. (como é o caso do que observei no primeiro post. E também do último caracter das sequencias de 4 letras, vcs já notaram como ele muda pouco? Portanto, ele deve estar associado a parte mais significativa do número.).

Luca

Olá

Para reavivar o tópico:

A Stick Figure Guide to the Advanced Encryption Standard (AES)

É muito legal. E tem código fonte no Github, só que está em C#

[]s
Luca

pedroroxd

Hehe…
Bem criativo o link do post acima :slight_smile:

pedroroxd

O povo já desistiu?
Acho que você deveria postar esse tópico em Java Avançado…
Lá deve ter pessoas mais aptas a resolver :smiley:

Luca

Olá

pedroroxd:
Acho que você deveria postar esse tópico em Java Avançado…
Lá deve ter pessoas mais aptas a resolver :smiley:

Errado. Duplicar tópicos é coisa de usuário aprendiz que não lê as regras do GUJ e fica dando trabalho a toa aos moderadores. #vontadeDeEsganarQuemFazIsto

[]s
Luca

davidbuzatto

O que já sabemos:
1 - Cada caracter forma uma quadra de caracteres
2 - A chave fica no final, após o igual

O que eu estou deduzindo:
1 - O último caracter de cada quadra pertence ao conjunto {6, 7, 8, 9, :, ;, I, F}
2 - Os caracteres de 6 a ; estão em ordem em relação aos seus códigos.
3 - O caractere I parece aparece apenas uma vez
4 - O caractere F aparece em cadeias grandes parece pelo menos

Estou com sono… Amanhã vejo com mais calma ;D
Legal o desafio :wink:

[]´s

pedroroxd

Luca:
Olá

Errado. Duplicar tópicos é coisa de usuário aprendiz que não lê as regras do GUJ e fica dando trabalho a toa aos moderadores. #vontadeDeEsganarQuemFazIsto

[]s
Luca

Hehe…
Não estou falando para ele duplicar…
Estou falando para em vez dele ter postado aqui, seria melhor ter postado em Java Avançado, só isso (MINHA OPINIÃO)
Mas é bem legal o desafio, sou novo em java, e já peguei 1 livro aqui só sobre criptografia :slight_smile:

java

Mas acho que a idéia foi justamente usar uma chave fraca para testar a entropia criada pelo algoritmo. Se ele usasse de cara uma chave forte, seria muito difícil para nós deduzirmos qualquer coisa.

Outra coisa que ele pode fazer, ainda, é compactar o resultado final. Isso torna o processo ainda mais difícil de decifar, já que elimina padrões visualmente óbvios. (como é o caso do que observei no primeiro post. E também do último caracter das sequencias de 4 letras, vcs já notaram como ele muda pouco? Portanto, ele deve estar associado a parte mais significativa do número.).

Blz Vini,

Legal você entendeu o sentido do desafio.

Tem uns que tentam entender o objetivo de tudo e retirar aquilo que lhes interessa (o seu caso), outros "frustrados" ou com "inveja" tentam apenas desqualificar, desmotivar, dizer que não dá certo… é sempre o mesmo padrão!! rssss


Luca,

Muito interessante o link sobre AES!!

NOTA 10


Mais uma dica

Criptografado: NLG6lUG6sK48QKD8YM36MTH7lY;8vWD8qT36RV57LM68wN59lK46MS57YK<:PK69OU;9MO86KU:8n [D8MK::LN97lL:7{K<7LL3:lL77PM<:pM59VMD:LNH7XY;8OY68=HJ3 Descriptografado: Isso é apenas um teste

S

Não entendo nada de criptografia, mas o que seria se o código criptografado de uma mensagem fosse criptografado dnovo com outro padrão? Assim quem quebrace o código teria que quebra-lo novamente, isso é viavel? ou eu viajei na maionese?

E

O Triple-DES funciona exatamente assim: aplica-se o algoritmo DES sobre um mesmo dado 3 vezes, com 3 chaves (de 56 bits) diferentes. O resultado é o mesmo que você tivesse um algoritmo com uma chave de 3 * 56 = 168 bits.

S

O Triple-DES funciona exatamente assim: aplica-se o algoritmo DES sobre um mesmo dado 3 vezes, com 3 chaves (de 56 bits) diferentes. O resultado é o mesmo que você tivesse um algoritmo com uma chave de 3 * 56 = 168 bits.


Eu curto muito criptografia e segurança de dados, mas é bem complexo pra mim que to começando ainda em programação, mas aplicando esse Triple-DES elas são na prática mais seguras? Ou só atrasa mais a pessoa que quer descriptografar? Porque tendo que descriptografar algo grande talvez a pessoa que esteja tentando desista

E

De modo geral, todos os algoritmos podem ser quebrados por força bruta. A ideia é que só seja possível quebrar por força bruta, a menos que alguém descubra um atalho. Os algoritmos atuais mais famosos (como o Triple-DES, AES etc.) têm atalhos, mas mesmo os atalhos são muito difíceis de quebrar.

Por exemplo, o Triple-DES (que é um algoritmo de 168 bits) iria requerer cerca de 2 ^ 167 tentativas para ser quebrado, sem atalhos, o que dá 1,8707220957835557353007165858768e+50 operações. Lembrando que o número de moléculas em um mol é de 6.022E+26… , e que o número de átomos no universo observável é de 1E+80

S

entanglement:

Eu curto muito criptografia e segurança de dados, mas é bem complexo pra mim que to começando ainda em programação, mas aplicando esse Triple-DES elas são na prática mais seguras? Ou só atrasa mais a pessoa que quer descriptografar? Porque tendo que descriptografar algo grande talvez a pessoa que esteja tentando desista

De modo geral, todos os algoritmos podem ser quebrados por força bruta. A ideia é que só seja possível quebrar por força bruta, a menos que alguém descubra um atalho. Os algoritmos atuais mais famosos (como o Triple-DES, AES etc.) têm atalhos, mas mesmo os atalhos são muito difíceis de quebrar.

Por exemplo, o Triple-DES (que é um algoritmo de 168 bits) iria requerer cerca de 2 ^ 167 tentativas para ser quebrado, sem atalhos, o que dá 1,8707220957835557353007165858768e+50 operações. Lembrando que o número de moléculas em um mol é de 6.022E+26… , e que o número de átomos no universo observável é de 1E+80

insano o.O

pedroroxd

Santhell:

insano o.O

insano²

pedroroxd

Revivendo o tópico !
Ninguém posta uai…
Eu to começando a estudar criptografia agora…

Posta o algorítimo ae então! rs

pedroroxd

Tópico morreu?
Posta ae o algorítimo…

lina

Oi,

Bom, para não deixar o tópico parado, vou postar um anagrama
que considero para pessoas iniciantes!

Segue:

Anagrama: *&#¨!((#_%³= ! £³º#+ +!¢$#+ +³!:3!ª$¿~[´º
Resultado: Sou a power ranger rosa.

Anagrama: !#¨*&((#%#+ ³= ¢!³ _#+3ª!¿$º[~´
Resultado: ?

Alguem?

Tchauzin!

Criado 22 de setembro de 2009
Ultima resposta 21 de out. de 2009
Respostas 66
Participantes 20