Christmas is coming!

To celebrate the new year and thank for the support from all our dear customers, Christmas promotional activity is being held in JavaCardOS online store.

During the event, you can enjoy many promotional activities - High Discount on JavaCardOS products,Lucky Draw,Double forum Points.

Come to choose your own Christmas gift and try your luck now!

3DES Key

Algorithm School

Moderator: UNKNwYSHSA

Posts: 12
Joined: Thu Dec 03, 2015 5:29 am
Points: 86

3DES Key

Postby sakkiotto » Wed Jan 18, 2017 11:58 pm

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);

Posts: 23
Joined: Mon Nov 30, 2015 3:02 am
Points: 170

Re: 3DES Key

Postby JCaberham » Thu Jan 19, 2017 10:36 pm

If you use bouncy castle, you can use a 16 byte 2TDEA key.

User avatar
Posts: 29
Joined: Fri Jul 31, 2015 2:47 am
Points: 179

Re: 3DES Key

Postby marjkbadboy » Thu Jan 19, 2017 10:40 pm

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.
It's hunting season!

Return to “Algorithm School”

Who is online

Users browsing this forum: No registered users and 1 guest

JavaCard OS : Disclaimer