Originariamente inviato da seba.cappa
Ciao,
non ho capito: la comunicazione avviene tra 2 cellulari via BT?
La comunicazione avviene in locale "emulata" con il WTK (Wireless toolkit) della SUN.

Controllato questa parte di codice nella cifratura del mess:

AESLightEngine engine = new AESLightEngine();
CBCBlockCipher cbc = new CBCBlockCipher(engine);
BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(cbc);
ParametersWithIV piv = new ParametersWithIV((new KeyParameter(AESkey)),initVector);

sono uguali?

la chiave AESkey = ?
Sì sono uguali. Per le cifratura/decifratura cambia solo il 1° parametro del metodo cipher.init(), TRUE = cifra, FALSE = decifra. L'ho testato e funziona, ovvero cifra una stringa e la decifra correttamente.

AESkey è la chiave simmetrica, usata per le oerazioni di sostituzione dell'algoritmo Rjindael.

Il messaggio di errore si verifica se tento di decifrare un SMS cifrato ed inviato come messaggio binario. Ma, anche provando a far stampare ogni singolo bit dell'array di byte, in entrambi i casi, lato mittente e lato ricevente, i due array coincidono.

Quindi non saprei dove risiede il problema...