Skip to content

A Python package for EMV cryptography in payment systems

License

Notifications You must be signed in to change notification settings

knovichikhin/pyemv

Repository files navigation

PyEMV

PyPI Test coverage

PyEMV package provides methods to generate

  • Application Cryptograms (TC, ARQC, or AAC) that's used to verify ICC.
  • Authorization Response Cryptogram (ARPC) that's used to verify card issuer.
  • Secure Messaging Integrity and Confidentiality that's used by the issuer to update values on the ICC.
  • Dynamic Card Verification Values.

Installation

PyEMV is published on PyPI and can be installed from there:

pip install pyemv

Modules

  • kd - Key Derivation support for ICC master keys and session keys.
  • ac - Application Cryptogram support for ARQC, AAC, TC, and ARPC.
  • sm - Secure Messaging support for script command integrity and confidentiality.
  • cvn - Putting it all together for various Cryptogram Version Numbers.
  • cvv - Support for dynamic card verification, such as CVC3.
  • tlv - TLV encoder and decoder.