How Credit Card Algorithms Work: The Anatomy of Credit Card Numbers

Dec 23, 2011 06:00 AM

Have you ever wondered how credit card numbers work? I mean, how they really work? How do they come up with the numbers? Credit cards actually follow a very specific pattern. Let's take a look at how they're set up.

Example of a Credit Card Number

4485 3151 5882 2849

These numbers are split up into various parts that identifiy different things about the credit card (who issued it, etc). These things are: major industry identifier, bank issuer ID, user ID and check number. They correspond to these parts of the number:

  • Number 1 is the MII.
  • Numbers 2-6 are the issuer ID, telling which bank the card is from.

  • Numbers 7 to n-1 are the user ID.
  • The last number is a check number to make the number valid against the checking algorithm.

MMI

The major industry identifier tells you what the card is for. Here are the numbers and corresponding meanings.

MMI/ Digit Value Category

0 = ISO/TC 68 and other industry assignments

1
= Airlines

2
= Airlines and other industry assignments

3 = Travel and entertainment

4
= Banking and financial

5
= Banking and financial

6
= Merchandising and Banking

7
= Petroleum

8
= Telecommunications and other industry assignments

9
= National assignment

Issuer ID

The issuer ID is for identifying which bank owns the card. Here are the bigger companies numbers.

Issuer IdentifierCard NumberLength

  • Diner's Club/Carte Blanche   300xxx-305xxx, 36xxxx, 38xxxx    14
  • American Express                   34xxxx, 37xxxx                                    15
  • VISA                                        4xxxxx                                             13, 16
  • Mastercard                              51xxxx-55xxxx                                     16
  • Discover                                  6011xx                                                  16

As you can tell from this chart, my example number is a VISA card.

User ID

This number is pretty self-explanatory. The user ID is the identification for who owns the card. With VISA, each bank has 999,999,999 possible card holders. These are given based on availability.

Check Number

To ensure that credit card numbers are valid, a final checking number is appended to each number to ensure that it passes a checking algorithm, otherwise known as the Luhn check. Let's check to see if my fake number above is a valid credit card number.

Checking Number Validity

  1. Let's split up the number I made so that we have an easier time managing the number check.

    4 4 8 5             3 1 5 1              5 8 8 2                 2 8 4 9
  2. From the back, double every other number.

    8 4 (16) 5        6 1 (10) 1         (10) 8 (16) 2       4 8 8 9
  3. After, we have to de-concatenate the double-digit numbers and then add them to make one single digit.

    8 4 7 5             6 1 1 1              1 8 7 2                 4 8 8 9

If you add all of the numbers together and they add up to a multiple of 10, you have a valid credit card number! If you have any questions, be sure to leave them in the comments below.

Follow and Chat with Null Byte!

Photo by Andres Rueda

Comments

No Comments Exist

Be the first, drop a comment!