普段なにげなく使っているクレジットカードだが、会員番号(14~16ケタ、カード会社によって異なる)が気になったことはないだろうか。ネット通販などで入力する際に情報漏えいが心配になることもあるが、それとは別に、たとえば数字の入力間違いで、誰かほかの人が買い物したことになってしまうのではないかと……。

もちろん、すべての数字を変えてしまえば他人の番号になる可能性はあるが、ここでは1つの数字をうっかり入力ミスしてしまった場合、いったいどうなるかを考えてみたい。

図を拡大
チェック・ディジットで不当な番号かどうかを判断

結論からいうと、心配ご無用である。というのも、クレジットカードの番号は一見ランダムに割り振られているかに見えるが、実はある手続きのもとに生成された「正当な番号」になっているからだ。そのため、入力された番号が「正当」か否かの判定を行うことができる。これは「Luhn(ルーン)のアルゴリズム」と呼ばれる判定方法で、どのようなものか図の例で具体的に見てみよう。

まず左から順に16ケタすべてに番号を振る。その番号のうち奇数番号の数だけを2倍にする。偶数番号の数はそのままだ。さらに2倍にした数が10以上の場合は、1の位と10の位の数字を足していく。そうして並んだ1~ 15番目の15ケタの数を全部足す。今回の場合は「55」となる。