説明

2次元バーコードシステム、2次元バーコード生成方法およびコンピュータプログラム

2次元バーコードシステム300は、データコード語を生成するバーコード化変換手段10と、データコード語と同じデータ構成の鍵データコード語を生成する鍵データコード語生成手段15と、データコード語と鍵データコード語との排他的論理和をビット毎に演算することにより暗号化データコード語を生成する暗号化手段20と、暗号化データコード語を用いて誤り訂正コード語を生成し、更に鍵データコード語を用いて鍵誤り訂正コード語を生成する誤り訂正コード語生成手段25と、暗号化データコード語と誤り訂正コード語から暗号化された2次元バーコード画像を生成し、鍵データコード語と鍵誤り訂正コード語から鍵の2次元バーコード画像を生成する2次元バーコード画像生成手段30とを備える。

【発明の詳細な説明】
【技術分野】
本発明は、2次元バーコードシステム、2次元バーコード生成方法およびコンピュータプログラムに関する。特に本発明は、暗号化された2次元バーコードを生成し、これを解読する2次元バーコードシステム、2次元バーコード生成方法およびコンピュータプログラムに関する。
【背景技術】
従来、より多くの情報をバーコードに記録する技術として2次元バーコードがある(例えば、標準化研究会編、「QRコードのおはなし」、第1版、日本規格協会、2002年4月26日)。そして秘匿性を高めたい場合は、暗号化した情報を2次元バーコードとしてもよい。
暗号化されたバーコードを解読するために必要な鍵情報を持ち運ぶ場合、データ量の少ない鍵情報を紙に印刷して持ち運ぶと、他人に見られた場合に記憶されやすいという課題があり、データ量が多い鍵情報はコンピュータ等に入力するのに手間がかかるという課題がある。また、紙には印刷せず、例えば電子ファイル形式でバーコードと鍵情報とを持ち運ぶ場合には、紙に印刷して持ち運ぶ場合と比べ費用がかかるという課題がある。
【発明の開示】
上記課題を解決するために、本発明の第1の形態は、2次元バーコードシステムであって、エンコードすべき情報を、2次元バーコードへの標準変換技術に従って変換して、少なくとも2次元バーコードの一部分であるデータコード領域におけるデータコード語を生成するバーコード化変換手段と、当該データコード語と同じデータ構成を有する鍵データコード語を生成する鍵データコード語生成手段と、データコード語と鍵データコード語との排他的論理和をビット毎に演算することにより、データコード語と同じデータ構成を有する暗号化データコード語を生成する暗号化手段と、暗号化データコード語を用いて、2次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語を生成し、更に鍵データコード語を用いて、2次元バーコードの一部分である誤り訂正コード領域における鍵誤り訂正コード語を生成する誤り訂正コード語生成手段と、暗号化データコード語及び誤り訂正コード語に基づいて、暗号化された2次元バーコード画像を生成し、鍵データコード語及び鍵誤り訂正コード語に基づいて、暗号化された2次元バーコード画像と同じ形状およびドット構成を有する、鍵の2次元バーコード画像を生成する2次元バーコード画像生成手段とを備える。
電子形式の2次元バーコードや、紙に印刷された2次元バーコードは、他人に見られた場合であっても、容易には情報を読み取られない。そして特に、2次元バーコードを紙に印刷した場合は、鍵情報をバーコード画像とせずに紙に印刷した場合に比べて、利用者は、鍵情報を安全に持ち運ぶことができる。また、例えば電子ファイル等の紙以外の形式でバーコードと鍵情報とを持ち運ぶ場合に比べて、費用を低くすることができる。
2次元バーコードシステムは、暗号化された2次元バーコード画像と、鍵の2次元バーコード画像とを読み取る2次元バーコード画像読取手段と、暗号化された2次元バーコード画像から暗号化データコード語と暗号化誤り訂正コード語とを抽出し、鍵の2次元バーコード画像から、鍵データコード語と鍵誤り訂正コード語とを抽出するコード語抽出手段と、抽出された暗号化データコード語に誤りがある場合、抽出された暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された鍵データコード語に誤りがある場合、抽出された鍵誤り訂正コード語を用いて当該誤りを訂正することで、正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成する誤り訂正手段と、正しい暗号化データコード語と、正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成する暗号解読手段と、標準変換技術により、解読されたデータコード語を復号するバーコード復号化手段とを更に備えてよい。
本発明において2次元バーコードシステムは、同じデータ構成をもつデータコード語同士の排他的倫理和を演算することにより暗号を生成している。このため2次元バーコードシステムは、暗号化された2次元バーコード画像および鍵のバーコード画像に対して、いずれが鍵情報又は暗号化された情報を含んだバーコード画像であるかを区別することなく暗号を解読するまでの処理を行うことができ、また簡単な装置で容易に暗号の生成および解読を行うことができる。
本発明の第2の形態は、2次元バーコードの生成方法であって、エンコードすべき情報を、2次元バーコードへの標準変換技術に従って変換して、少なくとも2次元バーコードの一部分であるデータコード領域におけるデータコード語を生成し、当該データコード語と同じデータ構成を有する鍵データコード語を生成し、データコード語と鍵データコード語との排他的論理和をビット毎に演算することにより、データコード語と同じデータ構成を有する暗号化データコード語を生成し、暗号化データコード語を用いて、2次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語を生成し、更に鍵データコード語を用いて、2次元バーコードの一部分である誤り訂正コード領域における鍵誤り訂正コード語を生成し、暗号化データコード語及び暗号化誤り訂正コード語に基づいて、暗号化された2次元バーコード画像を生成し、鍵データコード語及び鍵誤り訂正コード語に基づいて、暗号化された2次元バーコード画像と同じ形状およびドット構成を有する、鍵の2次元バーコード画像を生成する。
また2次元バーコードの生成方法は、暗号化された2次元バーコード画像と、鍵の2次元バーコード画像とを読み取り、暗号化された2次元バーコード画像から暗号化データコード語と暗号化誤り訂正コード語とを抽出し、鍵の2次元バーコード画像から、鍵データコード語と鍵誤り訂正コード語とを抽出し、抽出された暗号化データコード語に誤りがある場合、抽出された暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された鍵データコード語に誤りがある場合、抽出された鍵誤り訂正コード語を用いて当該誤りを訂正することで、正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成し、正しい暗号化データコード語と、正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成し、標準変換技術により、解読されたデータコード語を復号してもよい。
本発明の第3の形態は2次元バーコードを生成するプログラムであって、コンピュータに、エンコードすべき情報を、2次元バーコードへの標準変換技術に従って変換して、少なくとも2次元バーコードの一部分であるデータコード領域におけるデータコード語を生成するバーコード化変換機能、当該データコード語と同じデータ構成を有する鍵データコード語を生成する鍵データコード語生成機能、データコード語と鍵コード情報との排他的論理和をビット毎に演算することにより、データコード語と同じデータ構成を有する暗号化データコード語を生成する暗号化機能、暗号化データコード語を用いて、2次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語である暗号化誤り訂正コード語を生成し、更に、鍵データコード語を用いて鍵誤り訂正コード語を生成する誤り訂正コード語生成手機能、暗号化データコード語及び暗号化誤り訂正コード語に基づいて、暗号化された2次元バーコード画像を生成し、鍵データコード語及び鍵誤り訂正コード語に基づいて、暗号化された2次元バーコード画像と同じ形状およびドット構成を有する、鍵の2次元バーコード画像を生成する2次元バーコード画像生成機能を実現させる。
また、2次元バーコードを生成するプログラムであって、更にコンピュータに、暗号化された2次元バーコード画像と、鍵の2次元バーコード画像とを読み取る2次元バーコード画像読取機能、暗号化された2次元バーコード画像から暗号化データコード語と暗号化誤り訂正コード語とを抽出し、鍵の2次元バーコード画像から、鍵データコード語と鍵誤り訂正コード語とを抽出するデータコード語抽出機能、抽出された暗号化データコード語に誤りがある場合、抽出された暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された鍵データコード語に誤りがある場合、抽出された鍵誤り訂正コード語を用いて当該誤りを訂正することで、正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成する誤り訂正機能、正しい暗号化データコード語と、正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成する暗号解読機能、標準変換技術により、解読されたデータコード語を復号するバーコード復号化機能を実現させてもよい。
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【図面の簡単な説明】
図1は、本発明の一実施形態である2次元バーコードシステム300の使用例を示す図である。
図2は、2次元バーコード生成装置100および2次元バーコード復号装置200の構成の一例を示す図である。
図3は、2次元バーコード生成装置100の動作の一例を示すフローチャートを示す図である。
図4は、2次元バーコード復号装置200の動作の一例を示すフローチャートを示す図である。
図5は、2次元バーコード生成装置100および2次元バーコード復号装置200のハードウェア構成の一例を示す図である。
【発明を実施するための最良の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明に係る2次元バーコードシステム300の使用例を示す。2次元バーコードシステム300は、2次元バーコード生成装置100及び2次元バーコード復号装置200を備える。2次元バーコード生成装置100は、例えばコンピュータシステムであって、プリンタ150を有しており、2次元バーコードを生成する。
近年、より多くの情報をバーコードに記録する技術として2次元バーコードがあり、秘匿性を高めたい場合は、暗号化した情報を2次元バーコードとしてもよい。しかし、暗号化されたバーコードを解読するために必要な鍵情報を持ち運ぶ場合、データ量の少ない鍵情報を紙に印刷して持ち運ぶと、他人に見られた場合に記憶されやすいという課題があり、データ量が多い鍵情報はコンピュータ等に入力するのに手間がかかるという課題がある。また、紙には印刷せず、例えば電子ファイル形式でバーコードと鍵情報とを持ち運ぶ場合には、紙に印刷して持ち運ぶ場合と比べ費用がかかるという課題がある。そこで本発明は、これらの課題を解決する2次元バーコードシステム300を提供することを目的とする。
2次元バーコード生成装置100は、暗号化された情報を含む暗号化2次元バーコード画像410と、暗号を解読するために必要な鍵情報を含む鍵2次元バーコード画像420を作成する。そして、2次元バーコード生成装置100は、プリンタ150を用いて暗号化2次元バーコード画像410及び鍵2次元バーコード画像420を紙面400に印刷する。尚、本例において作成される2次元バーコードは例えばQRコードであり、このQRコードを作成する手順は、JIS規格番号X0510に公開されている。尚、他の例において作成される2次元バーコードは、PDF417、DataMatrix、及びMaxiCode等であってもよい。
2次元バーコード復号装置200は、例えばコンピュータシステムであり、バーコードリーダ250を有する。2次元バーコード復号装置200は、バーコードリーダ250を用いて、紙面400に印刷された暗号化2次元バーコード画像410および鍵2次元バーコード画像420を読み取る。そして2次元バーコード復号装置200は、鍵2次元バーコード画像420の情報を用いて暗号化2次元バーコード画像410の暗号を解読することにより、暗号化される前の情報を取得する。
図2は、2次元バーコード生成装置100および2次元バーコード復号装置200の構成の一例を示す。2次元バーコード生成装置100は、バーコード化変換手段10、鍵データコード語生成手段15、暗号化手段20、誤り訂正コード語生成手段25、2次元バーコード画像生成手段30および2次元バーコード出力手段35を有する。また2次元バーコード復号装置200は、2次元バーコード画像読取手段40、コード語抽出手段45、誤り訂正手段50、暗号解読手段55、およびバーコード復号化手段60を有する。
バーコード化変換手段10は、2次元バーコード生成装置100の利用者によって入力された情報を、標準変換技術に従ってエンコードし、データコード語を作成する。バーコード化変換手段10は、作成したデータコード語を暗号化手段20へ出力する。ここで標準変換技術とは、例えばQRコードを作成するためにJIS規格番号X0510に記された、エンコードに関する技術である。
鍵データコード語生成手段15は、データコード語と同じデータ構成を有する鍵データコード語を生成する。この場合鍵データコード語生成手段15は、例えば任意のテキストから鍵データコード語を生成する。鍵データコード語生成手段15は、生成した鍵データコード語を暗号化手段20、誤り訂正コード語生成手段25および2次元バーコード画像生成手段30へ出力する。
暗号化手段20は、バーコード化変換手段10より受取ったデータコード語と鍵データコード語生成手段15より受取った鍵データコード語との排他的論理和をビット毎に演算することにより、データコード語と同じデータ構成を有する暗号化データコード語を生成する。暗号化手段20は、生成した暗号化データコード語を誤り訂正コード語生成手段25および2次元バーコード画像生成手段30へ出力する。
誤り訂正コード語生成手段25は、例えばJIS規格番号X0510に基づいて、暗号化データコード語から、2次元バーコードの誤り訂正コード領域における暗号化誤り訂正コード語を生成する。同様に誤り訂正コード語生成手段25は、鍵データコード語から、2次元バーコードの誤り訂正コード領域における鍵誤り訂正コード語を生成する。ここで、誤り訂正領域および誤り訂正コード領域とは、データコード語及び誤り訂正コード語を記録するために定められた符号化領域である。そして各領域に対するコード語の記録方法は規格により定められる。誤り訂正コード語生成手段25は、生成した誤り訂正コード語と、鍵誤り訂正コード語とを、2次元バーコード画像生成手段30へ出力する。
2次元バーコード画像生成手段30は、暗号化手段20から受取った暗号化データコード語と、誤り訂正コード語生成手段25から受取った暗号化誤り訂正コード語とに基づいて、暗号化2次元バーコード画像410を生成する。ここで2次元バーコード画像生成手段30は、例えばJIS規格番号X0510により定められた符号化領域に、暗号化データコード語および暗号化誤り訂正コード語をそれぞれ配置することにより、暗号化2次元バーコード画像410を生成する。同様にして、2次元バーコード画像生成手段30は、鍵データコード語生成手段15から受取った鍵データコード語と、誤り訂正コード語生成手段25から受取った鍵誤り訂正コード語とに基づいて、鍵2次元バーコード画像420を生成する。そして2次元バーコード画像生成手段30は、暗号化2次元バーコード画像410と同じ形状およびドット構成を有する鍵2次元バーコード画像420を生成する。ここで、JIS規格番号X0510に準拠したQRコードにおいては、データ量に応じて最適なセルの構成が選べるように、幾つかのバージョンが定められている。2次元バーコード画像生成手段30は、同じ形状およびドット構成を有する鍵2次元バーコード画像420として、暗号化2次元バーコード画像410と同じバージョンのセル構成を持ち、かつ、2次元バーコード画像の大きさが等しい2次元バーコード画像を生成する。2次元バーコード画像生成手段30は、生成した暗号化2次元バーコード画像410および鍵2次元バーコード画像420を2次元バーコード出力手段35へ出力する。
2次元バーコード出力手段35は、例えばプリンタであり、暗号化2次元バーコード画像410と、鍵2次元バーコード画像420とを紙面400に印刷する。電子形式の2次元バーコードや、紙に印刷された2次元バーコードは、他人に見られた場合であっても、容易には情報を読み取られない。そして特に、2次元バーコードを紙に印刷した場合は、鍵情報をバーコード画像とせずに紙に印刷した場合に比べて、本発明の2次元バーコードシステム300の利用者は、鍵情報を安全に持ち運ぶことができる。また、例えば電子ファイル等の紙以外の形式でバーコードと鍵情報とを持ち運ぶ場合に比べて、費用を低くすることができる。
2次元バーコード画像読取手段40は、例えばバーコードリーダであり、CCDセンサやラインセンサを有する。2次元バーコード画像読取手段40は、暗号化2次元バーコード画像410と、鍵2次元バーコード画像420とを読み取る。2次元バーコード画像読取手段40は、読み取ったそれぞれの画像データをコード語抽出手段45へ出力する。
コード語抽出手段45は、暗号化2次元バーコード画像410から暗号化データコード語および誤り訂正コード語を抽出する。コード語抽出手段45は、鍵2次元バーコード画像420から、鍵データコード語と鍵誤り訂正コード語とを抽出する。コード語抽出手段45は、抽出した暗号化データコード、誤り訂正コード、鍵データコードおよび鍵誤り訂正コードのそれぞれを、誤り訂正手段50へ出力する。
誤り訂正手段50は、抽出された暗号化データコード語と、抽出された暗号化誤り訂正コード語とを比較しながら、誤りがあれば訂正し、正しい暗号化データコード語を生成する。また誤り訂正手段50は、抽出された鍵データコード語と抽出された鍵誤り訂正コード語とを比較しながら、誤りがあれば訂正し、正しい鍵データコード語を生成する。ここで誤り訂正手段50は、正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成する。誤り訂正手段50は、正しい暗号化データコード語と、正しい鍵データコード語とを、暗号解読手段55へ出力する。
暗号解読手段55は、正しい暗号化データコード語と、正しい鍵データコード語との排他的論理和をビット毎に演算することにより暗号を解読し、解読されたデータコード語を生成する。暗号解読手段55は、解読されたデータコード語を、バーコード復号化手段60へ出力する。
バーコード復号化手段60は、標準変換技術により、解読されたデータコード語を復号する。これによりバーコード復号化手段60は、2次元バーコード生成装置100の利用者によりバーコード化変換手段10に入力された情報を取得する。
このように本発明において2次元バーコードシステム300は、同じデータ構成をもつデータコード語同士の排他的倫理和を演算することにより暗号を生成している。このため2次元バーコードシステム300は、暗号化2次元バーコード画像410および鍵2次元バーコード画像420に対して、いずれが鍵情報又は暗号化された情報を含んだバーコード画像であるかを区別することなく暗号を解読するまでの処理を行うことができ、また簡単な装置で容易に暗号の生成および解読を行うことができる。
尚、2次元バーコードをデコードする場合、通常は、データコード語と誤り訂正コード語との両者を参照しあいながらデコードを行う。従って、一旦、データコード語および誤り訂正コード語を生成した後、この2次元バーコード全体に対して、例えば同じセル構成を持つ他の2次元バーコードとの排他的論理和を演算する等により暗号化2次元バーコードを生成しても、生成後のデータコード語と誤り訂正コード語との対応が取れなくなるため、正しくデコードすることはできない。しかし本発明における2次元バーコードシステム300は、暗号化データコード語を生成した後に、この暗号化データコード語に基づいて、暗号化誤り訂正コード語を生成するので、データコード語と誤り訂正コード語との対応を正しく保つことができ、暗号化2次元バーコードを適切にデコードすることができる。
また本発明においては、鍵データコード語の生成に任意のテキストを用いているので、鍵2次元バーコード画像420を他人が解読した場合、解読した人は、この情報が暗号の鍵であると容易には悟ることができない。これにより本発明における暗号化2次元バーコード画像410及び鍵2次元バーコード画像420は、暗号化の通信が行われていることを秘匿することができる。
図3は、2次元バーコード生成装置100の動作の一例を示すフローチャートである。2次元バーコード生成装置100の利用者は、暗号化したい情報を入力する。これによりバーコード化変換手段10は、エンコードすべき情報を取得する(S100)。そしてバーコード化変換手段10は、取得した情報を、標準化変換技術に従ってエンコードすることにより、データコード語を生成する(S105)。また鍵データコード語生成手段15は、利用者により入力された任意のテキストから、鍵データコード語を生成する(S110)。ここで鍵データコード語生成手段15は、標準化技術に従って入力された任意のテキスト文をエンコードし、バーコード化変換手段10により生成されたデータコード語と同じデータ構造を持つ鍵データコード語を生成し、生成した鍵データコード語を暗号化手段20へ出力する。この場合、鍵データコード語生成手段15は、データコード語、又は鍵データコード語に、意味のないテキストや空白を付加することにより、それぞれのデータの大きさを合わせてもよい。
暗号化手段20は、バーコード化変換手段10により生成されたデータコード語と、鍵データコード語生成手段15により生成された鍵データコード語との排他的論理和をビット毎に演算する。これにより暗号化手段20は、バーコード化変換手段10により生成されたデータコード語を暗号化し、暗号化データコード語を生成する(S115)。暗号化手段20は、生成した暗号化データコード語を、誤り訂正コード語生成手段25へ出力する。
誤り訂正コード語生成手段25は、例えば、JIS規格番号X0510に基づいて、暗号化データコード語から暗号化誤り訂正コード語を生成する(S120)。同様にして誤り訂正コード語生成手段25は、鍵データコード語から、鍵誤り訂正コード語を生成する(S125)。誤り訂正コード語生成手段25は、生成した暗号化誤り訂正データコード語と鍵誤り訂正コード語とを、2次元バーコード画像生成手段30へ出力する。
2次元バーコード画像生成手段30は、暗号化手段20により作成された暗号化データコード語と、誤り訂正コード語生成手段25により生成された暗号化誤り訂正コード語とを用いて暗号化2次元バーコード画像410を生成する(S130)。また2次元バーコード画像生成手段30は、暗号化手段20により作成された鍵データコード語と、誤り訂正コード語生成手段25により生成された鍵誤り訂正コード語とを用いて鍵2次元バーコード画像420を生成する(S135)。ここで2次元バーコード画像生成手段30は、暗号化2次元バーコード画像410と同じ形状、および同じドット構成の鍵2次元バーコード画像420を生成する。2次元バーコード画像生成手段30は、生成した暗号化2次元バーコード画像410及び鍵2次元バーコード画像420を、2次元バーコード出力手段35へ出力する。2次元バーコード出力手段35は、暗号化2次元バーコード画像410および鍵2次元バーコード画像420を紙面400に印刷する。以上で本フローチャートは終了する。
図4は、2次元バーコード復号装置200の動作の一例を示すフローチャートである。2次元バーコード画像読取手段40は、紙面400に印刷された暗号化2次元バーコード画像410および鍵2次元バーコード画像420を読み取る(S200)。2次元バーコード画像読取手段40は、読み取ったそれぞれの画像データをコード語抽出手段45へ出力する。
コード語抽出手段45は、例えばJIS規格番号X0510に基づいて、暗号化2次元バーコード画像410から暗号化データコード語および暗号化誤り訂正コード語を抽出する(S205)。同様にコード語抽出手段45は、鍵2次元バーコード画像420から鍵データコード語および鍵誤り訂正コード語を抽出する(S205)。コード語抽出手段45は、抽出した暗号化データコード語、暗号化誤り訂正コード語、鍵データコード語、および鍵誤り訂正コード語のそれぞれを誤り訂正手段50へ出力する。
誤り訂正手段50は、周知の誤り訂正符号技術に基づいて、誤りの判定を行う。暗号化データコード語に誤りがある場合(S210YES)、誤り訂正手段50は、暗号化誤り訂正コード語を用いて誤りを訂正する(S215)。暗号化データコードに誤りが無い場合(S210 NO)には、フローチャートはS220へ進む。鍵データコード語に誤りがある場合(S220YES)、誤り訂正手段50は、鍵誤り訂正コード語を用いて誤りを訂正する(S225)。鍵データコードに誤りが無い場合(S220NO)、本フローチャートはS230へ進み、誤り訂正手段50は、正しい暗号化データコード語と正しい鍵データコード語とを、暗号解読手段55へ出力する。
暗号解読手段55は、誤り訂正手段50より受取った正しい暗号化データコード語と、正しい鍵データコード語との排他的論理和をビット毎に演算する。これにより暗号解読手段55は暗号化データコード語を解読し、解読されたデータコード語を生成する(S230)。そして暗号解読手段55は、解読されたデータコード語を、バーコード復号化手段60へ出力する。バーコード復号化手段60は、暗号解読手段55により解読されたデータコード語を、標準化技術に従ってデコードすることにより復号する(S235)。これにより、バーコード復号化手段60は、2次元バーコード生成装置100の利用者によりバーコード化変換手段10に入力された情報を得ることができる。以上で本フローチャートは終了する。
図5は、2次元バーコード生成装置100および2次元バーコード復号装置200におけるハードウェア構成の一例を示す。2次元バーコード生成装置100および2次元バーコード復号装置200は、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、グラフィックコントローラ1075、及び表示装置1080を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とをそれぞれ備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ファイバチャネル等のネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、2次元バーコード生成装置100または2次元バーコード復号装置200が使用するプログラム及びデータをそれぞれ格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020を介して入出力チップ1070に提供する。
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、2次元バーコード生成装置100または2次元バーコード復号装置200の起動時にCPU1000が実行するブートプログラムや、2次元バーコード生成装置100または2次元バーコード復号装置200のハードウェアに依存するプログラム等をそれぞれ格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、RAM1020を介して入出力チップ1070に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
2次元バーコード生成装置100または2次元バーコード復号装置200に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によってそれぞれ提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出され2次元バーコード生成装置100または2次元バーコード復号装置200にそれぞれインストールされ、そして実行される。
2次元バーコード生成装置100にインストールされ実行されるプログラムは、バーコード化変換モジュールと、鍵データコード語生成モジュールと、暗号化モジュールと、誤り訂正コード語生成手モジュールと、2次元バーコード画像生成モジュールとを含む。各モジュールが2次元バーコード生成装置100に働きかけて行わせる動作は、図1から図3において説明した2次元バーコード生成装置100における、対応する部材の動作と同一であるから、説明を省略する。
2次元バーコード復号装置200にインストールされ実行されるプログラムは、2次元バーコード画像読取モジュールと、データコード語抽出モジュールと、誤り訂正モジュールと、暗号解読モジュールと、バーコード復号化モジュールとを含む。各モジュールが2次元バーコード復号装置200に働きかけて行わせる動作は、図1から図2、および図4において説明した2次元バーコード復号装置200における、対応する部材の動作と同一であるから、説明を省略する。
以上に示したプログラムまたはモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを2次元バーコード生成装置100または2次元バーコード復号装置200にそれぞれ提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【産業上の利用可能性】
このように本発明において2次元バーコードシステム300は、同じデータ構成をもつデータコード語同士の排他的倫理和を演算することにより暗号を生成している。このため2次元バーコードシステム300は、暗号化2次元バーコード画像410および鍵2次元バーコード画像420に対して、いずれが鍵情報又は暗号化された情報を含んだバーコード画像であるかを区別することなく暗号を解読するまでの処理を行うことができ、また簡単な装置で容易に暗号の生成および解読を行うことができる。
尚、2次元バーコードをデコードする場合、通常は、データコード語と誤り訂正コード語との両者を参照しあいながらデコードを行う。従って、一旦、データコード語および誤り訂正コード語を生成した後、この2次元バーコード全体に対して、例えば同じセル構成を持つ他の2次元バーコードとの排他的論理和を演算する等により暗号化2次元バーコードを生成しても、生成後のデータコード語と誤り訂正コード語との対応が取れなくなるため、正しくデコードすることはできない。しかし本発明における2次元バーコードシステム300は、暗号化データコード語を生成した後に、この暗号化データコード語に基づいて、暗号化誤り訂正コード語を生成するので、データコード語と誤り訂正コード語との対応を正しく保つことができ、暗号化2次元バーコードを適切にデコードすることができる。
【図1】

【図2】

【図3】

【図4】

【図5】


【特許請求の範囲】
【請求項1】
エンコードすべき情報を、2次元バーコードへの標準変換技術に従って変換して、少なくとも前記2次元バーコードの一部分であるデータコード領域におけるデータコード語を生成するバーコード化変換手段と、
当該データコード語と同じデータ構成を有する鍵データコード語を生成する鍵データコード語生成手段と、
前記データコード語と前記鍵データコード語との排他的論理和をビット毎に演算することにより、前記データコード語と同じデータ構成を有する暗号化データコード語を生成する暗号化手段と、
前記暗号化データコード語を用いて、前記2次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語を生成し、更に前記鍵データコード語を用いて、2次元バーコードの一部分である誤り訂正コード領域における鍵誤り訂正コード語を生成する誤り訂正コード語生成手段と、
前記暗号化データコード語及び前記暗号化誤り訂正コード語に基づいて、暗号化された2次元バーコード画像を生成し、前記鍵データコード語及び前記鍵誤り訂正コード語に基づいて、暗号化された前記2次元バーコード画像と同じ形状およびドット構成を有する、鍵の2次元バーコード画像を生成する2次元バーコード画像生成手段と
を備える2次元バーコードシステム。
【請求項2】
前記暗号化された2次元バーコード画像と、前記鍵の2次元バーコード画像とを読み取る2次元バーコード画像読取手段と、
前記暗号化された2次元バーコード画像から前記暗号化データコード語と前記暗号化誤り訂正コード語とを抽出し、前記鍵の2次元バーコード画像から、前記鍵データコード語と前記鍵誤り訂正コード語とを抽出するコード語抽出手段と、
抽出された前記暗号化データコード語とに誤りがある場合、抽出された前記暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された前記鍵データコード語に誤りがある場合、抽出された前記鍵誤り訂正コード語を用いて、当該誤りを訂正することで、前記正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成する誤り訂正手段と、
前記正しい暗号化データコード語と、前記正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成する暗号解読手段と、
前記標準変換技術により、前記解読されたデータコード語を復号するバーコード復号化手段と
を更に備える2次元バーコードシステム。
【請求項3】
エンコードすべき情報を、2次元バーコードへの標準変換技術に従って変換して、少なくとも前記2次元バーコードの一部分であるデータコード領域におけるデータコード語を生成し、
当該データコード語と同じデータ構成を有する鍵データコード語を生成し、
前記データコード語と前記鍵データコード語との排他的論理和をビット毎に演算することにより、前記データコード語と同じデータ構成を有する暗号化データコード語を生成し、
前記暗号化データコード語を用いて、前記2次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語を生成し、更に前記鍵データコード語を用いて、2次元バーコードの一部分である誤り訂正コード領域における鍵誤り訂正コード語を生成し、
前記暗号化データコード語及び前記暗号化誤り訂正コード語に基づいて、暗号化された2次元バーコード画像を生成し、前記鍵データコード語及び前記鍵誤り訂正コード語に基づいて、暗号化された前記2次元バーコード画像と同じ形状およびドット構成を有する、鍵の2次元バーコード画像を生成する
2次元バーコード生成方法。
【請求項4】
前記暗号化された2次元バーコード画像と、前記鍵の2次元バーコード画像とを読み取り、
前記暗号化された2次元バーコード画像から前記暗号化データコード語と前記暗号化誤り訂正コード語とを抽出し、前記鍵の2次元バーコード画像から、前記鍵データコード語と前記鍵誤り訂正コード語とを抽出し、
抽出された前記暗号化データコード語に誤りがある場合、抽出された前記暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された前記鍵データコード語に誤りがある場合、抽出された前記鍵誤り訂正コード語を用いて当該誤りを訂正することで、前記正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成し、
前記正しい暗号化データコード語と、前記正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成し、
前記標準変換技術により、前記解読されたデータコード語を復号する
請求項3に記載の2次元バーコード生成方法。
【請求項5】
2次元バーコードを生成するコンピュータプログラムであって、コンピュータに、
エンコードすべき情報を、前記2次元バーコードへの標準変換技術に従って変換して、少なくとも2次元バーコードの一部分であるデータコード領域におけるデータコード語を生成するバーコード化変換機能、
当該データコード語と同じデータ構成を有する鍵データコード語を生成する鍵データコード語生成機能、
前記データコード語と前記鍵データコード語との排他的論理和をビット毎に演算することにより、前記データコード語と同じデータ構成を有する暗号化データコード語を生成する暗号化機能、
前記暗号化データコード語を用いて、前記2次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語を生成し、更に前記鍵データコード語を用いて、2次元バーコードの一部分である誤り訂正コード領域における鍵誤り訂正コード語を生成する誤り訂正コード語生成機能、
前記暗号化データコード語及び前記暗号化誤り訂正コード語に基づいて、暗号化された2次元バーコード画像を生成し、前記鍵データコード語及び前記鍵誤り訂正コード語に基づいて、暗号化された前記2次元バーコード画像と同じ形状およびドット構成を有する、鍵の2次元バーコード画像を生成する2次元バーコード画像生成機能
を実現させるコンピュータプログラム。
【請求項6】
前記コンピュータに、
前記暗号化された2次元バーコード画像と、前記鍵の2次元バーコード画像とを読み取る2次元バーコード画像読取機能、
前記暗号化された2次元バーコード画像から前記暗号化データコード語と前記暗号化誤り訂正コード語とを抽出し、前記鍵の2次元バーコード画像から、前記鍵データコード語と前記鍵誤り訂正コード語とを抽出するコード語抽出機能、
抽出された前記暗号化データコード語に誤りがある場合、抽出された前記暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された前記鍵データコード語に誤りがある場合、抽出された前記鍵誤り訂正コード語を用いて当該誤りを訂正することで、、前記正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成する誤り訂正機能、
前記正しい暗号化データコード語と、前記正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成する暗号解読機能、
前記標準変換技術により、前記解読されたデータコード語を復号するバーコード復号化機能
を更に実現させる請求項5に記載のコンピュータプログラム。

【国際公開番号】WO2005/066884
【国際公開日】平成17年7月21日(2005.7.21)
【発行日】平成19年7月26日(2007.7.26)
【国際特許分類】
【出願番号】特願2005−513092(P2005−513092)
【国際出願番号】PCT/JP2003/016875
【国際出願日】平成15年12月26日(2003.12.26)
【出願人】(501320777)株式会社ワイヤーアクション (3)
【出願人】(502181698)株式会社テレパーク (3)
【Fターム(参考)】