1st Edition

Cryptography for Payment Professionals

By Ilya Dubinsky Copyright 2023
    204 Pages 33 B/W Illustrations
    by Auerbach Publications

    204 Pages 33 B/W Illustrations
    by Auerbach Publications

    Although cryptography plays an essential part in most modern solutions, especially in payments, cryptographic algorithms remain a black box for most users of these tools. Just as a sane backend developer does not drill down into low-level disk access details of a server filesystem, payments professionals have enough things to worry about before they ever need to bother themselves with debugging an encrypted value or a message digest. However, at a certain point, an engineer faces the need to identify a problem with a particular algorithm or, perhaps, to create a testing tool that would simulate a counterpart in a protocol that involves encryption.

    The world of cryptography has moved on with giant leaps. Available technical standards mention acronyms and link to more standards, some of which are very large while others are not available for free. After finding the standards for the algorithm, the specific mode of operation must also be identified. Most implementations use several cryptographic primitives—for example, key derivation with a block cipher, which produces a secret that is used together with a hash function and a double padding scheme to produce a digital signature of a base64-encoded value. Understanding this requires more sifting through online sources, more reading of platform and library documents, and finally, when some code can be written, there are very few test cases to validate it.

    Cryptography for Payment Professionals is intended for technical people, preferably with some background in software engineering, who may need to deal with a cryptographic algorithm in the payments realm. It does not cover the payment technology in-depth, nor does it provide more than a brief overview of some regulations and security standards. Instead, it focuses on the cryptographic aspects of each field it mentions. Highlights include:

    • Major cryptographic algorithms and the principles of their operation
    • Cryptographic aspects of card-present (e.g., magnetic stripe, EMV) and online (e.g., e-Commerce and 3DS 2.0) transactions
    • A detailed description of TDES DUKPT and AES DUKPT protocols, as well as an example implementation and test cases for both

    It is best if the reader understands programming, number and string representations in machine memory, and bit operations. Knowledge of C, Python, or Java may make the examples easier to read but this is not mandatory.

    Code related to the book is available at the author’s GitHub site: https://github.com/ilya-dubinsky/cfpp

    1. Building Blocks
    2. Understanding Payments
    3. Securing the Plastic: Magnetic Stripe and EMV
    4. Securing the Network
    5. Protecting the PIN
    6. Regulation and Compliance
    A. Bits and Digits
    B. Cryptographic Examples
    C. EMV Examples
    D. PIN Examples
    E. JOSE Examples
    F. Standard Bodies

    Biography

    Ilya Dubinsky has 20 years of experience in the software industry. He is the VP of CTO Office in Finaro (formerly Credorax), the fastest-growing cross-border acquiring bank in the European Union. Ilya defines technological roadmap of the company, manages its IP portfolio and guides participation in international standard bodies. He also leads the in-house technology research, including in the fields of cryptography, blockchain, and AI. Ilya participates in global groups and bodies, including ISO, The Berlin Group banking industry standards initiative, the Payment Services User Group of Bank of Malta and the Fintech Forum of Bank of Israel. Capitalizing on his years of experience in software development, product and project management in Telecom and Finance industries, Ilya teaches a fin-tech class in Holon Institute of Technology and oversees joint research projects with Tel Aviv University.