# KDF3 - implementation explanation

An old project that I did not code is using the KDF3 algorithm, but I struggle to find an explanation about the way this key derivation algorithm works. I know that this algorithm is part of the ISO-18033-2:2006, but it is pretty expensive.

Can someone explain it to me ?

• Some suggestions: 1) if you have to maintain compatibility, ask your employer to buy the standard from your national standardization organ, or you can try local libraries where there often is a section for inter/intra-national standards and academic journals. 2) Consider functionally replace the component with better alternatives such as ECIES (available for free from secg.org) or Curve-25519/448 (tools.ietf.org/html/rfc7748). – DannyNiu Feb 14 at 9:41
• Thanks for your suggestion. I do not plan to modify the current implementation. the algorithm is implemented on an embedded system with not much horsepower, so I don't think that asymmetric/ECC cryptography would be a good idea. – Bastien Feb 14 at 10:36
• There seems to be a well written version in BASIC (of all things) here. And here it is in Python. Looks similar, but pay attention to the pAmt and it's size; I'm not 100% if that's correct in the Python code. – Maarten Bodewes Feb 14 at 13:15