Luhnアルゴリズムとは
Luhnアルゴリズムは、クレジットカード番号またはその他の識別番号(社会保障番号など)を検証するために使用されるアルゴリズムです。 Luhn式またはモジュラス10とも呼ばれるLuhnアルゴリズムは、カード番号の桁の合計をチェックし、合計が予想と等しいかどうか、または番号シーケンスにエラーがあるかどうかを示します。 アルゴリズムを実行した後、合計モジュラス10がゼロに等しい場合、Luhnメソッドに従ってその数値は有効です。
このアルゴリズムは他の識別番号の検証に使用できますが、最も一般的にはクレジットカードの検証に関連付けられています。 このアルゴリズムは、すべての主要なクレジットカードで機能します。
Luhnアルゴリズムの分解
クレジットカードの検証プロセスでは、企業およびクレジットカード会社が、カード、発行者、およびカード所有者に関する重要な財務情報をほぼ瞬時に暗号化および復号化できる必要があります。 クレジットカードトランザクションの量はこのプロセスを複雑にし、これらのトランザクションの当事者は、トランザクションを検証するために必要なリソースの量をできる限り制限する方法を探します。 検証プロセスを高速化できる1つの方法は、Luhnアルゴリズムを使用することです。 Luhnアルゴリズムは、より多くのトランザクションがオンラインで行われ、データ侵害が容易になる可能性があるため、特に役立ちます。
Luhnアルゴリズムは、カード番号の送信で発生したエラーをチェックするように設計されているので、クレジットカードトランザクションに関与する当事者のセキュリティを保護するようには設計されていません。 たとえば、カード所有者は、オンラインで購入するときに間違った数字を入力する場合があります。 番号の入力ミスを確認するためだけに検証プロセス全体を実行するのではなく、アルゴリズムはプロセスの早い段階で数字をチェックし、誤りがある場合はエラーメッセージを返します。
クレジットカード番号が有効かどうかを判断するには、まず、チェックディジットではなく、すべてのディジットの合計を計算して、単位ディジットを見つけます。 結果の合計の単位桁と10桁の差が、推定チェックディジットです。 推定チェックディジットと実際のチェックディジットが同じである場合、カードは検証されています。
Luhnアルゴリズムの歴史
LUHNフォーミュラアルゴリズムは、実際には数学者のグループによって1960年代に開発されました。 発案後、このアルゴリズムは最初にクレジットカード会社が使用するために採用されました。 ただし、アルゴリズムはパブリックドメインと見なされるため、理論上は誰でもアクセスして利用できます。
