Page 1 of 1

implement globalplatform SCP 03 KDF and PRF in javacard

Posted: Tue Jun 20, 2017 7:01 am
by mhsnmaghsoodloo
I want to implement Globalplatform SCP 03 protocol in javacard. The main problem is KDF and PRF implementation in card. I have three question:

1- Is there any opensource implementation of KDF and PRF in javacard?
2- I found "RandomData.getInstance(RandomData.ALG_PSEUDO_RANDOM);". there is 3 and 4 input for PRF function in NIST sp 800-108, but i can set only one parameter for RandomData in javacard (only seed). is it implementation of PRF?
3- Does PRF with same inputs, generates same result in different execution? if answer is no, why card and host can generate same session keys by using it?
Thank you very much.
Mohsen

Re: implement globalplatform SCP 03 KDF and PRF in javacard

Posted: Tue Jun 20, 2017 11:44 pm
by UNKNwYSHSA
The opensource GP tool GlobalPlatformPro can answer all your questions.

And you can refer to GPCrypto for SCP03 KDF and PRF implementation.

If any other question(s) after you read the source code, tell me.

Re: implement globalplatform SCP 03 KDF and PRF in javacard

Posted: Wed Jun 21, 2017 1:37 am
by mhsnmaghsoodloo
Thank you for your reply.
I saw globalplatformpro before and i used it in my host side. but i want an implementation for card side (Javacard implementation).
Anyway thank you very much.

Re: implement globalplatform SCP 03 KDF and PRF in javacard

Posted: Wed Jun 21, 2017 5:45 am
by UNKNwYSHSA
mhsnmaghsoodloo wrote:Thank you for your reply.
I saw globalplatformpro before and i used it in my host side. but i want an implementation for card side (Javacard implementation).
Anyway thank you very much.


You can refer to implement the javacard side.
The implementation of the javacard side is same as client side. Only apis to Signature/Cipher is different.