応募券のシリアルコードには「適当に入力して当選」を避ける仕組みがある
チェックディジットと呼ばれる。
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コードのように、必ず正確に読み取れるとは限らないが確実に中身を伝えたい暗号化でよく用いられている。
事故を防ぐための仕組み。悪用はしない
チェックディジットは、コードが正しく作られたものであることを証明し、間違ったコードを正しいと見なしてしまう事故を防ぐ役割を持つ。原理を知れば、適当に勘で打ち込むのはやめておこう、と思うはずだ。
関連記事
「訃報」「愛猫」「手風琴」って読める? 常用漢字表に掲載されている“難読漢字”
ニュースなどでよく見る表現も、意外と分からん……。「稟議=りんぎ」「洗浄=せんじょう」ではない? 現代人には分からない“漢字の本来の読み方”
学校のテストで書いたら、逆に減点されそう。「40−32÷2=?」この問題、解けますか?
理系にはすぐ解けて、文系には解けない、とんち問答のような問題がネットで話題に。「ダウンタウン」「さまぁ〜ず」「オードリー」の昔の名前知ってる? お笑いコンビの「意外な旧コンビ名」
何というか……“売れてない感”がすごい。「…」「々」「¶」 よく見掛ける記号、名前知ってる?
他人に言うときは「アレ」で済ませちゃうやつ。
Copyright © ITmedia, Inc. All Rights Reserved.
昨日の総合アクセスTOP10
この写真の中に1人の自衛隊員が隠れています 自衛隊が出したクイズが難問すぎる……「答え見ても分からない」と人気
「トップガン」はなぜ「トップガン」なのか? 「トップガン マーヴェリック」でオタクが悲鳴を上げ歓喜した理由
幸せそうな顔だ! 久慈暁子、結婚発表後初のインスタ更新で夫・渡邊雄太見守る観戦中の笑顔ショット公開
鳥居みゆき、キャンプを楽しむ1枚に青白い顔 “ホラー風”ショットに「全く知らずに見たら怖すぎる」
利害が一致した柴犬&子猫コンビ “ごはん”のときだけ息が合う姿に「見事なシンクロw」「笑っちゃいました」の声
胃がんステージ4のバレー代表・藤井直伸、清水邦広&福澤達哉と再会ショット つらい治療の中で「最高の薬です!」
炊飯器いっぱいに炊けまくった米…! 「5.5合炊いて」が生んだ悲劇に「全米が泣いた」「笑いすぎてしんどい」
漫画家急病でセクシーな女性がサツマイモの画に 「単行本では必ず修正します」
禍々しい136体の妖怪像が話題 学芸員が「なんのために作れられたのか不明」「類例は見つからず」という造形物が謎すぎる
ともさかりえ、「キンキーブーツ」応援で“一方的な攻撃”受ける 根拠もないうわさで「金田一の頃も苦しめられた」
先週の総合アクセスTOP10
- 誰にもバレずに20年 別荘を解体中にバスルームから“とんでもないモノ”が見つかる 「わけがわからない」と困惑
- 「チコちゃん」マナー講師が炎上で、エガちゃんの株が上がってしまう 「エンタメの見本」「エガちゃんはやっぱり偉大」
- 「だめだお腹痛い」「大爆笑しました」 榎並大二郎アナ、加藤綾子に贈った“ガチャピン人形”が悲惨な姿になってしまう
- ジャガー横田、愛車・BMWが高速手前でエンスト 九死に一生も原因不明の故障に「新車でまだ一年半なのに…」
- 「志摩スペイン村」微塵も人がいないのに突如トレンド入り 「にじさんじ」周央サンゴの“正直すぎるレポ”で話題に
- キンコン西野、“勝手に出された婚姻届”にまさかの展開 証人欄にはお世話になっている「森田一義って名前が」
- 「ゆっくり茶番劇」商標取得者の所属コミュニティーが声明 商標権の完全放棄を要求
- 中村江里子、174センチの長女&181センチの中学生長男に驚く声 「足ながっ!!」「モデルになれそう」
- 「志摩スペイン村」がトレンド入り→公式ホテルの予約が急増とさらなる展開へ 広報「すごいことが起こっているぞと思った」
- 華原朋美、デザイン手掛けた黒ミニドレスを披露 「本当に痩せて綺麗になって」「全てが可愛すぎました」と反響
先月の総合アクセスTOP10
- 「普通ではなかった」 坂上忍、「バイキング」卒業翌日に“生放送”の重圧語る 都内自宅取り壊しの決断も明かす
- どうやって着てるんだ! 冨永愛、背中丸見えな“人魚風衣装”に「誰にも真似できない」と反響
- 柴犬が1年ぶりの再会に待ちきれず…… 帰省したお姉ちゃんを見つけてよろこびを爆発させる姿に涙が出る
- 「カムカム」最終回目前、怒涛の展開に視聴者からのツッコミ殺到 「突然のどエラい告白で放送事故」
- 「お綺麗すぎてぶち抜かれた」 フワちゃんが2時間メイクで雰囲気一変、シックな黒ドレスでのモデル姿に称賛の声
- この画像の中に猫が隠れています 見つかるとスッキリなクイズに「わからん」「手こずった」
- 「きもい」「仕事減ったな」水谷隼、誹謗中傷DMへ怒り 「後で泣き喚いても一切同情しないから」
- だいたひかる、虐待の疑いで通報される 警察の訪問受け「アンチが多い事もお伝えしておきました」
- 里田まい、入学準備中の長男に「違う、そうじゃない」 父・田中将大選手そっちのけの推し愛が暴走
- 息子が、大親友ハスキーの「あそんで」を無視した結果…… 激おこワンコとのわちゃわちゃなやりとりに21万いいね