Investor's wiki

Luhnアルゴリズム

Luhnアルゴリズム

Luhnアルゴリズムとは何ですか?

Luhnアルゴリズム(「Modulus10アルゴリズム」とも呼ばれます)は、ユーザーから提供された識別番号が正確かどうかを判断するために使用される式です。この式は、クレジットカード番号や、政府の社会保障番号(SSN)などの他の番号シーケンスの検証に広く使用されています。

今日、Luhnアルゴリズムは電子決済システムに不可欠なコンポーネントであり、すべての主要なクレジットカードで使用されています。

##Luhnアルゴリズムのしくみ

LUHN公式アルゴリズムは、IBMで研究者として働いていたときに、1954年にハンスピータールーンというドイツのコンピューター科学者によって開発されました。アルゴリズムの正確な動作は、19世紀初頭にカールフリードリヒガウスによって開発された数学的手法であるモジュラー算術に基づいています。詳細な動作はかなり複雑ですが、顧客から提供されたクレジットカード番号が正確であるかどうかをコンピューターがすばやく評価できるようにすることで最もよく知られています。

その方法は、与えられたクレジットカード番号に一連の計算を適用し、それらの計算の結果を合計し、結果の番号が期待される結果と一致するかどうかを確認することです。その場合、クレジット番号は有効と見なされます。そうでない場合、アルゴリズムはクレジットカード番号を拒否し、ユーザーが番号の入力時にエラーを出したことを示します。

顧客の視点からは、Luhnアルゴリズムを常に使用していますが、気付くことさえありません。オンラインで注文する場合、または販売者の販売時点(POS)端末を使用する場合、コンピューターシステムは、情報の入力を間違えたことをすばやく知ることができます。これは、Luhnアルゴリズムがこれらのシステムのプログラミングに組み込まれているためです。それがないと、取引が承認されたかどうかを確認する前に、注文書全体が送信されるまで待つ必要があります。つまり、Luhnアルゴリズムは、ユーザーエラーをすばやく特定し、それによってトランザクションのペースを高速化するのに役立ちます。

##Luhnアルゴリズムの実際の例

Luhnアルゴリズムの中心的な概念の1つは、いわゆる「チェックディジット」の使用です。これらの数字は、数字全体が本物であるかどうかを確認または「チェック」するために、より広い数字のシーケンスに挿入される数字で構成されます。

クレジットカードの場合、チェックディジットはクレジットカード番号の最後に印刷された1桁で構成されます。チェックディジットは、クレジットカード会社によって特別に選択されるのではなく、シーケンス内の先行する番号に基づいて、Luhnアルゴリズムによって自動的に決定されます。ユーザーがクレジットカード番号を入力してトランザクションを完了すると、支払い処理ソフトウェアはLuhnアルゴリズムを使用して、チェック桁に部分的に基づいて、指定された番号が正確であるかどうかを検出できます。

現在、Luhnアルゴリズムは、一般的なプログラミング言語とコードライブラリに統合されており、新しいソフトウェアアプリケーションにLuhnベースの識別番号検証を比較的簡単に含めることができます。

##ハイライト

-Luhnアルゴリズムは、1950年代後半に開発された数式です。

-金融では、誤って入力されたクレジットカード番号を迅速に特定することにより、電子決済処理の向上に役立っています。

-識別番号の信憑性を検証するために広く使用されています。