応募券のシリアルコードには「適当に入力して当選」を避ける仕組みがある

チェックディジットと呼ばれる。

» 2019年04月20日 11時30分 公開
[QuizKnockねとらぼ]

 CDについているシリアルコードで、ライブのチケットに応募することがしばしばある。いくつかコードを打ち込むうち、魔が差してこんなことを考えてしまう。「適当に打ち込んだら通ったりしないかな……」と。


応募券のイメージ

 本当に通ったら一大事なので、このような仕組みを設計する段階でどうにかして防いでいる訳だが、どのようにやっているのだろう。その防止策の1つに「チェックディジット」というものがある。


まず、完全にランダムな文字列にすると困る

 あなたがライブを主催することになり、0〜9の数字からなる16桁のシリアルコードで抽選を行うとしよう。あなたならどのようにコードを作るだろうか?

 単純に考えれば、16個の枠それぞれに0〜9の数字を1つずつランダムに選べばいい(つまり、0〜9の乱数を16個並べればいい)のだが、完全にランダムだと不都合が多い。例えば、ランダムだと限りなく似ているコードが生成される可能性がある。



 つまり、

  • 1234 5678 9012 3456
  • 1234 5678 0012 3456

 のような、1カ所しか変わらない2つのシリアルコードが生まれ得る。1つ目のシリアルコードを持っている人が、うっかり数字を1つ打ち間違えたり、あるいは狙って数字を変えたりして、2つ目が受理されてしまう、という事態が考えられる。

 異なる箇所が少ないほどこういう事故は起こりやすい、というのは直感的に分かるだろう。これを防ぐためには、シリアルコード同士が、どんなに運の悪い乱数を引いても最低nカ所以上は異なる、という状態が望ましい。

 それを作るために、チェックディジットが登場する。


誤りを見つける仕組み「チェックディジット」

 チェックディジットとは、符号の誤りを検査(チェック)するための桁(ディジット)のこと。

 今回の例でいえば、最初から16桁をランダムに生成する代わりに、15桁だけランダムに生成することにして、残りの1桁をチェックディジットに割り当てることにする。チェックディジットの計算方法はいろいろあるが、ここでは「15桁の数字を足し合わせて10で割った余り」をチェックディジット(つまり16桁目の数字)としよう。



 まず、15桁のコードとしてランダムに

 1234 5678 9012 345

 が生成されたとする。1+2+3+……+3+4+5=60なので、10で割ると余りは0。この0をチェックディジットである16桁目とすれば

 1234 5678 9012 3450

 というシリアルコードができる。

 このようにすると何がいいかというと、シリアルコード同士が必ず2桁以上異なることが担保されるのだ。



 例えば、この中から1桁だけ変えた

 1234 5678 0012 3450

 は絶対に当たりのコードではない。なぜなら、末尾以外の15桁を足し合わせると51なので、チェックディジットは1であるはず。

 1234 5678 0012 3451

 はあり得ても、上の末尾が0のコードは生まれないのだ。

 このように、チェックディジットを1桁設けることで、シリアルコードが互いに2カ所以上異なるようにできる。また、適当に打ち込まれたコードならば、チェックディジットを確認することで用意したシリアルコードを検索するまでもなく間違いだと判定できる。

 チェックディジットが1桁だと「何かが間違っている」ことしか分からないが、桁を増やし、計算方法を工夫することで、具体的に「○桁目が間違っている」まで判別することもできる。そのようなチェックディジットは、通信やQRコードのように、必ず正確に読み取れるとは限らないが確実に中身を伝えたい暗号化でよく用いられている。


事故を防ぐための仕組み。悪用はしない

 チェックディジットは、コードが正しく作られたものであることを証明し、間違ったコードを正しいと見なしてしまう事故を防ぐ役割を持つ。原理を知れば、適当に勘で打ち込むのはやめておこう、と思うはずだ。

制作協力

QuizKnock


Copyright © ITmedia, Inc. All Rights Reserved.

昨日の総合アクセスTOP10
  1. /nl/articles/2412/01/news003.jpg パパに抱っこされている娘→11年後…… 同じ場所&ポーズで撮影した“現在の姿”が「泣ける」「すてき」と反響
  2. /nl/articles/2412/01/news031.jpg 「何があった」 絵師が“大学4年間の成長過程”公開→たどり着いた“まさかの境地”に「ぶっ飛ばしてて草」
  3. /nl/articles/2412/03/news082.jpg 「ほ、本人……?」 日本に“寒い国”から飛行機到着→降りてきた“超人気者”に「そんなことあるw?」「衝撃の移動手段」の声
  4. /nl/articles/2412/03/news111.jpg 才賀紀左衛門、娘とのディズニーシー訪問に“見知らぬ女性の影” 同伴シーンに「家族を大切にしてくれない人とは仲良くできない」
  5. /nl/articles/2412/02/news009.jpg 【今日の難読漢字】「誰何」←何と読む?
  6. /nl/articles/2412/05/news006.jpg 「今やらないと春に大後悔します」 凶悪な雑草“チガヤ”の大繁殖を阻止する、知らないと困る対策法に注目が集まる
  7. /nl/articles/2412/03/news148.jpg 武豊騎手が2024年に「武豊駅に来た」→実は35年前「歴史に残る」“意外な繋がり”が…… 街を訪問し懐古
  8. /nl/articles/2412/03/news092.jpg 大谷翔平、“有名日本人シェフ”とのショット 上目遣いの愛犬デコピンも…… 「びっくりした!!」「嬉しすぎる」
  9. /nl/articles/2412/03/news055.jpg ハローマックのガチャに挑戦! →“とんでもない偏り”に同情の声 「かわいそう」「人の心とかないんか」
  10. /nl/articles/2412/03/news034.jpg 古着屋で“インパクト大”なブランケットをリメイクすると…… 劇的な仕上がりに386万再生「これはいいね、欲しい!」【海外】
先週の総合アクセスTOP10
  1. パパに抱っこされている娘→11年後…… 同じ場所&ポーズで撮影した“現在の姿”が「泣ける」「すてき」と反響
  2. 「何があった」 絵師が“大学4年間の成長過程”公開→たどり着いた“まさかの境地”に「ぶっ飛ばしてて草」
  3. 「中学生で妊娠」した“14歳の母”、「相手は逃げ腰」妊娠発覚からの経緯を赤裸々告白 母親の“意外な反応”も明かす
  4. 勇者一行が壊滅、1人残った僧侶の選択は……? 「ドラクエでのピンチ」描くイラストに共感「生還できると脳汁」
  5. 「笑い止まらん」 海外産アプリで表示された“まさかの日本語”に不意打ち受ける人続出 「何があったんだw」
  6. パパが好きすぎる元保護子猫、畑仕事中もくっついて離れない姿が「可愛すぎる」と反響 2年以上がたった現在は……飼い主に話を聞いた
  7. アグネス・チャン、米国の自宅が“度を超えた面積”すぎた……ゴルフ場内に立地&門から徒歩5分の豪邸にスタッフ困惑「入っていいのかな」
  8. 「理解できない」 大谷翔平と真美子さんの“スキンシップ”に海外驚き 「文化は100%違う」「伝説だわ」
  9. 「車が憎い」 “科捜研”出演俳優、交通事故で死去 兄が悲痛のコメント「忘れないでください」
  10. PCで「Windowsキー+左右矢印キー」を押すと? アッと驚く隠れた便利機能に「スゲー便利」「知らなかった」
先月の総合アクセスTOP10
  1. 「何言ったんだ」 大谷翔平が妻から受けた“まさかの仕打ち”に「世界中で真美子さんだけ」「可愛すぎて草」
  2. 「絶句」 ユニクロ新作バッグに“色移り”の報告続出…… 運営が謝罪、即販売停止に 「とてもショック」
  3. 「飼いきれなくなったからタダで持ってきなよ」と言われ飼育放棄された超大型犬を保護→ 1年後の今は…… 飼い主に聞いた
  4. アレン様、バラエティー番組「相席食堂」制作サイドからのメールに苦言 「偉そうな口調で外して等と連絡してきて、」「二度とオファーしてこないで下さぃませ」
  5. 「明らかに……」 大谷翔平の妻・真美子さんの“手腕”を米メディアが称賛 「大谷は野球に専念すべき」
  6. 「やはり……」 MVP受賞の大谷翔平、会見中の“仕草”に心配の声も 「真美子さんの視線」「動かしてない」
  7. ドクダミを手で抜かず、ハサミで切ると…… 目からウロコの検証結果が435万再生「凄い事が起こった」「逆効果だったとは」
  8. 「母はパリコレモデルで妹は……」 “日本一のイケメン高校生”グランプリ獲得者の「家族がすごすぎる」と驚がくの声
  9. 「ごめん母さん。塩20キロ届く」LINEで謝罪 → お母さんからの返信が「最高」「まじで好きw」と話題に
  10. 「真美子さんさすが」 大谷翔平夫妻がバスケ挑戦→元選手妻の“華麗な腕前”が話題 「尊すぎて鼻血」