I'm tasked with implementing a decryption functionality against a device using the DUKPT protocol/scheme/algorithm.
The encryption algorithm itself is just DESede which is easy to work with and have good library support(JCE, BouncyCastle).
The problem is the DUKPT part. I have the Base Derivation Key(a shared secret), the Key Serial Number and the cipher text but I am not able to figure out what to do next.
As much as possible, I do not want to write my own implementation and I would prefer to use a well tested library instead.
Is there such a thing available?
Note: DUKPT = Derived Unique Key Per Transaction
I don't know exactly how DUKPT works, but using the excellent Thales Simulator Project, I took the DUKPT code and ported it to a Java library, my very own crypto-utils project.
Disclaimer: This was a learning exercise for myself and is NOT production code. It may be of help
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With