チェックディジットとは
チェックディジットは、エラー検出方法の不可欠な部分です。 複数の数字に関連付けられている実際の数字で、その複数の数字が正確であるかどうかを表す2つのもののいずれかを参照できます。 あるいは、チェックディジットは、単一の数字ではなく、データのコレクションまたはブロックの正確性をテストするために使用される尺度を指します。 いずれにしても、このタイプの冗長性チェックのプロセスは、 チェックディジット計算またはチェックディジットアルゴリズムと呼ばれる場合があります 。 チェックディジット方式は多くの異なるアプローチを取ることができ、多くの異なる目的のために国際的に使用されます。 チェックディジットを使用する一般的な番号付けまたはコーディングシステムには、特にユニバーサル製品コード(UPC)および国際標準図書番号(ISBN)が含まれます。
チェックディジットは、データ入力でよくある特定のタイプのエラーをキャッチするように設計されています。そのデータがキーボードまたは電話キーパッドで同じ人によって読み取られて入力されたのか、データが一人の人によって読み取られて別の人によって入力されたのかは関係ありません。 この点で最も一般的なデータ入力エラーは、単純に1桁の数字を誤って入力することです。 これは、すべてのデータエラーの60〜95%を占めています。 2番目に縛られているのは、一方で1つの数字を省略または追加し、他方で隣接する数字を転置することです。 可能性はあるものの、はるかに少ない頻度で発生する他のエラーには、たとえば、 123が321として入力されるように、3桁の順序を逆にすることが含まれます。 16と60を混乱させる音声エラー。
チェックディジットは、実際にチェック対象の番号に追加される場合があります。 17文字の車両識別番号(VIN)では、チェックディジットは9番目の位置にあります。 一方、13桁のISBN番号では、最後にチェックディジットが13番目の番号として表示されます。
チェックディジットの計算に一般的に使用されるいくつかの異なるアルゴリズムがあり、同じアルゴリズムが国際的に同じ目的に常に使用されるとは限りません。 たとえば、科学者Hans Peter Luhnによって開発され、 Mod 10とも呼ばれるアルゴリズムは、米国ではクレジットカード番号とデビットカード番号、カナダでは社会保険番号(SIN)認証に使用される式です。 Luhnアルゴリズムは、国際的な欧州記事番号(EAN13)バーコードにも使用されますが、別の式Mod11は、ドイツの一部のバーコードとオーストラリアの納税申告番号(TFN)に使用されます。
Luhn式は、検証する番号の最後にチェックディジットを付けます。 チェックディジットを含む右から左へ、2番目の各桁が2倍になります。 2倍にされた数字のいずれかが複数桁の数字になる場合、それらの複数桁の数字の個々の数字が加算されます。 残りの数字は合計されます。 結果の合計が10で割り切れる場合、複数桁の数値はLuhn式に従って有効です。 結果の合計が10で割り切れない場合、結果の合計を10で割り切れるチェックディジットが追加されます。 そのため、検証する番号が1234の場合、最後にチェックディジット6を付けないと有効になりません。 これは、(1 + 1)+ 2 +(3 + 3)+ 4 = 14で10で割り切れないためです。ただし、チェックディジット6を追加すると、結果の合計が10で割り切れるので、Luhn式で有効になります。 。
オーストラリアでは、第2の目的でチェックディジットを使用する試みがありました。これは、課税目的で有効な番号を偽造する人々の能力を制限するためです。 チェックディジットアルゴリズムを秘密にしようとする政府の努力にもかかわらず、人々はそれを把握し、税関連番号を改ざんし続けることができました。