(57)【要約】【課題】長期間にわたって安定かつ安全に稼働でき、利用者に配布された配布番号を受信して、配布番号の真偽を精度よく確認することのできる番号照合システムを提供すること。【解決手段】本発明の番号照合システム１は、商品の区分コードに応じて暗号化方法を決定し、製品番号を暗号化して配布番号を生成する。番号照合システム１は、利用者２００から送信された区分コードに応じて復号化方法を決定し、利用者２００が送信した配布番号の復号化を行って復号製品番号を得る。そして、番号照合システム１は、復号製品番号が真正の製品番号か否かを判断する。【選択図】図１
2010010972.tif 000002
【特許請求の範囲】
【請求項１】
商品の商品名と、当該商品の区分毎に一意に決定された区分コードと、当該商品毎に前記区分内で一意に決定される数字列である製品番号とを記憶する記憶手段と、
前記区分コードに応じて、前記製品番号の暗号化の方法を決定する暗号化方法決定手段と、
前記製品番号および前記製品番号の誤り検出に用いられる検査数字を含む数字列を、暗号化して配布番号を得る暗号化手段と、
利用者から電子機器によって送信された前記配布番号および前記区分コードを含む情報を受信する受信手段と、
前記受信手段によって受信した前記区分コードに基づいて、前記受信手段によって受信した前記配布番号の復号化の方法を決定する復号化方法決定手段と、
前記受信手段によって受信した前記配布番号を復号化して復号数字列を得る復号化手段と、
前記復号数字列から、前記検査数字に対応する復号検査数字と、前記製品番号に対応する復号製品番号とを得る復号製品番号取得手段と、
前記復号検査数字を用いて前記復号製品番号の誤り検出を行う誤り検出手段と、
前記復号製品番号と、前記受信手段によって受信された前記区分コードに対応した前記区分において、前記記憶手段に記憶されている前記製品番号とを照合する照合手段と、
前記誤り検出手段による誤り検出結果および前記照合手段による照合結果に基づいて、前記復号製品番号が真正の前記製品番号であるか否か判断する判断手段とを有することを特徴とする番号照合システム。
【請求項２】
前記記憶手段は、数字列からなる複数のインデックス数字列と、各前記インデックス数字列に関連付けられた数字列からなる少なくとも１つの暗号化コードとを有するデータテーブルを前記区分コード毎に記憶しており、
前記暗号化方法決定手段は、前記区分コードに対応する前記データテーブルを選択するものであり、
前記暗号化手段は、選択された前記データテーブルの前記暗号化コードを用いて、前記製品番号および検査数字を含む数字列を暗号化するように構成されている請求項１に記載の番号照合システム。
【請求項３】
前記暗号化手段は、
前記製品番号と前記検査数字とを含み、前記暗号化コードよりも前記インデックス数字列の数字数分だけ多い桁数である第１の数字列を作成する第１の数字列作成手段と、
前記第１の数字列から、前記インデックス数字列を選択するために使用される第１の選択数字列を除外して第２の数字列を作成する第２の数字列作成手段と、
前記第２の数字列を、前記第１の選択数字列と同一の前記インデックス数字列に関連付けられた前記暗号化コードを用いて変換して、前記第２の数字列と同じ桁数の第３の数字列を作成する第３の数字列作成手段と、
前記第１の選択数字列を、前記第３の数字列に対して挿入して第４の数字列を作成する第４の数字列作成手段とを有する請求項２に記載の番号照合システム。
【請求項４】
前記第４の数字列作成手段は、前記第４の数字列における第１の選択数字列の位置が、前記第１の数字列の前記第１の選択数字列の位置と同じになるように、前記第４の数字列を作成する請求項３に記載の番号照合システム。
【請求項５】
前記第１の選択数字列は、前記第１の数字列における前記製品番号以外の数字列またはその一部からなるものである請求項３または４に記載の番号照合システム。
【請求項６】
前記暗号化手段は、前記第２の数字列作成手段と前記第３の数字列作成手段と前記第４の数字列作成手段とを用いて、前記第１の数字列から前記第４の数字列を生成する第４の数字列生成処理を行い、
得られた前記第４の数字列を前記配布番号として用いる請求項３ないし５のいずれかに記載の番号照合システム。
【請求項７】
前記暗号化手段は、前記第４の数字列生成処理を複数回行うものであり、
最後に得られる第４の数字列を前記配布番号として用いる請求項６に記載の番号照合システム。
【請求項８】
前記暗号化手段は、前記第４の数字列生成処理を複数回行うものであり、
前記データテーブルは、各前記インデックス数字列に関連付けられた複数の前記暗号化コードを有するものであり、
２回目以降に前記第４の数字列生成処理が行われる際には、前記第１の数字列として、その直前に得られた前記第４の数字列が用いられ、かつ、前記暗号化コードとして、前記インデックス数字列に関連付けられた複数の前記暗号化コードのうち各回に対応する暗号化コードが用いられ、最後に得られる第４の数字列が前記配布番号として用いられる請求項６に記載の番号照合システム。
【請求項９】
前記第３の数字列作成手段は、
前記第２の数字列における各桁の数字と、前記暗号化コードの前記第２の数字列の各桁に対応する数字とをそれぞれ加算して桁毎に加算値を得、該加算値の一桁目の数値をそれぞれ該当する桁に配置して前記第３の数字列を作成する加算暗号化手段と、
前記第２の数字列の各桁の数字を、それぞれ、前記暗号化コードの対応する各桁に配置されている数字の桁に移動させ、第２の数字列の各桁の数字の順序が入れ替わった第３の数字列を作成する入替暗号化手段とを有する請求項８に記載の番号照合システム。
【請求項１０】
複数回の前記第４の数字列生成処理において、前記第３の数字列作成手段は、前記加算暗号化手段と前記入替暗号化手段とを交互に選択して用いるものである請求項９に記載の番号照合システム。
【請求項１１】
最初に行われる前記第４の数字列生成処理において、前記第３の数字列作成手段は、前記加算暗号化手段を選択して用いる請求項９または１０に記載の番号照合システム。
【請求項１２】
前記第３の数字列作成手段は、
前記第２の数字列における各桁の数字と、前記暗号化コードの前記第２の数字列の各桁に対応する数字とをそれぞれ加算して各桁ごとに加算値を得、該加算値の一桁目の数値をそれぞれ該当する桁に配置して前記第３の数字列を作成する加算暗号化手段を有する請求項６または７に記載の番号照合システム。
【請求項１３】
前記第３の数字列作成手段は、
前記第２の数字列の各桁の数字を、それぞれ、前記暗号化コードの対応する各桁に配置されている数字の桁に移動させ、第２の数字列の各桁の数字の順序が入れ替わった第３の数字列を作成する入替暗号化手段を有する請求項６または７に記載の番号照合システム。
【請求項１４】
前記復号化方法決定手段は、受信された前記区分コードに対応するデータテーブルを選択するものである請求項６ないし１３のいずれかに記載の番号照合システム。
【請求項１５】
前記復号化手段は、
受信された前記配布番号から、前記暗号化手段において前記第１の選択数字列として用いられた数字列を除外し、第５の数字列を作成する第５の数字列作成手段と、
前記第１の選択数字列として用いられた数字列を前記第２の選択数字列として取得し、前記第５の数字列を、選択された前記データテーブル内の前記第２の選択数字列と同一の前記インデックス数字列に関連付けられた前記暗号化コードを用いて逆変換して、前記第５の数字列とおなじ桁数の第６の数字列を作成する第６の数字列作成手段と、
前記第２の選択数字列を、前記第６の数字列に対して挿入して第７の数字列を作成する第７の数字列作成手段とを有する請求項１４に記載の番号照合システム。
【請求項１６】
前記第６の数字列作成手段は、前記第５の数字列における各桁の数字から、前記暗号化コードの前記第５の数字列の各桁に対応する数字を減算するとともに、第５の数字列の各数字の進数の値を加えて減算値を得、前記減算値の１桁目の数字を当該桁に並べて前記第６の数字列を作成する減算復号化手段を有する請求項１５に記載の番号照合システム。
【請求項１７】
前記第６の数字列作成手段は、前記第５の数字列の各桁の数字を、前記暗号化コードのうち前記第５の数字列の各桁数と同一の数字がある桁数に移動させ、第５の数字列の各桁の数字の順序が入れ替わった第６の数字列を作成する入替復号化手段を有する請求項１５または１６に記載の番号照合システム。
【請求項１８】
前記復号化手段は、前記第５の数字列作成手段と前記第６の数字列作成手段と前記第７の数字列作成手段とを用いて、前記第７の数字列を生成する第７の数字列生成処理を行い、
得られた前記第７の数字列を前記復号数字列として用いる請求項１５ないし１７のいずれかに記載の番号照合システム。
【請求項１９】
前記復号化手段は、前記第７の数字列生成処理を、前記第４の数字列生成処理と同一の回数行うものであり、
２回目以降に前記第７の数字列生成処理が行われる際には、前記配布番号として、その直前に得られた前記第７の数字列が用いられ、前記第２の選択数字列として前記第７の数字列のうち前記第１の選択数字列として用いられた数字列が用いられ、かつ、前記暗号化コードとして、前記インデックス数字列に関連付けられた前記暗号化コードのうち各回に対応する暗号化コードが用いられ、最後に得られる第７の数字列が前記復号数字列として用いられる請求項１８に記載の番号照合システム。
【請求項２０】
前記第４の数字列生成処理と前記第７の数字列生成処理とは、それぞれａ回（但し、ａは自然数である）行われるものであり、
ｂ回目（但し、ｂはａ以下の自然数である）の前記第４の数字列生成処理で用いられる前記第３の数字列作成手段が行う変換処理と、（ａ−ｂ＋１）回目の前記第７の数字列生成処理で用いられる前記第６の数字列作成手段が行う逆変換処理とは、可逆的に対応するものである請求項１８または１９に記載の番号照合システム。
【請求項２１】
ｂ回目の前記第４の数字列生成処理で用いられる前記第１の選択数字列は、（ａ−ｂ＋１）回目の前記第７の数字列生成処理において前記第２の選択数字列として用いられる請求項２０に記載の番号照合システム。
【請求項２２】
前記製品番号および前記配布番号は、ともに１０進数の数字列である請求項１ないし２１のいずれかに記載の番号照合システム。
【請求項２３】
前記誤り検出結果が前記復号製品番号の誤りが検出されないとの結果であり、前記照合結果が、前記受信手段によって受信された前記区分コードに対応した前記区分内での前記復号製品番号が前記記憶手段に記憶されているいずれかの前記製品番号と一致するとの結果である場合に、前記判断手段は、前記復号製品番号が真正の前記製品番号であると判断するように構成されている請求項１ないし２２のいずれかに記載の番号照合システム。
【請求項２４】
前記判断手段は、前記受信手段によって受信した同一の区分対応する同一の前記復号製品番号については、ｎ回（但し、ｎは、前記記憶手段に記憶された当該区分内における前記複製番号に対応する前記製品番号について定められた自然数）まで、前記復号製品番号が真正の前記製品番号であるか否かを判断するように構成されている請求項２３に記載の番号照合システム。
【請求項２５】
ｎは、１である請求項２４に記載の番号照合システム。
【請求項２６】
前記記憶手段は、前記利用者の応募ポイントを記憶する利用者データベースを有し、
前記判断手段が前記復号製品番号が真正の前記製品番号であると判断する場合に、前記配布番号を送信した前記利用者の前記利用者番号に対応する前記応募ポイントに、前記区分コードおよび／または前記製品番号に応じたポイントを加算する応募ポイント管理手段を有する請求項１ないし２５のいずれかに記載の番号照合システム。
【請求項２７】
前記判断手段が、前記復号製品番号が真正の前記製品番号であると判断する場合に、前記配布番号を送信した前記利用者に対し、前記配布番号に対応する前記製品番号および／または前記区分コードに応じて所定のサービスを行うことを決定するサービス決定手段を有する請求項１ないし２６のいずれかに記載の番号照合システム。
【請求項２８】
前記判断手段が、前記復号製品番号が真正の前記製品番号であると判断する場合に、前記配布番号を送信した前記利用者に対し、前記配布番号に対応する前記製品番号および／または前記区分コードに応じて所定の物品を譲渡することを決定する物品譲渡決定手段を有する請求項１ないし２７のいずれかに記載の番号照合システム。
【請求項２９】
前記商品は、食品である請求項１ないし２８のいずれかに記載の番号照合システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は番号照合システムに関する。
【背景技術】
【０００２】
お菓子や清涼飲料水等の商品の購入者が、商品に添付された応募番号を携帯電話やパソコン等を用いて、応募番号を企業に送信し、送信した応募番号に対応するポイントに応じて景品等を受け取る応募システム（応募番号の照合システム）がある（例えば、特許文献１参照）。
【０００３】
このような応募システムにおいては、一般に、各商品にある製品番号に対応するチェックデジット（検査数字）を作成し、製品番号とチェックデジットとで構成された数字列を応募番号として用いる。チェックデジットは、一般に製品番号にある各数字を、簡単な四則で演算したり、数字等の入れ替え等を行った結果得られる１〜数文字程度の数字列である。このようなチェックデジットは、製品番号の正真性を簡便に判断することができる。企業に送信された応募番号は、応募番号中にあるチェックデジットによって製品番号が正真のものであるか否かが判断される。
【０００４】
しかしながら、上記のようにチェックデジットを用いた方法では以下のような問題があった。すなわち、応募番号に製品番号とチェックデジットとが記載されているため、多数の応募番号を集めた際に、製品番号とチェックデジットとの関係が推測されやすい。
【０００５】
このため、悪意のある者が、偽の製品番号と、推測して偽の製品番号から得たチェックデジットとを組み合わせて偽の応募番号を大量に作成して、当該偽の応募番号を送信する問題があった。このように偽の応募番号が大量に送信された場合、悪意のある者の応募ポイントが不正に増加するとともに、応募番号が使われてしまうことで真正の応募番号を有している購入者に不利益をもたらす。また、偽の応募番号が大量に送信される結果、応募システムを稼働しているサーバ等のハードウェアに過度の負荷がかかってしまい応募システムの稼働が安定しないものとなる。
【０００６】
また、従来、応募システムを運営する上で、製品番号を暗号化した応募番号（配布番号）を用いる場合、運営者は、製品番号を特定の業者に渡し、暗号化した応募番号を配布してもらう必要があった。このため、運営者側の応募番号を得るための費用や労力が、莫大なものとなる問題があった。また、暗号化する方法を変更する場合には、運営者と上記業者とのさらなる打ち合わせや、費用等が発生する問題があった。また、従来の応募システムは、一旦暗号化された応募番号を応募システム内に記憶しておく必要があり、応募番号が流出する危険性も有していた。このため、セキュリティを保ちつつ、安定して長期にわたって応募システムを運営することが困難であった。
【０００７】
【特許文献１】特開２００２−２３０３８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、長期間にわたって安定かつ安全に稼働でき、利用者に配布された配布番号を受信して、配布番号の真偽を精度よく確認することのできる番号照合システムを提供することにある。
【課題を解決するための手段】
【０００９】
このような目的は、下記（１）〜（２９）の本発明により達成される。
（１）  商品の商品名と、当該商品の区分毎に一意に決定された区分コードと、当該商品毎に前記区分内で一意に決定される数字列である製品番号とを記憶する記憶手段と、
前記区分コードに応じて、前記製品番号の暗号化の方法を決定する暗号化方法決定手段と、
前記製品番号および前記製品番号の誤り検出に用いられる検査数字を含む数字列を、暗号化して配布番号を得る暗号化手段と、
利用者から電子機器によって送信された前記配布番号および前記区分コードを含む情報を受信する受信手段と、
前記受信手段によって受信した前記区分コードに基づいて、前記受信手段によって受信した前記配布番号の復号化の方法を決定する復号化方法決定手段と、
前記受信手段によって受信した前記配布番号を復号化して復号数字列を得る復号化手段と、
前記復号数字列から、前記検査数字に対応する復号検査数字と、前記製品番号に対応する復号製品番号とを得る復号製品番号取得手段と、
前記復号検査数字を用いて前記復号製品番号の誤り検出を行う誤り検出手段と、
前記復号製品番号と、前記受信手段によって受信された前記区分コードに対応した前記区分において、前記記憶手段に記憶されている前記製品番号とを照合する照合手段と、
前記誤り検出手段による誤り検出結果および前記照合手段による照合結果に基づいて、前記復号製品番号が真正の前記製品番号であるか否か判断する判断手段とを有することを特徴とする番号照合システム。
【００１０】
（２）  前記記憶手段は、数字列からなる複数のインデックス数字列と、各前記インデックス数字列に関連付けられた数字列からなる少なくとも１つの暗号化コードとを有するデータテーブルを前記区分コード毎に記憶しており、
前記暗号化方法決定手段は、前記区分コードに対応する前記データテーブルを選択するものであり、
前記暗号化手段は、選択された前記データテーブルの前記暗号化コードを用いて、前記製品番号および検査数字を含む数字列を暗号化するように構成されている上記（１）に記載の番号照合システム。
【００１１】
（３）  前記暗号化手段は、
前記製品番号と前記検査数字とを含み、前記暗号化コードよりも前記インデックス数字列の数字数分だけ多い桁数である第１の数字列を作成する第１の数字列作成手段と、
前記第１の数字列から、前記インデックス数字列を選択するために使用される第１の選択数字列を除外して第２の数字列を作成する第２の数字列作成手段と、
前記第２の数字列を、前記第１の選択数字列と同一の前記インデックス数字列に関連付けられた前記暗号化コードを用いて変換して、前記第２の数字列と同じ桁数の第３の数字列を作成する第３の数字列作成手段と、
前記第１の選択数字列を、前記第３の数字列に対して挿入して第４の数字列を作成する第４の数字列作成手段とを有する上記（２）に記載の番号照合システム。
【００１２】
（４）  前記第４の数字列作成手段は、前記第４の数字列における第１の選択数字列の位置が、前記第１の数字列の前記第１の選択数字列の位置と同じになるように、前記第４の数字列を作成する上記（３）に記載の番号照合システム。
【００１３】
（５）  前記第１の選択数字列は、前記第１の数字列における前記製品番号以外の数字列またはその一部からなるものである上記（３）または（４）に記載の番号照合システム。
【００１４】
（６）  前記暗号化手段は、前記第２の数字列作成手段と前記第３の数字列作成手段と前記第４の数字列作成手段とを用いて、前記第１の数字列から前記第４の数字列を生成する第４の数字列生成処理を行い、
得られた前記第４の数字列を前記配布番号として用いる上記（３）ないし（５）のいずれかに記載の番号照合システム。
【００１５】
（７）  前記暗号化手段は、前記第４の数字列生成処理を複数回行うものであり、
最後に得られる第４の数字列を前記配布番号として用いる上記（６）に記載の番号照合システム。
【００１６】
（８）  前記暗号化手段は、前記第４の数字列生成処理を複数回行うものであり、
前記データテーブルは、各前記インデックス数字列に関連付けられた複数の前記暗号化コードを有するものであり、
２回目以降に前記第４の数字列生成処理が行われる際には、前記第１の数字列として、その直前に得られた前記第４の数字列が用いられ、かつ、前記暗号化コードとして、前記インデックス数字列に関連付けられた複数の前記暗号化コードのうち各回に対応する暗号化コードが用いられ、最後に得られる第４の数字列が前記配布番号として用いられる上記（６）に記載の番号照合システム。
【００１７】
（９）  前記第３の数字列作成手段は、
前記第２の数字列における各桁の数字と、前記暗号化コードの前記第２の数字列の各桁に対応する数字とをそれぞれ加算して桁毎に加算値を得、該加算値の一桁目の数値をそれぞれ該当する桁に配置して前記第３の数字列を作成する加算暗号化手段と、
前記第２の数字列の各桁の数字を、それぞれ、前記暗号化コードの対応する各桁に配置されている数字の桁に移動させ、第２の数字列の各桁の数字の順序が入れ替わった第３の数字列を作成する入替暗号化手段とを有する上記（８）に記載の番号照合システム。
【００１８】
（１０）  複数回の前記第４の数字列生成処理において、前記第３の数字列作成手段は、前記加算暗号化手段と前記入替暗号化手段とを交互に選択して用いるものである上記（９）に記載の番号照合システム。
【００１９】
（１１）  最初に行われる前記第４の数字列生成処理において、前記第３の数字列作成手段は、前記加算暗号化手段を選択して用いる上記（９）または（１０）に記載の番号照合システム。
【００２０】
（１２）  前記第３の数字列作成手段は、
前記第２の数字列における各桁の数字と、前記暗号化コードの前記第２の数字列の各桁に対応する数字とをそれぞれ加算して各桁ごとに加算値を得、該加算値の一桁目の数値をそれぞれ該当する桁に配置して前記第３の数字列を作成する加算暗号化手段を有する上記（６）または（７）に記載の番号照合システム。
【００２１】
（１３）  前記第３の数字列作成手段は、
前記第２の数字列の各桁の数字を、それぞれ、前記暗号化コードの対応する各桁に配置されている数字の桁に移動させ、第２の数字列の各桁の数字の順序が入れ替わった第３の数字列を作成する入替暗号化手段を有する上記（６）または（７）に記載の番号照合システム。
【００２２】
（１４）  前記復号化方法決定手段は、受信された前記区分コードに対応するデータテーブルを選択するものである上記（６）ないし（１３）のいずれかに記載の番号照合システム。
【００２３】
（１５）  前記復号化手段は、
受信された前記配布番号から、前記暗号化手段において前記第１の選択数字列として用いられた数字列を除外し、第５の数字列を作成する第５の数字列作成手段と、
前記第１の選択数字列として用いられた数字列を前記第２の選択数字列として取得し、前記第５の数字列を、選択された前記データテーブル内の前記第２の選択数字列と同一の前記インデックス数字列に関連付けられた前記暗号化コードを用いて逆変換して、前記第５の数字列とおなじ桁数の第６の数字列を作成する第６の数字列作成手段と、
前記第２の選択数字列を、前記第６の数字列に対して挿入して第７の数字列を作成する第７の数字列作成手段とを有する上記（１４）に記載の番号照合システム。
【００２４】
（１６）  前記第６の数字列作成手段は、前記第５の数字列における各桁の数字から、前記暗号化コードの前記第５の数字列の各桁に対応する数字を減算するとともに、第５の数字列の各数字の進数の値を加えて減算値を得、前記減算値の１桁目の数字を当該桁に並べて前記第６の数字列を作成する減算復号化手段を有する上記（１５）に記載の番号照合システム。
【００２５】
（１７）  前記第６の数字列作成手段は、前記第５の数字列の各桁の数字を、前記暗号化コードのうち前記第５の数字列の各桁数と同一の数字がある桁数に移動させ、第５の数字列の各桁の数字の順序が入れ替わった第６の数字列を作成する入替復号化手段を有する上記（１５）または（１６）に記載の番号照合システム。
【００２６】
（１８）  前記復号化手段は、前記第５の数字列作成手段と前記第６の数字列作成手段と前記第７の数字列作成手段とを用いて、前記第７の数字列を生成する第７の数字列生成処理を行い、
得られた前記第７の数字列を前記復号数字列として用いる上記（１５）ないし（１７）のいずれかに記載の番号照合システム。
【００２７】
（１９）  前記復号化手段は、前記第７の数字列生成処理を、前記第４の数字列生成処理と同一の回数行うものであり、
２回目以降に前記第７の数字列生成処理が行われる際には、前記配布番号として、その直前に得られた前記第７の数字列が用いられ、前記第２の選択数字列として前記第７の数字列のうち前記第１の選択数字列として用いられた数字列が用いられ、かつ、前記暗号化コードとして、前記インデックス数字列に関連付けられた前記暗号化コードのうち各回に対応する暗号化コードが用いられ、最後に得られる第７の数字列が前記復号数字列として用いられる上記（１８）に記載の番号照合システム。
【００２８】
（２０）  前記第４の数字列生成処理と前記第７の数字列生成処理とは、それぞれａ回（但し、ａは自然数である）行われるものであり、
ｂ回目（但し、ｂはａ以下の自然数である）の前記第４の数字列生成処理で用いられる前記第３の数字列作成手段が行う変換処理と、（ａ−ｂ＋１）回目の前記第７の数字列生成処理で用いられる前記第６の数字列作成手段が行う逆変換処理とは、可逆的に対応するものである上記（１８）または（１９）に記載の番号照合システム。
【００２９】
（２１）  ｂ回目の前記第４の数字列生成処理で用いられる前記第１の選択数字列は、（ａ−ｂ＋１）回目の前記第７の数字列生成処理において前記第２の選択数字列として用いられる上記（２０）に記載の番号照合システム。
【００３０】
（２２）  前記製品番号および前記配布番号は、ともに１０進数の数字列である上記（１）ないし（２１）のいずれかに記載の番号照合システム。
【００３１】
（２３）  前記誤り検出結果が前記復号製品番号の誤りが検出されないとの結果であり、前記照合結果が、前記受信手段によって受信された前記区分コードに対応した前記区分内での前記復号製品番号が前記記憶手段に記憶されているいずれかの前記製品番号と一致するとの結果である場合に、前記判断手段は、前記復号製品番号が真正の前記製品番号であると判断するように構成されている上記（１）ないし（２２）のいずれかに記載の番号照合システム。
【００３２】
（２４）  前記判断手段は、前記受信手段によって受信した同一の区分対応する同一の前記復号製品番号については、ｎ回（但し、ｎは、前記記憶手段に記憶された当該区分内における前記複製番号に対応する前記製品番号について定められた自然数）まで、前記復号製品番号が真正の前記製品番号であるか否かを判断するように構成されている上記（２３）に記載の番号照合システム。
【００３３】
（２５）  ｎは、１である上記（２４）に記載の番号照合システム。
【００３４】
（２６）  前記記憶手段は、前記利用者の応募ポイントを記憶する利用者データベースを有し、
前記判断手段が前記復号製品番号が真正の前記製品番号であると判断する場合に、前記配布番号を送信した前記利用者の前記利用者番号に対応する前記応募ポイントに、前記区分コードおよび／または前記製品番号に応じたポイントを加算する応募ポイント管理手段を有する上記（１）ないし（２５）のいずれかに記載の番号照合システム。
【００３５】
（２７）  前記判断手段が、前記復号製品番号が真正の前記製品番号であると判断する場合に、前記配布番号を送信した前記利用者に対し、前記配布番号に対応する前記製品番号および／または前記区分コードに応じて所定のサービスを行うことを決定するサービス決定手段を有する上記（１）ないし（２６）のいずれかに記載の番号照合システム。
【００３６】
（２８）  前記判断手段が、前記復号製品番号が真正の前記製品番号であると判断する場合に、前記配布番号を送信した前記利用者に対し、前記配布番号に対応する前記製品番号および／または前記区分コードに応じて所定の物品を譲渡することを決定する物品譲渡決定手段を有する上記（１）ないし（２７）のいずれかに記載の番号照合システム。
【００３７】
（２９）  前記商品は、食品である上記（１）ないし（２８）のいずれかに記載の番号照合システム。
【発明の効果】
【００３８】
本発明によれば、長期間にわたって安定かつ安全に稼働でき、利用者に配布された配布番号を受信して、配布番号の真偽を精度よく確認することのできる番号照合システムを提供することができる。
【００３９】
また、区分によって暗号化の方法を変更することが可能であるため、複雑な暗号化方法を用いる必要がない。すなわち、比較的単純な方法で製品番号を暗号化した場合であっても、暗号化の方法を適宜変更することにより、得られた配布番号からは、暗号化の方法を推測することが困難なものとなる。
【００４０】
さらに、区分によって暗号化の方法を変更することが可能であるため、番号照合システムは、区分コードに応じて適宜暗号化の方法を変更しつつ無制限に製品番号から配布番号を生成することができ、永続的に安定かつ安全な状態で稼働することができる。
【００４１】
また、番号照合システム内に、暗号化手段および復号化手段が同時に組み込まれているため、容易に製品番号を基に配布番号を作成可能であるとともに、配布番号を番号照合システム内に記憶しておく必要がないため、悪意のある者が番号照合システムに侵入した場合であっても被害を限定的なものとすることができる。
【００４２】
また、特に暗号化方法決定手段がデータテーブルを取得するように構成されることにより、暗号化手段および復号化手段が、それぞれ、高速かつ単純に暗号化および復号化を行うことができる。このため、番号照合システム１は、高速で、安定かつ安全に稼働することができる。
【発明を実施するための最良の形態】
【００４３】
以下、本発明を、好適な実施形態に基づいて詳細に説明する。
図１は、本発明の番号照合システムの実施形態を適用した応募システムの概略構成図である。
【００４４】
まず、本実施形態の番号照合システムを有する応募システムの概略について説明する。
応募システム１０００は、番号照合システム１と、各利用者２００が利用する電子機器３００とを有するものである。また、番号照合システム１は、サーバ等によって構成されている。番号照合システム１は、記憶手段２を有しており、記憶手段２は、商品に関連付けられた商品名、区分コード、製品番号等の情報や、利用者番号、応募ポイント等の利用者２００の情報を記録した利用者データベース等の情報を記憶する。番号照合システム１は、商品に関連付けられた製品番号および製品番号を検査する検査数字（チェックデジット）に基づいて暗号化を行い、配布番号を作成する。
【００４５】
作成された配布番号と区分コードとは、商品に添付され、利用者２００に対し商品が販売、譲渡されることにより、利用者２００に配布される。
【００４６】
利用者２００は、携帯電話、パーソナルコンピューター等の電子機器３００によって、ネットワーク４００を介し、配布番号および区分コードを番号照合システム１に、送信する。
【００４７】
番号照合システム１は、送信された配布番号および区分コードを受信し、配布番号から製品番号および検査数字（チェックデジット）を、復号化する。
【００４８】
次に、番号照合システム１は、復号化された製品番号が真正であるか否かを判断する。
そして、復元された製品番号が真正であると判断された場合、例えば、利用者２００の有する応募ポイントにポイントが加算される。
【００４９】
このような応募ポイントが所定量貯まると、利用者２００は、応募ポイントに応じた所定のサービスや物品を受け取る。
【００５０】
ここで、本明細書において、商品は、商取引の対象として用いられる有体物のみならず、無体物であって各種サービス等の商取引の対象となるものも含む。また、応募システム１０００が取り扱う物品において、その全部または一部が無償で配布される場合であっても、本明細書においては、当該物品は商品として取り扱うものとする。
【００５１】
商品としては、例えば、食品、書籍、文房具、事務用品、電化製品、家具、玩具、食器、調理器具、衣服、医薬品、化粧品、スポーツ用品等の有体物、保険商品等の無体物が挙げられる。
【００５２】
この中でも、商品は、食品であることが好ましい。番号照合システム１は、無制限に区分コードおよび配布番号を配布することができ、また、長期にわたって安全かつ安定に稼働することができるものである。このため、大量かつ長期にわたって販売される食品を商品として用いる場合、本発明の番号照合システム１は、より有効に活用される。
【００５３】
また、ネットワーク４００は、インターネットであり、インターネットは、世界中に張り巡らされたアナログおよびデジタル回線網で、この回線を介して他の端末と情報の送受信（通信）を行う。インターネットは、サーバ、電子機器３００をはじめ、各種サーバのコンピュータとローカルコンピュータの間を結ぶ、ＬＡＮ（Local Area Network），Dial Up接続等によるデータ通信手段を総称する概念である。また、ネットワークのアクセス回線としては、例えば、ＦＴＴＨ（Fiber To The Home）、ＨＦＣ（Hybrid Fiber Coax：光同軸ケーブル）、およびＡＤＳＬ（Asymmetric Digital Subscriber Line）等の大容量回線、またはアナログモデムを利用した電話回線、ＰＨＳ，携帯電話等を利用したワイヤレス回線等が利用可能である。
【００５４】
また、サーバとしては、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）、Ｉ／Ｆ（Interface）等を備えた公知の構成の電子計算機を用いることができる。
【００５５】
電子機器３００は、例えば、携帯電話機等の携帯端末、デスクトップ型パソコン、ノート型パソコン等の電子計算機である。
【００５６】
図２は、図１の応募システムが有する番号照合システムの詳細な構成を示すブロック図である。
【００５７】
番号照合システム１は、記憶手段２と、暗号化方法決定手段３と、暗号化手段４と、復号化方法決定手段５と、復号化手段６と、復号製品番号取得手段７と、誤り検出手段８と、照合手段９と、判断手段１０と、応答手段１１と、電子機器３００から送信される情報を受信する受信手段１２と、電子機器３００へ情報を送信する送信手段１３とを備えている。
【００５８】
本発明では、番号照合システム１内に、暗号化手段４および復号化手段６が同時に組み込まれているため、容易に製品番号を基に配布番号を作成可能であるとともに、配布番号を番号照合システム１内に記憶しておく必要がない。このため、悪意のある者が、番号照合システム１内にあるデータ等を不正に入手した場合であっても、配布番号が直接流出することがない。なお、番号照合システム１内にあるデータが流出した場合であっても、後述するように、流出による被害を限定的なものとすることができる。
【００５９】
［記憶手段］
記憶手段２は、応募システムに用いる商品の商品名と、商品の区分毎に一意に決定された区分コードと、商品に対応した製品番号と、区分コード毎に対応するデータテーブルと、利用者２００の情報を管理する利用者データベース等の番号照合システム１や応募システムに用いる情報を記憶している。
【００６０】
ここで、それぞれの商品には、対応する区分と、区分コードと、製品番号とが関連付けられている。
【００６１】
また、商品の区分とは、商品の種類による区分、商品の製造日による区分、商品の製造ロットによる区分、商品の販売地域別による区分、同一の商品において便宜的に分けられる区分等の適宜設定される各種区分である。
【００６２】
また、区分コードは、各商品の区分毎に一意に決定されるものであり、例えば、文字列等からなっている。例えば、商品がガムである場合、商品の区分コードは、ガムに設定された区分に基づいて「ＧＵＭ−０１」、「ＧＵＭ−０２」、・・・とすることができる。また、例えば、商品がキャンディである場合、商品の区分コードは、キャンディに設定された区分に基づいて、「ＣＡＮ−０１」、「ＣＡＮ−０２」、・・・とすることができる。
【００６３】
また、製品番号は、商品毎に区分内で一意に決定される数字列である。
製品番号は、数字列であればよく、数字列を構成する各数字の進数は特に限定されないが、本実施形態では、１０進数を用いる。これにより、商品の製造者および販売者が、容易に製品番号を認識でき、製品番号を管理することが容易になる。また、後述するような暗号化手段４により、製品番号から１０進数の配布番号を作成することができる。
【００６４】
また、製品番号の桁数は特には限定されず、適宜設定できるが、本実施形態では８桁の数字列を用いる。このような１０進数であり、８桁の数字列は、サーバ上において、３２ビットの数値として取り扱うことが可能である。このため、サーバが３２ビット以上の中央演算処理装置（ＣＰＵ、Central Processing Unit）を備えている場合、後述する照合手段９等の各種手段において、サーバ上のＣＰＵ、ＲＡＭ等へかかる負荷が小さいものとなり、各種手段を用いた処理が高速かつ安定なものとなる。
【００６５】
また、大量に製品番号を配布することにより、特定の区分内で配布すべき製品番号が尽きてしまった場合においても、区分を変更することにより（例えば、区分コードを「ＧＵＭ−０１」から「ＧＵＭ−０２」へ変更することにより）、商品に対し製品番号を決定することができる。すなわち、区分コードと製品番号とを組み合わせて用いることにより、商品に対して、対応する区分コードおよび製品番号を無限に決定することができる。
【００６６】
なお、本明細書において、数字列に用いる数字は、アラビア数字からなるもののみには限定されず、例えば、アルファベットや平仮名、カタカナ、漢字等であってもそれが数を表わすものとして定義されるのであれば数字として用いることができる。
【００６７】
また、本明細書において、数字列の桁は、数字列の左側の数字から右側の数字へ向けて、「０、１、２、３、４、５、・・・」桁と表記する。また、数値の桁は、通常通り、数字列の右側の数から左側の数へ向けて、「１、２、３、４、５、・・・」桁と表記する。
また、本実施形態では、各数字列は、すべて１０進数であるとして説明する。
【００６８】
［暗号化方法決定手段］
暗号化方法決定手段３は、商品の区分コードに応じて、製品番号を暗号化する方法を決定する機能を有する。これにより、商品の区分に応じて、暗号化する方法を選択することが可能となる。
【００６９】
これにより、悪意のある者が、暗号化されて作成された配布番号から暗号化の方法を推測して、偽の配布番号を製造することが困難になる。また、仮に暗号化の方法が推測された場合であっても、次に、配布する商品の区分において暗号化の方法を変更することにより、悪意のある者が偽の配布番号を送信することによる被害が限定的なものとなる。
【００７０】
また、区分によって暗号化の方法を変更することが可能である。このため、複雑な暗号化方法を用いる必要がない。すなわち、比較的単純な方法で製品番号を暗号化した場合であっても、暗号化の方法を適宜変更することにより、得られた配布番号からは、暗号化の方法を推測することが困難なものとなる。
【００７１】
結果として、番号照合システム１は、区分コードに応じて適宜暗号化の方法を変更しつつ無制限に製品番号から配布番号を生成することができ、永続的に安定かつ安全な状態で稼働することができる。
【００７２】
また、本実施形態では、暗号化方法決定手段３は、記憶手段２に記憶されている商品の区分コードに対応するデータテーブルを選択することにより行われる。データテーブルは、商品の区分コード毎に１つ、記憶手段２により記憶されているものである。また、商品の区分が増加した場合には、適宜対応するデータテーブルを設定または追加して記憶手段に記憶させることができる。
【００７３】
データテーブルは、インデックス数字列と、各インデックス数字列に関連付けられた少なくとも１つの暗号化コードとを有している。本実施形態では、図３に示すように、データテーブルは、インデックス数字列と、各インデックス数字列に関連付けられた２つの暗号化コード（第１の暗号化コードおよび第２の暗号化コード）とを有している。また、データテーブルは、１００個のインデックス数字列を有し、この結果、２００個の暗号化コードを有している。
【００７４】
インデックス数字列および暗号化コードは、後述する暗号化手段４および復号化手段６で用いられるものである。
【００７５】
インデックス数字列は、数字列からなるものであり、本実施形態では、１０進数の２桁の数字列からなり、００〜９９までの数字列となっている。また、同一のテーブル内において、各インデックス数字列は、互いに重複しないものとなっている。このようなインデックス数字列は、後述するように暗号化手段４および復号化手段６において、データテーブル内の暗号化コードを選択するために用いられる。
【００７６】
また、暗号化コードは、数字列からなるものである。暗号化コードは、後述するように暗号化手段４および復号化手段６において、数字列を、他の数字列に変換または逆変換する際に用いられる。暗号化コードは、数字列を暗号化および復号化できるものであればよいが、本実施形態では、後述するような暗号化を行うため、１０進数の１０桁の数字列となっている。また、各暗号化コードは、適宜、公知の乱数の発生法によって乱数を発生させ、当該乱数に基づいて作成することができる。
【００７７】
また、同一のデータテーブル中にある各第１の暗号化コードは、互いに異なる数字列であることが好ましい。また、同一のデータテーブル中にある各第２の暗号化コードは、互いに異なる数字列であることが好ましい。これにより、暗号化された配布番号は、より解読しにくいものとなり、番号照合システム１は、より安全なものとなる。
【００７８】
このように、本実施形態では、データテーブルは、１００個の１０進数の２桁のインデックス数字列と、２００個の１０進数の１０桁の暗号化コードからなっている。このようなデータテーブルは、データ量が１６００バイトと小さい。このため、データテーブルを番号照合システム１内にあるプログラム中に容易に組み込むことができ、データテーブルを当該プログラムが変換されたバイナリー中に記憶することができる。このような場合、データテーブルは、例え当該プログラムが外部に漏えいした場合であっても、推測されにくいものとなる。また、プログラムのバイナリー中にデータテーブルが含まれることにより、データテーブルを用いる各手段が高速かつ低負荷で実行され、番号照合システム１は、より安定して稼働可能なものとなる。また、記憶手段にデータベースとしてデータテーブルを記憶する必要がないことから、外部から不正に侵入された場合であっても、データテーブルを悪意のある者が取得するのは困難である。
【００７９】
［暗号化手段］
暗号化手段４は、製品番号と、製品番号の誤り検出に用いられる検査数字とを含む数字列を暗号化して配布番号を生成する機能を有する。
【００８０】
本実施形態の番号照合システム１は、下記のような単純な手段によって暗号化を行うことにより、高速かつ安定に稼働することができる。一方で、区分コードに基づいて暗号化方法が決定されることにより、配布番号から暗号化の方法等を推測される恐れが少ないものである。
【００８１】
また、本実施形態では、暗号化手段４では、暗号化方法決定手段３において決定されるデータテーブルを基に暗号化が行われるものであり、暗号化手段４は、第１の数字列作成手段と、第２の数字列作成手段と、第３の数字列作成手段と、第４の数字列作成手段とで構成される。
【００８２】
このような暗号化手段４および暗号化手段４に対応した後述する復号化手段６は、高速かつ単純に暗号化および復号化が行われるものである。このため、番号照合システム１がこのような暗号化手段４および復号化手段６を有することにより、サーバ１００の負荷が軽減され、番号照合システム１は、高速で、安定かつ安全に稼働することができる。
【００８３】
以下、具体例として、製品番号が「１２３４５６７８」であり、図３に記載のデータテーブルを用いるものとして、暗号化手段４に含まれる各手段について説明する。
【００８４】
第１の数字列作成手段は、製品番号と、製品番号の誤り検出に用いられる検査数字（チェックデジット）とを含む
第１の数字列を作成するものである。
【００８５】
第１の数字列は、暗号化コードよりも前記インデックス数字列の数字数分だけ多い桁数である。このような第１の数字列は、例えば、製品番号に所定の桁数の検査数字を追加して作成することができる。すなわち、本実施形態においては、製品番号の桁数が８桁であり、暗号化コードの桁数が１０桁であり、インデックス数字列の桁数が２桁であるため、第１の数字列は１２桁となり、追加すべき検査数字は合計で４桁となる。
【００８６】
本発明において、検査数字としては、特に限定されず、例えば、７チェック（ＤＳＲ方式、ＤＲ方式）、９チェック（ＤＳＲ方式、ＤＲ方式）、モジュラス１０、モジュラス１１等の公知の検査数字を用いることができるが、上記以外の数字であっても、製品番号の一部または全部の確認を行うことができるものであれば適宜、検査数字として用いることができる。
【００８７】
本実施形態では、検査文字として、ＤＳＲ方式の７チェックと、ＤＳＲ方式の９チェックと、製品番号の数値を１００で割った余りとを用いる。
【００８８】
上述した製品番号「１２３４５６７８」において、７チェックで得られる検査数字は「５」であり、９チェックで得られる検査数字は「９」であり、製品番号の数値を１００で割った余りは「７８」である。
【００８９】
第１の数字列において、製品番号および検査数字は、いかなる位置に配置されるものであってもよい。本実施形態では、製品番号に対し、７チェックで得られる検査数字「５」が０桁目、９チェックで得られる検査数字「９」が１桁目、製品番号の数値を１００で割った余り「７８」が１０、１１桁目となるようにそれぞれを挿入して１２桁の数字列である第１の数字列「５９１２３４５６７８７８」を得る。
【００９０】
第２の数字列作成手段では、第１の数字列から、インデックス数字列を選択するために使用される第１の選択数字列を除外して第２の数字列を作成する。
【００９１】
第１の選択数字列は、インデックス数字列と同じ桁数の数字列である。
第１の選択数字列は、第１の数字列のいかなる数字列から選択されてもよいが、製品番号以外の数字列の全部またはその一部からなることが好ましい。後述するように、第２の数字列は、第３の数字列作成手段によって変換される。しかしながら、第１の選択数字列は、第３の数字列作成手段によって変換されないものである。このため、第１の選択数字列として、製品番号以外の数字列を選択することにより、第３の数字列作成手段によって製品番号のすべての数字が変換される。
【００９２】
本実施形態では、第１の選択数字列として、１０桁目、１１桁目にある検査数字「７８」を用いる。
【００９３】
このため、第１の数字列「５９１２３４５６７８７８」から上記の第１の選択数字列「７８」を除外することで、第２の数字列「５９１２３４５６７８」が得られる。
【００９４】
第３の数字列作成手段は、第１の選択数字列と同一のインデックス数字列に関連付けられた暗号化コードを用いて変換して、第２の数字列と同じ桁数の第３の数字列を作成するように構成されている。
【００９５】
また、第３の数字列作成手段は、加算暗号化手段と、入替暗号化手段とを有している。このような手段は、比較的、高速に処理されるものであるとともに、データテーブルを入手しない限り、配布番号からの製品番号への解析が不可能である。
【００９６】
加算暗号化手段は、各桁の数字の値を変換することによって暗号化を行う手段である。
具体的には、加算暗号化手段は、第２の数字列における各桁の数字と、暗号化コードの第２の数字列の各桁に対応する数字とをそれぞれ加算して各桁ごとに加算値を得、該加算値の一桁目の数値をそれぞれ該当する桁に配置して第３の数字列を作成するように構成されている。
【００９７】
具体的には、まず、本実施形態において、第１の選択数字列は「７８」であるので、インデックス数字列は、第１の選択数字列と同一の「７８」である。また、用いる暗号コードを第１の暗号コードとすると、インデックス数字列「７８」に対応する第１の暗号コードは「５３８３７２６９８９」である。
【００９８】
そして、図４（ａ）すように、第２の数字列における各桁の数字と、暗号化コードの第２の数字列の各桁に対応する数字とをそれぞれ加算して桁毎に加算値を得る。
【００９９】
次に、加算値の１桁目の数値をそれぞれ該当する桁に配置して第３の数字列が作成される。
【０１００】
また、入替暗号化手段は、第２の数字列の各桁の数字の位置を入れ替えることによって暗号化を行う手段である。
【０１０１】
入替暗号化手段は、第２の数字列の各桁の数字を、それぞれ、暗号化コードの対応する各桁に配置されている数字の桁に移動させ、第２の数字列の各桁の数字の順序が入れ替わった第３の数字列を作成するように構成されている。
【０１０２】
例えば、第２の数字列が「９５０６１５５７７８」であり、第１の選択数字列が「０２」であり、暗号化コードとして第２の暗号化コードを用いるとする。
【０１０３】
このような場合、第２の暗号化コードは、インデックス数字列「０２」に関連付けられた「９２６５８７１３０４」である。
【０１０４】
そして、図４（ｂ）に示すように、第２の数字列の各桁の数字を、それぞれ、前記暗号化コードの対応する各桁に配置されている数字の桁に移動させる。これにより、第２の数字列の各桁の数字の順序が入れ替わった第３の数字列「７５５７８６０５１９」が作成される。
【０１０５】
例えば、第２の数字列の２桁目に対応する暗号化コードの２桁目の数字は「６」である。このため、第２の数字列の２桁目の数字「０」を第３の数字列では「６」桁目になるように配置する。このようにして第２の数字列の各桁の数字を全て入れ替えて第３の数字列が作成される。
【０１０６】
なお、第３の数字列作成手段において入替暗号化手段が選択して用いられる場合、用いられる暗号化コードは、変換される第２の数字列の桁数の数だけ数字を有し、当該数字は、それぞれ、重複せず、各桁に対応する数字となっている。例えば、本実施形態では、第２の数字列は１０桁であるため、暗号化コードは１０個の数字を有し、当該数字は、各桁に対応する「０」〜「９」の数字となっている。
【０１０７】
第４の数字列作成手段は、第１の選択数字列を、第３の数字列に対して挿入して第４の数字列を作成するように構成されている。
【０１０８】
これにより、第２の数字列作成手段から第４の数字列作成手段において、第１の選択数字列は、変換されずに第４の数字列に配置される。
【０１０９】
なお、後述するように第４の数字列を配布番号として用いても、利用者からは第１の選択数字列は識別できない。また、仮に、利用者が、第１の選択数字列を識別した場合であっても、データテーブルを取得しない限り、対応する暗号化コードがわからず、製品番号の推測は困難である。
【０１１０】
第１の選択数字列は第４の数字列のいかなる位置に配置されるものであってもよいが、第４の数字列作成手段は、第４の数字列における第１の選択数字列の位置が、第１の数字列の第１の選択数字列の位置と同じになるように、第４の数字列を作成することが好ましい。これにより、第４の数字列における第１の選択数字列の位置を把握しやすいものとすることができる。また、このように、第１の選択数字列の位置を第１の数字列と、第４の数字列とで統一することにより、暗号化手段がより単純なものとなる。
【０１１１】
例えば、第３の数字列が上述した「５３８３７２６９８９」であり、第１の選択数字列が「７８」である場合、この２つの数字列を組み合わせた数字列が第４の数字列となる。また、第１の選択数字列「７８」を上記の第１の数字列「５９１２３４５６７８７８」と同じ位置（１０、１１桁目）に配置されるように配置して第４の数字列を作成すると「５３８３７２６９８９７８」となる。
【０１１２】
暗号化手段４は、上述したような各手段により、製品番号および検査数字から第４の数字列を生成する。当該第４の数字列は、配布番号として用いられる。
【０１１３】
暗号化手段４は、第２の数字列作成手段と、第３の数字列作成手段と、第４の数字列作成手段とにより第４の数字列を生成する処理（以下、第４の数字列生成処理ともいう。）を１回のみ行うものであってもよいが、複数回行うものであることが好ましい。これにより、製品番号をより安全に暗号化することができ、配布番号から製品番号がより推測されにくいものとなる。暗号化手段４における第４の数字列生成処理の回数は、配布する配布番号に求められる安全性と、サーバ１の暗号化、復号化による負荷を勘案して決定される。なお、第３の数字列作成手段として、入替暗号化手段および加算暗号化手段が選択して用いられる場合、第４の数字列生成処理が２回行われ、第３の数字列作成手段が入替暗号化手段および加算暗号化手段を各１回選択して用いるだけでも、配布番号は、解析が十分に困難なものとなる。
【０１１４】
このような場合、２回目以降に第４の数字列生成処理が行われる際には、第１の数字列として、その直前に得られた第４の数字列が用いられる。また、第１の選択数字列としては、第１の数字列として用いられる第４の数字列から、適宜選択される。
【０１１５】
また、このような場合、暗号化コードとして、インデックス数字列に関連付けられた複数の暗号化コードのうち各回に対応する暗号化コードが用いられる。例えば、１回目の第４の数字列生成処理では、暗号化コードとして第１の暗号化コードが用いられ、２回目の第４の数字列生成処理では、暗号化コードとして第２の暗号化コードが用いられる。
【０１１６】
そして、このような場合、配布番号としては、最後に得られる第４の数字列が用いられる。
【０１１７】
また、暗号化手段４において第４の数字列生成処理が複数回行われる場合、最初に行われる第４の数字列生成処理において、第３の数字列作成手段は、加算暗号化手段を選択して用いるように構成されていることが好ましい。加算暗号化手段では、変換する各数字の値が変更される。このため、最初に行われる第３の数字列作成手段として、算暗号化手段が選択されて用いられることにより、最終的に生成する配布番号は、暗号化前の製品番号および検査番号をより推測しにくいものとなる。
【０１１８】
また、暗号化手段４において第４の数字列生成処理が複数回行われる場合、各回の第４の数字列生成処理において、第３の数字列作成手段は、加算暗号化手段と入替暗号化手段とを交互に選択して用いるものであることが好ましい。数字列の各数字の値を変更する加算暗号化手段と、数字列の各数字の位置を変更する入替暗号化手段とを組み合わせることにより、最終的に生成する配布番号は、暗号化前の製品番号および検査番号をより推測しにくいものとなる。
【０１１９】
［復号化方法決定手段］
復号化方法決定手段５は、後述する受信手段１１によって受信した区分コードに基づいて、受信手段１１により受信した配布番号の復号化の方法を決定するように構成されている。また、配布番号とともに配布された区分コードと、受信手段１１によって受信した区分コードとは一致するため、次に説明する復号化手段６では、暗号化手段４において選択される暗号化方法と可逆的に対応する復号化方法が選択されることが可能となる。
【０１２０】
また、本実施形態では、復号化方法決定手段５は、受信手段１１によって受信した区分コードに対応するデータテーブルを選択することにより行われるものである。この場合、同一の区分コードでは、暗号化方法決定手段３によって用いられたデータテーブルと、復号化方法決定手段５によって取得されるデータテーブルは、同一のものとなる。
【０１２１】
［復号化手段］
復号化手段６は、配布番号を復号化して、復号数字列を生成する機能を有する。
【０１２２】
また、本実施形態では、復号化手段６は、復号化方法決定手段５において決定されるデータテーブルを基に復号化が行われるものである。
【０１２３】
また、復号化手段６は、第５の数字列を作成する第５の数字列作成手段と、第６の数字列を作成する第６の数字列作成手段と、第７の数字列を作成する第７の数字列作成手段とで構成される。
【０１２４】
また、第５の数字列作成手段と、第６の数字列作成手段と、第７の数字列作成手段によって第７の数字列を生成する処理（第７の数字列生成処理）は、前述した第４の数字列生成処理と可逆的に対応するものである。すなわち、ある数字列を第4の数字列生成処理によって変換した場合、変換されて得られた数字列は、第７の数字列生成処理によって逆変換することにより、もとの数字列となる。
【０１２５】
また、第４の数字列生成処理における第３の数字列作成手段と、第７の数字列生成処理における第６の数字列作成手段とは、可逆的に対応するものである。すなわち、ある数字列を第３の数字列作成手段によって変換した場合、変換されて得られた数字列は、第６の数字列作成手段によって逆変換することにより、もとの数字列となる。
【０１２６】
以下、具体例として、配布番号が「０２７５５７８６０５１９」であり、図３に記載のデータテーブルを用いるものとして、復号化手段に含まれる各手段について説明する。
【０１２７】
第５の数字列作成手段は、受信された配布番号から、暗号化手段において第１の選択数字列として用いられた数字列を除外し、第５の数字列を作成するように構成されている。
【０１２８】
例えば、上記の配布番号において、暗号化手段において第１の選択数字列として用いられた数字列が、配布番号の０、１桁目にある「０２」である場合、この数字列を配布番号から除外して、第５の数字列は「７５５７８６０５１９」となる。
【０１２９】
第６の数字列作成手段は、第２の選択数字列を取得し、第５の数字列を、第２の選択数字列に基づいて得られる暗号化コードを用いて逆変換して、第５の数字列とおなじ桁数の第６の数字列を作成するように構成されている。
【０１３０】
第２の選択数字列としては、配布番号にある前記第１の選択数字列として用いられた数字列を用いることができる。上述した配布番号の場合、第２の選択数字列は、「０２」となる。なお、配布番号は第４の数字列に相当する数字列であるため、第１の選択数字列が配布番号中に含まれている。このため、第１の選択数字列を、第２の選択数字列として選択することが容易になる。
【０１３１】
次に、第２の選択数字列に基づいて、データテーブル内にある暗号化コードの中から、逆変換に用いる暗号化コードを決定する。すなわち、データテーブル内にある、第２の選択数字列と同一のインデックス数字列に関連付けられた暗号化コードを取得する。同一のインデックス数字列に複数の暗号化コードが関連付けられている場合、各回の第７の数字列生成処理に対応する暗号化コードが用いられる。
【０１３２】
なお、暗号化コードとして第２の暗号化コードが用いられるとすると、インデックス数字列「０２」に対応する第２の暗号化コードは、「９２６５８７１３０４」となる。
【０１３３】
また、第６の数字列作成手段は、暗号化コードを用いて第５の数字列を逆変換する手段であり、前述した第３の数字列作成手段に対応して可逆的に数字列を逆変換する。
【０１３４】
本実施形態では、第６の数字列作成手段は、入替復号化手段と、減算復号化手段とを有している。また、入替復号化手段は、入替暗号化手段と対応する手段であり、減算復号化手段は、加算復号化手段と対応する手段である。
【０１３５】
入替復号化手段は、第５の数字列の各桁の数字を、暗号化コードのうち第５の数字列の各桁数と同一の数字がある桁数に移動させ、第５の数字列の各桁の数字の順序が入れ替わった第６の数字列を作成するものである（図５（ｂ）参照）。
【０１３６】
例えば、第５の数字列「７５５７８６０５１９」の０桁目の数字「７」は、第２の暗号化コード「９２６５８７１３０４」の「０」の数字のある８桁目となる。
【０１３７】
また、例えば、第５の数字列「７５５７８６０５１９」の１桁目の数字「５」は、第２の暗号化コード「９２６５８７１３０４」の「１」の数字のある６桁目となる。
このような操作が繰り返されることにより、第５の数字列の各桁の数字の順序が入れ替わった第６の数字列「９５０６１５５７７８」が作成される。
【０１３８】
また、第６の数字列作成手段において入替復号化手段が選択して用いられる場合、第３の数字列作成手段において入替暗号化手段が選択して用いられる場合と同様に、用いられる暗号化コードは、変換される第２の数字列の桁数の数だけ数字を有し、当該数字は、それぞれ、重複せず、各桁に対応する数字となっている。なお、入替暗号化手段および対応する入替復号化手段は、同一の暗号化コードを用いるように構成されている。
【０１３９】
減算復号化手段は、第５の数字列における各桁の数字から、暗号化コードの第５の数字列の各桁に対応する数字を減算するとともに第５の数字列の各数字の進数の値を加えて減算値を得、減算値の１桁目の数字を当該桁に並べて第６の数字列を作成するものである（図５（ａ）参照）。
【０１４０】
例えば、図５（ａ）に示すように、第５の数字列が「０２９５０６１５５７」であり、暗号化コードが第１の暗号化コード「５３８３７２６９８９」である場合について説明する。
【０１４１】
まず、第５の数字列の各桁の数字から、第１の暗号化コードの同一の桁の数字を減算して桁毎に、減算値を得る。例えば、０桁目の場合、第５の数字列の０桁目の数字「０」から暗号化コードの０桁目の数字「５」を減算して、「−５」を得る。
【０１４２】
次に、「−５」に第５の数字列の進数の値を加えて減算値を得る。第５の数字列は、１０進数であるため、上記「−５」に１０を加えて減算値「５」を得、第６の数字列の０桁目となる数字「５」を得る。
【０１４３】
こうして得られた各桁の数字を並べて、第６の数字列「５９１２３４５６７８」が得られる。
【０１４４】
なお、加算暗号化手段と対応する減算復号化手段とは、同一の暗号化コードを用いるように構成されている。
【０１４５】
第７の数字列作成手段は、第２の選択数字列を、第６の数字列に対して挿入して第７の数字列を作成するものである。第２の選択数字列は、第７の数字列作成手段に対応する第２の数字列作成手段において用いられる第１の数字列の第１の選択数字列の配置されていた位置に対応する第７の数字列の位置に配置される。
【０１４６】
例えば、第６の数字列が上述した「５９１２３４５６７８」であり、第２の選択数字列が「７８」である場合、この２つの数字列を組み合わせた数字列が第７の数字列となる。また、対応する第２の数字列作成手段において用いられる第１の数字列が「５９１２３４５６７８７８」であり、第１の選択数字列が１０、１１桁目に配置されている場合、第２の選択数字列「７８」を第１の選択数字列と同じ位置（１０、１１桁目）に配置されるように配置して第７の数字列を作成すると「５９１２３４５６７８７８」となる。
【０１４７】
復号化手段６は、上述したような各手段により、配布番号から第７の数字列を生成し、第７の数字列を復号数字列として得る。
【０１４８】
また、復号化手段６は、第７の数字列生成処理を第４の数字列作成処理と同一の回数行うものである。
【０１４９】
復号化手段６は、第７の数字列生成処理が複数回行われる場合、２回目以降に第５の数字列生成処理が行われる際には、配布番号として、その直前に得られた第７の数字列が用いられ、第２の選択数字列として第７の数字列のうち第１の選択数字列として用いられた数字列が用いられる。そして、このような場合、復号数字列としては、最後に得られる第７の数字列が用いられる。
【０１５０】
番号照合システム１において、第４の数字列作成処理と、第７の数字列作成処理とがａ回行われる場合、暗号化手段４と復号化手段６は、以下のような関係を満足する。このような関係を満足することにより、暗号化手段４と復号化手段６とは、より確実に可逆的に対応するものとなる。但し、ａは、自然数である。
【０１５１】
ｂ回目の第４の数字列生成処理で用いられる第３の数字列作成手段と、（ａ−ｂ＋１）回目の第７の数字列生成処理で用いられる第６の数字列作成手段とは、可逆的に対応するものである。但し、ｂはａ以下の自然数である。
【０１５２】
ｃ回目の第４の数字列作成処理において、加算暗号化手段が用いられる場合には、（ａ−ｃ＋１）回目の第７の数字列生成処理において、第６の数字列作成手段は、減算復号化手段を選択して用いる。但し、ｃはａ以下の自然数である。
【０１５３】
ｄ回目の第４の数字列作成処理において、入替暗号化手段が用いられる場合には、（ａ−ｄ＋１）回目の第７の数字列生成処理において、第６の数字列作成手段は、前記入替復号化手段を選択して用いる。但し、ｄはａ以下の自然数である。
【０１５４】
ｂ回目の第４の数字列生成処理で用いられる第１の選択数字列は、（ａ−ｂ＋１）回目の第７の数字列生成処理において第２の選択数字列として用いられる。
【０１５５】
ｂ回目の第４の数字列生成処理で用いられる暗号化コードは、（ａ−ｂ＋１）回目の第７の数字列生成処理において暗号化コードとして用いられる。
［復号製品番号取得手段］
復号製品番号取得手段７は、復号数字列から、検査数字に対応する復号検査数字と、製品番号に対応する復号製品番号とを得るように構成されている。
【０１５６】
復号数字列は、第１の数字列に相当する数字列であり、第１の数字列の検査数字に相当する位置にある数字を復号検査数字とし、第１の数字列の製品番号に相当する位置にある復号製品番号をとする。
【０１５７】
例えば、上述した第１の数字列作成手段の具体例のように、製品番号「１２３４５６７８」から第１の数字列作成手段によって第１の数字列「５９１２３４５６７８７８」が得られ、暗号化手段と、復号化手段が用いられて復号数字列「５９１２３４５６７８７８」が得られた場合、復号検査数字は、復号数字列の０、１桁目の数字列「５９」および１０、１１桁目の数字列「７８」となる。また、復号製品番号は、２〜９桁目の数字列「１２３４５６７８」となる。
【０１５８】
［誤り検出手段］
誤り検出手段８は、復号製品番号取得手段７によって得られる復号製品番号を、復号検査数字を用いて誤り検出を行うように構成されている。
【０１５９】
具体的には、第１の数字列作成手段によって用いられる検査数字の作成方法と同様の方法で復号製品番号から検査数字を再度作成する。
【０１６０】
そして、復号製品番号から作成された検査数字と、復号検査数字とを比較し、これらが一致している場合、「誤りなし」との誤り検出結果が得られ、一致しない場合、「誤りあり」との誤り検出結果が得られる。
【０１６１】
［照合手段］
照合手段９は、受信手段１２によって受信された区分コードに対応した区分において復号製品番号が記憶手段２に記憶されている製品番号と照合するように構成されている。
【０１６２】
そして、上記区分において、復号製品番号が記憶手段２に記憶されているいずれかの製品番号と一致した場合、「受信手段１２によって受信された区分コードに対応した区分内での復号製品番号が記憶手段２に記憶されているいずれかの製品番号と一致する」との照合結果が得られる。
【０１６３】
［判断手段］
判断手段１０は、誤り検出手段８によって得られる誤り検出結果および照合手段９によって得られる照合結果に基づいて復号製品番号取得手段７によって得られた復号製品番号が真正の製品番号であるか否か判断するように構成される。
【０１６４】
すなわち、誤り検出結果が「誤りなし」との結果であり、かつ、照合結果が「受信手段１２によって受信された区分コードに対応した区分内での復号製品番号が記憶手段２に記憶されているいずれかの製品番号と一致する」と判断した場合に、復号製品番号が真正の製品番号であると判断する。
【０１６５】
また、この判断結果は、必要に応じて、送信手段１２によって利用者２００の利用する電子機器３００へ送信される。
【０１６６】
また、判断手段１０は、受信手段１２によって受信した同一の区分対応する同一の前記復号製品番号については、所定の回数（ｎ回）まで、復号製品番号が真正の前記製品番号であると判断するように構成されている。
【０１６７】
また、判断手段１０によって判断される回数ｎは、記憶手段２に記憶された当該区分内における複製番号に対応する製品番号について定められた自然数である。
このような照会システム１において、ｎは、通常、１である。
【０１６８】
［応答手段］
応答手段１１は、判断手段１０の判断結果に応じて、配布番号を受信したことに対する応答を決定するように構成されている。
【０１６９】
応答手段１１は、応募ポイント管理手段１１１と、物品譲渡決定手段１１２と、サービス決定手段１１３とを有する。
【０１７０】
判断手段１０が復号製品番号が真正であると判断した場合、応答手段１１は、上記の各手段によって、応答を行う。
【０１７１】
応募ポイント管理手段１１１は、配布番号を送信した利用者２００に対応する利用者データベースの応募ポイントに、区分コードおよび製品番号のうちいずれか一方または両方に応じたポイントを加算するように構成されている。
【０１７２】
例えば、復号製品番号が真正であると判断した場合に、利用者２００の現在の応募ポイント（１００ポイント）に区分コードに応じたポイント（１０ポイント）が加算され、応募ポイントが１１０ポイントとなる。利用者２００は、蓄積された応募ポイントに応じて所定の物品を受け取ることやサービスを受けることができる。
【０１７３】
物品譲渡決定手段１１２は、配布番号を送信した利用者に対し、区分コードおよび製品番号のうちいずれか一方または両方に応じて所定の物品が譲渡することを決定する手段である。例えば、復号製品番号が真正であると判断した場合に、利用者２００に対し、区分コードおよび製品番号に応じた物品（例えば、お菓子）が譲渡される。
【０１７４】
サービス決定手段１１３は、配布番号を送信した利用者に対し、区分コードおよび製品番号のうちいずれか一方または両方に応じて所定のサービスが行うことを決定する手段である。例えば、復号製品番号が真正であると判断した場合に、利用者２００に対し、区分コードおよび製品番号に応じたサービス（例えば、旅行の手配）が行われる。
【０１７５】
応答手段１１に含まれる上記の各手段は、いずれかの手段のみ選択して用いられるものであってもよいし、複数の手段が併用されるものであってもよい。
【０１７６】
また、応答手段１１によって決定される応答についての情報は、必要に応じて、送信手段１３によって、利用者２００の使用する電子機器３００へ送信される。
【０１７７】
［暗号化処理］
次に、番号照合システム１による暗号化処理について説明する。
【０１７８】
図６は、図１および図２に示す番号照合システム１による暗号化処理の手順の一例を示すフローチャートおよびその具体例である。なお、本手順は、第４の数字列生成処理を２回行うものである。
【０１７９】
まず、記憶手段２にある商品の製品番号および区分コードを取得する（Ｓ１１）。
以下、区分コードとして「ＧＵＭ−０１」および製品番号として「１２３４５６７８」を取得したと仮定する。
【０１８０】
次に、暗号化方法決定手段３により、記憶手段２に記憶されている複数個のデータテーブルから、区分コード「ＧＵＭ−０１」に対応するデータテーブルを選択し、取得する（Ｓ１２）。
【０１８１】
以下、区分コード「ＧＵＭ−０１」に対応するデータテーブルが図３に示すデータテーブルであり、当該データテーブルを取得したと仮定する。
【０１８２】
次に、第１の数字列作成手段により、第１の数字列２１を作成する（Ｓ１３）。本具体例では、検査数字２２として、「５」、「９」、「７８」が作成されたと仮定する。検査数字２２はいかなる位置に配置されてもよいが、ここでは、「５」を０桁目、「９」を１桁目、「７８」を１０、１１桁目に配置する。
【０１８３】
次に、第２の数字列作成手段により、第２の数字列２４ａを作成する（Ｓ１４）。本具体例では、第１の数字列２１の１０、１１桁目の検査数字２２を第１の選択数字列２３ａとする。
【０１８４】
次に、加算暗号化手段（第３の数字列作成手段）により、第３の数字列２５ａを作成する（Ｓ１５）。第１の暗号化コード５１としては、図３の表にある第１の選択数字列２３ａと同一のインデックス数字列「７８」に対応する第１の暗号化コードを用いる。
なお、加算暗号化手段については、図４（ａ）に示すようにして行うことができる。
【０１８５】
次に、第４の数字列作成手段により、第３の数字列２５ａに対し、第１の選択数字列２３ａを挿入し、第４の数字列２６ａを得る（Ｓ１６）。
【０１８６】
次に、第２の数字列作成手段により、第４の数字列２６ａから第２の選択数字列２３ｂを除外して第２の数字列２４ｂを得る（Ｓ１７）。なお、第１の数字列として、直前に得られた第４の数字列２６ａを用い、第２の選択数字列２３ｂとして、第４の数字列２６ａの０、１桁目の数字列「２３ｂ」を選択する。
【０１８７】
次に、入替暗号化手段（第３の数字列作成手段）により、第３の数字列２５ｂを作成する（Ｓ１８）。第２の暗号化コード５２としては、図３の表にある第１の選択数字列２３ｂと同一のインデックス数字列「０２」に対応する第２の暗号化コードを用いる。
【０１８８】
なお、入替暗号化手段については、図４（ｂ）に示すようにして行うことができる。
次に、第４の数字列作成手段により、第３の数字列２５ｂに対し、第１の選択数字列２３ｂを挿入し、第４の数字列２６ｂを得る（Ｓ１９）。
【０１８９】
そして、第４の数字列２６ｂは、配布番号２７として用いられる。
このようにして得られた配布番号２７は、上述した区分コードとともに、商品に添付される。そして、商品が利用者２００に販売されることにより、配布番号２７および区分コードが利用者２００に配布される。
【０１９０】
［復号化処理］
次に、番号照合システム１による復号化処理について説明する。
【０１９１】
図７は、図１および図２に示す番号照合システム１による復号化処理の手順の一例を示すフローチャートおよびその具体例である。なお、本手順は、上述した暗号化処理によって得られた配布番号を復号化するものとして説明する。また、本手順は、第７の数字列生成処理を２回、すなわち、暗号化処理における第４の数字列生成処理と同一の回数行うものである。
【０１９２】
まず、受信手段１２から商品の配布番号および区分コードを受信する（Ｓ２１）。
すなわち、区分コードとして「ＧＵＭ−０１」および配布番号２７として「１２３４５６７８」を受信する。この配布番号２７は、利用者２００により、電子機器３００を通じて送信されたものである。
【０１９３】
次に、復号化方法決定手段５により、記憶手段２に記憶されている複数個のデータテーブルから、区分コード「ＧＵＭ−０１」に対応するデータテーブル（図３）を選択し、取得する（Ｓ２２）。
【０１９４】
次に、第５の数字列作成手段により、第５の数字列３２ａを作成する（Ｓ２３）。第２の選択数字列３１ａとしては、暗号化処理において第１の選択数字列２３ｂとして用いられた、配布番号２７の０、１桁目の数字列「０２」が用いられる。
【０１９５】
次に、入替復号化手段（第６の数字列作成手段）により、第６の数字列３３ａを作成する（Ｓ２４）。第２の暗号化コード５２としては、図３の表にある第２の選択数字列３１ａと同一のインデックス数字列「０２」に対応する第２の暗号化コードを用いる。
【０１９６】
なお、入替復号化手段については、図５（ｂ）に示すようにして行うことができる。
次に、第７の数字列作成手段により、第６の数字列３３ａに対し、第２の選択数字列３１ａを挿入し、第７の数字列３４ａを得る（Ｓ２５）。
【０１９７】
なお、第２の選択数字列３１ａは、対応する第２の数字列作成手段における第４の数字列２６ａ中の第１の選択数字列２３ｂの位置に対応するように、第７の数字列３４ａの０、１桁目となるように、挿入される。
【０１９８】
次に、第５の数字列作成手段により、第７の数字列３４ａから第２の選択数字列３１ｂを除外して第５の数字列３２ｂを得る（Ｓ２６）。なお、配布番号として、直前に得られた第７の数字列３４ａを用いる。また、第２の選択数字列３１ｂとしては、暗号化処理において第１の選択数字列２３ａとして用いられた、第７の数字列３４ａの１０、１１桁目の数字列「７８」が用いられる。
【０１９９】
次に、減算復号化手段（第６の数字列作成手段）により、第６の数字列３３ｂを作成する（Ｓ２７）。第１の暗号化コード５１としては、図３の表にある第２の選択数字列３１ｂと同一のインデックス数字列「７８」に対応する第１の暗号化コードを用いる。
【０２００】
なお、減算復号化手段については、図５（ａ）に示すようにして行うことができる。
次に、第７の数字列作成手段により、第６の数字列３３ｂに対し、第２の選択数字列３１ｂを挿入し、第７の数字列３４ｂを得る（Ｓ２８）。
【０２０１】
そして、第７の数字列３４ｂは、復号数字列として用いられる。
次に、復号製品番号取得手段により、復号数字列（第７の数字列）３４ｂから、復号製品番号３５および復号検査数字を得る（Ｓ２９）。
【０２０２】
復号数字列３４ｂは、第１の数字列２１に相当する数字列である。このため、第１の数字列２１の検査数字２２に相当する位置にある数字を復号検査数字３６とし、第１の数字列２１の製品番号に相当する位置にある復号製品番号３５をとすることができる。
【０２０３】
以上のようにして、配布番号２７から復号化された復号製品番号３５および復号検査数字３６を得ることができる。
【０２０４】
［照合処理］
次に、番号照合システム１による照合処理について説明する。
【０２０５】
図８は、図１および図２に示す番号照合システム１による照合処理の手順の一例を示すフローチャートである。
【０２０６】
まず、誤り検出手段８により、復号製品番号３５の誤り検出を行う（Ｓ３１）。
復号製品番号３５から、暗号化処理時に用いたのと同様の方法により検査数字を生成する。そして、得られた検査数字と、復号検査数字３６とを比較し、一致するか否かを判断する。これらが一致している場合、「誤りが検出されない」との誤り検出結果が得られ、一致しない場合、「誤りが検出される」との誤り検出結果が得られる。
【０２０７】
そして、「誤りが検出される」との誤り検出結果が得られた場合、利用者２００に、配布番号２７が不正の配布番号である旨の情報を、送信手段１３を用いて送信し（Ｓ３６）、照合処理は終了する。
【０２０８】
次に、「誤りが検出されない」との誤り検出結果が得られた場合、照合手段９により、復号製品番号３５を、記憶手段２にある当該受信した区分コード内に同一の製品番号があるか否かを照合する（Ｓ３２）。
【０２０９】
「受信手段１２によって受信された区分コードに対応した区分内での復号製品番号３５が記憶手段２に記憶されているいずれかの製品番号と一致する」との照合結果が得られなかった場合、利用者２００に、配布番号２７が不正の配布番号である旨の情報を、送信手段１３を用いて送信し（Ｓ３６）、照合処理は終了する。
【０２１０】
上記照合結果が得られた場合、復号製品番号３５が真正の製品番号であるか否かを判断するのがｎ回目または、ｎ以下の回数であるか否かを判断する（Ｓ３３）。
【０２１１】
ここで、ｎは、各区分コードのそれぞれの製品番号毎に設けられる数値であり、通常ｎは、１である。
【０２１２】
復号製品番号３５が真正の製品番号であるか否かを判断するのが、ｎ回目よりも大きい回数である場合、利用者２００に、配布番号２７が使用済みである旨の情報を、送信手段１３を用いて送信し（Ｓ３７）、照合処理は終了する。
【０２１３】
復号製品番号３５が真正の製品番号であるか否かを判断するのが、ｎ回目以下である場合、判断手段１０により、復号製品番号３５が真正の製品番号であると判断する（Ｓ３４）。
【０２１４】
そして、記憶手段２にある利用者データベースの送信した利用者２００に対応する応募ポイントに、区分コードおよび／または製品番号に応じたポイントを加算し（Ｓ３５）、照合処理は終了する。
【０２１５】
以上、本発明の好適な実施形態について説明したが、本発明は、これに限定されるものではない。
【０２１６】
例えば、第３の数字列作成手段は、入替暗号化または加算暗号化手段のうち、いずれか一方のみを有するものであってもよい。また、例えば、第３の数字列作成手段は入替暗号化手段および加算暗号化手段以外の数字列の変換手段をさらに有していてもよい。また、入替暗号化手段および加算暗号化手段のうち一方の手段に変えて他の数字列の変換手段が用いられるものであってもよい。
【０２１７】
また、例えば、暗号化手段は、上述したような暗号化方法を用いるものに限定されず、適宜、公知の暗号化方法を選択して用いてもよい。また、復号化手段についても同様である。
【０２１８】
また、例えば、配布番号、暗号化コード、製品番号等の数字列の進数は特に限定されず、例えば、２進数、８進数、１６進数であってもよい。
【０２１９】
また、例えば、配布番号が配布される際に、バーコード等によって配布番号が商品に添付されるものであってもよい。
【０２２０】
また、上述した実施形態では、番号照合システムは、１台のサーバによって構成されるものとして説明したが、これに限定されず、複数台のサーバや各種電子機器によって構成されるものであってもよい。
【０２２１】
また、例えば、異なる区分コードに基づいて、共通のデータテーブルを用いるものであってもよい。
【図面の簡単な説明】
【０２２２】
【図１】図１は、本発明の番号照合システムの実施形態を適用した応募システムの概略構成図である。
【図２】図１の応募システムが有する番号照合システムの詳細な構成を示すブロック図である。
【図３】図１および図２に示す番号照会システムが用いるデータテーブルの一例を示す模式図である。
【図４】図１および図２に示す番号照会システムが有する第３の数字列作成手段を用いた数字列の変換の具体例を示す模式図である。
【図５】図１および図２に示す番号照会システムが有する第６の数字列作成手段を用いた数字列の逆変換の具体例を示す模式図である。
【図６】図１および図２に示す番号照合システムによる暗号化処理の手順の一例を示すフローチャートおよびその具体例である。
【図７】図１および図２に示す番号照合システムによる復号化処理の手順の一例を示すフローチャートおよびその具体例である。
【図８】図１および図２に示す番号照合システムによる照合処理の手順の一例を示すフローチャートである。
【符号の説明】
【０２２３】
１          ・・・番号照合システム（サーバ）
２          ・・・記憶手段
３          ・・・暗号化方法決定手段
４          ・・・暗号化手段
５          ・・・復号化方法決定手段
６          ・・・復号化手段
７          ・・・復号製品番号取得手段
８          ・・・誤り検出手段
９          ・・・照合手段
１０        ・・・判断手段
１１        ・・・応答手段
１２        ・・・受信手段
１３        ・・・送信手段
１１１      ・・・応募ポイント管理手段
１１２      ・・・物品譲渡決定手段
１１３      ・・・サービス決定手段
２１        ・・・第１の数字列
２２        ・・・検査数字
２３ａ、２３ｂ  ・・・第１の選択数字列
２４ａ、２４ｂ  ・・・第２の数字列
２５ａ、２５ｂ  ・・・第３の数字列
２６ａ、２６ｂ  ・・・第４の数字列
２７        ・・・配布番号
３１ａ、３１ｂ  ・・・第２の選択数字列
３２ａ、３２ｂ  ・・・第５の数字列
３３ａ、３３ｂ  ・・・第６の数字列
３４ａ、３４ｂ  ・・・第７の数字列
３５        ・・・復号製品番号
３６        ・・・復号検査数字
５１        ・・・第１の暗号化コード
５２        ・・・第２の暗号化コード
２００      ・・・利用者
３００      ・・・電子機器
４００      ・・・ネットワーク
１０００    ・・・応募システム
【図１】
2010010972.tif 000003
【図２】
2010010972.tif 000004
【図３】
2010010972.tif 000005
【図４】
2010010972.tif 000006
【図５】
2010010972.tif 000007
【図６】
2010010972.tif 000008
【図７】
2010010972.tif 000009
【図８】
2010010972.tif 000010