I have a debit payment card, once it expired I received a new one. The card numbers look like this

Old card xxxx xxxx 1111 1111
New card xxxx xxxx 2222 2222

where x are the matching numbers and 1 and 2 are different (odd, but maybe the first 8 numbers are assigned to the particular bank/branch which I didn't change).

Now, the card security code according to Wikipedia is

[...] is calculated by encrypting the bank card number, expiration date and service code with encryption keys known only to the card issuer, and decimalising the result.

But my new code only incremented by one. Example:

Old CSC: 111
New CSC: 112

This could be by pure chance (1 in 1000), but what if it's not.

Question: Is it a real increment of CSC for a replacement card or coincidence? If it's increment - is it bad?

2 Answers 2


That the code appears to be "just incremented" is not a problem. It would even not be a problem if the code did not change at all, which is expected to happen randomly for 1/1000th of card updates.

The CSC is a secret value and its strength does not come from its actual value, but from the value space: it is a 3-digit number that attackers do not know and cannot recompute (at least, as long as the generation process on the bank -- the "encryption" -- was done properly). From the attacker point of view, they have probability of guessing it of exactly 1/1000. No more, no less. Attackers know that with probability 1/1000 it will be the same code than for a previous one; they also know that with probability 1/1000 it will be equal to the previous code with a +1 increment. This yields no information whatsoever.

What would help the attackers is if the CSC was not generated with an adequate process (be it "encryption", keyed hashing or even pure randomness), but with something weak which results in some values being more probable than others, in a way which can be tracked by attackers. Then, and only then, does the strength of the CSC lowers. However, a single observation is by no way sufficient to infer such sloppiness. As I said, an apparent +1 increment on the CSC will happen "by pure chance" for every thousandth card renewal (on average). It happens thousands of times every day world wide. It just happened to you this time.

  • So if it happens, get a lottery ticket? :)
    – Nathan C
    Commented Aug 1, 2013 at 18:42
  • 2
    @NathanC Heck no, stay away from the lottery for the rest of your life! You used up your one lucky chance you get already. Commented Aug 2, 2013 at 4:53
  • @ScottChamberlain Damn. Maybe in the next thousand years! :P
    – Nathan C
    Commented Aug 2, 2013 at 10:59

The first 4 digits identify the network and possibly bank and should never change for your card, in this case the second 4 may also identify the bank or may just not have been used yet. Card numbers are generated based on a combination of pattern and check-sum. This is how offline card capture systems "validate" the credit card information. If the checksum doesn't match, then something was entered incorrectly.

As long as the card isn't lost, or if the credit card number changes as well, then there shouldn't be any reason to be worried about the CSC not changing significantly. It's mostly just there to be a non-trivially guessable value since it is reasonably possible to guess a credit card number that is valid on some account.

  • 2
    The first 6 digits is usually called the Issuer Identification Number, oldies call it the Bank Identification number (BIN). The rest of the number can be used in any way by the bank, but the last digit of the PAN (the big number on the card) is a check digit using the Luhn algorithm. Commented Aug 2, 2013 at 13:06
  • @CallumWilson - good to know, thanks for the extra detail. Commented Aug 2, 2013 at 13:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .