elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  PaddedBufferedBlockCipher de Bouncy Castle
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PaddedBufferedBlockCipher de Bouncy Castle  (Leído 1,545 veces)
MPLS

Desconectado Desconectado

Mensajes: 13


Ver Perfil
PaddedBufferedBlockCipher de Bouncy Castle
« en: 26 Febrero 2016, 20:57 pm »

Estoy usando la clase PaddedBufferedBlockCipher de Bouncy Castle para implementar un mecanismo de cifrado por bloques, pero el tema es que cuando llamo al método processBytes, este me devuelve un cero, es  decir no esta generando ninguna salida.

Dejo aquí mi inicializacion del cifrador:

Código
  1. PaddedBufferedBlockCipher cifrador = new PaddedBufferedBlockCipher(new CBCBlockCipher(new RijndaelEngine(192)), new X923Padding() );
  2. cifrador.init(true, new KeyParameter(clave));
Mi problema es que cuando llamo al metodo processBytes este metodo no hace nada, sin presentar excepciones, una vez ajustados correctamente los tamaños de bloque.(Trabajo con una clave de 32 bytes, y voy procesando bloque a bloque de 24 bytes)

Este es el trozo de codigo:
Código
  1. bytesCifrados = cifrador.processBytes(bloqueLeido,0,24,bloqueSalida,0);

Siendo bloqueLeido y bloqueSalida, arrays de bytes de 24 posiciones

La locura de todo esto es que vuelvo a llamar a processBytes pero pidiendo procesar solo un byte y me devuelve el 24 que esperaba antes, alguien que conozca el método me puede decir si lo que hace es devolver lo que había procesado antes de procesar lo que "le mandes en ese instante", por que es lo único que me cuadra, y en la api no explican nada de esto.

Dejo el enlace a la api: http://www.bouncycastle.org/docs/docs1.5on/index.html


EDITO: Acabo de hacer otra prueba para intentar comprender esto pero sigue siendo todo un misterio, os la comento:
Código
  1. byte[] bloqueLeido = new byte[24];
  2. byte[] bloqueSalida = new byte[24];
  3. System.out.println("la primera vez devuelvo esto ="+ cifrador.processBytes(bloqueLeido,0,24,bloqueSalida,0));
  4. System.out.println("la segunda vez devuelvo esto ="+ cifrador.processBytes(bloqueLeido,0,24,bloqueSalida,0));

Pues la salida es la siguiente:

Código
  1. la primera vez devuelvo esto =0
  2. la segunda vez devuelvo esto =24


« Última modificación: 26 Febrero 2016, 22:06 pm por MPLS » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
MEJOR que "Return to Castle Wolfenstein" ninguno !!
Juegos y Consolas
khewy 2 2,516 Último mensaje 30 Enero 2004, 17:28 pm
por FeRmO
Return To Castle Wolfenstein [Full y 100% Español]
Juegos y Consolas
luchodoc 0 1,342 Último mensaje 14 Noviembre 2008, 22:09 pm
por luchodoc
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines