(57)【要約】  ２次元バーコードの生成方法及び装置、２次元バーコードの識別方法及び装置、電子機器及び記憶媒体に関する。該方法は、入力情報に基づいてデータコードワードシーケンスを生成するステップ（Ｓ１１０）と、前記データコードワードシーケンスに対して暗号化処理を行うことで、暗号化コードワードシーケンスを生成するステップ（Ｓ１２０）と、誤り訂正ブロックの数を決定するステップ（Ｓ１３０）と、前記誤り訂正ブロックの数に対応する構築方式により、前記データコードワードシーケンス及び前記暗号化コードワードシーケンスから２次元バーコードを生成するステップ（Ｓ１４０）とを含む。
2021513141.tif 000002
【特許請求の範囲】
【請求項１】
入力情報に基づいてデータコードワードシーケンスを生成するステップと、
前記データコードワードシーケンスに対して暗号化処理を行うことで、暗号化コードワードシーケンスを生成するステップと、
誤り訂正ブロックの数を決定するステップと、
前記誤り訂正ブロックの数に対応する構築方式により、前記データコードワードシーケンス及び前記暗号化コードワードシーケンスから２次元バーコードを生成するステップと、を含む、２次元バーコードの生成方法。
【請求項２】
前記データコードワードシーケンスを暗号化することで、前記暗号化コードワードシーケンスを生成するステップは、
秘密鍵管理システムに基づいて前記データコードワードシーケンスに対応する秘密鍵を生成するステップと、
前記秘密鍵を使用して、暗号化アルゴリズムに基づいて前記データコードワードシーケンスを暗号化するステップと、
暗号化された前記データコードワードシーケンスを、予め設定された符号化アルゴリズムに従って、前記暗号化コードワードシーケンスに変換するステップと、を含む、ことを特徴とする請求項１に記載の方法。
【請求項３】
前記誤り訂正ブロックの数を決定するステップは、
前記データコードワードシーケンスの長さ及び誤り訂正レベルを取得するステップと、
前記データコードワードシーケンスの長さ及び前記誤り訂正レベルに基づいて、予め設定された誤り訂正特性テーブルエントリで対応する誤り訂正ブロックの数を検索するステップと、を含む、ことを特徴とする請求項１に記載の方法。
【請求項４】
前記誤り訂正ブロックの数に対応する構築方式により、前記データコードワードシーケンス及び前記暗号化コードワードシーケンスから２次元バーコードを生成するステップは、
前記誤り訂正ブロックの数が予め設定された閾値よりも大きいか否かを判断するステップと、
前記誤り訂正ブロックの数が予め設定された閾値よりも大きい場合、予め設定された誤り訂正特性テーブルエントリに基づいて対応する誤り訂正ブロックを検索し、前記暗号化コードワードシーケンスを前記対応する誤り訂正ブロックに埋め込むステップと、
前記誤り訂正ブロックの数が予め設定された閾値以下である場合、前記暗号化コードワードシーケンスを、前記２次元バーコードを構成する最後のデータコードワードブロックに埋め込むステップと、を含む、ことを特徴とする請求項１に記載の方法。
【請求項５】
暗号化された２次元バーコードを読み取って解析するステップと、
誤り訂正ブロックの数を取得するステップと、
誤り訂正ブロックの数に対応するデータ復元方式により、前記２次元バーコードのデータコードワードシーケンス及び暗号化コードワードシーケンスを復元するステップと、
前記暗号化コードワードシーケンスに対してセキュリティチェックを行い、前記暗号化コードワードシーケンスがセキュリティチェックに合格すると、入力情報を取得するステップと、を含む、２次元バーコードの識別方法。
【請求項６】
前記誤り訂正ブロックの数に対応するデータ復元方式により前記２次元バーコードのデータコードワードシーケンス及び暗号化コードワードシーケンスを復元するステップは、
前記誤り訂正ブロックの数が予め設定された閾値よりも大きいか否かを判断するステップと、
前記誤り訂正ブロックの数が予め設定された閾値よりも大きい場合、予め設定された誤り訂正特性テーブルエントリに基づいて対応する誤り訂正ブロックを検索し、復号アルゴリズムを通じて前記対応する誤り訂正ブロック内の暗号化コードワードシーケンスを取得するステップと、
前記誤り訂正ブロックの数が予め設定された閾値以下である場合、復号アルゴリズムを通じて前記２次元バーコードを構成する最後のデータコードワードブロック内の前記暗号化コードワードシーケンスを取得するステップと、を含む、ことを特徴とする請求項５に記載の方法。
【請求項７】
入力情報に基づいてデータコードワードシーケンスを生成するためのデータコードワード生成モジュールと、
前記データコードワードシーケンスに対して暗号化処理を行うことで、暗号化コードワードシーケンスを生成するための暗号化コードワード生成モジュールと、
誤り訂正ブロックの数を決定するための誤り訂正コードブロック決定モジュールと、
前記誤り訂正ブロックの数に対応する構築方式により、前記データコードワードシーケンス及び前記暗号化コードワードシーケンスから２次元バーコードを生成するための２次元バーコード情報生成モジュールと、を備える、２次元バーコード生成装置。
【請求項８】
暗号化された２次元バーコードを読み取って解析するための２次元バーコード情報読み取りモジュールと、
誤り訂正ブロックの数を決定するための誤り訂正コードブロック決定モジュールと、
誤り訂正ブロックの数に対応するデータ復元方式により、前記２次元バーコードのデータコードワードシーケンス及び暗号化コードワードシーケンスを復元するためのコードワード復元モジュールと、
前記暗号化コードワードシーケンスに対してセキュリティチェックを行い、前記暗号化コードワードシーケンスがセキュリティチェックに合格すると、入力情報を取得するための入力情報取得モジュールと、を備える、２次元バーコードの識別装置。
【請求項９】
プロセッサと、
機械読み取り可能な命令が格納されている記憶媒体と、を備え、
前記機械読み取り可能な命令が前記プロセッサにより実行されると、請求項１〜６のいずれか１項に記載の方法を実現する電子機器。
【請求項１０】
コンピュータプログラムが格納されているコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜６のいずれか１項に記載の方法を実現するコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連出願の相互参照＞
本特許は、２０１８年２月７日に提出された、出願番号が２０１８１０１２３４１６．０であり、発明名称が「２次元バーコードの生成方法及び装置、２次元バーコードの識別方法及び装置」である中国特許出願の優先権を主張し、その出願の全体が引用される方式で本願に組み込まれる。
【０００２】
本開示は、コンピュータの技術分野に関し、具体的には、２次元バーコードの生成及び識別に関する。
【背景技術】
【０００３】
インターネット技術や通信技術の発展に伴い、２次元バーコードは、簡単さ、利便さの特性により、様々な分野で広く使用されている。ただし、この簡単さ、利便さの特性のため、２次元バーコードは、モバイル端末がウイルスに感染する新しいチャネルになっている。コードスキャニングにより携帯端末にログインしたり支払ったりするなどの応用シナリオでは、ユーザ情報の漏洩や資産の紛失が数多く発生するため、２次元バーコードの使用時のセキュリティには大きなリスクがある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、２次元バーコードの生成方法、２次元バーコードの生成装置、２次元バーコードの識別方法、２次元バーコードの識別装置、電子機器及びコンピュータ読み取り可能な記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本開示の１つの態様によれば、入力情報に基づいてデータコードワードシーケンスを生成するステップと、前記データコードワードシーケンスに対して暗号化処理を行うことで、暗号化コードワードシーケンスを生成するステップと、誤り訂正コードブロックの数を決定するステップと、前記誤り訂正ブロックの数に対応する構築方式により、前記データコードワードシーケンス及び前記暗号化コードワードシーケンスから２次元バーコードを生成するステップと、を含む、２次元バーコードの生成方法が提供される。
【０００６】
本開示の１つの例示的な実施例では、前記データコードワードシーケンスを暗号化することで、暗号化コードワードシーケンスを生成するステップは、秘密鍵管理システムに基づいて前記データコードワードシーケンスに対応する秘密鍵を生成するステップと、前記秘密鍵を使用して、暗号化アルゴリズムに基づいて前記データコードワードシーケンスを暗号化するステップと、暗号化された前記データコードワードシーケンスを、予め設定された符号化アルゴリズムに従って、前記暗号化コードワードシーケンスに変換するステップとを含む。
【０００７】
本開示の１つの例示的な実施例では、前記誤り訂正ブロックの数を決定するステップは、前記データコードワードシーケンスの長さ及び誤り訂正レベルを取得するステップと、前記データコードワードシーケンスの長さ及び誤り訂正レベルに基づいて、予め設定された誤り訂正特性テーブルエントリで対応する誤り訂正ブロックの数を検索するステップとを含む。
【０００８】
本開示の１つの例示的な実施例では、前記誤り訂正ブロックの数に対応する構築方式により、前記データコードワードシーケンス及び前記暗号化コードワードシーケンスから２次元バーコードを生成するステップは、前記誤り訂正ブロックの数が予め設定された閾値よりも大きいか否かを判断するステップと、そうである場合、予め設定された誤り訂正特性テーブルエントリに基づいて対応する誤り訂正ブロックを検索し、前記暗号化コードワードシーケンスを前記対応する誤り訂正ブロックに埋め込むステップと、そうではない場合、前記暗号化コードワードシーケンスを、前記２次元バーコードを構成する最後のデータコードワードブロックに埋め込むステップと、を含む。
【０００９】
本開示の１つの態様によれば、暗号化された２次元バーコードドを読み取って解析するステップと、誤り訂正ブロックの数を取得するステップと、誤り訂正コードブロックの数に対応するデータ復元方式により、前記２次元バーコードのデータコードワードシーケンス及び暗号化コードワードシーケンスを復元するステップと、前記暗号化コードワードシーケンスに対してセキュリティチェックを行い、前記暗号化コードワードシーケンスがセキュリティチェックに合格すると、入力情報を取得するステップとを含む、２次元バーコードの識別方法が提供される。
【００１０】
本開示の１つの例示的な実施例では、前記した誤り訂正コードブロックの数に対応するデータ復元方式により、前記２次元バーコードのデータコードワードシーケンス及び暗号化コードワードシーケンスを復元するステップは、前記誤り訂正ブロックの数が予め設定された閾値よりも大きいか否かを判断するステップと、そうである場合、予め設定された誤り訂正特性テーブルエントリに基づいて対応する誤り訂正ブロックを検索し、復号アルゴリズムを通して前記誤り訂正ブロック内の暗号化コードワードシーケンスを取得するステップと、そうではない場合、復号アルゴリズムを通して、前記２次元バーコードを構成する最後のデータコードワードブロック内の前記暗号化コードワードシーケンスを取得するステップと、を含む。
【００１１】
本開示の１つの態様によれば、入力情報に基づいてデータコードワードシーケンスを生成するためのデータコードワード生成モジュールと、前記データコードワードシーケンスに対して暗号化処理を行うことで、暗号化コードワードシーケンスを生成するための暗号化コードワード生成モジュールと、誤り訂正コードブロックの数を決定するための誤り訂正コードブロック決定モジュールと、前記誤り訂正コードブロックの数に対応する構築方式により、前記データコードワードシーケンス及び前記暗号化コードワードシーケンスから２次元バーコードを生成するための２次元バーコード情報生成モジュールと、を備える、２次元バーコード生成装置が提供される。
【００１２】
本開示の１つの態様によれば、暗号化された２次元バーコードを読み取って解析するための２次元バーコード情報読み取りモジュールと、誤り訂正ブロックの数を決定するための誤り訂正コードブロック決定モジュールと、誤り訂正ブロックの数に対応するデータ復元方式により、前記２次元バーコードのデータコードワードシーケンス及び暗号化コードワードシーケンスを復元するためのコードワード復元モジュールと、前記暗号化コードワードシーケンスに対してセキュリティチェックを行い、前記暗号化コードワードシーケンスがセキュリティチェックに合格すると、入力情報を取得するための入力情報取得モジュールと、を備える、２次元バーコードの識別装置が提供される。
【００１３】
本開示の１つの態様によれば、プロセッサと、機械読み取り可能な命令が格納され、前記機械読み取り可能な命令が前記プロセッサにより実行されると、上記いずれか１項に記載の方法を実現する記憶媒体とを備える、電子機器が提供される。
【００１４】
本開示の１つの態様によれば、コンピュータプログラムが格納され、前記コンピュータプログラムがプロセッサにより実行されると、上記いずれか１項に記載の方法を実現する、コンピュータ読み取り可能な記憶媒体が提供される。
【発明の効果】
【００１５】
本開示の１つの例示的な実施例の２次元バーコードの生成方法は、入力情報に基づいてデータコードワードシーケンスを生成し、前記データコードワードシーケンスに対して暗号化処理を行うことで、暗号化コードワードシーケンスを生成し、誤り訂正ブロックの数を決定した後、誤り訂正ブロックの数に対応する構築方式により、データコードワードシーケンス及び暗号化コードワードシーケンスから２次元バーコードを生成する。一方ではデータコードワードシーケンスを暗号化できるため、データ内容の改ざんを防止でき、２次元バーコードの安全性を向上させることができ、他方では、誤り訂正ブロックの数に対応する構築方式により、データコードワードシーケンス及び暗号化コードワードシーケンスから２次元バーコード情報を生成するため、暗号化コードワードシーケンスの完全な埋め込みを効率的に完了できる。
【００１６】
なお、以上の一般的な説明及び以下の詳細な説明は、例示的かつ解釈的なものに過ぎず、本開示を制限するものではない。
【図面の簡単な説明】
【００１７】
図面を参照して、例示的な実施例について詳細に説明し、本開示の上記及び他の特徴及び利点がより明らかになる。
【図１】本開示の１つの例示的な実施例による２次元バーコードの生成方法のフローチャートが示される。
【図２】本開示の１つの例示的な実施例による２次元バーコードの識別方法のフローチャートが示される。
【図３】本開示の１つの例示的な実施例による２次元バーコード生成装置の模式的なブロック図が示される。
【図４】本開示の１つの例示的な実施例による２次元バーコードの識別装置の模式的なブロック図が示される。
【図５】本開示の１つの例示的な実施例による電子機器のブロック図が模式的に示される。
【図６】本開示の１つの例示的な実施例によるコンピュータ読み取り可能な記憶媒体の模式図が模式的に示される。
【発明を実施するための形態】
【００１８】
現在、図面を参照しながら、例示的な実施例について全面的に説明する。しかしながら、例示的な実施例は、複数種の形態で実施でき、ここで説明された実施例に限定されるものとして理解すべきではない。逆に、これらの実施例は、本開示を全面的かつ完全なものにさせ、例示的な実施例の構想を当業者に完全に伝達するために提供するものである。図面において、同一の符号は、同一又は類似した部分を示し、したがって、それらについての重複する説明が省略される。
【００１９】
また、説明された特徴、構造又は特性は、適切な方式で１つ以上の実施例に組み合わせることができる。以下の説明では、本開示の実施例を十分に理解するように、多くの具体的な詳細が提供される。しかしながら、当業者であれば、前記特定の詳細の１つまたはそれ以上無しで、本開示の技術案を実施でき、又は、他の方法、ユニット、材料、装置、ステップ等を用いることができること気づくであろう。他の場合、本開示の各態様が不明瞭になることが回避されるよう、公知の構造、方法、装置、実装、材料又は操作が詳細に示されていないか、又は説明されていない。
【００２０】
図面に示すブロック図は、機能エンティティに過ぎず、必ずしも物理的に独立したエンティティに対応するものではない。すなわち、ソフトウェアの形態でこれらの機能エンティティを実現し、又は１つ以上のソフトウェアがハードウェア化されたモジュールでこれらの機能エンティティ又は機能エンティティの一部を実現し、又は、異なるネットワーク及び／又はプロセッサ装置及び／又はマイクロコントローラでこれらの機能エンティティを実現することができる。
【００２１】
本例では、まず、ネットワーク機器に適用できる２次元バーコードの生成方法を提供し、前記ネットワーク機器は、たとえば、サーバなどの電子機器であり得る。図１に示すように、該２次元バーコードの生成方法は、以下のステップを含み得る。
【００２２】
ステップＳ１１０、入力情報に基づいてデータコードワード（ｄａｔａ  ｃｏｄｅｗｏｒｄ）シーケンスを生成する。
【００２３】
ステップＳ１２０、前記データコードワードシーケンスに対して暗号化処理を行うことで、暗号化コードワードシーケンスを生成する。
【００２４】
ステップＳ１３０、誤り訂正ブロックの数（ｎｕｍｂｅｒ  ｏｆ  ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｂｌｏｃｋｓ）を決定する。
【００２５】
ステップＳ１４０、前記誤り訂正ブロックの数に対応する構築方式により、前記データコードワードシーケンス及び前記暗号化コードワードシーケンスから２次元バーコード情報を生成する。
【００２６】
本例における２次元バーコードの生成方法によれば、一方ではデータコードワードシーケンスに対して暗号化処理を行うことができるため、データ内容の改ざんを防止でき、２次元バーコードの安全性を向上させることができ、他方では、誤り訂正ブロックの数に対応する構築方式により、データコードワードシーケンス及び暗号化コードワードシーケンスから２次元バーコード情報を生成するため、暗号化コードワードシーケンスの完全な埋め込みを効率的に完了できる。
【００２７】
次に、本例における２次元バーコードの生成方法についてさらに説明する。
【００２８】
ステップＳ１１０では、入力情報に基づいてデータコードワードシーケンスを生成する。
【００２９】
入力情報は、入力されるデータストリームであり、２次元バーコードを生成することを必要とする情報である。本例示的な実施形態では、まず、入力情報を分析してその長さを決定し、入力情報の長さに基づいて対応する２次元バーコードのフォーマット及びバージョンを決定する。ここで、２次元バーコードのフォーマットには、誤り訂正レベル（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｌｅｖｅｌ）、マスク（ｍａｓｋ）の番号や誤り訂正コード（ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃｏｄｅ）などの情報が含まれており、２次元バーコードには複数のバージョンがあってもよく、各バージョンは固有のシンボル構造を表す。マスク番号は、後続のマスク操作でしか取得できないため、このときは空でもよい。
【００３０】
その後、データ符号化により入力情報をビットストリームに変換し、モード変換を行うことでデータビットストリームをより短い長さに変換する必要があるか否かを決定する。また、データ符号化により入力情報をビットストリームに変換した後、リードソロモン誤り訂正（Ｒｅｅｄ−ｓｏｌｏｍｏｎ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ、ＲＳ誤り訂正）符号化などのアルゴリズムにより、入力情報に対応するＲＳ符号データコードワードシーケンスを生成することができる。
【００３１】
ステップＳ１２０では、前記データコードワードシーケンスに対して暗号化処理を行うことで、暗号化コードワードシーケンスを生成する。
【００３２】
本例では、このステップは、秘密鍵管理システムに基づいて前記データコードワードシーケンスに対応する秘密鍵を生成し、生成された秘密鍵を使用して、暗号化アルゴリズムに基づいて前記データコードワードシーケンスを暗号化するステップと、暗号化されたデータコードワードシーケンスを、予め設定された符号化アルゴリズムに従って、前記暗号化コードワードシーケンスに変換するステップと、を含み得る。
【００３３】
ＲＳ符号データコードワードシーケンスを取得した後、一実施例では、秘密鍵管理システムに基づいて前記ＲＳ符号データコードワードシーケンスに対応する秘密鍵を生成するステップは、該ＲＳ符号データコードワードシーケンスを秘密鍵管理システムに入力して、該ＲＳ符号データコードワードシーケンスに対応する秘密鍵を生成するステップを含み得る。別の実施例では、該ＲＳ符号データコードワードシーケンスに対応する符号化記号を生成し、該符号化記号を秘密鍵管理システムに入力することにより、該符号化記号に対応する秘密鍵を生成し得る。
【００３４】
本例では、秘密鍵管理システムごとに秘密鍵生成ルールが異なるため、秘密鍵管理システムごとに秘密鍵の生成方式が異なり、このため、秘密鍵管理システムごとに生成され前記ＲＳ符号データコードワードシーケンスに対応する秘密鍵も異なる場合がある。本開示では、秘密鍵管理システム及び秘密鍵生成ルールについては特に制限がない。
【００３５】
データコードワードシーケンスに対応する秘密鍵が生成された後、秘密鍵を使用して、暗号化アルゴリズムによって該データコードワードシーケンスを暗号化する。次に、暗号化されたデータコードワードシーケンスに対して有限体変換を実行した後、ＲＳ誤り訂正符号化などのアルゴリズムを使用して符号化し、それにより、安全に暗号化されたＲＳ符号暗号化コードワードシーケンスを得ることができる。ここで、該暗号化アルゴリズムは、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ、データ暗号化標準）暗号化アルゴリズム、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ、高度暗号化標準）暗号化アルゴリズムなどであってもよく、これについては、本開示では特に限定しない。
【００３６】
ステップＳ１３０では、誤り訂正ブロックの数を決定する。
【００３７】
本例示的な実施形態では、このステップは、前記データコードワードシーケンスの長さ（例えば、コードワードの数によって表される）及び誤り訂正レベルを取得するステップと、前記データコードワードシーケンスの長さ及び誤り訂正レベルに基づいて、予め設定された誤り訂正特性テーブルエントリで誤り訂正ブロックの数を検索するステップと、を含み得る。
【００３８】
この予め設定された誤り訂正特性テーブルエントリは、データコードワードシーケンスの長さ及び誤り訂正レベルなどの情報に基づいて予め設定されるものであってもよく、例えば、以下の表を参照する。
【００３９】
2021513141.tif 000003
【００４０】
表１は、予め設定された誤り訂正特性テーブルエントリを示し、本開示の内容の例をさらに理解するためにのみ使用され、予め設定された誤り訂正特性テーブルエントリの具体的な内容を制限するものではない。
【００４１】
予め設定された誤り訂正特性テーブルエントリには、バージョン、コードワードの総数、誤り訂正レベル、対応する誤り訂正ブロックの数、及び各誤り訂正ブロックの誤り訂正コード間の対応関係が事前に設定されている。各誤り訂正ブロックの誤り訂正コードは（ｃ、ｋ、ｒ）として表すことができる。ここで、ｃは各誤り訂正ブロック内のコードワードの総数（ｔｏｔａｌ  ｎｕｍｂｅｒ  ｏｆ  ｃｏｄｅｗｏｒｄｓ）を表し、ｋは該誤り訂正ブロック内のデータコードワードの数（ｎｕｍｂｅｒ  ｏｆ  ｄａｔａ  ｃｏｄｅｗｏｒｄｓ）を表し、ｒは該誤り訂正ブロックの誤り訂正コード容量（ｎｕｍｂｅｒ  ｏｆ  ｅｒｒｏｒ  ｃｏｒｒｅｃｔｉｏｎ  ｃａｐａｃｉｔｙ）を表し、そして、ｃ、ｋ、ｒは、ｃ＝ｋ＋２＊ｒの関係式を満たす。
【００４２】
ＲＳ符号データコードワードシーケンスが生成されると、ＲＳ符号データコードワードシーケンスの長さ（つまり、該シーケンス内のコードワードの総数）、所定のバージョン番号、及び誤り訂正レベルに基づいて、表１において対応する誤り訂正ブロックの数を検索できる。
【００４３】
ステップＳ１４０では、前記誤り訂正ブロックの数に対応する構築方式により、前記データコードワードシーケンス及び前記暗号化コードワードシーケンスから２次元バーコード情報を生成する。
【００４４】
本例示的な実施形態では、このステップは、前記誤り訂正ブロックの数が予め設定された閾値より大きいか否かを判断し、そうである場合、予め設定された誤り訂正特性テーブルエントリに基づいて対応する所定の埋め込まれる誤り訂正ブロックを検索し、前記暗号化コードワードシーケンスを前記誤り訂正ブロックに埋め込むステップと、そうではない場合、前記暗号化コードワードシーケンスを、２次元バーコードを構成する最後のデータコードワードブロックに埋め込むステップと、を含み得る。前記構築方式には、ブロッククロッシング構築方式及び補足構築方式が含まれ得、例えば、予め設定された閾値を１に設定し、前記誤り訂正ブロックの数が１より大きいと判定された場合、ブロッククロッシング構築方式が用いられ、前記誤り訂正ブロックの数が１以下の場合、補足構築方式が用いられる。例えば、
【００４５】
ステップＳ１１０では、バージョンが３であり、誤り訂正レベルがＱであり、データコードワードシーケンスのデータ長さが７０であると判定された場合、表１で検索され得る対応する誤り訂正ブロックの数が２である。該誤り訂正ブロックの数２が予め設定された閾値１より大きいため、ブロッククロッシング構築方式を使用して最終情報を構築でき、つまり、該誤り訂正レベルＱ、データ長さ７０、及びバージョン番号３に対応する表１における各誤り訂正ブロックの誤り訂正コード（３５、１７、９）を検索し、ＲＳ符号暗号化コードワードシーケンスを各誤り訂正ブロック（３５、１７、９）の補足ビットに埋め込むことにより、最終情報が構築される。
【００４６】
しかし、ステップＳ１１０では、バージョンが２であり、誤り訂正レベルがＱであり、データコードワードシーケンスのデータ長さが４４であると判定された場合、表１で検索され得る対応する誤り訂正ブロックの数が１である。該誤り訂正ブロックの数１が予め設定された閾値１と等しいため、補足構築方式を使用して最終情報を構築でき、つまり、該暗号化コードワードシーケンスを、２次元バーコードを構成する最後のデータコードワードブロックの補足ビットに埋め込むことにより、最終情報が構築される。
【００４７】
本例示的な実施形態では、暗号化コードワード構造の完全性を確保するために、暗号化コードワードシーケンスを生成する前に、誤り訂正ブロックの数に対応する構築方式に応じて、暗号化コードワードシーケンスの長さ、すなわち暗号化コードワードシーケンスに含まれるコードワードの総数を予め決定しておく。例えば、暗号化コードワードシーケンスを誤り訂正ブロックに完全に埋め込むように、暗号化コードワードシーケンスの長さは、対応する構築方式の誤り訂正ブロック内の埋め込まれ得る補足ビットの数以下になるように制御される。
【００４８】
最終情報が構築された後、この最終情報をマトリックスに配置し、選択したマスクグラフィックを追加し、選択したマスクグラフィックに応じてフォーマットにおけるマスク番号情報を補足し、最後に、フォーマットとバージョン情報を追加し、それにより２次元バーコード（つまり、２次元バーコード記号）を生成する。
【００４９】
さらに、本例示的な実施形態では、端末機器に適用できる２次元バーコードの識別方法がさらに提供され、前記端末機器は、例えば、携帯電話、コンピュータ、ＰＤＡなど、２次元バーコードスキャン機能を有する各種の電子機器とすることができる。図２に示すように、前記２次元バーコードの識別方法は、ステップＳ２１０〜Ｓ２４０を含み得る。
【００５０】
ステップＳ２１０、暗号化された２次元バーコードを読み取って解析する。
【００５１】
このステップでは、暗号化された２次元バーコードを読み取って解析することには、電子機器を介して暗号化された２次元バーコードをスキャンして読み取り、２次元バーコードの深浅モジュールを解析し、フォーマット情報を復号し、この２次元バーコードにおけるデータコードワードシーケンスの長さを取得し、追加されたマスクグラフィックスを削除して、バージョンとフォーマット情報を決定し、誤り訂正レベル、マスク番号や誤り訂正コードなどの情報を取得する。
【００５２】
ステップＳ２２０、誤り訂正ブロックの数を決定する。
【００５３】
このステップでは、誤り訂正ブロックの数を決定する方式については、ステップＳ１３０における誤り訂正ブロックの数を決定する方式を参照することができ、ここでは詳しく説明しない。
【００５４】
ステップＳ２３０、誤り訂正ブロックの数に対応するデータ復元方式により、前記２次元バーコードのデータコードワードシーケンス及び暗号化コードワードシーケンスを復元する。
【００５５】
誤り訂正ブロックの数に対応するデータ復元方式により前記２次元バーコードのデータコードワードシーケンス及び暗号化コードワードシーケンスを復元するステップは、前記誤り訂正ブロックの数が予め設定された閾値よりも大きいか否かを判断し、そうである場合、予め設定された誤り訂正特性テーブルエントリに基づいて対応する所定の埋め込まれる誤り訂正ブロックを検索し、復号アルゴリズムを通じて前記誤り訂正ブロック内の暗号化コードワードシーケンスを取得するステップと、そうではない場合、復号アルゴリズムを通じて前記２次元バーコードを構成する最後のデータコードワードブロック内の前記暗号化コードワードシーケンスを取得するステップと、を含む。
【００５６】
このステップでは、予め設定された閾値は、上記ステップＳ１４０の予め設定された閾値と同じであってもよく、誤り訂正ブロックの数を決定した後、誤り訂正ブロックの数に対応するデータ復元方式には、ブロックごとのデータ復元方式及びセグメントごとのデータ復元方式が含まれ得る。誤り訂正ブロックの数が予め設定された閾値よりも大きい場合は、ブロックごとのデータ復元方式が用いられ、前記誤り訂正ブロックの数が予め設定された閾値以下の場合、セグメントごとのデータ復元方式が用いられる。
【００５７】
一例として、バージョンが３であり、誤り訂正レベルがＱであり、データ長さが７０であると決定され、予め設定された誤り訂正特性テーブルエントリ（表１）で検索された対応する誤り訂正ブロックの数が２である場合、該誤り訂正ブロックの数２が予め設定された閾値１より大きいため、ブロックごとのデータ復元方式を使用して、データコードワードシーケンス及び暗号化コードワードシーケンスを復元でき、つまり、該誤り訂正レベル、データ長さに対応する表１における各誤り訂正ブロックを検索し、対応する誤り訂正ブロックの誤り訂正コード（３５、１７、９）をそれから見つけ、次に、誤り訂正ブロック（３５、１７、９）の補足ビットからＲＳ符号暗号化コードワードシーケンスを取得し、これにより、ＲＳ符号データコードワードシーケンス及びＲＳ符号暗号化コードワードシーケンスを復元する。しかし、誤り訂正ブロックの数が１であると決定された場合は、この誤り訂正ブロックの数１が予め設定された閾値１と等しいため、セグメントごとのデータ復元方式を使用して、ＲＳ符号暗号化コードワードシーケンスを復元でき、つまり、２次元バーコードを構成する最後のデータコードワードブロックの補足ビットから、埋め込まれるＲＳ符号暗号化コードワードシーケンスを取得し、これにより、ＲＳ符号データコードワードシーケンス及びＲＳ符号暗号化コードワードシーケンスを復元する。
【００５８】
ステップＳ２４０、前記暗号化コードワードシーケンスに対してセキュリティチェックを行い、前記暗号化コードワードシーケンスがセキュリティチェックに合格すると、入力情報を取得する。
【００５９】
このステップでは、前記暗号化コードワードシーケンスに対するセキュリティチェックには、ＲＳ符号暗号化コードワードシーケンスを取得した後、まず、ＲＳ符号誤り訂正復号アルゴリズムを通じてＲＳ符号暗号化コードワードシーケンスに対して有限体変換を実行し、秘密鍵管理システムに基づいて、有限体変換後の暗号化コードワードシーケンスを解読し、それにより、対応する秘密鍵を取得する。次に、該秘密鍵をチェックし、秘密鍵のチェック方式は、秘密鍵管理システムによって異なり、例えば、取得した秘密鍵をステップＳ１２０で取得した秘密鍵とマッチングさせることができ、又は、取得した秘密鍵をＲＳ符号データコードワードシーケンスなどとマッチングすることもでき、両方がマッチングする場合は、セキュリティチェックに合格したと判断し、２次元バーコード記号における元の入力情報を復元できる。両方がマッチングしない場合、又は、取得した秘密鍵が０である場合、情報が改ざんされている可能性があり、セキュリティチェックに失敗したと判断し、２次元バーコード記号における元の入力情報を復元できない。このことから、本開示は、２次元バーコード情報のセキュリティチェックにより、２次元バーコード情報が改ざんされているか否かをタイムリーに確認でき、さらに２次元バーコード情報の実際の応用シナリオにおけるセキュリティを確保できることがわかる。
【００６０】
なお、本開示における方法の各ステップは、図面において特定の順序で説明されているが、これらステップが特定の順序で実行されなければならない、又は示されたすべてのステップが実行されなければならないことを要求又は示唆するものではない。追加又は代替として、特定のステップを省略したり、複数のステップを１つのステップに結合して実行したり、及び／又は１つのステップを複数のステップに分割して実行したりすることもできる。
【００６１】
また、本例では、２次元バーコードの生成装置がさらに提供される。図３に示すように、この２次元バーコードの生成装置３００は、データコードワード生成モジュール３１０、暗号化コードワード生成モジュール３２０、誤り訂正コードブロック決定モジュール３３０、及び２次元バーコード生成モジュール３４０を備え得る。
【００６２】
データコードワード生成モジュール３１０は、入力情報に基づいてデータコードワードシーケンスを生成することに用いることができる。
【００６３】
暗号化コードワード生成モジュール３２０は、前記データコードワードシーケンスに対して暗号化処理を行うことで、暗号化コードワードシーケンスを生成することに用いることができる。
【００６４】
誤り訂正コードブロック決定モジュール３３０は、誤り訂正ブロックの数を決定することに用いることができる。
【００６５】
２次元バーコード生成モジュール３４０は、前記誤り訂正ブロックの数に対応する構築方式により、前記データコードワードシーケンス及び前記暗号化コードワードシーケンスから２次元バーコードを生成することに用いることができる。
【００６６】
上記の２次元バーコードの生成装置の各モジュールの詳細は、対応する２次元バーコードの生成方法で詳細に説明されているので、ここでは詳しく説明しない。
【００６７】
また、本例示的な実施例では、２次元バーコードの識別装置がさらに提供される。図４に示すように、この２次元バーコードの識別装置４００は、２次元バーコード読み取りモジュール４１０、誤り訂正コードブロック決定モジュール４２０、コードワード復元モジュール４３０、及び入力情報取得モジュール４４０を備え得る。
【００６８】
２次元バーコード読み取りモジュール４１０は、暗号化された２次元バーコードを読み取って解析することに用いられる。
【００６９】
誤り訂正コードブロック決定モジュール４２０は、誤り訂正ブロックの数を決定することに用いられる。
【００７０】
コードワード復元モジュール４３０は、誤り訂正ブロックの数に対応するデータ復元方式により、前記２次元バーコードのデータコードワードシーケンス及び暗号化コードワードシーケンスを復元することに用いられる。
【００７１】
入力情報取得モジュール４４０は、前記暗号化コードワードシーケンスに対してセキュリティチェックを行い、前記暗号化コードワードシーケンスがセキュリティチェックに合格すると、入力情報を取得することに用いられる。
【００７２】
上記の２次元バーコードの識別装置の各モジュールの詳細は、対応する２次元バーコードの識別方法で詳細に説明されているので、ここでは詳しく説明しない。
【００７３】
なお、上記の詳細な説明では、２次元バーコードの生成装置３００のいくつかのモジュール又はユニットが言及されているが、この分割は必須ではない。実際は、本開示の実施形態によれば、上記の２つ以上のモジュール又はユニットの特徴及び機能は、１つのモジュール又はユニットで具現化されてもよい。逆には、上記の１つのモジュール又はユニットの特徴及び機能は、複数のモジュール又はユニットにさらに分割して具現化されてもよい。
【００７４】
また、本開示の１つの例示的な実施例では、上記方法を実現できる電子機器がさらに提供される。
【００７５】
当業者が理解できるように、本開示の様々な態様がシステム、方法、又はプログラム製品として実現できる。したがって、本開示の様々な態様は、完全なハードウェアの実施例、完全なソフトウェアの実施例（ファームウェア、マイクロコードなどを含む）、又はハードウェアとソフトウェアの実施例の組み合わせの形で具体的に実現され得、ここで、これらは「回路」、「モジュール」又は「システム」と総称できる。
【００７６】
以下、本開示の実施例に係る電子機器５００について、図５を参照しながら説明する。図５に示される電子機器５００は、単なる例に過ぎず、本開示の実施例の機能及び使用範囲を何ら制限するものではない。
【００７７】
図５に示すように、電子機器５００は、汎用コンピューティング機器の形で表されている。電子機器５００の構成要素は、上記の少なくとも１つの処理ユニット５１０、少なくとも１つの記憶ユニット５２０、異なるシステムの構成要素（記憶ユニット５２０及び処理ユニット５１０を含む）を接続するバス５３０、及び表示ユニット５４０を含み得るが、これらに限定されない。
【００７８】
そのうち、前記記憶ユニット５２０は機械実行可能な命令を記憶し、前記機械実行可能な命令は、前記処理ユニット５１０によって実行されると、前記処理ユニット５１０に、本明細書に記載の「例示的な方法」部分に記載の本発明の各例示的な実施例に係るステップを実行させる。例えば、前記処理ユニット５１０は、図１に示すステップＳ１１０〜Ｓ１４０、及び図２に示すステップＳ２１０〜Ｓ２４０を実行することができる。
【００７９】
記憶ユニット５２０は、ランダムアクセス記憶ユニット（ＲＡＭ）５２０１及び／又はキャッシュ記憶ユニット５２０２などの揮発性記憶ユニットの形態の読み取り可能な媒体を含み得、さらに、読み取り専用記憶ユニット（ＲＯＭ）５２０３を含み得る。
【００８０】
記憶ユニット５２０は、（少なくとも１つの）命令モジュール５２０５のセットを有する命令／ユーティリティツール５２０４をさらに含み得る。そのような命令モジュール５２０５は、オペレーティングシステム、１つ以上のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータを含むが、これらに限定されず、これらの各例又はこれらの組み合わせには、ネットワーク環境の実装が含まれ得る。
【００８１】
バス５３０は、いくつかのタイプのバス構造の１つ以上を表すことができ、記憶ユニットバス又は記憶ユニットコントローラ、周辺バス、グラフィック加速ポート、処理ユニット、又は様々なバス構造のいずれかを使用するローカルエリアバスを含む。
【００８２】
電子機器５００はまた、１つ以上の外部機器５７０（例えば、キーボード、ポインティング機器、ブルートゥース（登録商標）機器など）と通信することができ、ユーザがこの電子機器５００とインタラクションすることを可能にする１つ以上の機器と通信することもでき、及び／又は、該電子機器５００が１つ以上の他のコンピューティング機器と通信することを可能にする任意の機器（例えば、ルータ、モデムなど）と通信することもできる。そのような通信は、入力／出力（Ｉ／Ｏ）インターフェース５５０を介して実行され得る。さらに、電子機器５００は、ネットワークアダプタ５６０を介して、１つ以上のネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、及び／又はインターネットなどのパブリックネットワーク）と通信することもできる。図示するように、ネットワークアダプタ５６０は、バス５３０を介して電子機器５００の他のモジュールと通信する。なお、図には示されていないが、マイクロコード、機器ドライバー、冗長処理ユニット、外部磁気ディスクドライブアレイ、ＲＡＩＤシステム、磁気テープドライブ、及びデータバックアップストレージシステムを含むが、これらに限定されない他のハードウェア及び／又はソフトウェアモジュールを電子機器５００と共に使用できる。
【００８３】
上記実施例の説明を通して、当業者が容易に理解できるように、ここで説明される例示的な実施例がソフトウェアによって実現されてもよく、ソフトウェアと必要なハードウェアとの組み合わせによって実現されてもよい。したがって、本開示の実施例による技術案は、ソフトウェア製品の形態で具体化され得、このソフトウェア製品は、不揮発性記憶媒体（ＣＤ−ＲＯＭ、Ｕディスク、モバイルハードディスクなどであり得る）又はネットワーク上に記憶され得、コンピューティング機器（パーソナルコンピュータ、サーバ、端末装置、又はネットワーク機器などであり得る）に本開示の実施例による方法を実行させるいくつかの命令を含む。
【００８４】
本開示の例示的な実施例では、本明細書の上記方法を実現することができるプログラム製品が記憶されたコンピュータ読み取り可能な記憶媒体がさらに提供される。いくつかの可能な実施例では、本開示の様々な態様は、プログラムコードを含むプログラム製品の形で実現することもでき、前記プログラム製品が端末機器上で実行されると、前記プログラムコードは、本明細書の上記「例示的な方法」部分に記載の本発明の様々な例示的な実施例によるステップを前記端末機器に実行させる。
【００８５】
図６に示すように、本開示の実施例による上記方法を実現するためのプログラム製品６００が説明されており、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）を使用することができ、プログラムコードを含み、端末機器、例えば、パソコンで実行できる。ただし、本開示のプログラム製品はこれに限定されず、本明細書では、読み取り可能な記憶媒体は、命令実行システム、装置又はデバイスによって又はそれらと組み合わせて使用され得るプログラムを含む又は記憶している任意の物理的な媒体であり得る。
【００８６】
前記プログラム製品は、１つ以上の読み取り可能な媒体の任意の組み合わせを使用することができる。読み取り可能な媒体は、読み取り可能な信号媒体又は読み取り可能な記憶媒体であり得る。読み取り可能な記憶媒体は、例えば、電気、磁気、光学、電磁気、赤外線又は半導体のシステム、装置、又はデバイス、あるいは上記の任意の組み合わせであり得るが、これらに限定されない。読み取り可能な記憶媒体の具体例（網羅的ではないリスト）には、１つ以上のワイヤーを備えた電気接続、ポータブルディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラム可能な読み取り専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバー、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、又はこれらの適切な組み合わせが含まれる。
【００８７】
コンピュータ読み取り可能な信号媒体は、読み取り可能なプログラムコードが搬送された、ベースバンドで又は搬送波の一部として送信されるデータ信号を含み得る。この伝搬されたデータ信号は、多くの形態をとることができ、これら形態には、電磁信号、光信号、又はこれらの任意の適切な組み合わせが含まれるが、これらに限定されない。読み取り可能な信号媒体は、読み取り可能な記憶媒体以外の任意の読み取り可能な媒体であってもよく、この読み取り可能な媒体は、命令実行システム、装置、又はデバイスによって又はそれらと組み合わせて使用されるプログラムを送信、伝播、又は伝送することができる。
【００８８】
読み取り可能な媒体に含まれるプログラムコードは、任意の適切な媒体を使用して送信され得、この任意の適切な媒体には、無線、有線、光ファイバーケーブル、ＲＦなど、又はこれらの任意の適切な組み合わせが含まれるが、これらに限定されない。
【００８９】
本開示の操作を実行するためのプログラムコードは、１つ以上のプログラミング言語の任意の組み合わせで書くことができ、前記プログラミング言語には、Ｊａｖａ、Ｃ＋＋などのオブジェクト指向プログラミング言語や、「Ｃ」言語又は類似したプログラミング言語などの従来の手続き型プログラミング言語が含まれる。プログラムコードは、完全にユーザのコンピューティング機器で実行したり、部分的にユーザの機器で実行したり、独立したソフトウェアパッケージとして実行したり、一部がユーザのコンピューティング機器で実行し、別の一部がリモートコンピューティング機器で実行したり、又は完全にリモートコンピューティング機器又はサーバで実行したりすることができる。リモートコンピューティング機器に係る場合、リモートコンピューティング機器は、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）など、あらゆる種類のネットワークを介してユーザのコンピューティング機器に接続でき、又は、外部のコンピューティング機器に接続できる（例えば、インターネットサービスプロバイダーによるインターネットを介して接続する）。
【００９０】
また、上記図面は、本開示の１つの例示的な実施例による方法に含まれる処理について模式的に説明するものに過ぎず、制限するためのものではない。理解しやすくするために、上記図面に示される処理は、これらの処理の時間順序を示したり、又は制限したりするものではない。なお、理解やすくするために、これらの処理は、たとえば、複数モジュールに同期又は非同期に実行されてもよい。
【００９１】
当業者は、明細書を配慮して本開示を実施した後、本開示の他の実施例に容易に想到できる。本願は、本開示のいかなる変形、用途又は適応的変化を含むことが意図され、これらの変形、用途又は適応的変化は、本開示の一般的な原理、本開示に開示されてない本技術分野での公知の常識又は常用技術手段を含む。明細書及び実施例は、例示的なものとすべきであり、本開示の実質的範囲及び要旨は、特許請求の範囲により指摘される。
【００９２】
なお、本開示は、以上説明され、図面に示される正確な構造に限られず、その範囲から逸脱することなく、様々な補正や変更を行うことができる。本開示の範囲は、添付の特許請求の範囲のみに限定される。
【図１】
2021513141.tif 000004
【図２】
2021513141.tif 000005
【図３】
2021513141.tif 000006
【図４】
2021513141.tif 000007
【図５】
2021513141.tif 000008
【図６】
2021513141.tif 000009
【国際調査報告】
2021513141.tif 000010
2021513141.tif 000011
2021513141.tif 000012
2021513141.tif 000013