クレジットカードでは、チェックサムはアカウント番号の1桁の数字であり、コンピューターまたは関係する数式に精通している人は、番号が有効かどうかを判断できます。チェックサムは、間違って入力されたクレジットカード番号、または偽造者によって作成された偽のクレジットカード番号を特定するのに役立ちます。
チェックサムは、データセット内に埋め込まれた値です。チェックサムを使用すると、保存中または送信中にそのデータセットにエラーが発生したかどうかをすばやく判断できます。大量配達に付属する梱包票のように考えてください。出荷中に何も失われていないことを確認する方法は、各アイテムを梱包票と照合することです。データを処理する場合、情報が無傷で到着したことを確認する方法は、チェックサムと照合することです。
クレジットカードでは、チェックサムは「チェックディジット」の形式を取ります。通常の16桁のクレジットカード番号では、最初の6桁はカードを発行した機関を識別します。次の9桁は、カードに関連付けられている個々のアカウントを識別します。最後の桁である16番目はチェックディジットです。クレジットカード発行者は、最初の15桁をLuhnアルゴリズムと呼ばれる数式に接続します。これにより、1桁の結果が生成されます。その結果がチェックディジットになります。
チェックディジットの主な目的は、カード番号が有効であることを確認することです。オンラインで何かを購入していて、2桁の桁を入れ替えてクレジットカード番号を間違って入力したとします。これは、おそらく最も一般的なエラーです。 Webサイトが入力した数値を確認し、Luhnアルゴリズムを最初の15桁に適用すると、結果は入力した数値の16桁と一致しません。コンピューターは番号が無効であることを認識しており、承認のために購入を送信しようとすると番号が拒否されることを認識しています。そのため、番号を再入力するように求められます。チェックディジットの第2の目的は、偽のクレジットカード番号を作成する不器用な試みを阻止することです。ただし、Luhnアルゴリズムに精通している偽造者は、この特定のハードルを乗り越えることができます。
16桁のカード番号の確認は、最初の15桁を取得することから始まります。これは、機関コードと個人のアカウントIDです。たとえば、カード番号4578 4230 1376 9219では、これらの数字は次のようになります。
4-5-7-8-4-2-3-0-1-3-7-6-9-2-1
最初の桁から始めて、2桁ごとに2を掛けます。
8-5-14-8-8-2-6-0-2-3-14-6-18-2-2
2桁の数字があるたびに、それらの数字を足し合わせて1桁の結果を得ることができます。
8-5-5-8-8-2-6-0-2-3-5-6-9-2-2
最後に、すべての数値を合計します:
8 + 5 + 5 + 8 + 8 + 2 + 6 + 0 + 2 + 3 + 5 + 6 + 9 + 2 + 2 =71
この数値をチェックディジットに追加すると、結果は10の倍数になる必要があります。この場合:
71 + 9 =80
したがって、番号は有効です。アルゴリズムが10の倍数を生成しない場合、カード番号は有効ではありません。