Criptografia AES 128 CBC

4 respostas
cv1

Fala galera :smiley:

Tava brincando com o iTunes Music Store hoje, e descobri a URL que ele usa pra montar os resultados de listas de pesquisas e tudo mais. :twisted:

A coisa toda eh criptografada, usando AES 128 CBC. Agora, a perguntinha… ja tem isso na JDK, ou eu preciso dum BouncyCastle da vida? E, se tem, por onde eu comeco? :?

4 Respostas

Daniel_Quirino_Olive

BouncyCastle. Ou JCE. Mas, se não estiver enganado, há várias restrições ao uso do JCE a pessoas não-norte americanas devido à legislação norte-americana.

cv1

Bom, consegui achar o AES, mas ate agora onde configurar e dizer pro bicho que eu quero CBC 128 eu nao sei... tou confiando que o bicho usa os defaults :D

Usando BC, o erro eh meio bizarro:

javax.crypto.BadPaddingException: pad block corrupted
	at org.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(JCEBlockCipher.java:544)
	at javax.crypto.Cipher.doFinal(DashoA6275)
	at itms.Main.main(Main.java:99)
Exception in thread "main"

E o codigo:

Cipher cipher = Cipher.getInstance(Main.CIPHER, new BouncyCastleProvider());

            KeyGenerator keyGen = KeyGenerator.getInstance(Main.CIPHER);

            SecretKeySpec spec = new SecretKeySpec(new byte[] {

            (byte) 0x8a, (byte) 0x9d, (byte) 0xad, (byte) 0x39, (byte) 0x9f, (byte) 0xb0, (byte) 0x14, (byte) 0xc1, (byte) 0x31,
                    (byte) 0xbe, (byte) 0x61, (byte) 0x18, (byte) 0x20, (byte) 0xd7, (byte) 0x88, (byte) 0x95

            }, Main.CIPHER);

            cipher.init(Cipher.DECRYPT_MODE, spec);

            cipher.update(response);
            
            byte[] end = cipher.doFinal();
            System.out.println(new String(end));

Main.CIPHER = "AES", alias ;)

Luca

Olá

Só para lembrar que existe:
http://java.sun.com/developer/technicalArticles/Security/AES/AES_v1.html

[]s
Luca

J

Amigo no modo de criptografia CBC é utilizando um vetor de inicializacao (IV) para começar as operações. Pelo que eu vi no seu código você não tem esse vetor.

Criado 19 de abril de 2004
Ultima resposta 18 de ago. de 2010
Respostas 4
Participantes 4