JP2012089177A - Creating program of two-dimensional code, and two-dimensional code - Google Patents
Creating program of two-dimensional code, and two-dimensional code Download PDFInfo
- Publication number
- JP2012089177A JP2012089177A JP2012026478A JP2012026478A JP2012089177A JP 2012089177 A JP2012089177 A JP 2012089177A JP 2012026478 A JP2012026478 A JP 2012026478A JP 2012026478 A JP2012026478 A JP 2012026478A JP 2012089177 A JP2012089177 A JP 2012089177A
- Authority
- JP
- Japan
- Prior art keywords
- code
- data
- secret
- disclosed
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 abstract description 27
- 239000000945 filler Substances 0.000 abstract 1
- 238000000034 method Methods 0.000 description 115
- 238000005286 illumination Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000003384 imaging method Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 230000010365 information processing Effects 0.000 description 5
- 239000004973 liquid crystal related substance Substances 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004092 self-diagnosis Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Abstract
Description
本発明は、秘密にして隠しておきたいデータ(以下「秘匿データ」または「秘匿するデータ」という)を含む二次元コードを生成するプログラム及び二次元コードに関するものである。 The present invention relates to a program and a two-dimensional code for generating a two-dimensional code including data to be kept secret and hidden (hereinafter referred to as “secret data” or “secret data”).
秘匿データを含んだ二次元コードを生成したり読み取る技術として、例えば、下記特許文献1に開示される「情報送信方法及び携帯端末」がある。この従来技術では、送信側の携帯端末は、キー入力装置から入力された暗号キーにより送信データを暗号化しそれをQRコードに変換してQRコード(登録商標)を生成しそれを表示装置の画面に表示する(特許文献1;段落0020,0021、図4)。
As a technique for generating or reading a two-dimensional code including confidential data, for example, there is an “information transmission method and portable terminal” disclosed in
これに対し、受信側の携帯端末では、送信側の携帯端末の画面に表示されたQRコードの画像をカメラ等により読み込んでQRコードが暗号化されているか否かを判断した後、暗号化されている場合には暗号キーを要求する。そして、QRコードを逆変換するとともに入力された暗号キーにより送信データを復号して復元データを画面表示する(特許文献1;段落0022、図5)。
On the other hand, in the mobile terminal on the reception side, the QR code image displayed on the screen of the mobile terminal on the transmission side is read by a camera or the like to determine whether the QR code is encrypted, and then encrypted. If so, request an encryption key. Then, the QR code is reversely converted and the transmission data is decrypted with the input encryption key to display the restored data on the screen (
しかしながら、上記特許文献1に開示される「情報送信方法及び携帯端末」によると、暗号化されているものをQRコードに逆変換した場合には、通常、暗号化されたデータそのものは文字情報として意味をなさないものであるため、携帯端末等の画面に表示される情報は意味不明なものであったり、画面表示の制御等に影響を与え得る制御コードに相当する情報であったりする。
However, according to the “information transmission method and portable terminal” disclosed in
このため、意味不明な情報である場合には、当該携帯端末等の使用者に不信感を与え得るという問題や、それが暗号化された情報であることを認識し得る使用者には対しては、解読を試みようとする不用意な動機を与える可能性があることから、セキュリティ上の問題を生じ得る。 For this reason, in the case of unclear information, the problem of being distrustful to the user of the mobile terminal or the user who can recognize that it is encrypted information. Can give rise to security problems because they can be inadvertently motivated to attempt to decipher.
また、制御コードに相当する情報である場合には、画面表示が乱れたり、その他のシステム上の問題にもつながり得るという問題がある。 Further, in the case of information corresponding to a control code, there is a problem that the screen display is disturbed and may lead to other system problems.
本発明は、上述した課題を解決するためになされたもので、その目的とするところは、一般仕様の読取装置で読み取る利用者には秘匿データの存在を認識し得ない二次元コードを生成するプログラム及び二次元コードを提供することにある。 The present invention has been made in order to solve the above-described problems, and an object of the present invention is to generate a two-dimensional code that cannot be recognized by a user who reads with a general-purpose reading device. To provide a program and a two-dimensional code.
上記目的を達成するため、第1の発明は、開示するデータを表すコード語としてコード化された開示データコードの総数が、コード語を配置すべきコード領域に収容可能な容量に満たない場合、前記コード領域に配置された前記開示データコードがなすコード列の終端を示す終端識別コードをこのコード列の最後に配置するとともに、前記コード領域の空き部分にデータを表さない埋め草コードを配置する二次元コードの生成装置として、コンピュータを機能させるためのプログラムであって、前記開示データコードが存在せず前記開示データコードの総数が零であり、前記コード領域の最初に前記終端識別コードが配置されるとともに、秘匿するデータを表すコード語としてコード化された秘匿データコードを前記埋め草コードの一部または全部に代えて、前記終端識別コードの後に配置することを特徴とする。 To achieve the above object, according to a first aspect of the present invention, when the total number of disclosed data codes encoded as code words representing disclosed data is less than a capacity that can be accommodated in a code area where code words are to be arranged, An end identification code indicating the end of a code string formed by the disclosed data code arranged in the code area is arranged at the end of the code string, and a padding code that does not represent data is arranged in an empty part of the code area. As a two-dimensional code generating device, a program for causing a computer to function, wherein the disclosed data code does not exist and the total number of disclosed data codes is zero, and the end identification code is at the beginning of the code area. And a secret data code encoded as a code word representing the data to be concealed is part of the padding code or Instead of all, it characterized in that arranged after the end identification code.
第2の発明は、開示するデータを表すコード語としてコード化された開示データコードの総数が、コード語を配置すべきコード領域に収容可能な容量に満たない場合、前記コード領域に配置された前記開示データコードがなすコード列の終端を示す終端識別コードをこのコード列の最後に配置するとともに、前記コード領域の空き部分にデータを表さない埋め草コードを配置する二次元コードであって、前記開示データコードが存在せず前記開示データコードの総数が零であり、前記コード領域の最初に前記終端識別コードが配置されるとともに、秘匿するデータを表すコード語としてコード化された秘匿データコードを前記埋め草コードの一部または全部に代えて、前記終端識別コードの後に配置することを特徴とする。 The second invention is arranged in the code area when the total number of disclosed data codes encoded as code words representing the disclosed data is less than the capacity that can be accommodated in the code area where the code word is to be arranged. A two-dimensional code in which an end identification code indicating the end of a code string formed by the disclosed data code is arranged at the end of the code string, and a padding code that does not represent data is arranged in an empty portion of the code area. The disclosed data code does not exist, the total number of disclosed data codes is zero, the termination identification code is arranged at the beginning of the code area, and the confidential data encoded as a code word representing the confidential data The code is arranged after the terminal identification code in place of part or all of the padding code.
請求項1の発明によって生成される二次元コードは、開示データコードが存在せず開示データコードの総数が零であり、コード領域の最初に終端識別コードが配置されるとともに、秘匿するデータを表すコード語としてコード化された秘匿データコードを埋め草コードの一部または全部に代えて、終端識別コードの後に配置する。一般に、二次元コードの読取装置は、二次元コードのデコード処理において、コード領域に配置されたデータコードの先頭からコード列の終端を示す終端識別コードまでを読み取ってデコードするアルゴリズム仕様に設定されているため、通常、終端識別コードの後に配置される埋め草コード等は読み取りの対象にならない。このため、本来、コード領域に配置されるべきデータコードの先頭(コード領域の最初)に終端識別コードを配置することによって、その終端識別コードの後に、埋め草コードの一部または全部に代えて配置されるデータコードは、たとえそれが読み取り可能なコード語であっても、一般仕様の読取装置ではデコードすることはない。これにより、終端識別コードの後に秘匿したいデータコード(秘匿データコード)を配置することによって、当該秘匿データコードは読み取ることはできない。したがって、このような秘匿データコードが含まれる二次元コードを一般仕様の読取装置で読み取っても、当該秘匿データコードによって秘匿しようとするデータの存在はわからないので、一般仕様の読取装置の利用者には秘匿データの存在を認識させないようにすることができる。 The two-dimensional code generated by the invention of
請求項2の発明によれば、請求項1と同様の効果を奏する二次元コードを実現できる。 According to the invention of
以下、本発明の実施形態について図を参照して説明する。なお、以下説明する各実施形態では、二次元コードの例として、QRコードを挙げるが、本発明に係る二次元コードはこれに限られることはなく、例えば、データマトリクス、マキシコード、CPコード、PDF417やRSSコンポジット等であってもQRコードと同様に本発明を適用することができる。 Embodiments of the present invention will be described below with reference to the drawings. In each embodiment described below, a QR code is given as an example of a two-dimensional code. However, the two-dimensional code according to the present invention is not limited to this, for example, a data matrix, a maxi code, a CP code, Even in the case of PDF417, RSS composite, etc., the present invention can be applied similarly to the QR code.
[第1実施形態]
まず、本発明の第1実施形態に係るQRコードプリンタ10の構成を、図1を参照して説明する。なお、図1(A) には、本第1実施形態に係るQRコードプリンタ10とそれに接続されるパーソナルコンピュータ(以下「パソコン」という)1とを示す説明図が図示されており、また図1(B) には、QRコードプリンタ10のハードウェア構成例を示すブロック図が図示されている。
[First Embodiment]
First, the configuration of the
図1(A) に示すように、QRコードプリンタ10は、ケーブル5を介してパソコン1に接続されることにより、パソコン1から出力されて当該QRコードプリンタ10に入力される英数字、漢字や記号等の文字データ(以下これらを「印刷データ」と総称する)に基づいてQRコードを生成してラベルP等に印刷する機能を有するものである。なお、ここでいう「QRコード」とは、日本工業規格(JIS)の二次元コードシンボル−QRコード−基本仕様(JIS X 0510:2004)に従うものである。
As shown in FIG. 1 (A), the
パソコン1は、パソコン本体2およびディスプレイ3により構成されており、パソコン本体2は、図略の、MPU、メインメモリ(主記憶装置)、ハードディスク(補助記憶装置)、入出力インタフェース、通信インタフェース、キーボード、ポインティングデバイス等からなる情報処理装置で、またディスプレイ3は、パソコン本体2に接続されることによりパソコン本体2から出力される情報を画面表示可能な情報表示装置である。
The
なお、このパソコン本体2には、QRコードプリンタ10のデバイスドライバがインストールされて(組み込まれて)おり、当該パソコン1の利用者が、QRコードとしてラベルPに印刷したい文字等を含んだ印刷データを、パソコン本体2からQRコードプリンタ10に対して任意に出力可能にしている。
The personal computer
これに対し、QRコードプリンタ10は、図1(B) に示すように、主に、MPU11、メモリ12、インタフェース13、ローラ制御部14、ヘッド制御部15、ローラ17、ヘッド18等から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されている。
On the other hand, as shown in FIG. 1B, the
MPU11は、QRコードプリンタ10全体を制御可能なマイクロコンピュータ(以下「マイコン」という)で、メモリバスを介して接続されるメモリ12とともに情報処理装置を構成し得るもので情報処理機能を有する。このMPU11には、メモリ12のほかに、インタフェース13、ローラ制御部14やヘッド制御部15も接続されている。なお、後述するコード生成処理は、このMPU11およびメモリ12により実行される。
The
メモリ12は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ12のうちのRAMには、前述したパソコン1から送られてくる文字データを蓄積するバッファ領域のほか、MPU11が算術演算や論理演算等の各処理時に利用する作業領域等も確保可能に構成されている。またROMには、後述のコード生成処理等を実行可能な所定プログラムやその他、ローラ制御部14やヘッド制御部15等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
The
インタフェース13は、前述したパソコン1のパソコン本体2から送られてくる印刷データ等を受信可能にする入力インタフェースで、シリアルバス等を介してMPU11に接続されている。このインタフェース13を介してMPU11に入力された印刷データは、コード生成処理によって後述するように情報処理されてコード化される。
The
ローラ制御部14は、ローラ17の駆動機構(図略)を制御し得る制御装置で、シリアルバス等を介してMPU11に接続されている。これにより、MPU11から受けた制御信号に従ってローラ17の回転の開始や停止あるいは回転方向等を制御している。
The
ヘッド制御部15は、例えば、感熱用紙からなるラベルに対して任意のパターンを印刷し得るサーマルヘッドで、シリアルバス等を介してMPU11に接続されている。本実施形態では、後述のコード生成処理によって生成されたQRコードを感熱ラベルに印刷可能にするもので、前述したローラ制御部14による感熱ラベルの紙送りタイミングに同期して、QRコードを構成する位置検出パターン、タイミングパターンやデータコード等を当該ラベルに印刷する。
The
なお、以下、ヘッド制御部15として、サーマルヘッドの場合を例示して説明するが、QRコードを印刷できるものであれば、例えば、インクジェット用やドットインパクト用のヘッドでも良いし、また印刷機構として、レーザプリンタやLEDプリンタ等であっても良い。
In the following, the case of a thermal head will be described as an example of the
このようにQRコードプリンタ10を構成することによって、パソコン1から出力されて当該QRコードプリンタ10に入力された印刷データは、インタフェース13を介してメモリ12のバッファ領域に一旦蓄えられた後、次に説明するコード生成処理に渡される。ここで、コード生成処理を図2〜図4を参照して説明する。なお、図2には、コード生成処理の流れを示すフローチャートが図示されている。また図3には、図2に示すコード生成処理により情報処理されるデータやコードのフォーマット例が図示されている。さらに図4には、1型のQRコードの構成例が図示されている。
By configuring the
図2に示すように、コード生成処理は、QRコードプリンタ10の電源投入により起動するMPU11およびメモリ12によって開始され、まずステップS101により初期設定処理が行われる。この処理は、メモリ12の作業領域や印刷データを蓄えるバッファ領域をクリアしたり、所定のフラグやカウンタ等をクリアする。
As shown in FIG. 2, the code generation process is started by the
ステップS103では、印刷データを受信したか否かを判断する処理で、印刷データを受信するまで、このステップを繰り返す(S103;No)。そして、印刷データを受信したと判断すると(S103;Yes)、続くステップS105に処理を移行する。なお、ここで受信するデータには、印刷データのほかに、暗号キーのデータも含まれる。即ち、後述するように、秘匿データコードを暗号化する必要がある場合には、このステップS103により暗号キーのデータも併せて受信する。また、ここで受信する印刷データは、その全てが第三者には秘密にして隠しておきたいデータ(秘匿エータ)であり、第三者に開示するデータ(開示データ)は含まれていないものとする。したがって、これらの印刷データは、全て秘匿データとして以下処理される。 In step S103, this step is repeated until print data is received in the process of determining whether or not print data has been received (S103; No). If it is determined that the print data has been received (S103; Yes), the process proceeds to the subsequent step S105. The data received here includes encryption key data in addition to print data. That is, as described later, when it is necessary to encrypt the secret data code, the encryption key data is also received in step S103. In addition, the print data received here is all the data (secret data) that you want to keep confidential and hidden from the third party, and does not include the data (disclosure data) disclosed to the third party. And Therefore, all the print data is processed as confidential data below.
次のステップS105では、秘匿データをJISの基本仕様(JIS X 0510:2004)に従って符号化する処理が行われる。これにより、秘匿するデータを表すコード語としてコード化された秘匿データコードが生成される。例えば、図3に示すように、ステップS103によって受信された印刷データが秘匿データα,βである場合には(図3(A) )、ステップS105により符号化された秘匿データコードαのデータ長と秘匿データコードβのデータ長と和が当該データ長として計算されて秘匿データコードαの直前に付加される(図3(B) )。なお、図3(B) では、便宜上、秘匿データコードを「秘匿コード」、秘匿識別コードを「秘匿識別子」、とそれぞれ表現している。 In the next step S105, processing for encoding the confidential data according to the JIS basic specification (JIS X 0510: 2004) is performed. Thereby, the secret data code coded as a code word representing the data to be secreted is generated. For example, as shown in FIG. 3, when the print data received in step S103 is the secret data α, β (FIG. 3A), the data length of the secret data code α encoded in step S105. And the data length and the sum of the secret data code β are calculated as the data length and added immediately before the secret data code α (FIG. 3B). In FIG. 3B, for the sake of convenience, the secret data code is expressed as “secret code”, and the secret identification code is expressed as “secret identifier”.
続くステップS107では、秘匿データコードのデータ長を計算して求め、このデータ長をコード化したものを秘匿データコードの直前に付加する処理が行われる。これにより、秘匿データコードが配置される領域や範囲がわかるので、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、どこまでが秘匿データコードであるか、または暗号データコードであるかを認識可能にする。 In subsequent step S107, a process is performed in which the data length of the secret data code is calculated and obtained, and the data length encoded is added immediately before the secret data code. As a result, the area and range where the secret data code is arranged can be known, so when the QR code Q generated by this code generation process is decoded by a QR code reader or the like, how far is the secret data code, or Makes it possible to recognize whether it is an encrypted data code.
ステップS109では、ステップS107によりコード化されたデータ長の前に秘匿識別コードを付加する処理が行われる。この秘匿識別コードは、次ステップS111で付加される終端識別コードの直後に配置されているデータコードが「秘匿するデータを表すコード語としてコード化されたものであること」を明示的に表すもので、これにより、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、当該QRコードQに秘匿データコードが含まれていることを認識可能にする。このため、例えば、読取対象外のデータやデータ化けしたデータ等を秘匿データコードと誤認して読み取ることを防ぎ、またこれに起因する誤動作の発生を防止することもできる。 In step S109, a process of adding a secret identification code before the data length encoded in step S107 is performed. This concealment identification code explicitly expresses that the data code arranged immediately after the termination identification code added in the next step S111 is "encoded as a code word representing concealed data". Thus, when the QR code Q generated by the code generation process is decoded by a QR code reader or the like, it is possible to recognize that the confidential data code is included in the QR code Q. For this reason, for example, it is possible to prevent data that is not to be read, garbled data, and the like from being mistakenly read as a secret data code, and to prevent the occurrence of malfunction caused by this.
そして、続くステップS111により、秘匿識別コードの直前に終端識別コードを付加する処理が行われる。終端識別コードは、例えば、4ビットパターンで「0000」である。本実施形態では、前述したように、ステップS103により受信した印刷データには、開示データが含まれていない。このため、図3(B) に示すように、本来、終端識別コードの前の位置するはずである開示データコードは存在せず、当該終端識別コードが先頭に位置する。なお、図3(B) では、便宜上、終端識別コードを「終端子」と表現している。 Then, in the subsequent step S111, processing for adding a terminal identification code immediately before the secret identification code is performed. The end identification code is, for example, “0000” in a 4-bit pattern. In the present embodiment, as described above, the print data received in step S103 does not include disclosure data. For this reason, as shown in FIG. 3B, there is no disclosed data code that should originally be positioned before the terminal identification code, and the terminal identification code is positioned at the head. In FIG. 3B, the terminal identification code is expressed as “end terminal” for convenience.
このようにステップS105〜S111までの各処理を経ると、秘匿データコードの後に埋め草コードや誤り訂正コードが付加されるが、本実施形態では、図3(C) に示すように、秘匿データコードを暗号化する処理が施され得る。 In this way, after each process from step S105 to S111, a padding code and an error correction code are added after the secret data code. In this embodiment, as shown in FIG. Processing to encrypt the code may be performed.
具体的には、ステップS113により、暗号キーがあるか否かを判断することによって、秘匿データコードを暗号化する必要があるか否かを判断する。即ち、ステップS103によって暗号キーのデータをパソコン1から受信している場合には、暗号キーがあるので(S113;Yes)、ステップS115に移行して暗号化処理を行う。これに対して、ステップS103によって暗号キーをパソコン1から受信していない場合には、暗号キーがないので(S113;No)、ステップS115による暗号化処理をスキップしてステップS117に移行する。
Specifically, in step S113, it is determined whether or not the secret data code needs to be encrypted by determining whether or not there is an encryption key. That is, when the encryption key data is received from the
なお、ステップS103により暗号キーのデータを受信していない場合であっても、パソコン1が予め暗号キーをメモリ12やハードディスク等の情報記憶媒体に保持しているときには暗号キーがあるので(S113;Yes)、ステップS115によって暗号化処理を行う。
Even if the encryption key data is not received in step S103, the encryption key is present when the
ステップS115では、秘匿データコードを暗号化する処理が行われる。この処理は、例えば、公知の視覚復号型暗号技術(視覚復号型秘密分散法)を用いて秘匿データコードを暗号化する。これにより、このような暗号化されていない平文データが付加されている場合に比べてセキュリティの強度を高めることができる。 In step S115, a process for encrypting the secret data code is performed. In this process, for example, the secret data code is encrypted using a known visual decryption encryption technique (visual decryption secret sharing method). Thereby, the strength of security can be increased as compared with the case where such unencrypted plaintext data is added.
例えば、図3(C) に示す例では、秘匿データコードαを構成する「暗号化データ」の部分が暗号化され、「開始桁」、「文字数」および「復号キー検査データ」も併せて生成される。最初に位置する「開始桁」は、当該暗号化された秘匿データの位置情報として、印刷データの先頭をゼロ番地とした場合に表現可能なアドレス値がこれに相当する。また次の「文字数」は、暗号化されている秘匿データの文字数である。これにより、コード語としてコード化される前のデータレコード中の位置関係において前後して混在する場合であっても、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際において、デコードしたデータをこの位置情報に基づいてコード化前の位置関係に配置することができる。 For example, in the example shown in FIG. 3 (C), the “encrypted data” portion of the secret data code α is encrypted, and the “start digit”, “number of characters”, and “decryption key check data” are also generated. Is done. The “start digit” positioned first corresponds to an address value that can be expressed as the position information of the encrypted confidential data when the top of the print data is set to zero. The next “number of characters” is the number of characters of the encrypted confidential data. As a result, the QR code Q generated by the code generation process is decoded by a QR code reader or the like even when the data records are mixed in the positional relationship in the data record before being encoded as a code word. In this case, the decoded data can be arranged in the positional relationship before encoding based on the positional information.
最後に付加されている「復号キー検査データ」は、当該暗号を解読するのに用いる復号キーを特定可能な鍵特定情報で、暗号方式が暗号キーと復号キーとが同じ共通鍵暗号方式(「秘密鍵暗号方式」ともいう)の場合には、当該復号キー検査データは暗号キーも特定できる。これにより、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、秘匿データコードを復号キー(復号できる鍵)を容易に特定することができたり、復号キーであるか否かを判断することができる。 “Decryption key check data” added at the end is key specifying information that can specify a decryption key used for decrypting the cipher, and a common key encryption method (“ In the case of “private key encryption method”, the decryption key check data can also specify the encryption key. As a result, when the QR code Q generated by this code generation process is decoded by a QR code reader or the like, it is possible to easily specify the decryption key (decryptable key) of the secret data code, It can be determined whether or not there is.
なお、秘匿データコードβについても秘匿データコードαと同様に構成され、「復号キー検査データ」として、秘匿データコードαを復号する復号キーと同じ情報を付加しても良いし、また秘匿データコードαの暗号キーとは異なった他の暗号キーで秘匿データコードβの秘匿データを暗号化した場合には、他の復号キーを特定する「復号キー検査データ」を付加しても良い。これにより、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、各秘匿データコードごとに復号できる鍵を容易に特定することができたり、復号できる鍵であるか否かを判断することができる。 The secret data code β is configured in the same manner as the secret data code α, and the same information as the decryption key for decrypting the secret data code α may be added as the “decryption key check data”, or the secret data code When the secret data of the secret data code β is encrypted with another encryption key different from the α encryption key, “decryption key check data” for specifying another decryption key may be added. Thereby, when the QR code Q generated by this code generation process is decoded by a QR code reader or the like, it is possible to easily specify a key that can be decrypted for each secret data code, or a key that can be decrypted. It can be determined whether or not.
続くステップS117では、JISの基本仕様(JIS X 0510:2004)に従って、秘匿データコードの後に埋め草コードを付加する処理が行われ、さらにステップS119では、秘匿データに対する誤り訂正符号をJISの基本仕様(JIS X 0510:2004)に従って生成しさらにそれをコード化して誤り訂正コードを生成する処理が行われる。 In the following step S117, a process of adding a padding code after the secret data code is performed according to the JIS basic specification (JIS X 0510: 2004). Further, in step S119, an error correction code for the secret data is converted to the JIS basic specification. (JIS X 0510: 2004) is generated and further encoded to generate an error correction code.
そして、ステップS121では、ステップS119により生成されたデータコードに基づいて、各セルを生成し、図4に示すデータブロックに配置する処理が行われる。即ち、図4に示す1型のQRコードでは、1辺が21セル(モジュール)の正方形状に構成されているため、三隅に設けられている位置検出パターンや形式情報(図4に示す斜線部分)、さらにはタイミングパターンを除いたコード領域に、8個のセルを4行2列に配置して構成されるデータブロックを26ブロック(A0〜A25)配置する。 In step S121, each cell is generated based on the data code generated in step S119, and the process of arranging the cells in the data block shown in FIG. 4 is performed. That is, since the one-type QR code shown in FIG. 4 is formed in a square shape with 21 cells (modules) on one side, position detection patterns and format information provided at three corners (the hatched portion shown in FIG. 4). In addition, 26 blocks (A0 to A25) of data blocks configured by arranging 8 cells in 4 rows and 2 columns are arranged in the code area excluding the timing pattern.
例えば、図3(B) に示す例では、データ領域の先頭にあたるA0に終端識別コードを、これに続いて通常は埋め草コードが配置される位置に相当するA1以降に、即ち、A1に秘匿識別コード、A2にデータ長、A3〜A6に秘匿識別コードα、A7〜A9に秘匿識別コードβ、をそれぞれ配置する。そして、通常のQRコードと同様に、誤り訂正コードを最後のA20〜A25に配置して、この間の空いている部分であるA10〜A19に埋め草コードを配置する。なお、A15およびA18は、タイミングパターンを挟んで位置していることから、A15はA15とA15’とに、またA18はA18とA18’とに分割されている。 For example, in the example shown in FIG. 3 (B), the terminal identification code is placed at A0 at the beginning of the data area, and after this, usually after A1 corresponding to the position where the padding code is placed, that is, it is kept secret from A1. An identification code, a data length in A2, a secret identification code α in A3 to A6, and a secret identification code β in A7 to A9 are arranged. Then, similarly to the normal QR code, the error correction code is arranged in the last A20 to A25, and the padding code is arranged in A10 to A19 which are vacant portions therebetween. Since A15 and A18 are located across the timing pattern, A15 is divided into A15 and A15 ', and A18 is divided into A18 and A18'.
なお、ステップS115において、図3(D) に示すように、「復号キー検査データ」に代えて、復号キーそのものを付加しても良い。これにより、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、例えば、当該QRコードリーダ等が秘匿データコードαの復号キーを持っていなくても、秘匿データコードαを復号して元の平文に戻すことができる。 In step S115, as shown in FIG. 3D, the decryption key itself may be added instead of the “decryption key check data”. Thus, when the QR code Q generated by the code generation process is decoded by a QR code reader or the like, for example, even if the QR code reader or the like does not have a decryption key for the secret data code α, the secret data The code α can be decrypted and restored to the original plaintext.
また、秘匿データコードβについても、同様に「復号キー検査データ」に代えて、復号キーそのものを付加しても良い。付加する復号キーは、秘匿データコードαを復号する復号キーと同じものを付加しても良いし、また秘匿データコードαの暗号キーとは異なった他の暗号キーで秘匿データコードβの秘匿データを暗号化した場合には、この他の暗号キーに対応する他の復号キーを付加しても良い。これにより、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、当該QRコードリーダ等が、各秘匿データコードごとに対応するそれぞれの復号キーを持っていなくても、それぞれの秘匿データコードを復号して元の平文に戻すことができる。 Similarly, the decryption key itself may be added to the secret data code β instead of the “decryption key check data”. The decryption key to be added may be the same as the decryption key for decrypting the secret data code α, or the secret data of the secret data code β may be different from the encryption key of the secret data code α. May be added with another decryption key corresponding to the other encryption key. As a result, when the QR code Q generated by the code generation process is decoded by a QR code reader or the like, the QR code reader or the like does not have a corresponding decryption key for each secret data code. Also, each secret data code can be decrypted and returned to the original plaintext.
また、ステップS113により、暗号キーがないと判断した場合であっても(S113;No)、図3(E) に示すように、暗号化していない平文データの前に、ステップS115で付加した「開始桁」や「文字数」を付加する処理ステップを、ステップS113とステップS117との間に設けても良い。これにより、コード語としてコード化される前のデータレコード中の位置関係において前後して混在する場合であっても、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際において、デコードしたデータをこの位置情報に基づいてコード化前の位置関係に配置することができる。 Even if it is determined in step S113 that there is no encryption key (S113; No), as shown in FIG. 3 (E), the unencrypted plaintext data is added in step S115. Processing steps for adding “start digit” and “number of characters” may be provided between step S113 and step S117. As a result, the QR code Q generated by the code generation process is decoded by a QR code reader or the like even when the data records are mixed in the positional relationship in the data record before being encoded as a code word. In this case, the decoded data can be arranged in the positional relationship before encoding based on the positional information.
以上説明したように、本第1実施形態に係るQRコードプリンタ10によると、MPU11により実行されるコード生成処理によって生成されるQRコードQでは、ステップS111によりコード領域の最初に終端識別コードが配置されるとともに、終端識別コードの後に、ステップS111により秘匿データコードが埋め草コードの一部または全部に代えて配置されている。つまり、本来、コード領域に配置されるべきデータコードの先頭(コード領域の最初)に終端識別コードを配置することによって、開示データコードが存在せず開示データコードの総数が零であるデータコードを生成し、終端識別コードの後に、秘匿データコードを埋め草コードの一部または全部に代えて配置する。
As described above, according to the
これにより、終端識別コードの後に配置された秘匿データコードは、一般仕様の読取装置では読み取りの対象にならないので、このような一般仕様の読取装置ではコード化されたデータがない(中身のない)空のQRコードを読み取ったように認識されるので、当該読取装置の利用者には秘匿データの存在がわからない。したがって、一般仕様の読取装置の利用者には秘匿データの存在を認識させないようにすることができる。 As a result, the secret data code arranged after the terminal identification code is not read by a general-purpose reading device, and therefore there is no encoded data (no content) in such a general-specification reading device. Since it is recognized as if an empty QR code is read, the user of the reading device does not know the existence of confidential data. Accordingly, it is possible to prevent the user of the general-purpose reading apparatus from recognizing the existence of confidential data.
よって、このような秘匿データコードを含んでいても、一般仕様の読取装置には当該秘匿データコードのデコードデータに相当するものが画面表示されないので、利用者に秘匿データの存在を認識させることがなく、当該利用者に対して不信感を与えたり、解読を試みようとする不用意な動機を与えることがない。また、当該秘匿データコードのデコードデータに相当するものが制御データ等であっても、それが画面表示されることがないので、画面表示が乱れたりもしない。 Therefore, even if such a secret data code is included, since the data corresponding to the decode data of the secret data code is not displayed on the screen in the general-purpose reading device, the user can recognize the presence of the secret data. Therefore, the user is not distrusted or inadvertently motivated to try to decipher. Further, even if control data or the like corresponding to the decoded data of the secret data code is not displayed on the screen, the screen display is not disturbed.
なお、上述した第1実施形態では、QRコードプリンタ10により、ラベルPにQRコードQを印刷する例を挙げて説明したが、本発明はこれに限られることはなく、QRコードQを視覚的に表現可能なものであればよく、例えば、図2に示すコード生成処理をパソコン本体2により実行してディスプレイ3にQRコードQを表示するように構成しても良い。この場合、コード生成処理は、コンピュータプログラムとして概念できるので、例えば、「開示するデータを表すコード語としてコード化された開示データコードの総数が、コード語を配置すべきコード領域に収容可能な容量に満たない場合、前記コード領域に配置された前記開示データコードがなすコード列の終端を示す終端識別コードをこのコード列の最後に配置するとともに、前記コード領域の空き部分にデータを表さない埋め草コードを配置する二次元コードの生成装置として、コンピュータを機能させるためのプログラムであって、前記開示データコードが存在せず前記開示データコードの総数が零であり、前記コード領域の最初に前記終端識別コードが配置されるとともに、秘匿するデータを表すコード語としてコード化された秘匿データコードを前記埋め草コードの一部または全部に代えて、前記終端識別コードの後に配置することを特徴とする二次元コードの生成プログラム。」と表現可能な技術的思想を把握できる。これにより、この二次元コードの生成プログラムにより二次元コードの生成装置として機能するコンピュータは、上述したQRコードプリンタ10のMPU11等と同様の作用および効果を奏する。
In the first embodiment described above, an example in which the QR code Q is printed on the label P by the
また、上述した第1実施形態では、QRコードプリンタ10にパソコン1を接続して当該パソコン1から印刷データを送る構成を例示して説明したが、英数字、漢字や記号等の文字データを出力可能な情報処理装置であれば、このような機能を備えたデジタルカメラや携帯電話機、あるいはハンドヘルドコンピュータやハンディターミナル等を、QRコードプリンタ10に接続する構成を採っても上述した作用および効果を得ることができる。
In the first embodiment described above, the configuration in which the
次に、QRコードリーダ20の構成を説明する。本構成に係るQRコードリーダ20は、第1実施形態で説明したQRコードプリンタ10により印刷されたQRコードQをデコード可能なQRコードリーダ20で、通常仕様のQRコード(終端識別コードの前に開示データコードが配置されているもの)もデコード可能に構成されている。なお、QRコードリーダ20によりデコード可能なQRコードQの構成は、図3および図4を参照して既に説明しているので、ここでは説明を割愛する。
Next, the configuration of the
まず、QRコードリーダ20の構成を図5を参照して説明する。なお、図5には、QRコードリーダのハードウェア構成例を示すブロック図が図示されている。 First, the configuration of the
図5に示すように、QRコードリーダ20は、主に、照明光源21、受光センサ23、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示器46等のマイコン系と、電源スイッチ41、バッテリ49等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されており、ハードウェア的には一般仕様のQRコードリーダ(読取装置)と同様に構成されている。
As shown in FIG. 5, the
光学系は、照明光源21、受光センサ23、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本構成では、受光センサ23を挟んだ両側に照明光源21が設けられており、図略のケースの読取口を介してラベルPに向けて照明光Lfを照射可能に構成されている。このラベルPには、第1実施形態で説明したQRコードQが印刷されている。
The optical system includes an
受光センサ23は、ラベルPやQRコードQに照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。受光センサ23は、結像レンズ27を介して入射する入射光をこの受光面23aで受光可能に図略のプリント配線板に実装されている。
The
結像レンズ27は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。
The
次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコンとして機能し得る制御回路40およびメモリ35と中心に構成される。
Next, a configuration outline of the microcomputer system will be described. The microcomputer system includes an
光学系の受光センサ23から出力される画像信号は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データは、メモリ35に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。
An image signal output from the
メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域等も確保可能に構成されている。またROMには、後述するデコード処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。
The
制御回路40は、QRコードリーダ20全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなり、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置と接続可能に構成されており、本構成の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等が接続されている。
The
これにより、例えば、電源スイッチ41や操作スイッチ42の監視や管理、またインジケータとして機能するLED43の点灯・消灯、ビープ音やアラーム音を発生可能なブザー44の鳴動のオンオフ、さらには読み取ったQRコードQによるコード内容を画面表示可能な液晶表示器46の画面制御や外部装置とのシリアル通信を可能にする通信インタフェース48の通信制御等を可能にしている。なお、通信インタフェース48に接続される外部装置には、当該QRコードリーダ20の上位システムに相当するホストコンピュータHST等が含まれる。
Thereby, for example, monitoring and management of the
電源系は、電源スイッチ41、バッテリ49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、バッテリ49から供給される駆動電圧の導通や遮断が制御されている。なお、バッテリ49は、所定の直流電圧を発生可能な二次電池で、例えば、リチウムイオン電池等がこれに相当する。また、バッテリ49によることなく、例えば、通信インタフェース48を介して接続されるホストコンピュータHST等の外部装置から電力供給を受ける構成を採る場合もあり、この場合には当該バッテリ49は不要となる。
The power supply system includes a
このようにQRコードリーダ20を構成することによって、例えば、電源スイッチ41がオンされて所定の自己診断処理等が正常終了し、QRコードQの読み取りが可能な状態になると、照明光Lfの発光を指示する操作スイッチ42(例えばトリガースイッチ)の入力を受け付ける。これにより、利用者がトリガースイッチを引いてオンにすることで、制御回路40が同期信号を基準に照明光源21に発光信号を出力するので、当該発光信号を受けた照明光源21は、LEDを発光させて照明光Lfを照射する。
By configuring the
すると、QRコードQに照射された照明光Lfが反射し、その反射光Lrが読取口を介して結像レンズ27に入射するため、受光センサ23の受光面23aには、QRコードQの像が結像される。これにより、QRコードQの像が受光センサ23を露光するため、上述したマイコン系によって画像処理された当該QRコードQの画像データが、メモリ35の画像データ蓄積領域を介して、次に説明するデコード処理に渡される。
Then, the illumination light Lf irradiated to the QR code Q is reflected, and the reflected light Lr enters the
ここで、デコード処理を図4,図6および図7を参照して説明する。なお、図6には、デコード処理の流れを示すフローチャートが図示されている。また図7には、図6に示す復号化処理の流れを示すフローチャートが図示されている。また、図4には、1型のQRコードの構成例を示す説明図が図示されている。
Here, the decoding process will be described with reference to FIG. 4, FIG. 6, and FIG. FIG. 6 is a flowchart showing the flow of the decoding process. FIG. 7 is a flowchart showing the flow of the decoding process shown in FIG. FIG. 4 is an explanatory diagram showing a configuration example of a
図6に示すように、デコード処理は、QRコードリーダ20の電源投入により起動する制御回路40およびメモリ35によって開始され、まずステップS201により初期設定処理が行われる。この処理は、メモリ35の作業領域や画像データを蓄える画像データ蓄積領域をクリアしたり、所定のフラグやカウンタ等をクリアする。なお、ここで説明するQRコードリーダ20は、ホストコンピュータHSTと接続されており、当該ホストコンピュータHSTから設定データとして復号キーのデータを取得するものとする。
As shown in FIG. 6, the decoding process is started by the
ステップS203では、タイマーのカウント値をクリアする処理が行われる。このステップS203でカウンタ値がクリアされるタイマーは、次のステップS205により所定時間の経過を計時するものである。 In step S203, processing for clearing the count value of the timer is performed. The timer whose counter value is cleared in step S203 measures the elapse of a predetermined time in the next step S205.
ステップS205では、先のタイマーにより所定時間が経過したか否かを判断する処理が行われる。即ち、ホストコンピュータHSTから送られてくる設定データに復号キーのデータが含まれているか否かを次のステップS209により判断する必要上、例えば、所定時間として5秒間が経過したか否かを判断し、この時間が経過するまでに、ホストコンピュータHSTから暗号化に関するデータが送られてこない場合には、所定時間の経過とともにステップS207に処理を移行する(S205;Yes)。 In step S205, processing is performed to determine whether or not a predetermined time has elapsed by the previous timer. That is, it is necessary to determine whether or not the decryption key data is included in the setting data sent from the host computer HST. For example, it is determined whether or not 5 seconds have passed as the predetermined time. If no data related to encryption is sent from the host computer HST before this time elapses, the process proceeds to step S207 as the predetermined time elapses (S205; Yes).
これに対し、所定時間が経過していない場合には(S205;No)、次のステップS209により復号キー(復号鍵)を受信したか否かを判断する処理が行われる。そして、これを受信していると判断した場合には(S209;Yes)、続くステップS211に処理を移行し、受信していると判断できない場合には(S209;No)、前述したステップS205に処理を戻して、再度、時間の経過を判断する。 On the other hand, when the predetermined time has not elapsed (S205; No), a process of determining whether or not a decryption key (decryption key) has been received in the next step S209 is performed. If it is determined that it has been received (S209; Yes), the process proceeds to the subsequent step S211. If it cannot be determined that it has been received (S209; No), the process proceeds to step S205 described above. The processing is returned and the passage of time is determined again.
そして、所定時間が経過したとステップS205により判断した場合には(S205;Yes)、ステップS207により所定のフラグに「0」をセットする。このフラグは、QRコードQの秘匿データコードを復号キーで復号するか否かを示すもので、「0」がセットされている場合には、復号キーで復号しないことを示し、「1」がセットされている場合には、復号キーで復号することを示す。このため、209により復号キーを受信していると判断した場合には(S209;Yes)、続くステップS211によりこのフラグに「1」をセットする処理が行われる。 If it is determined in step S205 that the predetermined time has elapsed (S205; Yes), “0” is set to a predetermined flag in step S207. This flag indicates whether or not the secret data code of the QR code Q is decrypted with the decryption key. When “0” is set, this flag indicates that decryption with the decryption key is not performed. When set, it indicates that decryption is performed with the decryption key. For this reason, when it is determined by 209 that the decryption key has been received (S209; Yes), a process of setting “1” to this flag is performed in the subsequent step S211.
ステップS211により所定のフラグに「1」をセットすると、続くステップ213により、画像データを取得する処理が行われる。即ち、メモリ35の画像データ蓄積領域から蓄えられている画像データを読み出す処理を行う。これにより、例えば、図4に示すようなQRコードQのコード画像が得られる。
When “1” is set in the predetermined flag in step S211, a process of acquiring image data is performed in the subsequent step 213. That is, a process of reading out image data stored from the image data storage area of the
続くステップS215では、位置検出パターンを検出する処理が行われる。即ち、QRコードQは、図4に示すように、その三隅に位置検出パターンが設けられているため、これらを検出することによって、次のステップS217によりQRコードQのコード外形を検出する。 In subsequent step S215, processing for detecting a position detection pattern is performed. That is, as shown in FIG. 4, since the QR code Q is provided with position detection patterns at its three corners, the code outline of the QR code Q is detected in the next step S217 by detecting these.
そして、ステップS219により各セルの中心座標を算出する処理を行うことによって次ステップS221により各セルの白黒を判別する。これにより、図4に示す形式情報(図4に示す斜線部分)やデータブロックを認識可能になるので、続くステップS223により、欠損等しているデータブロックがある場合には、そのブロックを誤り訂正可能であるか否かを判断する。 Then, by performing the process of calculating the center coordinates of each cell in step S219, the monochrome of each cell is determined in the next step S221. This makes it possible to recognize the format information shown in FIG. 4 (the hatched portion shown in FIG. 4) and the data block. If there is a missing data block in the subsequent step S223, the block is error-corrected. Determine whether it is possible.
そして、ステップS223により誤り訂正可能であると判断できる場合には(S223;OK)、誤り訂正をして続くステップS300により復号化処理を行う。これに対し、ステップS223により誤り訂正可能であると判断できない場合には(S223;NG)、誤り訂正できないので、ステップS213に処理を移行して再度、画像データを取得してステップS215〜S221の各処理を行う。 If it can be determined in step S223 that error correction is possible (S223; OK), error correction is performed and decoding processing is performed in subsequent step S300. On the other hand, if it cannot be determined in step S223 that the error can be corrected (S223; NG), the error cannot be corrected. Therefore, the process proceeds to step S213, and image data is acquired again, and steps S215 to S221 are performed. Perform each process.
ステップS300は、その詳細が図7に図示されているので、ここからは図7を参照して復号化処理を説明する。図7に示すように、復号化処理では、ステップS301により、まずカウンタn,Cntにそれぞれ0(零)をセットする処理が行われる。カウンタnは、本復号化処理において、QRコードQを構成するデータコードの順番を示す変数として機能する。またカウンタCntは、通常仕様のQRコード等に含まれる開示データコードの数を示す変数として機能する。 Details of step S300 are shown in FIG. 7, and the decoding process will be described below with reference to FIG. As shown in FIG. 7, in the decoding process, first, a process of setting 0 (zero) to the counters n and Cnt is performed in step S301. The counter n functions as a variable indicating the order of data codes constituting the QR code Q in the present decoding process. The counter Cnt functions as a variable indicating the number of disclosed data codes included in a normal specification QR code or the like.
ステップS303では、カウンタnが指すn番目のデータコードを取得する処理が行われる。そして、続くステップS305では、ステップS303により取得されたn番目のデータコードが、終端識別コードであるか否かを判断する処理が行われる。これにより、当該データコードが終端識別コードであると判断した場合には(S305;Yes)、読み取ったQRコードは前述した第1実施形態により生成されたQRコードQであるか、または終端識別コードよりも前に配置される通常のデータコードはこれ以上、当該QRコードには含まれていないことになるので、ステップS315に処理を移行する。 In step S303, processing for obtaining the nth data code pointed to by the counter n is performed. Then, in the subsequent step S305, a process for determining whether or not the nth data code acquired in step S303 is a terminal identification code is performed. As a result, when it is determined that the data code is the termination identification code (S305; Yes), the read QR code is the QR code Q generated according to the first embodiment described above, or the termination identification code. Since the normal data code arranged before is no longer included in the QR code, the process proceeds to step S315.
これに対し、当該データコードが終端識別コードであると判断できない場合には(S305;No)、読み取ったQRコードは前述した第1実施形態により生成されたQRコードQではなく、通常仕様のQRコードであり、終端識別コードよりも前にまだ通常のデータコードが存在することになるので、続くステップS307に処理を移行して次のデータコード、つまり(n+1)番目のデータコードをコード数iを取得する。これは、第1実施形態で図3(C) を参照して説明したように、データコードの2文字目相当の位置には、文字数が格納されていることに基づくもので、その詳細は、JISの基本仕様(JIS X 0510:2004)の「8.4データの符号化」に記載されている。 On the other hand, when it is not possible to determine that the data code is a terminal identification code (S305; No), the read QR code is not the QR code Q generated by the first embodiment described above, but the normal specification QR. Since a normal data code still exists before the terminal identification code, the process proceeds to the subsequent step S307, and the next data code, that is, the (n + 1) th data code is replaced with the code number i. To get. As described with reference to FIG. 3C in the first embodiment, this is based on the fact that the number of characters is stored at the position corresponding to the second character of the data code. It is described in “8.4 Data Encoding” in JIS Basic Specification (JIS X 0510: 2004).
ステップS307によりコード数iを取得すると、続くステップS309では、この文字数(i)分だけデータコードを取得する処理が行われ、さらにステップS311により当該データコード、つまり開示データコード(開示するデータを表すコード語としてコード化されたデータコード)を復号(デコード)する処理が行われる。 When the number of codes i is acquired in step S307, in the subsequent step S309, a process for acquiring data codes for the number of characters (i) is performed. A process of decoding (decoding) a data code encoded as a code word is performed.
ステップS311による復号処理が終わると、ステップS313により、カウンタnが次のデータコードを指すように「n+i+1」をカウンタnに、またカウンタCntが開示データコードの数を1だけ加算するように「Cnt+1」をCntに、それぞれ設定する処理が行われた後、再びステップS303に処理を戻してn番目のデータコードを取得する処理が行われる。 When the decoding process in step S311 is completed, in step S313, “n + i + 1” is added to the counter n so that the counter n indicates the next data code, and “Cnt + 1” is added so that the counter Cnt adds 1 to the number of disclosed data codes. "Is set to Cnt, and then the process returns to step S303 to acquire the nth data code.
このように、ステップS303〜S313では、終端識別コードの前方に配置されて元来デコードされる通常のデータコード(第1のデータコード、開示データコード)を取得してデコードする処理が行われる。 As described above, in steps S303 to S313, a process of obtaining and decoding a normal data code (first data code, disclosed data code) that is arranged in front of the terminal identification code and originally decoded is performed.
ステップS305により、取得したn番目のデータコードが終端識別コードであると判断すると(S305;Yes)、ステップS314により、カウンタCntの値が0(零)を超えているか否かを判断する処理が行われる。 If it is determined in step S305 that the acquired n-th data code is a termination identification code (S305; Yes), a process of determining whether or not the value of the counter Cnt exceeds 0 (zero) in step S314. Done.
即ち、開示データコードの数をカウントしているカウンタCntの値が0(零)を超えている場合には(S343;Yes)、読み取ったQRコードには開示データコードが含まれていることになるので、ステップS315〜S341による秘匿データコードに関する各処理を行うことなく、ステップS343に処理を移行する。これにより、終端識別コードの前には、開示データコード(第1のデータコード)が配置されているか否かを判断することができるので、このステップS314を実行する制御回路40等は、「第1のデータコード判断手段」に相当し得るものである。
That is, when the value of the counter Cnt that counts the number of disclosed data codes exceeds 0 (zero) (S343; Yes), the read data code includes the disclosed data code. Therefore, the process proceeds to step S343 without performing each process related to the secret data code in steps S315 to S341. Thus, before the end identification code, it is possible to disclose data code (first data code) is equal to or is arranged, the
これに対し、カウンタCntの値が0(零)を超えていない場合には(S343;No)、つまりカウンタCntの値が0(零)である場合には、読み取ったQRコードには開示データコードが含まれていないことになるので、その次のデータコードを取得するため、ステップS315によりカウンタnにn+1を設定する処理を行った後、ステップS317によりn番目のデータコードを取得する。 On the other hand, when the value of the counter Cnt does not exceed 0 (zero) (S343; No), that is, when the value of the counter Cnt is 0 (zero), the read QR code contains disclosed data. Since the code is not included, in order to acquire the next data code, the process of setting n + 1 to the counter n is performed in step S315, and then the nth data code is acquired in step S317.
続くステップS319では、ステップS317により取得されたn番目のデータコードが、秘匿識別コードであるか否かを判断する処理が行われる。これにより、終端識別コードの後には、秘匿データコード(第2のデータコード)が配置されているか否かを判断することができるので、このステップS319を実行する制御回路40等は、「第2のデータコード判断手段」に相当し得るものである。
In subsequent step S319, processing for determining whether or not the n-th data code acquired in step S317 is a secret identification code is performed. Thus, after the end identification code, it can be determined whether the secret data code (second data codes) are arranged, the
そして、当該データコードが秘匿識別コードであると判断した場合には(S319;Yes)、秘匿識別コードの直後には、秘匿データコードが存在することになるので、続くステップS321に処理を移行して次のデータコード、つまり(n+1)番目のデータコードをコード数jを取得する。これも、ステップS309と同様に、データコードの2文字目相当の位置には、文字数が格納されていることに基づくものである。 If it is determined that the data code is a confidential identification code (S319; Yes), since the confidential data code exists immediately after the confidential identification code, the process proceeds to the subsequent step S321. The code number j is acquired for the next data code, that is, the (n + 1) th data code. This is also based on the fact that the number of characters is stored at the position corresponding to the second character of the data code, as in step S309.
なお、ステップS319により秘匿識別コードが配置されていると判断した場合には、例えば、ホストコンピュータHSTに対して当該QRコードQには、秘匿識別コードが配置されている旨を通知するように構成しても良い。これにより、ホストコンピュータHSTでは、終端識別コードよりも後方のデータコードが秘匿データコードである旨を把握することができる。また、本来、埋め草コードしか配置されない終端識別コードの後のコード領域(コード領域の空き部分)に、埋め草コード以外のもので秘匿データコードではないもの(例えばデータ化けにより埋め草コードに該当しなくなったもの)が配置されている場合には、秘匿データコードである旨の情報がホストコンピュータHSTに対して出力されないので、秘匿データコード以外のものをデコードすることで生じ得る誤動作を防止することができる。 When it is determined in step S319 that a secret identification code is arranged, for example, the host computer HST is notified that the secret identification code is arranged in the QR code Q. You may do it. As a result, the host computer HST can recognize that the data code behind the terminal identification code is a secret data code. In addition, in the code area after the termination identification code (the empty area of the code area) where only the padding code is originally placed, it is other than the padding code and is not a secret data code (for example, it corresponds to the padding code due to data corruption) In this case, since the information indicating that the data is a secret data code is not output to the host computer HST, a malfunction that may be caused by decoding something other than the secret data code is prevented. be able to.
これに対し、当該データコードが秘匿識別コードであると判断できない場合には(S319;No)、秘匿識別コードよりも後には、これ以上、秘匿データコードが当該QRコードQには含まれていないことになるので、本復号化処理を終了して図6に示すステップS300を終えてデコード処理を終了する。 On the other hand, when it cannot be determined that the data code is a confidential identification code (S319; No), no more confidential data code is included in the QR code Q after the confidential identification code. Therefore, this decoding process is finished, step S300 shown in FIG. 6 is finished, and the decoding process is finished.
ステップS321によりコード数jを取得すると、続くステップS323では、この文字数(j)分だけデータコードを取得する処理が行われ、さらにステップS325によりカウンタnが次のデータコード、つまり秘匿データコードを指すように「n+j+2」をカウンタnに設定する処理が行われた後、ステップS327によりn番目の復号キー検査データ(鍵特定情報)を取得する処理が行われる。 When the code number j is obtained in step S321, in the subsequent step S323, a process for obtaining the data code for the number of characters (j) is performed, and in step S325, the counter n indicates the next data code, that is, the secret data code. As described above, after the process of setting “n + j + 2” to the counter n is performed, a process of acquiring n-th decryption key check data (key specifying information) is performed in step S327.
続くステップS329では、前述した所定のフラグに「1」がセットされているか否か、つまりQRコードQの秘匿データコードを復号キーで復号するか否かを判断する処理が行われる。そして、当該フラグに「1」がセットされていない場合には(S329;No)、復号キーで復号する必要がないため、ステップS331,333の各処理をスキップしてステップS335に処理を移行する。 In the subsequent step S329, a process is performed to determine whether or not “1” is set in the above-described predetermined flag, that is, whether or not the secret data code of the QR code Q is decrypted with the decryption key. If “1” is not set in the flag (S329; No), it is not necessary to perform decryption with the decryption key. Therefore, the processes of steps S331 and 333 are skipped and the process proceeds to step S335. .
これに対し、所定のフラグに「1」がセットされている場合には(S329;Yes)、復号キーで復号する必要があるため、先のステップS327により取得した復号キー検査データに基づいて、ステップS209によりホストコンピュータHSTから受信した復号キーがこのn番目の秘匿データコードの暗号化データを解読する鍵として適合しているか否かの判断をステップS331により行う。 On the other hand, when “1” is set in the predetermined flag (S329; Yes), since it is necessary to decrypt with the decryption key, based on the decryption key check data acquired in the previous step S327, In step S331, it is determined whether or not the decryption key received from the host computer HST in step S209 is suitable as a key for decrypting the encrypted data of the nth secret data code.
そして、ステップS331に当該復号キーが適合していると判断した場合には(S331;Yes)、続くステップS333により暗号化データを解読する。なお、ここでの暗号化は、第1実施形態で説明した公知の視覚復号型暗号技術(視覚復号型秘密分散法)を用いたもので、これにより、秘匿データコードの暗号化データがこのような視覚復号型暗号技術により暗号化されている場合でも、復号して元の平文に戻すことができる。なお、このステップS333を実行する制御回路40等は、「復号手段」に相当し得るものである。
If it is determined that the decryption key is suitable for step S331 (S331; Yes), the encrypted data is decrypted in the subsequent step S333. The encryption here uses the well-known visual decryption type encryption technique (visual decryption type secret sharing method) described in the first embodiment, so that the encrypted data of the secret data code is like this. Even if it is encrypted by a visual decryption type encryption technique, it can be decrypted and returned to the original plaintext. The
これに対して、ステップS331に当該復号キーが適合していると判断できない場合には(S331;No)、当該n番目の秘匿データコードを解読することなく、ステップS333をスキップしてステップS335に処理を移行する。これにより、QRコードリーダ20が有する復号キーが当該n番目の秘匿データコードを解読できる復号キーでない場合には、当該n番目の秘匿データコードは解読も復号されないので、不要な復号処理を抑制することができる。なお、このステップS331を実行する制御回路40等は、「鍵適合判断手段」に相当し得るものである。
On the other hand, if it cannot be determined that the decryption key is compatible with step S331 (S331; No), step S333 is skipped without decrypting the n-th secret data code, and the process proceeds to step S335. Migrate processing. As a result, if the decryption key of the
ステップS335では、秘匿データコードを復号する処理が行われる。即ち、その前のステップS333により暗号化データを解読することができているか、または元から暗号化されていないので、平文相当の秘匿データコードを復号(デコード)する。 In step S335, a process for decoding the secret data code is performed. That is, since the encrypted data can be decrypted in the previous step S333 or is not originally encrypted, the secret data code corresponding to the plaintext is decrypted (decoded).
ステップS335による復号処理が終わると、ステップS337により、カウンタnが次のデータコードを指すように「n+1」をカウンタnに設定する処理が行われた後、続くステップS339により、n番目のデータコードを取得する処理が行われる。 When the decoding process in step S335 is completed, a process of setting “n + 1” to the counter n is performed in step S337 so that the counter n indicates the next data code. Then, in the subsequent step S339, the nth data code is set. The process of acquiring is performed.
そして、ステップS341により、ステップS339で取得したn番目のデータコードが埋め草コードであるか否かを判断する処理が行われる。これにより、もし当該n番目のデータコードが埋め草コードである場合には(S341;Yes)、これ以上、当該QRコードQには秘匿データコードが含まれていないことになるので、続くステップS343に処理を移行する。 In step S341, processing is performed to determine whether the nth data code acquired in step S339 is a padding code. Thereby, if the nth data code is a padding code (S341; Yes), since the QR code Q does not contain any more secret data code, the following step S343 is performed. The process is transferred to.
これに対し、ステップS341により当該n番目のデータコードが埋め草コードであると判断されない場合には(S341;No)、当該n番目のデータコードは、秘匿データコードであるので、ステップS321に処理を移行して、再び(n+1)番目のデータコードをコード数jを取得することで、前述と同様の処理を行う。 On the other hand, if it is not determined in step S341 that the n-th data code is a padding code (S341; No), the n-th data code is a secret data code, so the process proceeds to step S321. , And the number n of the (n + 1) th data code is acquired again to perform the same processing as described above.
このように、ステップS317,S321〜S327,S333,S335では、終端識別コードの後方に配置されて、本来はデコードされないデータコード(第2のデータコード、秘匿データコード)を取得してデコードする処理が行われる。このため、これらの各ステップを実行する制御回路40等は、「デコード手段」に相当し得る。
As described above, in steps S317, S321 to S327, S333, and S335, processing for obtaining and decoding the data code (second data code, secret data code) that is arranged behind the terminal identification code and is not originally decoded. Is done. Therefore, the
ステップS343では、カウンタCntの値が0(零)を超えているか否かを判断する処理が行われる。即ち、開示データコードの数をカウントしているカウンタCntの値が0(零)を超えている場合には(S343;Yes)、読み取ったQRコードには開示データコードが含まれていることになるので、ステップS311によりデコードした開示データを次ステップS345によって液晶表示器46に出力する。
In step S343, a process of determining whether or not the value of the counter Cnt exceeds 0 (zero) is performed. That is, when the value of the counter Cnt that counts the number of disclosed data codes exceeds 0 (zero) (S343; Yes), the read data code includes the disclosed data code. Therefore, the disclosed data decoded in step S311 is output to the
これに対し、開示データコードの数をカウントしているカウンタCntの値が0(零)を超えていない場合、つまり0(零)である場合には(S343;No)、読み取ったQRコードには開示データコードが含まれていないので、続くステップS345による出力処理をスキップしてその次のステップS347に処理を移行する。 On the other hand, when the value of the counter Cnt counting the number of disclosed data codes does not exceed 0 (zero), that is, 0 (zero) (S343; No), the read QR code is changed to Since no disclosure data code is included, the output process in the subsequent step S345 is skipped, and the process proceeds to the next step S347.
ステップS347では、ホストコンピュータHSTに開示データや秘匿データを出力する処理が行われる。即ち、読み取ったQRコードに開示データコードが含まれていた場合にはそれをデコードした開示データを、また読み取ったQRコードに秘匿データコードが含まれていた場合にはそれをデコードした秘匿データを、それぞれホストコンピュータHSTに出力する。なお、QRコードリーダ20にホストコンピュータHSTが接続されていない場合には、本ステップS347では出力処理を行うことなく、次のステップS349に処理を移行する。
In step S347, processing for outputting disclosed data and secret data to the host computer HST is performed. That is, when the disclosed data code is included in the read QR code, the disclosed data is decoded, and when the read QR code contains the confidential data code, the confidential data obtained by decoding the disclosed data code is displayed. , Respectively, to the host computer HST. If the host computer HST is not connected to the
続くステップS349では、ブザー44を鳴動させる処理およびLED43を点灯させる処理が行われる。即ち、当該QRコードリーダ20を操作する操作者に対して読み取ったQRコードに含まれる開示データコードや秘匿データコードをデコードした旨を告知する。なお、本実施形態では、ステップS331による判断処理によって、復号キーが適合していると判断できない場合であっても(S331;No)、QRコードリーダ20をデコードできた旨をブザー44やLED43により告知する。本ステップS349による処理が完了すると、本復号化処理を終了して図6に示すステップS300を終えるので、一連のデコード処理を終了する。
In the subsequent step S349, a process for sounding the
これにより、復号キーが復号できる鍵でない場合であっても、このように操作者には読み取りが完了した旨を知らせるので、当該QRコードに復号できない秘匿データが含まれていることを操作者に知られ難くすることができる。また、復号キーが合わないために、復号できないQRコードを何度も読み取るとった操作者による無駄な操作を防止することができる。したがって、当該操作者に当該QRコードの解読を試みようとする不用意な動機を与える可能性を低くすることからセキュリティの強度を高めることができ、また操作性も向上することができる。 As a result, even if the decryption key is not a decryptable key, the operator is informed that the reading has been completed in this way, and therefore the operator is informed that the QR code contains confidential data that cannot be decrypted. It can be made difficult to know. In addition, since the decryption key does not match, it is possible to prevent a useless operation by an operator who reads a QR code that cannot be decrypted many times. Therefore, since the possibility of giving the operator an inadvertent motive to try to decode the QR code is reduced, the strength of security can be increased, and the operability can be improved.
以上説明したように、本構成に係るQRコードリーダ20によると、ステップS314により、終端識別コードよりも前に開示データコード(第1のデータコード)が配置されているか否かを判断し、ステップS319により、終端識別コードの後に秘匿データコード(第2のデータコード)が配置されているか否かを判断する。そして、ステップS314により開示データコードが配置されていないと判断し(S343;No)、かつ、ステップS319により秘匿データコードが配置されていると判断した場合(S319;Yes)、ステップS321〜S341により秘匿データコードをデコードする。
As described above, according to the
これにより、本来、データ領域に配置されているはずの開示データコードが存在せず、埋め草コードしか配置されない終端識別コードの後のコード領域(コード領域の空き部分)に秘匿データコードが配置されている場合には、この秘匿データコードをデコードすることができる。したがって、コード語を配置すべきコード領域の空き部分に存在するデータコードをデコードすることができる。つまり、コード領域の最初に終端識別コードが配置され、その終端識別コードの後に秘匿データコードが配置されているQRコードQでもデコードすることができる。 As a result, there is no disclosed data code that should originally be placed in the data area, and the secret data code is placed in the code area (empty part of the code area) after the termination identification code where only the padding code is placed. If so, the secret data code can be decoded. Therefore, it is possible to decode the data code existing in the empty part of the code area where the code word is to be arranged. That is, it is possible to decode even a QR code Q in which a termination identification code is arranged at the beginning of the code area and a secret data code is arranged after the termination identification code.
つまり、第1実施形態で説明したQRコードプリンタ10で印刷したQRコードQのように、コード領域の最初(コード領域に配置されるべきデータコードの先頭)に終端識別コードが配置され、その終端識別コードの後に秘匿データコードが配置されていても、このようなQRコードQをデコードすることができる。
In other words, like the QR code Q printed by the
なお、上述したデコード処理では、ステップS327によりn番目の復号キー検査データを取得するように構成したが、例えば、第1実施形態で図3(D) を参照して説明したように復号キーそのものが秘匿データコードに付加されている場合には、このステップS327に代えて、n番目の復号キーを取得するように構成しても良い。これにより、秘匿データコードの復号キー(復号できる鍵)を当該QRコードリーダ20が持っていなくても、当該秘匿データコードを復号して元の平文に戻すことができる。この場合、「n番目の復号キーを取得する」処理を実行する制御回路40等は、「鍵分離手段」に相当し得る。
In the decoding process described above, the nth decryption key check data is obtained in step S327. For example, as described with reference to FIG. 3D in the first embodiment, the decryption key itself is used. May be added to the secret data code, the n-th decryption key may be obtained instead of step S327. Thus, even if the
また、各秘匿データコードごとに異なった暗号キーで暗号化されている場合であっても、各秘匿データコードについてそれぞれの復号キーが付加されているときには、ステップS327に代えて、n番目の復号キーを取得するように構成することで、秘匿データコードの復号キーを当該QRコードリーダ20が持っていなくても、それぞれの秘匿データコードを復号して元の平文に戻すことができる。
Even if each encrypted data code is encrypted with a different encryption key, if each decryption key is added to each encrypted data code, the nth decryption is performed instead of step S327. By configuring so as to acquire the key, each secret data code can be decrypted and returned to the original plaintext even if the
さらに、上述したデコード処理では、ステップS327によりn番目の復号キー検査データを取得するように構成したが、例えば、第1実施形態で図3(D) を参照して説明したように位置情報としての「開始桁」が秘匿データコードに付加されている場合には、このステップS329に代えて、秘匿データコードから「開始桁」を分離してこの分離された「開始桁」に基づいて秘匿データコードを復号(デコード)した秘匿データをコード化される前のデータレコード中の位置関係に配置するように構成しても良い。これにより、コード語としてコード化される前のデータレコード中の位置関係において前後して混在する場合であっても、デコードしたデータを、この位置情報に基づいてコード化前の位置関係に配置することができる。 Furthermore, in the decoding process described above, the n-th decryption key check data is acquired in step S327. For example, as described with reference to FIG. If the “start digit” is added to the secret data code, instead of this step S329, the “start digit” is separated from the secret data code, and the secret data is based on the separated “start digit”. The secret data obtained by decoding (decoding) the code may be arranged in a positional relationship in the data record before being encoded. As a result, even if the positional relationship in the data record before being coded as a code word is mixed before and after, the decoded data is arranged in the positional relationship before coding based on this positional information. be able to.
また、上述したデコード処理では、ステップS314により開示データコードの有無を判断し、開示データが存在する場合には(S343;Yes)、ステップS315〜S341による秘匿データコードに関する各処理を行うことなく、デコードした開示データをステップS345により表示するように構成したが、このようなステップS314による判断処理を行うことなく、ステップS305から直接、ステップS315に処理を移行するように構成しても良い。これにより、開示データが存在する場合にも、ステップS315〜S341による秘匿データコードに関する各処理を行うため、開示データコードおよび秘匿データコードの双方も含むQRコードQであっても、これらのいずれもデコードすることができる。 Further, in the decoding process described above, the presence or absence of the disclosed data code is determined in step S314, and when the disclosed data exists (S343; Yes), without performing each process related to the secret data code in steps S315 to S341, Although the decoded disclosure data is configured to be displayed in step S345, the processing may be directly shifted from step S305 to step S315 without performing the determination processing in step S314. As a result, even when there is disclosed data, since each process related to the secret data code in steps S315 to S341 is performed, both the QR code Q including both the disclosed data code and the secret data code are included. Can be decoded.
1…パソコン
10…QRコードプリンタ
11…MPU
12…メモリ
20…QRコードリーダ(二次元コードの読取装置)
35…メモリ(第1のデータコード判断手段、第2のデータコード判断手段、デコード手段、秘匿識別コード判断手段、秘匿情報出力手段、復号手段、鍵適合判断手段、鍵分離手段)
40…制御回路(第1のデータコード判断手段、第2のデータコード判断手段、デコード手段、秘匿識別コード判断手段、秘匿情報出力手段、復号手段、鍵適合判断手段、鍵分離手段)
HST…ホストコンピュータ
P…ラベル
Q…QRコード(二次元コード)
1 ...
12 ...
35. Memory (first data code judging means, second data code judging means, decoding means, secret identification code judging means, secret information output means, decoding means, key matching judgment means, key separating means)
40. Control circuit (first data code judging means, second data code judging means, decoding means, secret identification code judging means, secret information output means, decrypting means, key matching judgment means, key separating means)
HST ... Host computer P ... Label Q ... QR code (two-dimensional code)
Claims (2)
前記開示データコードが存在せず前記開示データコードの総数が零であり、前記コード領域の最初に前記終端識別コードが配置されるとともに、 The disclosure data code does not exist, the total number of the disclosure data codes is zero, the termination identification code is arranged at the beginning of the code area, and
秘匿するデータを表すコード語としてコード化された秘匿データコードを前記埋め草コードの一部または全部に代えて、前記終端識別コードの後に配置することを特徴とする二次元コード。 A two-dimensional code characterized in that a secret data code encoded as a code word representing data to be concealed is arranged after the terminal identification code instead of a part or all of the padding code.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012026478A JP5196046B2 (en) | 2012-02-09 | 2012-02-09 | Two-dimensional code generating program and two-dimensional code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012026478A JP5196046B2 (en) | 2012-02-09 | 2012-02-09 | Two-dimensional code generating program and two-dimensional code |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007142240A Division JP4924206B2 (en) | 2007-05-29 | 2007-05-29 | Two-dimensional code generation method and reader |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012089177A true JP2012089177A (en) | 2012-05-10 |
JP5196046B2 JP5196046B2 (en) | 2013-05-15 |
Family
ID=46260648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012026478A Active JP5196046B2 (en) | 2012-02-09 | 2012-02-09 | Two-dimensional code generating program and two-dimensional code |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5196046B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014203380A (en) * | 2013-04-09 | 2014-10-27 | 国立大学法人 鹿児島大学 | Two-dimensional code, two-dimensional code generation method, two-dimensional code generation device, program and recording medium |
CN104573776A (en) * | 2013-10-12 | 2015-04-29 | 北京云码动力信息技术有限公司 | Two-dimension code of break angle and implementing method thereof |
JP5827738B1 (en) * | 2014-10-15 | 2015-12-02 | 株式会社トッパンTdkレーベル | Two-dimensional code generation method, two-dimensional code generation device, program, two-dimensional code, two-dimensional code reading method, and two-dimensional code reading device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004147006A (en) * | 2002-10-23 | 2004-05-20 | Sharp Corp | Information transmitting method and portable terminal |
JP2006166388A (en) * | 2004-12-06 | 2006-06-22 | Masayuki Tonai | Method of canceling boundary by anteriorly disposing blank bit string |
JP2007241327A (en) * | 2006-03-03 | 2007-09-20 | Namco Bandai Games Inc | Program, information storage medium, two-dimensional code generation system, image generation system and two-dimensional code |
-
2012
- 2012-02-09 JP JP2012026478A patent/JP5196046B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004147006A (en) * | 2002-10-23 | 2004-05-20 | Sharp Corp | Information transmitting method and portable terminal |
JP2006166388A (en) * | 2004-12-06 | 2006-06-22 | Masayuki Tonai | Method of canceling boundary by anteriorly disposing blank bit string |
JP2007241327A (en) * | 2006-03-03 | 2007-09-20 | Namco Bandai Games Inc | Program, information storage medium, two-dimensional code generation system, image generation system and two-dimensional code |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014203380A (en) * | 2013-04-09 | 2014-10-27 | 国立大学法人 鹿児島大学 | Two-dimensional code, two-dimensional code generation method, two-dimensional code generation device, program and recording medium |
CN104573776A (en) * | 2013-10-12 | 2015-04-29 | 北京云码动力信息技术有限公司 | Two-dimension code of break angle and implementing method thereof |
JP5827738B1 (en) * | 2014-10-15 | 2015-12-02 | 株式会社トッパンTdkレーベル | Two-dimensional code generation method, two-dimensional code generation device, program, two-dimensional code, two-dimensional code reading method, and two-dimensional code reading device |
WO2016059822A1 (en) * | 2014-10-15 | 2016-04-21 | 株式会社トッパンTdkレーベル | Two-dimensional code generating method, two-dimensional code generating device, program, two-dimensional code, two-dimensional code reading method, and two-dimensional code reading device |
US10108834B2 (en) | 2014-10-15 | 2018-10-23 | Toppan Tdk Label Co., Ltd. | Method and device for generating two-dimensional barcode, program, two-dimensional barcode, and method and device for reading two-dimensional barcode |
Also Published As
Publication number | Publication date |
---|---|
JP5196046B2 (en) | 2013-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4924206B2 (en) | Two-dimensional code generation method and reader | |
JP4924468B2 (en) | Two-dimensional code generation method and reader | |
US8532299B2 (en) | Method for producing two-dimensional code and reader for reading the two-dimensional code | |
JP5023949B2 (en) | Two-dimensional code and its reading device | |
JP6136808B2 (en) | Information code generation method, information code, information code reader, and information code utilization system | |
JP5070971B2 (en) | Delivery management system | |
JP5196046B2 (en) | Two-dimensional code generating program and two-dimensional code | |
JP2007206762A (en) | Communication method and communication device using two-dimensional code | |
JP2007265354A (en) | Method for displaying two-dimensional code, qr code, display medium, program and two-dimensional code reader | |
JP4951743B2 (en) | Optical information reader and optical information reading system | |
JP2006224550A5 (en) | ||
JP5196045B2 (en) | Printer for printing two-dimensional code, display device for displaying two-dimensional code, and system | |
EP2000950B1 (en) | Method for producing two-dimensional code and reader for reading the two-dimensional code | |
JP5505131B2 (en) | IC card reading system and operation management system | |
JP2010146461A (en) | Reading device for bar code symbol | |
JP6136688B2 (en) | Information code utilization system and information code reader | |
JP5724721B2 (en) | Optical information reader | |
JP6265288B2 (en) | Information code generation method, information code, information code reader, and information code utilization system | |
JP2020086893A (en) | Two-dimensional code evaluation system and method | |
JP2009187260A (en) | Digital pen system | |
JP2020035057A (en) | Information code, information code generation method, information code generation device, and information code read system | |
JP2015194811A (en) | Information code, information code reading device, and information code reading system | |
JP2022015837A (en) | Two-dimensional code generation method, two-dimensional code, and two-dimensional code reader | |
JP2010132230A (en) | Information notification system using indicator, indicator device, and notification device | |
JP2014049020A (en) | Optical information reading device and optical information reading system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120224 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130121 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160215 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5196046 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |