JP2014098773A - Encryption system, decryption server, encryption method, and decryption program - Google Patents

Encryption system, decryption server, encryption method, and decryption program Download PDF

Info

Publication number
JP2014098773A
JP2014098773A JP2012249742A JP2012249742A JP2014098773A JP 2014098773 A JP2014098773 A JP 2014098773A JP 2012249742 A JP2012249742 A JP 2012249742A JP 2012249742 A JP2012249742 A JP 2012249742A JP 2014098773 A JP2014098773 A JP 2014098773A
Authority
JP
Japan
Prior art keywords
value
generated
values
polynomial
input
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.)
Pending
Application number
JP2012249742A
Other languages
Japanese (ja)
Inventor
Takeshi Shimizu
剛 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FORECAST COMM Inc
FORECAST COMMUNICATIONS Inc
Original Assignee
FORECAST COMM Inc
FORECAST COMMUNICATIONS Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by FORECAST COMM Inc, FORECAST COMMUNICATIONS Inc filed Critical FORECAST COMM Inc
Priority to JP2012249742A priority Critical patent/JP2014098773A/en
Publication of JP2014098773A publication Critical patent/JP2014098773A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a technique capable of decrypting data encrypted in a terminal by a server without exchanging an encryption key between the server and the terminal.SOLUTION: A decryption server 20 includes a database for storing a value generated by applying a different input value to a unidirectional function formed by applying a plurality of initial values to a polynomial with symmetry between the input value and a generated value, the input value, the initial values, and the polynomial in association with each other. A digital broadcasting receiver 10 generates a generation value by providing a different input value to a unidirectional function formed by applying an optional initial value to the polynomial, generates an encrypted data by providing data divided correspondingly to the number of digits of the input value to the unidirectional function and transmits the generated encryption data to the decryption server 20. The decryption server 20 retrieves a polynomial and an initial value respectively overlapped out of polynomials and initial values related to the received plurality of generation values and input values and reads out the retrieved polynomial and initial value and the generation value from the database and decrypts the encrypted data.

Description

本願は、暗号システム、復号サーバ、暗号方法、及び復号プログラムに関する。   The present application relates to an encryption system, a decryption server, an encryption method, and a decryption program.

近年、インターネット等の通信網の発達に伴い、通信回線を介して個人情報をやり取りする機会が増えている。そのような状況の中で、通信回線上でのデータの傍受による個人情報の漏洩及びデータの改ざんが問題となっている。この問題を解決するために、様々な暗号処理のアルゴリズムが提案されている。その中で代表的な技術として、サーバと端末とが送受信する個人情報をハッシュ関数で暗号化する技術があげられる(例えば特許文献1)。   In recent years, with the development of communication networks such as the Internet, opportunities for exchanging personal information via communication lines have increased. Under such circumstances, leakage of personal information and data alteration due to data interception on a communication line are problematic. In order to solve this problem, various cryptographic processing algorithms have been proposed. Among them, a representative technique is a technique for encrypting personal information transmitted and received between a server and a terminal using a hash function (for example, Patent Document 1).

特許文献1は、端末とサーバとの間でハッシュ関数と初期値とを共有し、これらを用いて計算した生成値を用いることにより、個人情報となる端末の位置の秘匿性を維持している。更に、端末が移動した場合には、端末の移動先のサーバが、ハッシュ関数と初期値とを共有しているサーバからハッシュ回数を受け取り、端末と端末の移動先のサーバがこのハッシュ回数分、ハッシュの計算を行うことによって、端末とサーバとで同一の生成値を算出してそれを用いることにより端末の秘匿性を維持している。   Patent Document 1 shares the hash function and the initial value between the terminal and the server, and maintains the confidentiality of the position of the terminal serving as personal information by using the generated value calculated using these. . Furthermore, when the terminal has moved, the server to which the terminal has moved receives the hash count from the server that shares the hash function and the initial value, and the server to which the terminal and the terminal have moved has the hash count, By calculating the hash, the same generated value is calculated and used by the terminal and the server, and the confidentiality of the terminal is maintained.

特開2009-094940号公報JP 2009-094940

上記文献1に記載の技術ではサーバと端末との間で固定の認証キー(暗号鍵)を設定して予めサーバと端末との間で取り交わしが行われている。そのため、認証キー自体が漏洩してしまうと、暗号化の意味自体が成さないものとなってしまう。   In the technique described in Document 1, a fixed authentication key (encryption key) is set between the server and the terminal and exchanged between the server and the terminal in advance. Therefore, if the authentication key itself leaks, the meaning of encryption itself will not be achieved.

そこで、本願発明は、暗号鍵をサーバと端末との間で取り交わしすることなく、暗号化したデータを復号することができる技術を提供することにある。   Therefore, the present invention is to provide a technique capable of decrypting encrypted data without exchanging an encryption key between a server and a terminal.

上記課題を解決するための本願発明は、暗号システムであって、入力値と生成値との間で対称性のある多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースと、前記多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成値を生成し、この生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて暗号化データを生成する生成手段と、送信されてきた複数組の生成値と入力値とに基づいて、前記データベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、前記検索手段が検索した多項式及び初期値と、前記生成手段で生成された暗号化データとに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号手段とを有することを特徴とする。   The present invention for solving the above-mentioned problem is an encryption system, and is different for each one-way function obtained by applying a plurality of initial values to each of polynomials having symmetry between an input value and a generated value. A database in which a generated value generated by giving an input value and an input value used to generate the generated value, an initial value, and a polynomial are stored in association with each other, and an arbitrary polynomial in the polynomial has an arbitrary A different input value is given to the one-way function to which the initial value is applied to generate a generated value from each input value, and the one-way function used to generate the generated value is set to the number of digits of the input value. A plurality of generated values transmitted in the database based on a generating means for generating encrypted data by giving the data divided together as input values, and a plurality of generated values and input values transmitted When A search means for searching for a polynomial and an initial value in which the polynomial associated with the force value and the initial value overlap each other, and the polynomial and initial value searched by the search means, and generated by the generation means And decrypting means for decrypting the encrypted data by reading out a generated value associated with the encrypted data from the database.

上記課題を解決するための本願発明は、暗号化されたデータを復号する復号サーバであって、入力値と生成値との間で対称性のある多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースと、送信されてくる、前記多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成した生成値と、この生成値の生成にあたって与えた入力値とに基づいて、前記データベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、前記送信されてくる生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて生成された暗号化データと、前記検索手段が検索した多項式及び初期値とに関連付けられている生成値を前記データベースから読み出すことにより前記暗号化データを復号する復号手段とを有することを特徴とする。   The present invention for solving the above problem is a decryption server for decrypting encrypted data, wherein a plurality of initial values are applied to each of a symmetric polynomial between an input value and a generated value. A generated value generated by giving different input values to each one-way function and the input value, initial value, and polynomial used to generate the generated value are stored in association with each other and transmitted. The generation value generated from each input value by giving different input values to the one-way function obtained by applying an arbitrary initial value to an arbitrary polynomial in the polynomial, and the generation value generated Based on the input value, a search is made for a polynomial and an initial value in which the generated value and the input value associated with the plurality of generated values and input values that are transmitted in the database overlap each other. And the encrypted data generated by giving, as an input value, data divided according to the number of digits of the input value to the one-way function used for generating the generated generated value, And a decryption means for decrypting the encrypted data by reading out a generated value associated with the polynomial and the initial value retrieved by the retrieval means from the database.

上記課題を解決するための本願発明は、暗号方法であって、入力値と生成値との間で対称性のある多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成値を生成する生成値生成ステップと、前記入力値の桁数に合わせてデータを分割する分割ステップと、前記生成値生成ステップで生成値の生成に使用した一方向性関数に、前記分割ステップで分割したデータを入力値として与えて暗号化データを生成する暗号化データ生成ステップと、送信されてきた複数組の生成値と入力値とに基づいて、入力値と生成値との間で対称性のある前記多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索ステップと、前記検索ステップで検索された多項式と初期値と、前記生成値生成ステップで生成された暗号化データとに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号ステップとを有することを特徴とする。   The present invention for solving the above-described problem is an encryption method, which is a one-way function obtained by applying an arbitrary initial value to an arbitrary polynomial in a polynomial symmetric between an input value and a generated value. A generated value generation step for generating a generated value from each input value by giving different input values to the input, a dividing step for dividing the data according to the number of digits of the input value, and a generated value generated by the generated value generating step Based on the encrypted data generation step of generating the encrypted data by giving the data divided in the division step as an input value to the one-way function used in the above, and the plurality of sets of generated values and input values transmitted Generated values obtained by giving different input values to each one-way function obtained by applying a plurality of initial values to each of the polynomials having symmetry between the input value and the generated value, and the generated value Used to generate In the database in which the input value, the initial value, and the polynomial are stored in association with each other, the polynomial and the initial value that are associated with the plurality of generated values and the input value that are transmitted overlap each other. A retrieval step for retrieving a polynomial and an initial value, and a generated value associated with the polynomial and initial value retrieved in the retrieval step and the encrypted data generated in the generated value generation step are read from the database. And a decrypting step for decrypting the encrypted data.

上記課題を解決するための本願発明は、暗号化されたデータを復号する復号サーバのプログラムであって、前記プログラムは、前記復号サーバを、入力値と生成値との間で対称性のある多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成した生成値と、この生成値の生成にあたって与えた入力値とを受信し、この受信した生成値と入力値とに基づいて、入力値と生成値との間で対称性のある前記多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式が互いに関連づけられて記憶されているデータベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、前記送信されてくる生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて生成された暗号化データと、前記検索手段が検索した多項式及び初期値とに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号手段として機能させることを特徴とする。   The present invention for solving the above problem is a decryption server program for decrypting encrypted data, wherein the program uses the decryption server as a polynomial having symmetry between an input value and a generated value. Receives a generated value generated from each input value by giving different input values to a one-way function that applies an arbitrary initial value to an arbitrary polynomial in it, and the input value given when generating this generated value Then, based on the received generated value and the input value, a different input is applied to each one-way function obtained by applying a plurality of initial values to each of the polynomials having symmetry between the input value and the generated value. A plurality of generated values and input values transmitted in a database in which a generated value generated by giving a value and an input value, an initial value, and a polynomial used to generate the generated value are stored in association with each other; Retrieval means for retrieving a polynomial and an initial value, each of which is associated with an associated polynomial and an initial value, and a one-way function used to generate the generated generated value, Encrypted data by reading from the database the encrypted data generated by giving the data divided according to the number of digits as an input value, and the generated value associated with the polynomial and initial value searched by the search means It is made to function as a decoding means which decodes.

本願発明によると、暗号鍵をサーバと端末との間で取り交わしすることなく、暗号化したデータを復号することができる。   According to the present invention, the encrypted data can be decrypted without exchanging the encryption key between the server and the terminal.

第1の実施の形態の概要図である。It is a schematic diagram of a 1st embodiment. 第1の実施の形態におけるデジタル放送受信機のブロック図である。It is a block diagram of the digital broadcast receiver in 1st Embodiment. 第1の実施の形態における復号サーバのブロック図である。It is a block diagram of the decoding server in 1st Embodiment. データベースの一例である。It is an example of a database. 第1の実施の形態における動作を説明するためのフロー図である。It is a flowchart for demonstrating the operation | movement in 1st Embodiment. 第2の実施の形態における動作を説明するためのフロー図である。It is a flowchart for demonstrating the operation | movement in 2nd Embodiment. 第3の実施の形態の概要図である。It is a schematic diagram of 3rd Embodiment. 第3の実施の形態におけるデジタル放送受信機のブロック図である。It is a block diagram of the digital broadcast receiver in 3rd Embodiment. 1セル×9セルの素材画像パターンの例を示したものである。An example of a material image pattern of 1 cell × 9 cells is shown. 4型の二次元コード画像(33セル×33セル)の例を示した図である。It is the figure which showed the example of a 4 type two-dimensional code image (33 cells x 33 cells). 第4の実施の形態の概要図である。It is a schematic diagram of 4th Embodiment. 第4の実施の形態における端末のブロック図である。It is a block diagram of the terminal in 4th Embodiment.

本発明は、多項式(P)と初期値(I)とによって一意的に規定される不可逆な一方向性関数Hに、入力値(INPUT)を与えて生成値(OUTPUT)を算出することにより暗号化するシステムである。本発明では、入力値と生成値との間で対称性がある多項式と初期値とを使用することによって、衝突を回避している。尚、以下の説明では、一方向性関数としてハッシュ関数を用いて説明するが、衝突を回避できる一方向性関数であればハッシュ関数以外でも良い。   In the present invention, an input value (INPUT) is given to an irreversible one-way function H uniquely defined by a polynomial (P) and an initial value (I) to calculate a generated value (OUTPUT). System. In the present invention, collision is avoided by using a polynomial and an initial value that are symmetrical between the input value and the generated value. In the following description, a hash function is used as the one-way function. However, a hash function other than the hash function may be used as long as it is a one-way function that can avoid collision.

<第1の実施の形態>
本発明の特徴を説明するために、以下において、図面を参照して具体的に述べる。
<First Embodiment>
In order to explain the features of the present invention, it will be specifically described below with reference to the drawings.

(構成)
本願発明の通信システムは、図1に示す通り、デジタル放送受信機10と、このデジタル放送受信機10が暗号化したデータを復号する復号サーバ20と、放送局30とを有し、デジタル放送受信機10と復号サーバ20とは、インターネットを介して接続されている。
(Constitution)
As shown in FIG. 1, the communication system according to the present invention includes a digital broadcast receiver 10, a decryption server 20 that decrypts data encrypted by the digital broadcast receiver 10, and a broadcast station 30. The machine 10 and the decryption server 20 are connected via the Internet.

(デジタル放送受信機)
デジタル放送受信機10は、図2に示す通り、放送側送受信部101、メモリ102、生成部103、乱数発生部104、ネットワーク側送受信部105、及びデータ部106を有する。
(Digital broadcast receiver)
As shown in FIG. 2, the digital broadcast receiver 10 includes a broadcast side transmission / reception unit 101, a memory 102, a generation unit 103, a random number generation unit 104, a network side transmission / reception unit 105, and a data unit 106.

放送側送受信部101は、放送局30から放送波を介してデータ放送で送出された命令記述を受信して自装置で実行する。その命令記述には、ハッシュ関数の命令文が記述されている。またその命令記述には入力値の進数と桁数とが宣言されており、デジタル放送受信機で用いられる入力値の進数と桁数とは、予め決められているものとする。更に放送側送受信部101は、ハッシュ関数に用いることができる多項式を、放送波を介して複数受信して、メモリ102に記憶する。   The broadcast-side transmitting / receiving unit 101 receives a command description transmitted from the broadcast station 30 via a broadcast wave through data broadcasting, and executes it on its own device. In the instruction description, an instruction sentence of a hash function is described. In addition, the instruction description declares the radix and the number of digits of the input value, and the radix and the number of digits of the input value used in the digital broadcast receiver are predetermined. Further, the broadcast-side transmitting / receiving unit 101 receives a plurality of polynomials that can be used for the hash function via the broadcast wave and stores them in the memory 102.

生成部103は、メモリ102に記憶されている複数の多項式から無作為に1個選択する。また、初期値を乱数発生部104から無作為に発生させ1個選択する。次に、生成部103は、2個の異なる入力値を乱数発生部104から無作為に発生させ、これらを多項式と初期値とからなるハッシュ関数に与えて生成値をそれぞれ生成する。   The generation unit 103 randomly selects one from a plurality of polynomials stored in the memory 102. An initial value is randomly generated from the random number generation unit 104 and one is selected. Next, the generation unit 103 randomly generates two different input values from the random number generation unit 104, and gives them to a hash function made up of a polynomial and an initial value to generate generated values.

最後に、生成部103は、データ部106のデータを入力値の桁数に合わせて分割して、選択された多項式と初期値とからなるハッシュ関数に分割したデータを入力値として与えて、生成値である暗号化データの集合体である暗号化データ群を作成する。尚、データ部106のデータの桁数が入力値の桁数と同一である場合、データを分割する必要は無い。   Finally, the generation unit 103 divides the data in the data unit 106 in accordance with the number of digits of the input value, and gives the data divided into hash functions composed of the selected polynomial and initial value as the input value to generate An encrypted data group that is an aggregate of encrypted data that is a value is created. When the number of digits of data in the data portion 106 is the same as the number of digits of the input value, it is not necessary to divide the data.

ネットワーク側送受信部105は復号サーバ20に対して、2組の入力値及び生成値と、暗号化データ群とを送信する。尚、本実施の形態では、2組の入力値を与える場合を用いて説明するが、この組数に限定する必要は無く、2組以上であれば良い。   The network side transmitting / receiving unit 105 transmits two sets of input values and generated values, and an encrypted data group to the decryption server 20. In this embodiment, the case where two sets of input values are given will be described. However, it is not necessary to limit the number of sets, and two sets or more may be used.

(復号サーバ)
復号サーバ20は、放送局側で用意されたサーバである。復号サーバ20には、送受信部201と、データベース202と、検索部203と、復号部204とを有する。
(Decryption server)
The decoding server 20 is a server prepared on the broadcasting station side. The decryption server 20 includes a transmission / reception unit 201, a database 202, a search unit 203, and a decryption unit 204.

送受信部201は、デジタル放送受信機10から2組の入力値及び生成値と暗号化データ群とを受信する。   The transmission / reception unit 201 receives two sets of input values and generated values and an encrypted data group from the digital broadcast receiver 10.

データベース202には、図4に示す通り、入力値と生成値との間で対称性のある多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連付けられて記憶されている。入力値は、デジタル放送受信機との間で予め使用する進数と桁数とを取り決めてある値である。生成値は、互いに関連付けられている入力値と初期値と多項式とを使用して予めハッシュ関数で算出した値である。   As shown in FIG. 4, the database 202 is generated by giving different input values to each one-way function obtained by applying a plurality of initial values to each of the polynomials having symmetry between the input values and the generated values. The generated value and the input value, initial value, and polynomial used to generate the generated value are stored in association with each other. The input value is a value in which a base number and a digit number used in advance with the digital broadcast receiver are determined. The generated value is a value calculated in advance by a hash function using an input value, an initial value, and a polynomial associated with each other.

検索部203は、受信した2組の入力値及び生成値に基づいて、データベースにおいてこの受信した2組の入力値及び生成値に関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する。また、検索部203は、デジタル放送受信機10で選択した多項式が所定の時間で変更された多項式のいずれかであるかを確認する。   Based on the received two sets of input values and generated values, the search unit 203 is a polynomial in which the polynomials associated with the received two sets of input values and generated values and the initial values overlap in the database. And initial values are searched. In addition, the search unit 203 confirms whether the polynomial selected by the digital broadcast receiver 10 is one of the polynomials changed at a predetermined time.

復号部204は、検索部203が検索した多項式と初期値とを使用して、受信した暗号データを入力値であるデータに復号する。暗号化データの復号は、暗号化データと検索した多項式及び初期値とに関連付けられている入力値をデータベース202から読み出すことによって行われる。   The decrypting unit 204 decrypts the received encrypted data into data that is an input value using the polynomial and the initial value searched by the searching unit 203. The decryption of the encrypted data is performed by reading from the database 202 the input value associated with the encrypted data, the searched polynomial and the initial value.

尚、上記データベースは、全多項式毎に予め入力値と初期値と生成値とを互いに関連付けた巨大なデータベースを用意してもよいが、現実的ではない。そこで、デジタル放送受信機の生成部103が選択できる多項式を予め決めておき、所定の時間ごとにこの選択できる多項式を変更し、これに伴い検索部203が検索するデータベースの範囲を制限するのが望ましい。この時デジタル放送受信機の生成部103が選択できる多項式は後述する放送局30からデジタル放送受信機10に放送波を介してデータ放送で送出され、復号サーバ20は放送局30がデジタル放送受信機に放送波を介してデータ放送で送信する多項式を予め知っており、検索部203は、検索した多項式が所定の時間で選択することができる多項式のいずれかに該当しているかを確認する構成となる。   In addition, although the said database may prepare the huge database which linked | related the input value, the initial value, and the production | generation value beforehand for every polynomial, it is not realistic. Therefore, the polynomial that can be selected by the generation unit 103 of the digital broadcast receiver is determined in advance, the polynomial that can be selected is changed every predetermined time, and the database range that the search unit 203 searches is limited accordingly. desirable. At this time, a polynomial that can be selected by the generation unit 103 of the digital broadcast receiver is transmitted from the broadcast station 30 described later to the digital broadcast receiver 10 via a broadcast wave as a data broadcast. And a configuration in which the search unit 203 confirms whether the searched polynomial corresponds to one of the polynomials that can be selected at a predetermined time. Become.

(放送局)
放送局30は、上述した通り、デジタル放送受信機10にハッシュ関数の命令文と入力値の進数と桁数とが宣言された命令記述を、放送波を介してデータ放送で送出する。更にハッシュ関数に用いることができる複数の多項式を、放送波を介してデータ放送で送出する。放送局30は、デジタル放送受信機10との間で、使用できる多項式を所定の時間ごとに変更する。この所定時間は、入力値と初期値との桁数に応じて設定するのが望ましい。これは、総当たりで計算すると、使用している多項式と初期値とが探し出される可能性があるためである。
(Broadcaster)
As described above, the broadcast station 30 transmits to the digital broadcast receiver 10 the command description in which the hash function command statement, the decimal number of the input value, and the number of digits are declared by data broadcasting via the broadcast wave. Further, a plurality of polynomials that can be used for the hash function are transmitted by data broadcasting via a broadcast wave. The broadcast station 30 changes a usable polynomial with the digital broadcast receiver 10 every predetermined time. This predetermined time is preferably set according to the number of digits between the input value and the initial value. This is because the polynomial used and the initial value may be found when calculating by brute force.

(動作)
次に、本実施の形態の動作について説明する。尚、以下の説明では、既に、放送局30からデジタル放送受信機10に対して使用できる多項式が複数個送信され、メモリ102に記憶されているものとする。さらに、同様に使用する初期値が乱数発生部104で発生されメモリ102に記憶されているものとする。尚、下記の説明では、入力値を16進2桁、初期値を16進4桁、多項式を16進4桁の場合を用いて説明するが、進数及び桁数をこれらに限定する必要はないものとする。
(Operation)
Next, the operation of the present embodiment will be described. In the following description, it is assumed that a plurality of polynomials that can be used from the broadcast station 30 to the digital broadcast receiver 10 have already been transmitted and stored in the memory 102. Further, it is assumed that an initial value to be similarly used is generated by the random number generation unit 104 and stored in the memory 102. In the following description, the case where the input value is 2 hexadecimal digits, the initial value is 4 hexadecimal digits, and the polynomial is 4 hexadecimal digits is explained. However, the decimal number and the number of digits need not be limited to these. Shall.

生成部103は、ハッシュ関数で使用する多項式と初期値とをメモリ102からそれぞれ1個選択する(ステップ501)。尚、ここでは、多項式『0x1001』と初期値『0x95FA』とが選択されたものとする。   The generation unit 103 selects one polynomial and an initial value used in the hash function from the memory 102 (step 501). Here, it is assumed that the polynomial “0x1001” and the initial value “0x95FA” are selected.

生成部103は、乱数発生部104が発生させる異なる入力値を無作為に2個取り出す(ステップ502)。尚、ここでは、『0x96』と『0xFC』とが取り出されたとする。   The generation unit 103 randomly extracts two different input values generated by the random number generation unit 104 (step 502). Here, it is assumed that “0x96” and “0xFC” are extracted.

この入力値『0x96』と『0xFC』とを、選択した多項式『0x1001』と初期値『0x95FA』とからなるハッシュ関数に与えてそれぞれの生成値を作成する(ステップ503)。ここで生成される生成値は、入力値『0x96』に対して生成値『0x6096』、入力値『0xFC』に対して生成値『0xCD13』が生成されたものとする。   The input values “0x96” and “0xFC” are given to the hash function composed of the selected polynomial “0x1001” and the initial value “0x95FA” to generate respective generated values (step 503). It is assumed that the generated value generated here is the generated value “0x6096” for the input value “0x96” and the generated value “0xCD13” for the input value “0xFC”.

さらに生成部103で、データ部106のデータを16進2桁ずつに分割して、選択した多項式と初期値とからなるハッシュ関数にそれぞれ与えて16進4桁の生成値の集合体である複数の暗号化データを作成する(ステップ504)。ここで、暗号化データ群を『0x7197,0xDC12,・・・』とする。尚、本説明での『,』は、データ群の区切りを示すものであり、暗号化されたデータ、復号化されたデータの一部ではない。   Further, the generation unit 103 divides the data in the data unit 106 into two hexadecimal digits and gives each to a hash function composed of the selected polynomial and initial value, and is a set of four hexadecimal hexadecimal generation values. Is created (step 504). Here, it is assumed that the encrypted data group is “0x7197, 0xDC12,...”. Note that “,” in this description indicates a delimiter of the data group, and is not a part of the encrypted data or the decrypted data.

デジタル放送受信機10のネットワーク側送受信部105は、2組の入力値及び生成値と暗号化データ群を、復号サーバ20に送信する(ステップ505)。ここで2組の入力値及び生成値は『0x96,0x6096』、『0xFC,0xCD13』となり、暗号化データ群は『0x7197,0xDC12,・・・』となる。   The network-side transmitting / receiving unit 105 of the digital broadcast receiver 10 transmits two sets of input values, generated values, and an encrypted data group to the decryption server 20 (step 505). Here, the two sets of input values and generated values are “0x96, 0x6096” and “0xFC, 0xCD13”, and the encrypted data group is “0x7197, 0xDC12,...”.

復号サーバ20の送受信部201は、デジタル放送受信機10から2組の入力値及び生成値と、暗号データ群を受信する(ステップ506)。ここで受信される2組の入力値及び生成値は『0x96,0x6096』、『0xFC,0xCD13』となり、暗号化データ群は『0x7197,0xDC12,・・・』となる。   The transmission / reception unit 201 of the decryption server 20 receives the two sets of input values and generated values and the encrypted data group from the digital broadcast receiver 10 (step 506). Two sets of input values and generated values received here are “0x96, 0x6096” and “0xFC, 0xCD13”, and the encrypted data group is “0x7197, 0xDC12,...”.

検索部203は、受信した2組の入力値及び生成値を用いて、データベースにおいてこの受信した2組の入力値及び生成値に関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する(ステップ507)。ここでは、『0x96,0x6096』、『0xFC,0xCD13』のそれぞれに関連付けられている初期値が同一であるレコードを有する多項式を検索する。図4において、『0x96』と『0x6096』とが関連付けられているレコードと、『0xFC』と『0xCD13』とが関連付けられているレコードとに下線が引いてある。図4において、多項式『0x1001』の初期値『95FA』が重複している。これにより、デジタル放送受信機10が使用した多項式と初期値である暗号鍵を復号サーバ20において知ることができる。   The search unit 203 uses the received two sets of input values and generated values, and in the database, the polynomials associated with the received two sets of input values and generated values and the initial values overlap each other. And the initial value are searched (step 507). Here, a polynomial having a record having the same initial value associated with each of “0x96, 0x6096” and “0xFC, 0xCD13” is searched. In FIG. 4, a record in which “0x96” and “0x6096” are associated with each other and a record in which “0xFC” and “0xCD13” are associated are underlined. In FIG. 4, the initial value “95FA” of the polynomial “0x1001” is duplicated. As a result, the decryption server 20 can know the polynomial used by the digital broadcast receiver 10 and the encryption key that is the initial value.

復号部204は、検索部203が検索した多項式と初期値とを使用して、デジタル放送受信機10が送信した暗号化データ群、つまり、デジタル放送受信機10の生成部103で算出された『0x7197,0xDC12,・・・』を復号する(ステップ508)。図4において、多項式『0x1001』と初期値『95FA』と、生成値『0x7197,0xDC12・・・』のそれぞれに関連付けられている入力値は『97,FB・・・』であるため、『97,FB・・・』を暗号化される前のデータであると認識する。   The decryption unit 204 uses the polynomial and the initial value searched by the search unit 203 to calculate the encrypted data group transmitted by the digital broadcast receiver 10, that is, calculated by the generation unit 103 of the digital broadcast receiver 10. 0x7197, 0xDC12, ... "is decoded (step 508). In FIG. 4, since the input values associated with the polynomial “0x1001”, the initial value “95FA”, and the generated values “0x7197, 0xDC12...” Are “97, FB. , FB... Are recognized as data before being encrypted.

上述した本発明によると、暗号鍵をサーバと端末との間で取り交わしすることなく、暗号化したデータを復号することができる。   According to the present invention described above, the encrypted data can be decrypted without exchanging the encryption key between the server and the terminal.

尚、第1の実施の形態では、デジタル放送受信機を用いて説明したが、デジタル放送受信機に限定するものではない。放送波を介して自装置で実行する一方向性関数の命令記述と多項式とを受信し、通信回線を介して入力値及び生成値と暗号化データ群とを送信できる端末なら何でも構わない。   In the first embodiment, the digital broadcast receiver has been described. However, the present invention is not limited to the digital broadcast receiver. Any terminal can be used as long as it can receive an instruction description and a polynomial of a one-way function executed by its own device via a broadcast wave and transmit an input value, a generated value, and an encrypted data group via a communication line.

<第2の実施の形態>
上記第1の実施の形態では、デジタル放送受信機10が2組の入力値及び生成値と暗号化データ群とを同時に復号サーバ20に送信する動作について説明した。しかしながら、2組の入力値及び生成値を先に送付して多項式と初期値とからなる暗号鍵を認証した後に、複数の生成値を暗号化データ群として送付する動作であっても良い。本実施の形態では、2組の入力値及び生成値を先に送付して認証された後に暗号データ群を送付する動作について説明する。尚、下記説明では、第1の実施の形態と動作が異なるため、動作の説明のみをし、詳細な構成の説明は省略する。
<Second Embodiment>
In the first embodiment, the operation in which the digital broadcast receiver 10 transmits two sets of input values and generated values and the encrypted data group to the decryption server 20 at the same time has been described. However, an operation of sending a plurality of generated values as an encrypted data group after sending two sets of input values and generated values first and authenticating an encryption key composed of a polynomial and an initial value may be performed. In the present embodiment, an operation of sending an encrypted data group after sending and authenticating two sets of input values and generated values first will be described. In the following description, since the operation is different from that of the first embodiment, only the operation is described, and the detailed description of the configuration is omitted.

(動作)
本実施の形態の動作について説明する。尚、以下の説明では、既に、放送局30からデジタル放送受信機10に対して使用できる多項式が放送波を介してデータ放送で複数個送信され、メモリ102に記憶されているものとする。さらに、同様に使用する初期値が乱数発生部104で発生されメモリ102に記憶されているものとする。尚、下記の説明では、第1の実施の形態の動作の説明と同様に、入力値を16進2桁、初期値を16進4桁、多項式を16進4桁の場合を用いて説明するが、進数及び桁数をこれらに限定する必要はないものとする。
(Operation)
The operation of this embodiment will be described. In the following description, it is assumed that a plurality of polynomials that can be used from the broadcast station 30 to the digital broadcast receiver 10 are transmitted by data broadcasting via a broadcast wave and stored in the memory 102. Further, it is assumed that an initial value to be similarly used is generated by the random number generation unit 104 and stored in the memory 102. In the following description, as in the description of the operation of the first embodiment, the case where the input value is hexadecimal 2 digits, the initial value is hexadecimal 4 digits, and the polynomial is hexadecimal 4 digits is used. However, it is not necessary to limit the decimal number and the number of digits to these.

デジタル放送受信機10の生成部103は、ハッシュ関数で使用する多項式と初期値とをメモリ102からそれぞれ1個選択する(ステップ601)。尚、ここでは、多項式『0x1001』と初期値『0x95FA』とが選択されたものとする。   The generation unit 103 of the digital broadcast receiver 10 selects one polynomial and an initial value used in the hash function from the memory 102 (step 601). Here, it is assumed that the polynomial “0x1001” and the initial value “0x95FA” are selected.

生成部103は、乱数発生部104が発生させる異なる入力値を無作為に2個取り出す(ステップ602)。尚、ここでは、『0x96』と『0xFC』とが取り出されたとする。   The generation unit 103 randomly extracts two different input values generated by the random number generation unit 104 (step 602). Here, it is assumed that “0x96” and “0xFC” are extracted.

この入力値『0x96』と『0xFC』とを、選択した多項式『0x1001』と初期値『0x95FA』とからなるハッシュ関数に与えてそれぞれの生成値を作成する(ステップ603)。ここで生成される生成値は、入力値『0x96』に対して生成値『0x6096』、入力値『0xFC』に対して生成値『0xCD13』が生成されたものとする。   The input values “0x96” and “0xFC” are given to the hash function composed of the selected polynomial “0x1001” and the initial value “0x95FA” to generate respective generated values (step 603). It is assumed that the generated value generated here is the generated value “0x6096” for the input value “0x96” and the generated value “0xCD13” for the input value “0xFC”.

ネットワーク側送受信部105は、2組の入力値及び生成値を復号サーバ20に送信する(ステップ604)。ここで送信する2組の入力値及び生成値は『0x96,0x6096』と『0xFC,0xCD13』となる。   The network side transmitting / receiving unit 105 transmits two sets of input values and generated values to the decoding server 20 (step 604). The two sets of input values and generated values transmitted here are “0x96, 0x6096” and “0xFC, 0xCD13”.

復号サーバ20の送受信部201は、デジタル放送受信機10から2組の入力値及び生成値を受信する(ステップ605)。ここで受信する2組の入力値及び生成値は『0x96,0x6096』と『0xFC,0xCD13』となる。   The transmitting / receiving unit 201 of the decoding server 20 receives two sets of input values and generated values from the digital broadcast receiver 10 (step 605). Two sets of input values and generated values received here are “0x96, 0x6096” and “0xFC, 0xCD13”.

検索部203は、受信した2組の入力値及び生成値を用いて、データベースにおいてこの受信した2組の入力値及び生成値に関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する(ステップ606)。ここでは、『0x96,0x6096』、『0xFC,0xCD13』のそれぞれに関連付けられている初期値が同一であるレコードを有する多項式を検索する。図4において、『0x96』と『0x6096』とが関連付けられているレコードと、『0xFC』と『0xCD13』とが関連付けられているレコードとに下線が引いてある。図4において、多項式『0x1001』の初期値『95FA』が重複している。これにより、デジタル放送受信機10が使用した多項式と初期値とからなる暗号鍵を復号サーバ20において知ることができる。   The search unit 203 uses the received two sets of input values and generated values, and in the database, the polynomials associated with the received two sets of input values and generated values and the initial values overlap each other. And an initial value are searched (step 606). Here, a polynomial having a record having the same initial value associated with each of “0x96, 0x6096” and “0xFC, 0xCD13” is searched. In FIG. 4, a record in which “0x96” and “0x6096” are associated with each other and a record in which “0xFC” and “0xCD13” are associated are underlined. In FIG. 4, the initial value “95FA” of the polynomial “0x1001” is duplicated. Thereby, the decryption server 20 can know the encryption key composed of the polynomial and the initial value used by the digital broadcast receiver 10.

検索部203は、検索した多項式と初期値とを、一回限り有効なIDに関連付けて一時メモリ(図示せず)にて管理する(ステップ607)。   The search unit 203 manages the searched polynomial and initial value in a temporary memory (not shown) in association with an ID that is valid only once (step 607).

送受信部201は、このIDをデジタル放送受信機に送信する(ステップ608)。IDの送信中に情報が傍受されても、漏えいするのはIDだけであり、多項式と初期値とからなる暗号鍵が特定されることはないため問題はない。   The transmission / reception unit 201 transmits this ID to the digital broadcast receiver (step 608). Even if information is intercepted during the transmission of the ID, only the ID leaks, and there is no problem because the encryption key consisting of the polynomial and the initial value is not specified.

デジタル放送受信器10のネットワーク側の送受信部105は、復号サーバ20からIDを受け取り、IDとCHKDIGITとデータを16進2桁ずつに分割してハッシュ関数に与えて生成した暗号化データ群とを、復号サーバに送信する(ステップ609)。ここで、暗号化データ群を『0x7197,0xCD13,・・・』とする。また、CHKDIGITとは、IDの不正利用をチェックするために、無作為に選択した入力値と、その入力値をハッシュ関数に与えて算出した生成値との1組のことである。ここで送信する情報が傍受されても、知られるのはIDとCHKDIGITと暗号化データ群とだけで、それらを導くのに用いられた多項式と初期値とが特定されることはない。   The transmission / reception unit 105 on the network side of the digital broadcast receiver 10 receives the ID from the decryption server 20, and divides the ID, CHKDIGIT, and the data into two hexadecimal digits and gives the hash function to the encrypted data group generated. And transmitted to the decryption server (step 609). Here, it is assumed that the encrypted data group is “0x7197, 0xCD13,...”. Further, CHKDIGIT is a set of an input value selected at random to check illegal use of an ID and a generated value calculated by giving the input value to a hash function. Even if the information to be transmitted here is intercepted, only the ID, CHKDIGIT, and encrypted data group are known, and the polynomial and initial value used to derive them are not specified.

復号サーバ20の送受信部201は、IDとCHKDIGITと暗号化データ群『0x7197,0xCD13,・・・』とを受信し、検索部203が一時メモリに管理されているIDに関連付けられている多項式と初期値とを特定する(ステップ610)。   The transmission / reception unit 201 of the decryption server 20 receives the ID, CHKDIGIT, and the encrypted data group “0x7197, 0xCD13,...”, And the search unit 203 has a polynomial associated with the ID managed in the temporary memory. An initial value is specified (step 610).

次に、検索部203は、受信データに含まれるCHKDIGITから生成値を読み取り、多項式と初期値とCHKDIGITの生成値とで特定される入力値をデータベース202から読み出してCHKDIGITの入力値と一致すれば、受信データはなりすましでない本物のデジタル放送受信機から送信されたと判断し、特定した多項式と初期値とを使用して受信データに含まれる暗号化されたデータを復号する(ステップ611)。ここで、一時メモリに管理されていないIDを受信すると、検索部203は、なりすまし送信されたと判断する。また、IDに関連付けられている多項式と初期値とCHKDIGITの生成値とでデータベース202から特定される入力値と、CHKDIGITの入力値とが一致しない場合、またはIDに関連付けられた多項式と初期値とから暗号化データ群に関連付けられている入力値がデータベース202からそれぞれ特定できない場合もなりすまし送信されたと判断する。   Next, the search unit 203 reads the generated value from the CHKDIGIT included in the received data, reads the input value specified by the polynomial, the initial value, and the generated value of the CHKDIGIT from the database 202 and matches the input value of the CHKDIGIT. The received data is determined to have been transmitted from a genuine digital broadcast receiver that is not impersonated, and the encrypted data included in the received data is decrypted using the specified polynomial and initial value (step 611). Here, when receiving an ID that is not managed in the temporary memory, the search unit 203 determines that the spoofing has been transmitted. Further, when the input value specified from the database 202 by the polynomial associated with the ID, the initial value, and the generated value of CHKDIGIT does not match the input value of CHKDIGIT, or the polynomial and initial value associated with the ID If the input values associated with the encrypted data group cannot be identified from the database 202, it is determined that the spoofed transmission has been performed.

復号サーバの検索部203は、復号が完了すると、IDの不正利用を防止するためにこのIDを無効扱いにする。   When the decryption is completed, the search unit 203 of the decryption server treats this ID as invalid in order to prevent unauthorized use of the ID.

本実施の形態によると、暗号鍵をサーバと端末との間で取り交わしすることなく、暗号化したデータを復号することができる。   According to the present embodiment, the encrypted data can be decrypted without exchanging the encryption key between the server and the terminal.

<第3の実施の形態>
上記第1及び第2の実施の形態では、2組の入力値及び生成値と暗号化データ群とをデジタル放送受信機10からインターネットを介して復号サーバ20に送信していたが、デジタル放送受信機10がインターネットに接続されていない場合も考えられる。そこで、本実施の形態では、携帯端末を用いて、暗号化されたデータを復号サーバ20に送信する構成について説明する。尚、上記実施の形態と同様の構成については同一番号を付して説明し、詳細な説明は省略する。
<Third Embodiment>
In the first and second embodiments, two sets of input values and generated values and the encrypted data group are transmitted from the digital broadcast receiver 10 to the decryption server 20 via the Internet. There may be a case where the machine 10 is not connected to the Internet. Therefore, in the present embodiment, a configuration in which encrypted data is transmitted to the decryption server 20 using a mobile terminal will be described. In addition, the same number is demonstrated about the structure similar to the said embodiment, and detailed description is abbreviate | omitted.

本実施の形態では、図7に示す通り、さらにインターネットに接続している携帯端末40を有する。携帯端末40には、QRコード(登録商標)等の二次元バーコードを読み取る機能が具備されているものとする。   In the present embodiment, as shown in FIG. 7, the mobile terminal 40 is further connected to the Internet. It is assumed that the mobile terminal 40 has a function of reading a two-dimensional barcode such as a QR code (registered trademark).

デジタル放送受信機10は、図8に示す通り、さらに二次元コード画像生成部107を有する。   As shown in FIG. 8, the digital broadcast receiver 10 further includes a two-dimensional code image generation unit 107.

放送局30は、二次元コード画像データの生成をデジタル放送受信機20に命令実行させる命令記述を、放送波を介してデータ放送で送出する。デジタル放送受信機20の二次元コード画像生成部107は、受信した命令記述に基づいて、2組の入力値及び生成値と暗号化データ群とを二次元コードデータに変換し、二次元コードデータに対応する二次元コード画像を、素材画像パターンを組み合わせることによって生成する。そして、デジタル放送受信機20は、生成した二次元コード画像を画面に表示する。   The broadcast station 30 transmits a command description for causing the digital broadcast receiver 20 to execute the generation of the two-dimensional code image data by data broadcasting via a broadcast wave. The two-dimensional code image generation unit 107 of the digital broadcast receiver 20 converts two sets of input values, generated values, and encrypted data groups into two-dimensional code data based on the received instruction description, and generates two-dimensional code data. Is generated by combining the material image patterns. The digital broadcast receiver 20 displays the generated two-dimensional code image on the screen.

ここで、二次元コード画像を生成する素材画像パターンとして、合計数がn(n=6,7,8,9)個のセルをひとつの素材とし、2のn乗個の白黒2値のすべての二次元配列パターンを表す素材画像パターンを用いる。尚、セルとは、二次元コード画像を構成する白または黒の正方形画像である。   Here, as a material image pattern for generating a two-dimensional code image, a total number of n (n = 6, 7, 8, 9) cells is one material, and all 2 n black and white binary values are used. A material image pattern representing a two-dimensional array pattern is used. Note that a cell is a white or black square image constituting a two-dimensional code image.

素材の例としては、例えば、1セル×6セル、1セル×7セル、1セル×8セル、1セル×9セルの横長の素材、2セル×3セル、3セル×3セルの素材がある。そして、1セル×6セルの素材の場合には2=64個の素材画像パターンがあり、1セル×7セルの素材の場合には2=128個の素材画像パターンがあり、1セル×8セルの素材の場合には2=256個の素材画像パターンがあり、1セル×9セルの素材の場合には2=512個の素材画像パターンがある。 Examples of the material include, for example, 1 cell × 6 cell, 1 cell × 7 cell, 1 cell × 8 cell, 1 cell × 9 cell horizontally long material, 2 cell × 3 cell, 3 cell × 3 cell material. is there. In the case of the material of 1 cell × 6 cells, there are 2 6 = 64 material image patterns, and in the case of the material of 1 cell × 7 cells, there are 2 7 = 128 material image patterns. In the case of a material of × 8 cells, there are 2 8 = 256 material image patterns, and in the case of a material of 1 cell × 9 cells, there are 2 9 = 512 material image patterns.

尚、1セル×6セル、1セル×7セル、1セル×8セル、1セル×9セルの横長の素材は、二次元コードの元となる二次元コードデータを、それに対応する素材画像パターンの画像に置換していく際に、データの先頭から横長のセル分毎に区切ることができるので、2セル×3セル、3セル×3セルの素材画像パターンよりも、受信機側の処理負担を軽減することができる。   1 cell x 6 cell, 1 cell x 7 cell, 1 cell x 8 cell, 1 cell x 9 cell horizontally long material is the 2D code data that is the source of the 2D code, and the corresponding material image pattern When the image is replaced with the next image, the data can be divided into horizontally long cells from the beginning of the data. Therefore, the processing load on the receiver side is larger than the material image pattern of 2 cells × 3 cells, 3 cells × 3 cells. Can be reduced.

図9は、1セル×9セルの素材画像パターンの例を示したものである。素材画像パターンは、ファイル名称情報と画像データとから構成される。画像データは、二値画素データ(白画素または黒画素)が組み合わさった集合体である。   FIG. 9 shows an example of a material image pattern of 1 cell × 9 cells. The material image pattern is composed of file name information and image data. The image data is an aggregate of binary pixel data (white pixels or black pixels) combined.

図9の例では、白セルまたは黒セルが1セル×9セルに配置されて、配置された二値画素の値に対応付けたファイル名称がつけられている。例えば、白セルの値は、「1」であり、また、黒セルの値は、「0」であるとすると、最初の素材画像パターンは、9つの白セルが配列されているので、ファイル名称は、「111111111.png」である。2番目の画像パターンは、最初だけに黒セルが配列されているので、ファイル名称は、「011111111.png」である。そして、このような素材画像パターンが512個用意される。   In the example of FIG. 9, white cells or black cells are arranged in 1 cell × 9 cells, and file names associated with the values of the arranged binary pixels are given. For example, if the value of the white cell is “1” and the value of the black cell is “0”, since the first material image pattern has nine white cells arranged, the file name Is “111111111.png”. Since the second image pattern has black cells arranged only at the beginning, the file name is “0111111111.png”. Then, 512 such material image patterns are prepared.

次に、2組の入力値及び生成値と暗号化データ群とから変換された二次元コードデータを、それに対応する素材画像パターンの画像に置換していく。例えば、二次元コードデータが「011111111」であるならば、二次元コードデータ「011111111」をファイル名称「011111111.png」の画像である「黒、白、白、白、白、白、白、白、白」に置換する。この処理を、全ての二次元コード画像のセルが埋まるまで行い、二次元コード画像を生成する。   Next, the two-dimensional code data converted from the two sets of input values and generated values and the encrypted data group are replaced with the corresponding material image pattern images. For example, if the two-dimensional code data is “0111111111”, the two-dimensional code data “0111111111” is an image with the file name “0111111111.png” “black, white, white, white, white, white, white, white, white , White ”. This process is performed until all the cells of the two-dimensional code image are filled, and a two-dimensional code image is generated.

図10は、4型の二次元コード画像(33セル×33セル)の場合の例を示した図である。4型の二次元コード画像の場合、1セル×9セルの素材画像パターンを用いて、行方向に33個、列方向に4個、合計132個の素材画像パターンの画像で埋められることになる。二次元コードデータの(9行、1列)〜(9行、9列)に対応する二次元コードデータ「000000100」は、素材画像パターンのファイル名「000000100.png」の画像である「黒、黒、黒、黒、黒、黒、白、黒、黒」に置換する。   FIG. 10 is a diagram showing an example of a 4 type two-dimensional code image (33 cells × 33 cells). In the case of a 4 type two-dimensional code image, a material image pattern of 1 cell × 9 cells is used and is filled with images of a total of 132 material image patterns, 33 in the row direction and 4 in the column direction. . Two-dimensional code data “000000100” corresponding to (9 rows, 1 column) to (9 rows, 9 columns) of the two-dimensional code data is “black,” which is an image of the file name “000000100.png” of the material image pattern. Replace with "black, black, black, black, black, white, black, black".

尚、4型の二次元コード画像(33セル×33セル)の場合、1辺が33セル分しかなく、34セル目、35セル目、36セル目の二次元コードデータがない。行方向に4個の素材画像パターンの画像が並ぶと、3セル分余ることになる(9セル×4個−33セル=3セル)。そこで、行方向の最後の素材画像パターンは、最後の3セルが「白」の素材画像パターンとなる。例えば、図10の例では、(1行、28列)〜(1行、33列)に対応する二次元コードデータ「000000」であるが、この二次元コードデータ「000000」を、「000000111」とし、「000000111.png」の画像である「黒、黒、黒、黒、黒、黒、白、白、白」に置換する。   In the case of a 4 type two-dimensional code image (33 cells × 33 cells), there are only 33 cells per side, and there is no two-dimensional code data in the 34th cell, 35th cell and 36th cell. If four material image pattern images are arranged in the row direction, three cells are left (9 cells × 4 cells−33 cells = 3 cells). Therefore, the last material image pattern in the row direction is a material image pattern in which the last three cells are “white”. For example, in the example of FIG. 10, the two-dimensional code data “000000” corresponding to (1 row, 28 columns) to (1 row, 33 columns) is used, and this two-dimensional code data “000000” is changed to “00000011”. And “black, black, black, black, black, black, white, white, white”, which is an image of “00000011.png”.

上述した方法で、2組の入力値及び生成値と暗号化データ群とからQRコード画像をデジタル放送受信機で作成して表示画面に表示させると、携帯端末40のカメラがそのQRコードを読み取ることで、2組の入力値及び生成値と暗号化データ群が復号サーバ20に送信される。   When the QR code image is created by the digital broadcast receiver from the two sets of input values and generated values and the encrypted data group and displayed on the display screen by the method described above, the camera of the portable terminal 40 reads the QR code. As a result, two sets of input values, generated values, and an encrypted data group are transmitted to the decryption server 20.

本実施の形態によると、デジタル放送受信機10がインターネットに接続されていなくてもデジタル放送受信機で生成された暗号データを、暗号鍵をやり取りすることなく復号サーバに復号することができる。   According to the present embodiment, even if the digital broadcast receiver 10 is not connected to the Internet, the encrypted data generated by the digital broadcast receiver can be decrypted by the decryption server without exchanging the encryption key.

<第4の実施の形態>
上記第1〜第3の実施の形態では、デジタル放送受信機10が放送波を介して多項式を受信する構成について説明した。本実施の形態では、インターネット上に設けられた認証サーバから通信回線を介して複数の多項式を受信する構成について説明する。
<Fourth embodiment>
In the first to third embodiments, the configuration in which the digital broadcast receiver 10 receives a polynomial through a broadcast wave has been described. In the present embodiment, a configuration will be described in which a plurality of polynomials are received from an authentication server provided on the Internet via a communication line.

本実施の形態では、図11に示す通り、デジタル放送受信機10の代わりに端末50を有する。端末50は、例えば、スマートテレビや携帯端末等である。また、放送局30の代わりに、認証サーバ60を有する。端末50と復号サーバ20と認証サーバ60は、互いにインターネットを介して接続されている。   In the present embodiment, as shown in FIG. 11, a terminal 50 is provided instead of the digital broadcast receiver 10. The terminal 50 is, for example, a smart TV or a mobile terminal. Further, an authentication server 60 is provided instead of the broadcasting station 30. The terminal 50, the decryption server 20, and the authentication server 60 are connected to each other via the Internet.

(端末)
端末50は、図12に示す通り、上述のデジタル放送受信機10と比べて、放送側送受信部101を有さない構成となっている。
(Terminal)
As illustrated in FIG. 12, the terminal 50 has a configuration that does not include the broadcast-side transmission / reception unit 101 as compared to the digital broadcast receiver 10 described above.

本実施の形態では、ハッシュ関数を命令実行命令文が記述されたプログラムは、端末50のネットワーク側送受信部105がインターネット上に設けられた任意の公開サーバから受信する、若しくは予め端末50に記憶されている。またその命令記述には入力値の進数と桁数とが宣言されており、端末50で用いられる入力値の進数と桁数とは、予め決められているものとする。更に、ハッシュ関数に用いることのできる複数の多項式を所定の時間ごとに変更するために、認証サーバ60に対して所定の時間ごとに複数の多項式の送信要求を送信する命令文が記述されている。尚、本説明では、複数の多項式を認証サーバ60から送信される場合を用いて説明するが、ネットワーク上の任意のサーバから受信しても、予め端末50に記憶されていてもよい。   In the present embodiment, a program in which an instruction execution command statement is described as a hash function is received from an arbitrary public server provided on the Internet by the network side transmission / reception unit 105 of the terminal 50 or stored in the terminal 50 in advance. ing. In addition, the instruction description declares the decimal number and the number of digits of the input value, and the decimal number and the number of digits of the input value used in the terminal 50 are determined in advance. Further, in order to change a plurality of polynomials that can be used for the hash function at every predetermined time, a command statement for transmitting a transmission request for the plurality of polynomials to the authentication server 60 every predetermined time is described. . In this description, a case where a plurality of polynomials are transmitted from the authentication server 60 will be described. However, they may be received from an arbitrary server on the network or stored in the terminal 50 in advance.

(認証サーバ)
認証サーバ60は、端末50からの送信要求に応じて、端末50が選択できる複数の多項式を送信する。
(Authentication server)
In response to a transmission request from the terminal 50, the authentication server 60 transmits a plurality of polynomials that can be selected by the terminal 50.

(動作)
本実施の形態の動作は、上記実施の形態と同様であるため、詳細な説明は省略する。尚、本実施の形態は、上記第1〜第3のいずれの実施の形態に適用させてもよい。
(Operation)
Since the operation of this embodiment is the same as that of the above embodiment, a detailed description thereof is omitted. Note that this embodiment may be applied to any of the first to third embodiments.

本実施の形態によると、暗号鍵をサーバと端末との間で取り交わしすることなく、暗号化したデータを復号することができる。   According to the present embodiment, the encrypted data can be decrypted without exchanging the encryption key between the server and the terminal.

尚、上述した本発明の端末は、上記説明からも明らかなように、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。   The terminal of the present invention described above can be configured by hardware as is apparent from the above description, but can also be realized by a computer program.

端末は、プロセッサ及びプログラムメモリを有し、プログラムメモリに格納されているプログラムで動作するプロセッサによって、上述した実施の形態と同様の機能、動作を実現させる。尚、上述した実施の形態の一部の機能のみをコンピュータプログラムにより実現することも可能である。   The terminal has a processor and a program memory, and realizes functions and operations similar to those of the above-described embodiment by a processor that operates with a program stored in the program memory. Note that only a part of the functions of the above-described embodiment can be realized by a computer program.

以上、実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。   Although the present invention has been described with reference to the embodiments and examples, the present invention is not necessarily limited to the above-described embodiments and examples, and various modifications can be made within the scope of the technical idea. I can do it.

10 デジタル放送受信機
20 復号サーバ
30 放送局
40 携帯端末
50 端末(携帯端末,スマートテレビ)
60 認証サーバ
10 Digital Broadcasting Receiver 20 Decoding Server 30 Broadcasting Station 40 Mobile Terminal 50 Terminal (Mobile Terminal, Smart TV)
60 Authentication server

Claims (7)

暗号システムであって、
入力値と生成値との間で対称性のある多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースと、
前記多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成値を生成し、この生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて暗号化データを生成する生成手段と、
送信されてきた複数組の生成値と入力値とに基づいて、前記データベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、
前記検索手段が検索した多項式及び初期値と、前記生成手段で生成された暗号化データとに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号手段と
を有することを特徴とする暗号システム。
A cryptographic system,
Generated values generated by giving different input values to each one-way function obtained by applying multiple initial values to each of the polynomials that are symmetric between the input value and the generated value, and for generating this generated value A database in which used input values, initial values, and polynomials are stored in association with each other;
The unidirectionality used to generate a generated value from each input value by giving different input values to a unidirectional function obtained by applying an arbitrary initial value to an arbitrary polynomial in the polynomial. Generating means for generating encrypted data by giving, as an input value, data divided according to the number of digits of the input value to the function;
Based on a plurality of sets of generated values and input values that have been transmitted, the polynomials and initial values associated with the plurality of generated values and input values that have been transmitted in the database overlap. A search means for searching for a polynomial and an initial value;
A decoding unit that decrypts the encrypted data by reading out the generated value associated with the polynomial and the initial value searched by the searching unit and the encrypted data generated by the generating unit from the database; Feature cryptographic system.
前記生成手段は、前記入力値の桁数に応じて設定される所定の時間で変更された多項式の中から任意の多項式を選択し、
前記検索手段は、前記検索した多項式が、前記所定の時間で変更された多項式のいずれかであるかを確認することを特徴とする請求項1に記載の暗号システム。
The generation means selects an arbitrary polynomial from polynomials changed at a predetermined time set according to the number of digits of the input value,
2. The cryptographic system according to claim 1, wherein the search means checks whether the searched polynomial is one of the polynomials changed at the predetermined time.
前記生成手段は、放送波を介して送信される多項式の中から任意の多項式を選択することを特徴とする請求項1または請求項2に記載の暗号システム。   The cryptographic system according to claim 1 or 2, wherein the generation unit selects an arbitrary polynomial from among polynomials transmitted via broadcast waves. 前記生成手段は、通信回線を介して送信される多項式の中から任意の多項式を選択することを特徴とする請求項1または請求項2に記載の暗号システム。   The cryptographic system according to claim 1 or 2, wherein the generation unit selects an arbitrary polynomial from among polynomials transmitted via a communication line. 暗号化されたデータを復号する復号サーバであって、
入力値と生成値との間で対称性のある多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースと、
送信されてくる、前記多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成した生成値と、この生成値の生成にあたって与えた入力値とに基づいて、前記データベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、
前記送信されてくる生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて生成された暗号化データと、前記検索手段が検索した多項式及び初期値とに関連付けられている生成値を前記データベースから読み出すことにより前記暗号化データを復号する復号手段と
を有することを特徴とする復号サーバ。
A decryption server for decrypting encrypted data,
Generated values generated by giving different input values to each one-way function obtained by applying multiple initial values to each of the polynomials that are symmetric between the input value and the generated value, and for generating this generated value A database in which used input values, initial values, and polynomials are stored in association with each other;
A generated value generated from each input value by giving a different input value to a one-way function obtained by applying an arbitrary initial value to an arbitrary polynomial in the polynomial, and the generated value Based on the given input value, a search is made for a polynomial and an initial value in which the polynomial and the initial value associated with the plurality of generated values and input values transmitted in the database overlap each other. Search means;
The search means searches for encrypted data generated by giving, as an input value, data that is divided according to the number of digits of the input value to the one-way function used to generate the generated generated value. A decryption server comprising decryption means for decrypting the encrypted data by reading out a generated value associated with a polynomial and an initial value from the database.
暗号方法であって、
入力値と生成値との間で対称性のある多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成値を生成する生成値生成ステップと、
前記入力値の桁数に合わせてデータを分割する分割ステップと、
前記生成値生成ステップで生成値の生成に使用した一方向性関数に、前記分割ステップで分割したデータを入力値として与えて暗号化データを生成する暗号化データ生成ステップと、
送信されてきた複数組の生成値と入力値とに基づいて、入力値と生成値との間で対称性のある前記多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式とが互いに関連づけられて記憶されているデータベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索ステップと、
前記検索ステップで検索された多項式と初期値と、前記生成値生成ステップで生成された暗号化データとに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号ステップと
を有することを特徴とする暗号方法。
An encryption method,
A generated value is generated from each input value by giving a different input value to a one-way function in which an arbitrary initial value is applied to an arbitrary polynomial in a polynomial symmetric between the input value and the generated value. Generation value generation step;
A dividing step of dividing data according to the number of digits of the input value;
An encrypted data generating step for generating encrypted data by giving the data divided in the dividing step as an input value to the one-way function used for generating the generated value in the generated value generating step;
Based on a plurality of sets of generated values and input values that have been transmitted, each unidirectional function is formed by applying a plurality of initial values to each of the polynomials that are symmetric between the input value and the generated value. A plurality of generated values transmitted in a database in which generated values generated by giving different input values, and input values, initial values, and polynomials used to generate the generated values are stored in association with each other; A search step for searching for a polynomial and an initial value in which a polynomial associated with the input value and the initial value overlap each other; and
A decryption step of decrypting the encrypted data by reading out the generated value associated with the polynomial and the initial value searched in the searching step and the encrypted data generated in the generated value generating step from the database; An encryption method comprising:
暗号化されたデータを復号する復号サーバの復号プログラムであって、前記復号プログラムは、前記復号サーバを、
入力値と生成値との間で対称性のある多項式中の任意の多項式に任意の初期値を適用させてなる一方向性関数に異なる入力値を与えてそれぞれの入力値から生成した生成値と、この生成値の生成にあたって与えた入力値とを受信し、この受信した生成値と入力値とに基づいて、入力値と生成値との間で対称性のある前記多項式のそれぞれに複数の初期値を適用させてなる各一方向性関数に異なる入力値を与えて生成した生成値と、この生成値の生成に使用した入力値、初期値、及び多項式が互いに関連づけられて記憶されているデータベースにおいて前記送信されてきた複数の生成値と入力値とに関連付けられている多項式と初期値とのそれぞれが重複している多項式と初期値とを検索する検索手段と、
前記送信されてくる生成値の生成に使用した一方向性関数に、前記入力値の桁数に合わせて分割したデータを入力値として与えて生成された暗号化データと、前記検索手段が検索した多項式及び初期値とに関連付けられている生成値を前記データベースから読み出すことにより暗号化データを復号する復号手段と
して機能させることを特徴とする復号プログラム。
A decryption program of a decryption server for decrypting encrypted data, the decryption program comprising:
A generated value generated from each input value by giving a different input value to a one-way function obtained by applying an arbitrary initial value to an arbitrary polynomial in a polynomial symmetric between the input value and the generated value , Receiving the input value given in generating the generated value, and, based on the generated generated value and the input value, a plurality of initial values for each of the polynomials having symmetry between the input value and the generated value. A database in which generated values generated by applying different input values to each one-way function to which values are applied, and input values, initial values, and polynomials used to generate the generated values are stored in association with each other A search means for searching for a polynomial and an initial value, each of which is overlapped with an initial value and a polynomial associated with the plurality of generated values and input values transmitted in
The search means searches for encrypted data generated by giving, as an input value, data that is divided according to the number of digits of the input value to the one-way function used to generate the generated generated value. A decryption program that functions as decryption means for decrypting encrypted data by reading a generated value associated with a polynomial and an initial value from the database.
JP2012249742A 2012-11-13 2012-11-13 Encryption system, decryption server, encryption method, and decryption program Pending JP2014098773A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012249742A JP2014098773A (en) 2012-11-13 2012-11-13 Encryption system, decryption server, encryption method, and decryption program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012249742A JP2014098773A (en) 2012-11-13 2012-11-13 Encryption system, decryption server, encryption method, and decryption program

Publications (1)

Publication Number Publication Date
JP2014098773A true JP2014098773A (en) 2014-05-29

Family

ID=50940830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012249742A Pending JP2014098773A (en) 2012-11-13 2012-11-13 Encryption system, decryption server, encryption method, and decryption program

Country Status (1)

Country Link
JP (1) JP2014098773A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022024762A (en) * 2020-07-28 2022-02-09 株式会社東芝 Receiver, method, and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06188878A (en) * 1992-12-22 1994-07-08 Nec Corp Optical subscriber system
JP2005534965A (en) * 2002-07-27 2005-11-17 エクストリーム セキュリティー ソリューションズ リミテッド リミテッド ライアビリティ カンパニー Encryption and decryption apparatus and method
JP2010514272A (en) * 2006-12-15 2010-04-30 クゥアルコム・インコーポレイテッド Method and apparatus for secure telephone banking

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06188878A (en) * 1992-12-22 1994-07-08 Nec Corp Optical subscriber system
JP2005534965A (en) * 2002-07-27 2005-11-17 エクストリーム セキュリティー ソリューションズ リミテッド リミテッド ライアビリティ カンパニー Encryption and decryption apparatus and method
JP2010514272A (en) * 2006-12-15 2010-04-30 クゥアルコム・インコーポレイテッド Method and apparatus for secure telephone banking

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6014017419; TIP: 'HJスキルアッ・ガイド' ハッカージャパン 第12巻,第3号, 20130501, 第159-161頁, 白夜書房 *
JPN6016025235; Donald E. Knuth: The  Art  of  Computer  Programming 日本語版 Volume3,初版, 20060425, 第492頁, 株式会社アスキー *
JPN6016025236; 加藤  大樹: '限定された鍵候補集合へのタイム・メモリ・トレードオフ暗号強度評価法の適用' 電子情報通信学会技術研究報告 Vol.100,No.421, 20001106, 第2頁, 社団法人電子情報通信学会 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022024762A (en) * 2020-07-28 2022-02-09 株式会社東芝 Receiver, method, and program
JP7386768B2 (en) 2020-07-28 2023-11-27 株式会社東芝 Receiver, method and program

Similar Documents

Publication Publication Date Title
EP3779792B1 (en) Two-dimensional code generation method, data processing method, apparatus, and server
US10659226B2 (en) Data encryption method, decryption method, apparatus, and system
CN104052742A (en) Internet of things communication protocol capable of being encrypted dynamically
Singh et al. A comprehensive survey on encryption techniques for digital images
CN106651734A (en) Binary two-dimensional code image encryption and decryption method and device
CN112115461B (en) Equipment authentication method and device, computer equipment and storage medium
CN112035827B (en) Cipher data processing method, device, equipment and readable storage medium
CN102821098A (en) System and method for self-dissolving instant messaging under cloud environment
CN113660620B (en) Data anti-counterfeiting encryption method and device, computer equipment and storage medium
US20220216999A1 (en) Blockchain system for supporting change of plain text data included in transaction
Lee et al. A novel group ownership transfer protocol for RFID systems
CN115603907A (en) Method, device, equipment and storage medium for encrypting storage data
CN104753870A (en) Data transmission method and system
CN114286131A (en) Transmission method and device for anchor image model file in live broadcast wheat
CN112202555B (en) Information processing method, device and equipment for generating random number based on information attribute
JP2010141567A (en) Communication apparatus, communication method and program
US20150074415A1 (en) Image Verification By An Electronic Device
Chao et al. Priority visual secret sharing of random grids for threshold access structures
JP2014098773A (en) Encryption system, decryption server, encryption method, and decryption program
CN112862488A (en) Data signature method and device, electronic equipment and computer readable storage medium
CN114374518A (en) PSI intersection information acquisition method and device with intersection counting function
CN112954388A (en) Data file acquisition method and device, terminal equipment and storage medium
CN110032858B (en) Dynamic authentication method, system and terminal
CN111787535A (en) NDEF format security dynamic code generation method and device and near field communication method and system
CN1208924C (en) An information transmission encryption method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160706

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170104