応募券のシリアルコードには「適当に入力して当選」を避ける仕組みがある
チェックディジットと呼ばれる。
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.
-
21歳の無名アイドル、ビジュアル拡散で「あの頃の橋本環奈すぎる」とSNS騒然 「実物の方が可愛い」「見つかっちゃったなー」の声も
-
生後5日の赤ちゃん、7歳のお姉ちゃんから初めてミルクをもらうと…… 姉も驚きの反応がかわいい
-
9カ月の赤ちゃん、バスで外国人の女の子赤ちゃんと隣り合い…… 人生初のガールズトークに「これは通じあってますね!」「ベビ同士の会話、とろけます」
-
【今日の計算】「8+9÷3−5」を計算せよ
-
「妹が入学式に着るワンピース作ってみた!」 こだわり満載のクラシカルな一着に「すごすぎて意味わからない」「涙が出ました」
-
大谷翔平選手、ハワイに約26億円の別荘を購入 真美子夫人とデコピンとで過ごすかもしれないオフシーズンの拠点に「もうすぐ我が家となる場所」
-
「ケンタッキー」新アプリに不満殺到 「酷すぎる」「改悪」の声…… 運営元「大変ご迷惑をおかけした」と謝罪
-
「ゆるキャン△」のイメージビジュアルそのまま? 工事の看板イラストが登場キャラにしか見えない 工事担当者「狙いました」
-
「ハーゲンダッツ硬すぎ!」と力を入れたら……! “目を疑う事態”になった1枚がパワー過ぎて約8万いいね
-
「そうはならんやろ」をそのまま再現!? 「ガンダムSEED FREEDOM」のズゴックを完全再現したガンプラがすごすぎる
- 生後2カ月の赤ちゃんにママが話しかけると、次の瞬間かわいすぎる反応が! 「天使」「なんか泣けてきた」と癒やされた人続出
- 車検に出した軽トラの荷台に乗っていた生後3日の子猫、保護して育てた3年後…… 驚きの現在に大反響「天使が女神に」「目眩が」
- 安達祐実、成人した娘とのレアな2ショット披露 「ママには見えない!」「とても似ててびっくり」と驚きの声
- 兄が10歳下の妹に無償の愛を注ぎ続けて2年後…… ママも驚きの光景に「尊すぎてコメントが浮かばねぇ」「最高のにいに」
- “これが普通だと思っていた柴犬のお風呂の入れ方が特殊すぎた” 予想外の体勢に「今まで観てきた入浴法で1番かわいい」
- 「虎に翼」、新キャラの俳優に注目が集まる 「綺麗な人だね」「まさか日本のドラマでお目にかかれるとは!」
- 「葬送のフリーレン」ユーベルのコスプレがまるで実写版 「ジト目が完璧」と27万いいねの好評
- お花見でも大活躍する「2杯のドリンクを片手で持つ方法」 目からウロコの裏技に「えぇーーすごーーい」「やってみます!」
- 弟から出産祝いをもらったら…… 爆笑の悲劇に「めっちゃおもろ可愛いんだけどw」「笑いこらえるの無理でした」
- 3カ月の赤ちゃん、パパに“しーっ”とされた反応が「可愛いぁぁぁぁ」と200万再生 無邪気なお返事としぐさから幸せがあふれ出す
- フワちゃん、弟の結婚式で卑劣な行為に「席次見て名前覚えたからな」 めでたい場でのひんしゅく行為に「プライベート守ろうよ!」の声
- 親が「絶対たぬき」「賭けてもいい」と言い張る動物を、保護して育ててみた結果…… 驚愕の正体が230万表示「こんなん噴くわ!」
- 水道検針員から直筆の手紙、驚き確認すると…… メーターボックスで起きた珍事が300万再生「これはびっくり」「生命の逞しさ」
- フワちゃん、収録中に見えてはいけない“部位”が映る まさかの露出に「拡大しちゃったじゃん」「またか」の声
- スーパーで売れ残っていた半額のカニを水槽に入れてみたら…… 220万再生された涙の結末に「切なくなった」「凄く感動」
- 桐朋高等学校、78期卒業生の答辞に賛辞やまず 「只者ではない」「感動のあまり泣いて10回読み直した」
- 「これは悲劇」 ヤマザキ“春のパンまつり”シールを集めていたはずなのに…… 途中で気づいたまさかの現実
- 「ふざけんな」 宿泊施設に「キャンセル料金を払わなくする方法」が物議 宿泊施設「大目に見てきたが厳格化する」
- がん闘病中の見栄晴、20回以上の放射線治療を受け変化が…… 「痛がゆくなって来ました」
- 食べ終わったパイナップルの葉を土に植えたら…… 3年半後、目を疑う結果に「もう、ただただ感動です」「ちょっと泣きそう」