When using TripleDES the resulting cipher text is prefixed by an
Initialization Vector (IV) which is probably different for the two
different wrap operations. Did you try and unwrap/decrypt the wrapped
key in the two cases and see if that results back in the same key?

Vishal

on 09/26/2007 5:36 PM Rio wrote:

> Hi,
> I found a problem as follows
> Key toBeWrappedKey = Generator("DESede", 168);
> Key wrapKey = Generator("DESede", 112);
>
> Cipher cipher = Cipher.getInstance("DESede/CBC/ISO10126Padding");
> cipher.init(Cipher.WRAP_MODE, wrapKey);
> byte[] wrappedKey = cipher.wrap(toBeWrappedKey);
> System.out.println(new String(wrappedKey)); // result 1
> XMLCipher xcipher = XMLCipher.getInstance(XMLCipher.TRIPLEDES);
> xcipher.init(XMLCipher.WRAP_MODE, wrapKey);
> EncryptedKey ek = xcipher.encryptKey(getEncryptedData(), toBeWrappedKey);
> byte[] wrappedKey2 =
> Base64.decode(ek.getCipherData().getCipherValue().getValue().getBytes());
> System.out.println(new String(wrappedKey2)); // result 2
> Why the 2 results are different ?
> Thanks

Reply via email to