Page 1 of 1

3DES Key

Posted: Wed Jan 18, 2017 11:58 pm
by sakkiotto
I have to encrypt data with 3DES algo in my applet. I also need to decrypt the data in my host application. And the key for 3DES should be 24 bytes, anyone can figure out how to extend the 16 byte key to 24 byte key?

Here is my code

Code: Select all

cipherDES = Cipher.getInstance(Cipher.ALG_DES_CBC_ISO9797_M1, false);
randomData = RandomData.getInstance(RandomData.ALG_SECURE_RANDOM);

sessionKey = (DESKey) KeyBuilder.buildKey(KeyBuilder.TYPE_DES,KeyBuilder.LENGTH_DES3_2KEY, false);
randomData.generateData(sessionKeyBytes, (short) 0, (short) 15);sessionKey.setKey(sessionKeyBytes, (short) 0);
cipherDES.init(sessionKey, Cipher.MODE_ENCRYPT);

Re: 3DES Key

Posted: Thu Jan 19, 2017 10:36 pm
by JCaberham
If you use bouncy castle, you can use a 16 byte 2TDEA key.

Re: 3DES Key

Posted: Thu Jan 19, 2017 10:40 pm
by marjkbadboy
Usually, the structure of 24 byte key is ABA, where
A: the first 8 bytes of 16 byte key;
B: the next 8 bytes of 16 byte key.