(57)【要約】２次元バーコードシステム３００は、データコード語を生成するバーコード化変換手段１０と、データコード語と同じデータ構成の鍵データコード語を生成する鍵データコード語生成手段１５と、データコード語と鍵データコード語との排他的論理和をビット毎に演算することにより暗号化データコード語を生成する暗号化手段２０と、暗号化データコード語を用いて誤り訂正コード語を生成し、更に鍵データコード語を用いて鍵誤り訂正コード語を生成する誤り訂正コード語生成手段２５と、暗号化データコード語と誤り訂正コード語から暗号化された２次元バーコード画像を生成し、鍵データコード語と鍵誤り訂正コード語から鍵の２次元バーコード画像を生成する２次元バーコード画像生成手段３０とを備える。
2005066884.tif 000002
【特許請求の範囲】
【請求項１】
エンコードすべき情報を、２次元バーコードへの標準変換技術に従って変換して、少なくとも前記２次元バーコードの一部分であるデータコード領域におけるデータコード語を生成するバーコード化変換手段と、
当該データコード語と同じデータ構成を有する鍵データコード語を生成する鍵データコード語生成手段と、
前記データコード語と前記鍵データコード語との排他的論理和をビット毎に演算することにより、前記データコード語と同じデータ構成を有する暗号化データコード語を生成する暗号化手段と、
前記暗号化データコード語を用いて、前記２次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語を生成し、更に前記鍵データコード語を用いて、２次元バーコードの一部分である誤り訂正コード領域における鍵誤り訂正コード語を生成する誤り訂正コード語生成手段と、
前記暗号化データコード語及び前記暗号化誤り訂正コード語に基づいて、暗号化された２次元バーコード画像を生成し、前記鍵データコード語及び前記鍵誤り訂正コード語に基づいて、暗号化された前記２次元バーコード画像と同じ形状およびドット構成を有する、鍵の２次元バーコード画像を生成する２次元バーコード画像生成手段と
を備える２次元バーコードシステム。
【請求項２】
前記暗号化された２次元バーコード画像と、前記鍵の２次元バーコード画像とを読み取る２次元バーコード画像読取手段と、
前記暗号化された２次元バーコード画像から前記暗号化データコード語と前記暗号化誤り訂正コード語とを抽出し、前記鍵の２次元バーコード画像から、前記鍵データコード語と前記鍵誤り訂正コード語とを抽出するコード語抽出手段と、
抽出された前記暗号化データコード語とに誤りがある場合、抽出された前記暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された前記鍵データコード語に誤りがある場合、抽出された前記鍵誤り訂正コード語を用いて、当該誤りを訂正することで、前記正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成する誤り訂正手段と、
前記正しい暗号化データコード語と、前記正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成する暗号解読手段と、
前記標準変換技術により、前記解読されたデータコード語を復号するバーコード復号化手段と
を更に備える２次元バーコードシステム。
【請求項３】
エンコードすべき情報を、２次元バーコードへの標準変換技術に従って変換して、少なくとも前記２次元バーコードの一部分であるデータコード領域におけるデータコード語を生成し、
当該データコード語と同じデータ構成を有する鍵データコード語を生成し、
前記データコード語と前記鍵データコード語との排他的論理和をビット毎に演算することにより、前記データコード語と同じデータ構成を有する暗号化データコード語を生成し、
前記暗号化データコード語を用いて、前記２次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語を生成し、更に前記鍵データコード語を用いて、２次元バーコードの一部分である誤り訂正コード領域における鍵誤り訂正コード語を生成し、
前記暗号化データコード語及び前記暗号化誤り訂正コード語に基づいて、暗号化された２次元バーコード画像を生成し、前記鍵データコード語及び前記鍵誤り訂正コード語に基づいて、暗号化された前記２次元バーコード画像と同じ形状およびドット構成を有する、鍵の２次元バーコード画像を生成する
２次元バーコード生成方法。
【請求項４】
前記暗号化された２次元バーコード画像と、前記鍵の２次元バーコード画像とを読み取り、
前記暗号化された２次元バーコード画像から前記暗号化データコード語と前記暗号化誤り訂正コード語とを抽出し、前記鍵の２次元バーコード画像から、前記鍵データコード語と前記鍵誤り訂正コード語とを抽出し、
抽出された前記暗号化データコード語に誤りがある場合、抽出された前記暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された前記鍵データコード語に誤りがある場合、抽出された前記鍵誤り訂正コード語を用いて当該誤りを訂正することで、前記正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成し、
前記正しい暗号化データコード語と、前記正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成し、
前記標準変換技術により、前記解読されたデータコード語を復号する
請求項３に記載の２次元バーコード生成方法。
【請求項５】
２次元バーコードを生成するコンピュータプログラムであって、コンピュータに、
エンコードすべき情報を、前記２次元バーコードへの標準変換技術に従って変換して、少なくとも２次元バーコードの一部分であるデータコード領域におけるデータコード語を生成するバーコード化変換機能、
当該データコード語と同じデータ構成を有する鍵データコード語を生成する鍵データコード語生成機能、
前記データコード語と前記鍵データコード語との排他的論理和をビット毎に演算することにより、前記データコード語と同じデータ構成を有する暗号化データコード語を生成する暗号化機能、
前記暗号化データコード語を用いて、前記２次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語を生成し、更に前記鍵データコード語を用いて、２次元バーコードの一部分である誤り訂正コード領域における鍵誤り訂正コード語を生成する誤り訂正コード語生成機能、
前記暗号化データコード語及び前記暗号化誤り訂正コード語に基づいて、暗号化された２次元バーコード画像を生成し、前記鍵データコード語及び前記鍵誤り訂正コード語に基づいて、暗号化された前記２次元バーコード画像と同じ形状およびドット構成を有する、鍵の２次元バーコード画像を生成する２次元バーコード画像生成機能
を実現させるコンピュータプログラム。
【請求項６】
前記コンピュータに、
前記暗号化された２次元バーコード画像と、前記鍵の２次元バーコード画像とを読み取る２次元バーコード画像読取機能、
前記暗号化された２次元バーコード画像から前記暗号化データコード語と前記暗号化誤り訂正コード語とを抽出し、前記鍵の２次元バーコード画像から、前記鍵データコード語と前記鍵誤り訂正コード語とを抽出するコード語抽出機能、
抽出された前記暗号化データコード語に誤りがある場合、抽出された前記暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された前記鍵データコード語に誤りがある場合、抽出された前記鍵誤り訂正コード語を用いて当該誤りを訂正することで、、前記正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成する誤り訂正機能、
前記正しい暗号化データコード語と、前記正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成する暗号解読機能、
前記標準変換技術により、前記解読されたデータコード語を復号するバーコード復号化機能
を更に実現させる請求項５に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】  本発明は、２次元バーコードシステム、２次元バーコード生成方法およびコンピュータプログラムに関する。特に本発明は、暗号化された２次元バーコードを生成し、これを解読する２次元バーコードシステム、２次元バーコード生成方法およびコンピュータプログラムに関する。
【背景技術】  従来、より多くの情報をバーコードに記録する技術として２次元バーコードがある（例えば、標準化研究会編、「ＱＲコードのおはなし」、第１版、日本規格協会、２００２年４月２６日）。そして秘匿性を高めたい場合は、暗号化した情報を２次元バーコードとしてもよい。
暗号化されたバーコードを解読するために必要な鍵情報を持ち運ぶ場合、データ量の少ない鍵情報を紙に印刷して持ち運ぶと、他人に見られた場合に記憶されやすいという課題があり、データ量が多い鍵情報はコンピュータ等に入力するのに手間がかかるという課題がある。また、紙には印刷せず、例えば電子ファイル形式でバーコードと鍵情報とを持ち運ぶ場合には、紙に印刷して持ち運ぶ場合と比べ費用がかかるという課題がある。
【発明の開示】
上記課題を解決するために、本発明の第１の形態は、２次元バーコードシステムであって、エンコードすべき情報を、２次元バーコードへの標準変換技術に従って変換して、少なくとも２次元バーコードの一部分であるデータコード領域におけるデータコード語を生成するバーコード化変換手段と、当該データコード語と同じデータ構成を有する鍵データコード語を生成する鍵データコード語生成手段と、データコード語と鍵データコード語との排他的論理和をビット毎に演算することにより、データコード語と同じデータ構成を有する暗号化データコード語を生成する暗号化手段と、暗号化データコード語を用いて、２次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語を生成し、更に鍵データコード語を用いて、２次元バーコードの一部分である誤り訂正コード領域における鍵誤り訂正コード語を生成する誤り訂正コード語生成手段と、暗号化データコード語及び誤り訂正コード語に基づいて、暗号化された２次元バーコード画像を生成し、鍵データコード語及び鍵誤り訂正コード語に基づいて、暗号化された２次元バーコード画像と同じ形状およびドット構成を有する、鍵の２次元バーコード画像を生成する２次元バーコード画像生成手段とを備える。
電子形式の２次元バーコードや、紙に印刷された２次元バーコードは、他人に見られた場合であっても、容易には情報を読み取られない。そして特に、２次元バーコードを紙に印刷した場合は、鍵情報をバーコード画像とせずに紙に印刷した場合に比べて、利用者は、鍵情報を安全に持ち運ぶことができる。また、例えば電子ファイル等の紙以外の形式でバーコードと鍵情報とを持ち運ぶ場合に比べて、費用を低くすることができる。
２次元バーコードシステムは、暗号化された２次元バーコード画像と、鍵の２次元バーコード画像とを読み取る２次元バーコード画像読取手段と、暗号化された２次元バーコード画像から暗号化データコード語と暗号化誤り訂正コード語とを抽出し、鍵の２次元バーコード画像から、鍵データコード語と鍵誤り訂正コード語とを抽出するコード語抽出手段と、抽出された暗号化データコード語に誤りがある場合、抽出された暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された鍵データコード語に誤りがある場合、抽出された鍵誤り訂正コード語を用いて当該誤りを訂正することで、正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成する誤り訂正手段と、正しい暗号化データコード語と、正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成する暗号解読手段と、標準変換技術により、解読されたデータコード語を復号するバーコード復号化手段とを更に備えてよい。
本発明において２次元バーコードシステムは、同じデータ構成をもつデータコード語同士の排他的倫理和を演算することにより暗号を生成している。このため２次元バーコードシステムは、暗号化された２次元バーコード画像および鍵のバーコード画像に対して、いずれが鍵情報又は暗号化された情報を含んだバーコード画像であるかを区別することなく暗号を解読するまでの処理を行うことができ、また簡単な装置で容易に暗号の生成および解読を行うことができる。
本発明の第２の形態は、２次元バーコードの生成方法であって、エンコードすべき情報を、２次元バーコードへの標準変換技術に従って変換して、少なくとも２次元バーコードの一部分であるデータコード領域におけるデータコード語を生成し、当該データコード語と同じデータ構成を有する鍵データコード語を生成し、データコード語と鍵データコード語との排他的論理和をビット毎に演算することにより、データコード語と同じデータ構成を有する暗号化データコード語を生成し、暗号化データコード語を用いて、２次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語を生成し、更に鍵データコード語を用いて、２次元バーコードの一部分である誤り訂正コード領域における鍵誤り訂正コード語を生成し、暗号化データコード語及び暗号化誤り訂正コード語に基づいて、暗号化された２次元バーコード画像を生成し、鍵データコード語及び鍵誤り訂正コード語に基づいて、暗号化された２次元バーコード画像と同じ形状およびドット構成を有する、鍵の２次元バーコード画像を生成する。
また２次元バーコードの生成方法は、暗号化された２次元バーコード画像と、鍵の２次元バーコード画像とを読み取り、暗号化された２次元バーコード画像から暗号化データコード語と暗号化誤り訂正コード語とを抽出し、鍵の２次元バーコード画像から、鍵データコード語と鍵誤り訂正コード語とを抽出し、抽出された暗号化データコード語に誤りがある場合、抽出された暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された鍵データコード語に誤りがある場合、抽出された鍵誤り訂正コード語を用いて当該誤りを訂正することで、正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成し、正しい暗号化データコード語と、正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成し、標準変換技術により、解読されたデータコード語を復号してもよい。
本発明の第３の形態は２次元バーコードを生成するプログラムであって、コンピュータに、エンコードすべき情報を、２次元バーコードへの標準変換技術に従って変換して、少なくとも２次元バーコードの一部分であるデータコード領域におけるデータコード語を生成するバーコード化変換機能、当該データコード語と同じデータ構成を有する鍵データコード語を生成する鍵データコード語生成機能、データコード語と鍵コード情報との排他的論理和をビット毎に演算することにより、データコード語と同じデータ構成を有する暗号化データコード語を生成する暗号化機能、暗号化データコード語を用いて、２次元バーコードの一部分である誤り訂正コード領域における暗号化誤り訂正コード語である暗号化誤り訂正コード語を生成し、更に、鍵データコード語を用いて鍵誤り訂正コード語を生成する誤り訂正コード語生成手機能、暗号化データコード語及び暗号化誤り訂正コード語に基づいて、暗号化された２次元バーコード画像を生成し、鍵データコード語及び鍵誤り訂正コード語に基づいて、暗号化された２次元バーコード画像と同じ形状およびドット構成を有する、鍵の２次元バーコード画像を生成する２次元バーコード画像生成機能を実現させる。
また、２次元バーコードを生成するプログラムであって、更にコンピュータに、暗号化された２次元バーコード画像と、鍵の２次元バーコード画像とを読み取る２次元バーコード画像読取機能、暗号化された２次元バーコード画像から暗号化データコード語と暗号化誤り訂正コード語とを抽出し、鍵の２次元バーコード画像から、鍵データコード語と鍵誤り訂正コード語とを抽出するデータコード語抽出機能、抽出された暗号化データコード語に誤りがある場合、抽出された暗号化誤り訂正コード語を用いて当該誤りを訂正することで正しい暗号化データコード語を生成し、更に、抽出された鍵データコード語に誤りがある場合、抽出された鍵誤り訂正コード語を用いて当該誤りを訂正することで、正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成する誤り訂正機能、正しい暗号化データコード語と、正しい鍵データコード語との排他的論理和をビット毎に演算することにより、解読されたデータコード語を生成する暗号解読機能、標準変換技術により、解読されたデータコード語を復号するバーコード復号化機能を実現させてもよい。
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【図面の簡単な説明】    図１は、本発明の一実施形態である２次元バーコードシステム３００の使用例を示す図である。
図２は、２次元バーコード生成装置１００および２次元バーコード復号装置２００の構成の一例を示す図である。
図３は、２次元バーコード生成装置１００の動作の一例を示すフローチャートを示す図である。
図４は、２次元バーコード復号装置２００の動作の一例を示すフローチャートを示す図である。
図５は、２次元バーコード生成装置１００および２次元バーコード復号装置２００のハードウェア構成の一例を示す図である。
【発明を実施するための最良の形態】  以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図１は、本発明に係る２次元バーコードシステム３００の使用例を示す。２次元バーコードシステム３００は、２次元バーコード生成装置１００及び２次元バーコード復号装置２００を備える。２次元バーコード生成装置１００は、例えばコンピュータシステムであって、プリンタ１５０を有しており、２次元バーコードを生成する。
近年、より多くの情報をバーコードに記録する技術として２次元バーコードがあり、秘匿性を高めたい場合は、暗号化した情報を２次元バーコードとしてもよい。しかし、暗号化されたバーコードを解読するために必要な鍵情報を持ち運ぶ場合、データ量の少ない鍵情報を紙に印刷して持ち運ぶと、他人に見られた場合に記憶されやすいという課題があり、データ量が多い鍵情報はコンピュータ等に入力するのに手間がかかるという課題がある。また、紙には印刷せず、例えば電子ファイル形式でバーコードと鍵情報とを持ち運ぶ場合には、紙に印刷して持ち運ぶ場合と比べ費用がかかるという課題がある。そこで本発明は、これらの課題を解決する２次元バーコードシステム３００を提供することを目的とする。
２次元バーコード生成装置１００は、暗号化された情報を含む暗号化２次元バーコード画像４１０と、暗号を解読するために必要な鍵情報を含む鍵２次元バーコード画像４２０を作成する。そして、２次元バーコード生成装置１００は、プリンタ１５０を用いて暗号化２次元バーコード画像４１０及び鍵２次元バーコード画像４２０を紙面４００に印刷する。尚、本例において作成される２次元バーコードは例えばＱＲコードであり、このＱＲコードを作成する手順は、ＪＩＳ規格番号Ｘ０５１０に公開されている。尚、他の例において作成される２次元バーコードは、ＰＤＦ４１７、ＤａｔａＭａｔｒｉｘ、及びＭａｘｉＣｏｄｅ等であってもよい。
２次元バーコード復号装置２００は、例えばコンピュータシステムであり、バーコードリーダ２５０を有する。２次元バーコード復号装置２００は、バーコードリーダ２５０を用いて、紙面４００に印刷された暗号化２次元バーコード画像４１０および鍵２次元バーコード画像４２０を読み取る。そして２次元バーコード復号装置２００は、鍵２次元バーコード画像４２０の情報を用いて暗号化２次元バーコード画像４１０の暗号を解読することにより、暗号化される前の情報を取得する。
図２は、２次元バーコード生成装置１００および２次元バーコード復号装置２００の構成の一例を示す。２次元バーコード生成装置１００は、バーコード化変換手段１０、鍵データコード語生成手段１５、暗号化手段２０、誤り訂正コード語生成手段２５、２次元バーコード画像生成手段３０および２次元バーコード出力手段３５を有する。また２次元バーコード復号装置２００は、２次元バーコード画像読取手段４０、コード語抽出手段４５、誤り訂正手段５０、暗号解読手段５５、およびバーコード復号化手段６０を有する。
バーコード化変換手段１０は、２次元バーコード生成装置１００の利用者によって入力された情報を、標準変換技術に従ってエンコードし、データコード語を作成する。バーコード化変換手段１０は、作成したデータコード語を暗号化手段２０へ出力する。ここで標準変換技術とは、例えばＱＲコードを作成するためにＪＩＳ規格番号Ｘ０５１０に記された、エンコードに関する技術である。
鍵データコード語生成手段１５は、データコード語と同じデータ構成を有する鍵データコード語を生成する。この場合鍵データコード語生成手段１５は、例えば任意のテキストから鍵データコード語を生成する。鍵データコード語生成手段１５は、生成した鍵データコード語を暗号化手段２０、誤り訂正コード語生成手段２５および２次元バーコード画像生成手段３０へ出力する。
暗号化手段２０は、バーコード化変換手段１０より受取ったデータコード語と鍵データコード語生成手段１５より受取った鍵データコード語との排他的論理和をビット毎に演算することにより、データコード語と同じデータ構成を有する暗号化データコード語を生成する。暗号化手段２０は、生成した暗号化データコード語を誤り訂正コード語生成手段２５および２次元バーコード画像生成手段３０へ出力する。
誤り訂正コード語生成手段２５は、例えばＪＩＳ規格番号Ｘ０５１０に基づいて、暗号化データコード語から、２次元バーコードの誤り訂正コード領域における暗号化誤り訂正コード語を生成する。同様に誤り訂正コード語生成手段２５は、鍵データコード語から、２次元バーコードの誤り訂正コード領域における鍵誤り訂正コード語を生成する。ここで、誤り訂正領域および誤り訂正コード領域とは、データコード語及び誤り訂正コード語を記録するために定められた符号化領域である。そして各領域に対するコード語の記録方法は規格により定められる。誤り訂正コード語生成手段２５は、生成した誤り訂正コード語と、鍵誤り訂正コード語とを、２次元バーコード画像生成手段３０へ出力する。
２次元バーコード画像生成手段３０は、暗号化手段２０から受取った暗号化データコード語と、誤り訂正コード語生成手段２５から受取った暗号化誤り訂正コード語とに基づいて、暗号化２次元バーコード画像４１０を生成する。ここで２次元バーコード画像生成手段３０は、例えばＪＩＳ規格番号Ｘ０５１０により定められた符号化領域に、暗号化データコード語および暗号化誤り訂正コード語をそれぞれ配置することにより、暗号化２次元バーコード画像４１０を生成する。同様にして、２次元バーコード画像生成手段３０は、鍵データコード語生成手段１５から受取った鍵データコード語と、誤り訂正コード語生成手段２５から受取った鍵誤り訂正コード語とに基づいて、鍵２次元バーコード画像４２０を生成する。そして２次元バーコード画像生成手段３０は、暗号化２次元バーコード画像４１０と同じ形状およびドット構成を有する鍵２次元バーコード画像４２０を生成する。ここで、ＪＩＳ規格番号Ｘ０５１０に準拠したＱＲコードにおいては、データ量に応じて最適なセルの構成が選べるように、幾つかのバージョンが定められている。２次元バーコード画像生成手段３０は、同じ形状およびドット構成を有する鍵２次元バーコード画像４２０として、暗号化２次元バーコード画像４１０と同じバージョンのセル構成を持ち、かつ、２次元バーコード画像の大きさが等しい２次元バーコード画像を生成する。２次元バーコード画像生成手段３０は、生成した暗号化２次元バーコード画像４１０および鍵２次元バーコード画像４２０を２次元バーコード出力手段３５へ出力する。
２次元バーコード出力手段３５は、例えばプリンタであり、暗号化２次元バーコード画像４１０と、鍵２次元バーコード画像４２０とを紙面４００に印刷する。電子形式の２次元バーコードや、紙に印刷された２次元バーコードは、他人に見られた場合であっても、容易には情報を読み取られない。そして特に、２次元バーコードを紙に印刷した場合は、鍵情報をバーコード画像とせずに紙に印刷した場合に比べて、本発明の２次元バーコードシステム３００の利用者は、鍵情報を安全に持ち運ぶことができる。また、例えば電子ファイル等の紙以外の形式でバーコードと鍵情報とを持ち運ぶ場合に比べて、費用を低くすることができる。
２次元バーコード画像読取手段４０は、例えばバーコードリーダであり、ＣＣＤセンサやラインセンサを有する。２次元バーコード画像読取手段４０は、暗号化２次元バーコード画像４１０と、鍵２次元バーコード画像４２０とを読み取る。２次元バーコード画像読取手段４０は、読み取ったそれぞれの画像データをコード語抽出手段４５へ出力する。
コード語抽出手段４５は、暗号化２次元バーコード画像４１０から暗号化データコード語および誤り訂正コード語を抽出する。コード語抽出手段４５は、鍵２次元バーコード画像４２０から、鍵データコード語と鍵誤り訂正コード語とを抽出する。コード語抽出手段４５は、抽出した暗号化データコード、誤り訂正コード、鍵データコードおよび鍵誤り訂正コードのそれぞれを、誤り訂正手段５０へ出力する。
誤り訂正手段５０は、抽出された暗号化データコード語と、抽出された暗号化誤り訂正コード語とを比較しながら、誤りがあれば訂正し、正しい暗号化データコード語を生成する。また誤り訂正手段５０は、抽出された鍵データコード語と抽出された鍵誤り訂正コード語とを比較しながら、誤りがあれば訂正し、正しい鍵データコード語を生成する。ここで誤り訂正手段５０は、正しい暗号化データコード語と同じデータ構成を有する、正しい鍵データコード語を生成する。誤り訂正手段５０は、正しい暗号化データコード語と、正しい鍵データコード語とを、暗号解読手段５５へ出力する。
暗号解読手段５５は、正しい暗号化データコード語と、正しい鍵データコード語との排他的論理和をビット毎に演算することにより暗号を解読し、解読されたデータコード語を生成する。暗号解読手段５５は、解読されたデータコード語を、バーコード復号化手段６０へ出力する。
バーコード復号化手段６０は、標準変換技術により、解読されたデータコード語を復号する。これによりバーコード復号化手段６０は、２次元バーコード生成装置１００の利用者によりバーコード化変換手段１０に入力された情報を取得する。
このように本発明において２次元バーコードシステム３００は、同じデータ構成をもつデータコード語同士の排他的倫理和を演算することにより暗号を生成している。このため２次元バーコードシステム３００は、暗号化２次元バーコード画像４１０および鍵２次元バーコード画像４２０に対して、いずれが鍵情報又は暗号化された情報を含んだバーコード画像であるかを区別することなく暗号を解読するまでの処理を行うことができ、また簡単な装置で容易に暗号の生成および解読を行うことができる。
尚、２次元バーコードをデコードする場合、通常は、データコード語と誤り訂正コード語との両者を参照しあいながらデコードを行う。従って、一旦、データコード語および誤り訂正コード語を生成した後、この２次元バーコード全体に対して、例えば同じセル構成を持つ他の２次元バーコードとの排他的論理和を演算する等により暗号化２次元バーコードを生成しても、生成後のデータコード語と誤り訂正コード語との対応が取れなくなるため、正しくデコードすることはできない。しかし本発明における２次元バーコードシステム３００は、暗号化データコード語を生成した後に、この暗号化データコード語に基づいて、暗号化誤り訂正コード語を生成するので、データコード語と誤り訂正コード語との対応を正しく保つことができ、暗号化２次元バーコードを適切にデコードすることができる。
また本発明においては、鍵データコード語の生成に任意のテキストを用いているので、鍵２次元バーコード画像４２０を他人が解読した場合、解読した人は、この情報が暗号の鍵であると容易には悟ることができない。これにより本発明における暗号化２次元バーコード画像４１０及び鍵２次元バーコード画像４２０は、暗号化の通信が行われていることを秘匿することができる。
図３は、２次元バーコード生成装置１００の動作の一例を示すフローチャートである。２次元バーコード生成装置１００の利用者は、暗号化したい情報を入力する。これによりバーコード化変換手段１０は、エンコードすべき情報を取得する（Ｓ１００）。そしてバーコード化変換手段１０は、取得した情報を、標準化変換技術に従ってエンコードすることにより、データコード語を生成する（Ｓ１０５）。また鍵データコード語生成手段１５は、利用者により入力された任意のテキストから、鍵データコード語を生成する（Ｓ１１０）。ここで鍵データコード語生成手段１５は、標準化技術に従って入力された任意のテキスト文をエンコードし、バーコード化変換手段１０により生成されたデータコード語と同じデータ構造を持つ鍵データコード語を生成し、生成した鍵データコード語を暗号化手段２０へ出力する。この場合、鍵データコード語生成手段１５は、データコード語、又は鍵データコード語に、意味のないテキストや空白を付加することにより、それぞれのデータの大きさを合わせてもよい。
暗号化手段２０は、バーコード化変換手段１０により生成されたデータコード語と、鍵データコード語生成手段１５により生成された鍵データコード語との排他的論理和をビット毎に演算する。これにより暗号化手段２０は、バーコード化変換手段１０により生成されたデータコード語を暗号化し、暗号化データコード語を生成する（Ｓ１１５）。暗号化手段２０は、生成した暗号化データコード語を、誤り訂正コード語生成手段２５へ出力する。
誤り訂正コード語生成手段２５は、例えば、ＪＩＳ規格番号Ｘ０５１０に基づいて、暗号化データコード語から暗号化誤り訂正コード語を生成する（Ｓ１２０）。同様にして誤り訂正コード語生成手段２５は、鍵データコード語から、鍵誤り訂正コード語を生成する（Ｓ１２５）。誤り訂正コード語生成手段２５は、生成した暗号化誤り訂正データコード語と鍵誤り訂正コード語とを、２次元バーコード画像生成手段３０へ出力する。
２次元バーコード画像生成手段３０は、暗号化手段２０により作成された暗号化データコード語と、誤り訂正コード語生成手段２５により生成された暗号化誤り訂正コード語とを用いて暗号化２次元バーコード画像４１０を生成する（Ｓ１３０）。また２次元バーコード画像生成手段３０は、暗号化手段２０により作成された鍵データコード語と、誤り訂正コード語生成手段２５により生成された鍵誤り訂正コード語とを用いて鍵２次元バーコード画像４２０を生成する（Ｓ１３５）。ここで２次元バーコード画像生成手段３０は、暗号化２次元バーコード画像４１０と同じ形状、および同じドット構成の鍵２次元バーコード画像４２０を生成する。２次元バーコード画像生成手段３０は、生成した暗号化２次元バーコード画像４１０及び鍵２次元バーコード画像４２０を、２次元バーコード出力手段３５へ出力する。２次元バーコード出力手段３５は、暗号化２次元バーコード画像４１０および鍵２次元バーコード画像４２０を紙面４００に印刷する。以上で本フローチャートは終了する。
図４は、２次元バーコード復号装置２００の動作の一例を示すフローチャートである。２次元バーコード画像読取手段４０は、紙面４００に印刷された暗号化２次元バーコード画像４１０および鍵２次元バーコード画像４２０を読み取る（Ｓ２００）。２次元バーコード画像読取手段４０は、読み取ったそれぞれの画像データをコード語抽出手段４５へ出力する。
コード語抽出手段４５は、例えばＪＩＳ規格番号Ｘ０５１０に基づいて、暗号化２次元バーコード画像４１０から暗号化データコード語および暗号化誤り訂正コード語を抽出する（Ｓ２０５）。同様にコード語抽出手段４５は、鍵２次元バーコード画像４２０から鍵データコード語および鍵誤り訂正コード語を抽出する（Ｓ２０５）。コード語抽出手段４５は、抽出した暗号化データコード語、暗号化誤り訂正コード語、鍵データコード語、および鍵誤り訂正コード語のそれぞれを誤り訂正手段５０へ出力する。
誤り訂正手段５０は、周知の誤り訂正符号技術に基づいて、誤りの判定を行う。暗号化データコード語に誤りがある場合（Ｓ２１０ＹＥＳ）、誤り訂正手段５０は、暗号化誤り訂正コード語を用いて誤りを訂正する（Ｓ２１５）。暗号化データコードに誤りが無い場合（Ｓ２１０  ＮＯ）には、フローチャートはＳ２２０へ進む。鍵データコード語に誤りがある場合（Ｓ２２０ＹＥＳ）、誤り訂正手段５０は、鍵誤り訂正コード語を用いて誤りを訂正する（Ｓ２２５）。鍵データコードに誤りが無い場合（Ｓ２２０ＮＯ）、本フローチャートはＳ２３０へ進み、誤り訂正手段５０は、正しい暗号化データコード語と正しい鍵データコード語とを、暗号解読手段５５へ出力する。
暗号解読手段５５は、誤り訂正手段５０より受取った正しい暗号化データコード語と、正しい鍵データコード語との排他的論理和をビット毎に演算する。これにより暗号解読手段５５は暗号化データコード語を解読し、解読されたデータコード語を生成する（Ｓ２３０）。そして暗号解読手段５５は、解読されたデータコード語を、バーコード復号化手段６０へ出力する。バーコード復号化手段６０は、暗号解読手段５５により解読されたデータコード語を、標準化技術に従ってデコードすることにより復号する（Ｓ２３５）。これにより、バーコード復号化手段６０は、２次元バーコード生成装置１００の利用者によりバーコード化変換手段１０に入力された情報を得ることができる。以上で本フローチャートは終了する。
図５は、２次元バーコード生成装置１００および２次元バーコード復号装置２００におけるハードウェア構成の一例を示す。２次元バーコード生成装置１００および２次元バーコード復号装置２００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、グラフィックコントローラ１０７５、及び表示装置１０８０を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とをそれぞれ備える。
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ファイバチャネル等のネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、２次元バーコード生成装置１００または２次元バーコード復号装置２００が使用するプログラム及びデータをそれぞれ格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０を介して入出力チップ１０７０に提供する。
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、２次元バーコード生成装置１００または２次元バーコード復号装置２００の起動時にＣＰＵ１０００が実行するブートプログラムや、２次元バーコード生成装置１００または２次元バーコード復号装置２００のハードウェアに依存するプログラム等をそれぞれ格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、ＲＡＭ１０２０を介して入出力チップ１０７０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
２次元バーコード生成装置１００または２次元バーコード復号装置２００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によってそれぞれ提供される。プログラムは、入出力チップ１０７０及び／又は入出力コントローラ１０８４を介して、記録媒体から読み出され２次元バーコード生成装置１００または２次元バーコード復号装置２００にそれぞれインストールされ、そして実行される。
２次元バーコード生成装置１００にインストールされ実行されるプログラムは、バーコード化変換モジュールと、鍵データコード語生成モジュールと、暗号化モジュールと、誤り訂正コード語生成手モジュールと、２次元バーコード画像生成モジュールとを含む。各モジュールが２次元バーコード生成装置１００に働きかけて行わせる動作は、図１から図３において説明した２次元バーコード生成装置１００における、対応する部材の動作と同一であるから、説明を省略する。
２次元バーコード復号装置２００にインストールされ実行されるプログラムは、２次元バーコード画像読取モジュールと、データコード語抽出モジュールと、誤り訂正モジュールと、暗号解読モジュールと、バーコード復号化モジュールとを含む。各モジュールが２次元バーコード復号装置２００に働きかけて行わせる動作は、図１から図２、および図４において説明した２次元バーコード復号装置２００における、対応する部材の動作と同一であるから、説明を省略する。
以上に示したプログラムまたはモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを２次元バーコード生成装置１００または２次元バーコード復号装置２００にそれぞれ提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【産業上の利用可能性】  このように本発明において２次元バーコードシステム３００は、同じデータ構成をもつデータコード語同士の排他的倫理和を演算することにより暗号を生成している。このため２次元バーコードシステム３００は、暗号化２次元バーコード画像４１０および鍵２次元バーコード画像４２０に対して、いずれが鍵情報又は暗号化された情報を含んだバーコード画像であるかを区別することなく暗号を解読するまでの処理を行うことができ、また簡単な装置で容易に暗号の生成および解読を行うことができる。
尚、２次元バーコードをデコードする場合、通常は、データコード語と誤り訂正コード語との両者を参照しあいながらデコードを行う。従って、一旦、データコード語および誤り訂正コード語を生成した後、この２次元バーコード全体に対して、例えば同じセル構成を持つ他の２次元バーコードとの排他的論理和を演算する等により暗号化２次元バーコードを生成しても、生成後のデータコード語と誤り訂正コード語との対応が取れなくなるため、正しくデコードすることはできない。しかし本発明における２次元バーコードシステム３００は、暗号化データコード語を生成した後に、この暗号化データコード語に基づいて、暗号化誤り訂正コード語を生成するので、データコード語と誤り訂正コード語との対応を正しく保つことができ、暗号化２次元バーコードを適切にデコードすることができる。
【図１】
2005066884.tif 000003
【図２】
2005066884.tif 000004
【図３】
2005066884.tif 000005
【図４】
2005066884.tif 000006
【図５】
2005066884.tif 000007
【国際調査報告】
2005066884.tif 000008
2005066884.tif 000009
2005066884.tif 000010
2005066884.tif 000011