JP2017005412A - Data processing device, data transmission method, computer program and data server - Google Patents

Data processing device, data transmission method, computer program and data server Download PDF

Info

Publication number
JP2017005412A
JP2017005412A JP2015115603A JP2015115603A JP2017005412A JP 2017005412 A JP2017005412 A JP 2017005412A JP 2015115603 A JP2015115603 A JP 2015115603A JP 2015115603 A JP2015115603 A JP 2015115603A JP 2017005412 A JP2017005412 A JP 2017005412A
Authority
JP
Japan
Prior art keywords
data
encryption
unit
encrypted
random number
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
JP2015115603A
Other languages
Japanese (ja)
Inventor
梅野 健
Takeshi Umeno
健 梅野
大浦 佑次
Yuji Oura
佑次 大浦
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.)
PATENETSUTO KK
Kyoto University
Original Assignee
PATENETSUTO KK
Kyoto University
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 PATENETSUTO KK, Kyoto University filed Critical PATENETSUTO KK
Priority to JP2015115603A priority Critical patent/JP2017005412A/en
Priority to PCT/JP2016/067062 priority patent/WO2016199812A1/en
Publication of JP2017005412A publication Critical patent/JP2017005412A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a data server reducing a time required for processing to encrypt and transmit data.SOLUTION: A data server 1 includes an encryption processing unit 16 which includes: a data division part which divides user data given from a terminal 2 to generate a plurality of division data; a data compression part which performs reversible compression on each of the plurality of division data, to generate a plurality of compression data; and a data encryption part which encrypts the plurality of compression data as multidimensional data, using multidimensional data encryption algorithm, to generate encryption data. The data server 1 also includes a data control unit 15 which, when one encryption data among a plurality of encryption data is generated, transmits the one encryption data to a backup server 3, without waiting for the generation of other encryption data.SELECTED DRAWING: Figure 1

Description

本発明は、データ処理装置、データ送信方法、コンピュータプログラム、及びデータサーバに関する。   The present invention relates to a data processing device, a data transmission method, a computer program, and a data server.

従来、データを暗号化してストレージ(記憶装置)に記憶する技術が提案されている(例えば特許文献1参照)。また、データをストレージに保存する際、データを圧縮することが一般的に行われている。そして、これらの技術を組み合わせて、データに対して圧縮と暗号化とを別々のプロセスで行うことが一般的に行われている。   Conventionally, a technique for encrypting data and storing it in a storage (storage device) has been proposed (see, for example, Patent Document 1). In addition, when data is stored in a storage, the data is generally compressed. And combining these techniques, it is generally performed that data is compressed and encrypted in separate processes.

特許第4219629号Japanese Patent No. 4219629

しかしながら、データに対して圧縮と暗号化とを別々のプロセスで行う場合、データが大きくなると圧縮及び暗号化に要する時間が増加してしまう。
さらに、圧縮及び暗号化を行ったデータを、例えば、外部のバックアップサーバに記憶させるために当該バックアップサーバに送信する場合、データに対する圧縮及び暗号化が完了するまで送信することができないので、これら処理が完了するまで送信を待たなければならず、無駄な待ち時間が生じることがあった。
However, when data is compressed and encrypted by separate processes, the time required for compression and encryption increases as the data increases.
Furthermore, when the compressed and encrypted data is transmitted to the backup server for storage in an external backup server, for example, the data cannot be transmitted until the data is compressed and encrypted. Therefore, it is necessary to wait for the transmission until it is completed.

本発明はこのような事情に鑑みてなされたものであり、データを暗号化し送信する処理に要する時間の短縮を図ることができるデータ処理装置、データ送信方法、コンピュータプログラム、及びデータサーバを提供することを目的とする。   The present invention has been made in view of such circumstances, and provides a data processing device, a data transmission method, a computer program, and a data server that can reduce the time required to encrypt and transmit data. For the purpose.

(1)一実施形態に係るデータ処理装置は、データを圧縮及び暗号化し他の装置に送信するデータ処理装置であって、前記データを分割して、複数の分割データを生成するデータ分割部と、前記複数の分割データそれぞれを可逆圧縮することにより複数の圧縮データを生成するデータ圧縮部と、前記複数の圧縮データを、複数次元データとして複数次元データ暗号化アルゴリズムを用いて暗号化することにより暗号データを生成するデータ暗号化部と、前記複数の暗号データの内、一の暗号データが生成されると他の暗号データの生成を待たずに前記一の暗号データを前記他の装置に送信する送信制御部と、を備えている。 (1) A data processing apparatus according to an embodiment is a data processing apparatus that compresses and encrypts data and transmits the data to another apparatus, and a data dividing unit that divides the data and generates a plurality of divided data. A data compression unit that generates a plurality of compressed data by reversibly compressing each of the plurality of divided data, and by encrypting the plurality of compressed data as a plurality of data using a multidimensional data encryption algorithm A data encryption unit that generates encrypted data, and when one encrypted data among the plurality of encrypted data is generated, the one encrypted data is transmitted to the other device without waiting for generation of the other encrypted data. A transmission control unit.

本構成によれば、データ分割部がデータを分割して複数の分割データを生成し、データ圧縮部が、複数の分割データそれぞれを可逆圧縮することにより複数の圧縮データを生成する。これにより、データ圧縮部が、分割前のデータを圧縮する構成に比べて、圧縮時間の短縮を図ることができるので、データの暗号化処理に要する時間を短縮することができる。また、データ暗号化部が、複数の圧縮データを複数次元データとして暗号化する。これにより、データ暗号化部が、複数の圧縮データそれぞれの暗号化に、複数次元データ暗号化アルゴリズムを採用することができる。
さらに、送信制御部が、複数の暗号データの内、一の暗号データが生成されると他の暗号データの生成を待たずに一の暗号データを他の装置に送信するので、複数の暗号データ全部が生成されるのを待つことなく送信することができる。このため、送信すべきデータである複数の分割データが全て暗号化されるのを待って送信する場合と比較して、暗号化のための待ち時間を圧縮することができ、データの送信処理に要する時間を短縮することができる。
以上のように、本構成によれば、データを暗号化し送信する処理に要する時間の短縮を図ることができる。
According to this configuration, the data dividing unit divides the data to generate a plurality of divided data, and the data compression unit generates a plurality of compressed data by reversibly compressing each of the plurality of divided data. As a result, the compression time can be shortened as compared with the configuration in which the data compression unit compresses the data before the division, so that the time required for the data encryption process can be shortened. The data encryption unit encrypts the plurality of compressed data as multidimensional data. Thereby, the data encryption part can employ | adopt a multidimensional data encryption algorithm for encryption of each of several compressed data.
Further, since the transmission control unit transmits one encrypted data to another device without waiting for the generation of the other encrypted data when one encrypted data is generated among the plurality of encrypted data, the plurality of encrypted data You can send without waiting for everything to be generated. For this reason, the waiting time for encryption can be compressed compared with the case where transmission is performed after waiting for all of the plurality of divided data to be transmitted to be encrypted. The time required can be shortened.
As described above, according to this configuration, it is possible to reduce the time required for the process of encrypting and transmitting data.

(2)上記データ処理装置において、前記データ暗号化部は、前記複数の圧縮データそれぞれの暗号化に用いる複数の乱数データを生成する乱数データ生成部を備え、前記乱数データ生成部は、複数の前記乱数データの内、一の前記乱数データに基づいて次の前記乱数データを生成し、前記データ暗号化部は、前記乱数データ生成部が前記乱数データを生成するごとに前記複数の暗号データを順次生成することが好ましい。
この場合、乱数データが生成されるごとに、暗号データが順次生成される。よって、送信制御部は、複数の暗号データの内、一の暗号データが生成されるごとに順次他の装置に送信する。これにより、送信処理に要する時間を効果的に短縮することができる。
(2) In the data processing device, the data encryption unit includes a random number data generation unit that generates a plurality of random number data used for encryption of the plurality of compressed data, and the random number data generation unit includes a plurality of random number data generation units. Of the random number data, the next random number data is generated based on the one random number data, and the data encryption unit generates the plurality of encrypted data every time the random number data generation unit generates the random number data. It is preferable to generate them sequentially.
In this case, every time random number data is generated, encrypted data is sequentially generated. Therefore, the transmission control unit sequentially transmits to another apparatus every time one piece of encrypted data is generated among the plurality of pieces of encrypted data. As a result, the time required for the transmission process can be effectively shortened.

(3)また、一実施形態に係るデータ送信方法は、データを圧縮及び暗号化し他の装置に送信するデータ送信方法であって、前記データを分割して、複数の分割データを生成するデータ分割ステップと、前記複数の分割データそれぞれを可逆圧縮することにより複数の圧縮データを生成するデータ圧縮ステップと、前記複数の圧縮データを、複数次元データとして複数次元データ暗号化アルゴリズムを用いて暗号化することにより暗号データを生成するデータ暗号化ステップと、前記複数の暗号データの内、一の暗号データが生成されると他の暗号データの生成を待たずに前記一の暗号データを前記他の装置に送信する送信制御ステップと、を含む。 (3) A data transmission method according to an embodiment is a data transmission method in which data is compressed and encrypted and transmitted to another device, and the data is divided to generate a plurality of divided data. A step, a data compression step for generating a plurality of compressed data by reversibly compressing each of the plurality of divided data, and the plurality of the compressed data are encrypted as a plurality of data using a multidimensional data encryption algorithm A data encryption step for generating encrypted data, and when one encrypted data among the plurality of encrypted data is generated, the one encrypted data is transferred to the other device without waiting for generation of the other encrypted data. A transmission control step of transmitting to

(4)また、一実施形態に係るコンピュータプログラムは、データを圧縮及び暗号化し他の装置に送信するデータ送信処理をコンピュータに実行させるためのコンピュータプログラムであって、コンピュータに前記データを分割して、複数の分割データを生成するデータ分割ステップと、前記複数の分割データそれぞれを可逆圧縮することにより複数の圧縮データを生成するデータ圧縮ステップと、前記複数の圧縮データを、複数次元データとして複数次元データ暗号化アルゴリズムを用いて暗号化することにより暗号データを生成するデータ暗号化ステップと、前記複数の暗号データの内、一の暗号データが生成されると他の暗号データの生成を待たずに前記一の暗号データを前記他の装置に送信する送信制御ステップと、を実行させるためのコンピュータプログラムである。 (4) A computer program according to an embodiment is a computer program for causing a computer to execute a data transmission process of compressing and encrypting data and transmitting the data to another device, and dividing the data into the computer. A data division step for generating a plurality of divided data, a data compression step for generating a plurality of compressed data by reversibly compressing each of the plurality of divided data, and the plurality of compressed data as a plurality of dimensions A data encryption step for generating encrypted data by encrypting using a data encryption algorithm, and without waiting for generation of other encrypted data when one of the plurality of encrypted data is generated A transmission control step of transmitting the one encrypted data to the other device; Which is a computer program.

(5)また、一実施形態に係るデータサーバは、データを圧縮及び暗号化しバックアップサーバに送信するデータサーバであって、前記データを分割して、複数の分割データを生成するデータ分割部と、前記複数の分割データそれぞれを可逆圧縮することにより複数の圧縮データを生成するデータ圧縮部と、前記複数の圧縮データを、複数次元データとして複数次元データ暗号化アルゴリズムを用いて暗号化することにより暗号データを生成するデータ暗号化部と、前記複数の暗号データの内、一の暗号データが生成されると他の暗号データの生成を待たずに前記一の暗号データを前記他の装置に送信する送信制御部と、を備えている。 (5) The data server according to an embodiment is a data server that compresses and encrypts data and transmits the data to a backup server, and divides the data to generate a plurality of divided data; A data compression unit that generates a plurality of compressed data by reversibly compressing each of the plurality of divided data, and encryption by encrypting the plurality of compressed data as multidimensional data using a multidimensional data encryption algorithm A data encryption unit that generates data, and when one encrypted data among the plurality of encrypted data is generated, the one encrypted data is transmitted to the other device without waiting for generation of the other encrypted data. A transmission control unit.

上記構成のデータ送信方法、コンピュータプログラム、及びデータサーバによれば、データを圧縮し送信する処理に要する時間の短縮を図ることができる。   According to the data transmission method, the computer program, and the data server configured as described above, it is possible to reduce the time required for the process of compressing and transmitting data.

本発明によれば、データを圧縮し送信する処理に要する時間の短縮を図ることができる。   According to the present invention, it is possible to reduce the time required for the process of compressing and transmitting data.

データ管理システムの概略構成図である。It is a schematic block diagram of a data management system. 暗号化処理部の構成を示すブロック図である。It is a block diagram which shows the structure of an encryption process part. データ暗号化部、及びデータ復号部のブロック図である。It is a block diagram of a data encryption part and a data decryption part. 暗号化用乱数発生部の構成を示すブロック図である。It is a block diagram which shows the structure of the random number generation part for encryption. 本実施形態に係るデータ管理システムにおけるデータサーバと端末との間におけるユーザデータの授受に関する処理を示すシーケンス図である。It is a sequence diagram which shows the process regarding transmission / reception of the user data between the data server and terminal in the data management system which concerns on this embodiment. (a)は、本実施形態に係るデータ圧縮・暗号化処理の概念図、(b)は、本実施形態に係るデータ復元処理の概念図である。(A) is a conceptual diagram of the data compression / encryption processing according to the present embodiment, and (b) is a conceptual diagram of the data restoration processing according to the present embodiment. データサーバが行うバックアップ処理を示すシーケンス図である。It is a sequence diagram which shows the backup process which a data server performs. 暗号化処理部が暗号化を開始し、データ制御部が暗号データを送信する際のタイムチャートである。It is a time chart when an encryption process part starts encryption and a data control part transmits encryption data.

〔構成について〕
図1は、データ管理システムの概略構成図である。
データ管理システムは、データサーバ1と、複数の端末2と、バックアップ用サーバ3とを備えている。
データサーバ1は、LAN(Local Area Network)や、インターネット4を介して複数の端末2との間で互いに通信可能に接続されている。また、データサーバ1は、インターネット4を介してバックアップ用サーバ3との間で互いに通信可能に接続されている。
[About configuration]
FIG. 1 is a schematic configuration diagram of a data management system.
The data management system includes a data server 1, a plurality of terminals 2, and a backup server 3.
The data server 1 is communicably connected to a plurality of terminals 2 via a LAN (Local Area Network) or the Internet 4. The data server 1 is connected to the backup server 3 via the Internet 4 so as to be communicable with each other.

このデータ管理システムでは、データサーバ1が複数の端末2の少なくとも1つからデータ蓄積要求を受け付けると、当該データサーバ1は、データ蓄積要求を送信した端末2から送信されるユーザデータを受け付けて蓄積する。一方、データサーバ1が複数の端末2の少なくとも1つからデータ引出し要求を受け付けると、データサーバ1は、自らが蓄積するユーザデータを、データ引出し要求を送信した端末2に向けて送信する。   In this data management system, when the data server 1 accepts a data accumulation request from at least one of the plurality of terminals 2, the data server 1 accepts and accumulates user data transmitted from the terminal 2 that has transmitted the data accumulation request. To do. On the other hand, when the data server 1 accepts a data withdrawal request from at least one of the plurality of terminals 2, the data server 1 transmits user data stored therein to the terminal 2 that has transmitted the data withdrawal request.

また、データサーバ1は、端末2から送信されるユーザデータを受け付けて蓄積する際、ユーザデータをバックアップ用サーバ3に送信し、バックアップ用サーバ3にバックアップデータとして記憶し蓄積させる機能も有している。
つまり、データサーバ1はメインのデータセンターとしての機能を有しており、バックアップ用サーバ3は、データバックアップ用のデータセンターとしての機能を有している。
The data server 1 also has a function of transmitting user data to the backup server 3 when receiving and storing user data transmitted from the terminal 2, and storing and storing the user data as backup data in the backup server 3. Yes.
That is, the data server 1 has a function as a main data center, and the backup server 3 has a function as a data backup data center.

端末2は、例えば、CPU(図示せず)やメモリ等の記憶装置(図示せず)を備えたパーソナルコンピュータ等の情報処理装置によって構成されており、当該端末2が記憶しているユーザデータをデータサーバ1に蓄積することを要求するための蓄積要求をデータサーバ1に送信する機能や、蓄積すべきユーザデータをデータサーバ1に送信する機能、蓄積されたユーザデータをデータサーバ1から引き出すためのデータ引出し要求をデータサーバ1に送信する機能、データ引出し要求に応じてデータサーバ1から送信されるユーザデータを受け付ける機能を有している。   The terminal 2 is constituted by an information processing apparatus such as a personal computer provided with a storage device (not shown) such as a CPU (not shown) or a memory, for example, and user data stored in the terminal 2 is stored. A function for transmitting a storage request for requesting storage to the data server 1 to the data server 1, a function for transmitting user data to be stored to the data server 1, and for extracting stored user data from the data server 1 The function of transmitting the data withdrawal request to the data server 1 and the function of accepting user data transmitted from the data server 1 in response to the data withdrawal request.

バックアップ用サーバ3は、例えば、CPU(図示せず)やメモリ、ハードディスク等の記憶装置(図示せず)を備えたワークステーションやパーソナルコンピュータ等の情報処理装置によって構成されており、データサーバ1がバックアップのために送信するデータを受け付けて記憶する機能を有している。
また、バックアップ用サーバ3は、記憶し蓄積しているデータをデータサーバ1からの要求に応じて当該データサーバ1に送信する機能も有している。
The backup server 3 is constituted by an information processing device such as a workstation or a personal computer provided with a storage device (not shown) such as a CPU (not shown), a memory, and a hard disk, for example. It has a function of receiving and storing data to be transmitted for backup.
The backup server 3 also has a function of transmitting stored and accumulated data to the data server 1 in response to a request from the data server 1.

図1に示すように、データサーバ1は、データ処理装置としての制御装置11と、記憶装置12と、通信装置13とを備えている。
記憶装置12は、端末2から送信されるデータを記憶する機能を有しており、例えばハードディスク等の外部記憶装置から構成される。
通信装置13は、端末2やバックアップ用サーバ3との間で通信接続するための機能を有しており、例えばLANインターフェース等から構成される。
As shown in FIG. 1, the data server 1 includes a control device 11 as a data processing device, a storage device 12, and a communication device 13.
The storage device 12 has a function of storing data transmitted from the terminal 2, and is composed of an external storage device such as a hard disk.
The communication device 13 has a function for communication connection with the terminal 2 and the backup server 3, and is configured by a LAN interface, for example.

制御装置11は、端末2から送信されて与えられるユーザデータを記憶装置12へ格納して蓄積したり、端末2から送信されたデータをバックアップ用サーバ3に送信する処理を行う。
制御装置11は、例えばパーソナルコンピュータによって構成されており、CPU(図示せず)とメモリ(図示せず)とを有する。制御装置11の各種機能は、CPUがメモリに読み出された所定のコンピュータプログラムを実行することにより実現されている。なお、制御装置11は、その少なくとも一部がFPGA(Field Programmable Gate Array)等の集積回路から構成されていてもよい。
The control device 11 stores user data transmitted and given from the terminal 2 in the storage device 12 and accumulates it, or transmits data transmitted from the terminal 2 to the backup server 3.
The control device 11 is constituted by a personal computer, for example, and has a CPU (not shown) and a memory (not shown). Various functions of the control device 11 are realized by the CPU executing predetermined computer programs read into the memory. Note that at least a part of the control device 11 may be configured by an integrated circuit such as an FPGA (Field Programmable Gate Array).

制御装置11は、データ制御部15と、暗号化処理部16とを機能的に備えている。暗号化処理部16は、端末2から与えられるユーザデータを分割し、分割した分割データを圧縮し、暗号化する処理(データ圧縮・暗号化処理)を行う機能を有している。また、暗号化処理部16は、当該暗号化処理部16が分割して圧縮暗号化した暗号データを復号、展開し、結合して元のユーザデータを復元する処理(データ復元処理)を行う機能も有している。   The control device 11 functionally includes a data control unit 15 and an encryption processing unit 16. The encryption processing unit 16 has a function of dividing user data given from the terminal 2, compressing the divided divided data, and performing encryption processing (data compression / encryption processing). The encryption processing unit 16 has a function of performing processing (data recovery processing) for decrypting and expanding the encrypted data that has been divided and compressed and encrypted by the encryption processing unit 16 and combining them to restore the original user data. Also have.

データ制御部15は、端末2からの蓄積要求や引出し要求に応じて、端末2から与えられるユーザデータについて暗号化処理部16にデータ圧縮・暗号化処理を行わせ、暗号化された暗号データを記憶装置12に与えて蓄積させたり、記憶装置12に蓄積されている暗号データを読み出して暗号化処理部16にデータ復元処理を行わせ、復元したユーザデータを端末2に送信する機能を有している。
また、データ制御部15は、暗号化処理部16が生成した暗号データをインターネット4を介してバックアップ用サーバ3に送信し、バックアップ用サーバ3に記憶し蓄積させるバックアップ処理を行う機能を有している。
また、データ制御部15は、バックアップ用サーバ3に記憶し蓄積させた暗号データをバックアップ用サーバ3に送信させて引出し、記憶装置12に蓄積させたり、そのまま暗号化処理部16にデータ復元処理を行わせて端末2に送信する機能も有している。
The data control unit 15 causes the encryption processing unit 16 to perform data compression / encryption processing on the user data given from the terminal 2 in response to a storage request or withdrawal request from the terminal 2, and the encrypted encrypted data is The storage device 12 has a function of sending and storing the restored user data by reading the encrypted data stored in the storage device 12 and reading the encrypted data and causing the encryption processing unit 16 to perform data restoration processing. ing.
Further, the data control unit 15 has a function of performing backup processing in which the encrypted data generated by the encryption processing unit 16 is transmitted to the backup server 3 via the Internet 4 and stored and stored in the backup server 3. Yes.
Further, the data control unit 15 transmits the encrypted data stored and accumulated in the backup server 3 to the backup server 3 and retrieves it, stores it in the storage device 12, or performs the data restoration process in the encryption processing unit 16 as it is. It also has a function of performing the transmission to the terminal 2.

このように、データ制御部15は、端末2やバックアップ用サーバ3との間におけるユーザデータや暗号データの授受に関する制御を行う。   In this way, the data control unit 15 performs control related to the exchange of user data and encrypted data with the terminal 2 and the backup server 3.

図2は、暗号化処理部16の構成を示すブロック図である。
暗号化処理部16は、データ制御部15から端末2のユーザデータが与えられると、当該ユーザデータに対して、分割、圧縮、暗号化を行い、複数の暗号データを生成する。
また、暗号化処理部16は、データ制御部15から複数の暗号データが与えられると、当該暗号データに対して、復号、展開、結合を行って、元のユーザデータを生成する。
暗号化処理部16は、生成した複数の暗号データ及びユーザデータをデータ制御部15に与える。
FIG. 2 is a block diagram illustrating a configuration of the encryption processing unit 16.
When the user data of the terminal 2 is given from the data control unit 15, the encryption processing unit 16 divides, compresses, and encrypts the user data to generate a plurality of encrypted data.
In addition, when a plurality of pieces of encrypted data are given from the data control unit 15, the encryption processing unit 16 decrypts, expands, and combines the encrypted data to generate original user data.
The encryption processing unit 16 gives the generated plurality of encrypted data and user data to the data control unit 15.

暗号化処理部16は、データ分割部20と、データ圧縮部21と、データ暗号化部22と、データ復号部23と、データ展開部24と、データ結合部25とを備えている。また、暗号化処理部16は、更に、データ暗号化部22やデータ復号部23が使用する秘密鍵を保持する秘密鍵保持部26を備えている。   The encryption processing unit 16 includes a data dividing unit 20, a data compression unit 21, a data encryption unit 22, a data decryption unit 23, a data expansion unit 24, and a data combination unit 25. The encryption processing unit 16 further includes a secret key holding unit 26 that holds a secret key used by the data encryption unit 22 and the data decryption unit 23.

データ分割部20は、データ制御部15からユーザデータが与えられると、当該ユーザデータを所定の長さに分割し、複数の分割データを生成する。データ分割部20は、ユーザデータを所定の長さの複数の分割データに分割すると、複数の分割データをデータ圧縮部21へ与える。   When user data is given from the data control unit 15, the data dividing unit 20 divides the user data into a predetermined length and generates a plurality of divided data. When the data dividing unit 20 divides user data into a plurality of pieces of divided data having a predetermined length, the data dividing unit 20 gives the plurality of divided data to the data compression unit 21.

データ圧縮部21は、データ分割部20から複数の分割データが与えられると、与えられた分割データそれぞれの圧縮を並列処理により行う。データ圧縮部21は、可逆圧縮アルゴリズムを利用してデータの圧縮を行う。具体的には、データ圧縮部21は、例えばLZ77(Lempel−Ziv)やLZSS(Lemple−Ziv−Storer−Szymanski)等の圧縮アルゴリズムを利用してデータの可逆圧縮処理を行う。
そして、データ圧縮部21は、データを圧縮する処理により得られる圧縮データをデータ暗号化部22へ与える。
When a plurality of pieces of divided data are given from the data dividing unit 20, the data compressing unit 21 compresses each given divided data by parallel processing. The data compression unit 21 compresses data using a reversible compression algorithm. Specifically, the data compression unit 21 performs lossless compression processing of data using a compression algorithm such as LZ77 (Lempel-Ziv) or LZSS (Lemple-Ziv-Storer-Symanski).
Then, the data compression unit 21 gives the compressed data obtained by the process of compressing the data to the data encryption unit 22.

データ暗号化部22は、データ圧縮部21から与えられる圧縮データに対して、複数次元データ暗号化アルゴリズムを利用した暗号化処理を施す。ここでは、データ暗号化部22は、複数の圧縮データを複数次元データとみなして暗号化処理を行う。そして、データ暗号化部22は、暗号化された圧縮データ(以下、「暗号データ」と称する。)をデータ制御部15に与える。   The data encryption unit 22 performs an encryption process using a multidimensional data encryption algorithm on the compressed data provided from the data compression unit 21. Here, the data encryption unit 22 performs encryption processing by regarding a plurality of compressed data as multidimensional data. Then, the data encryption unit 22 gives the encrypted compressed data (hereinafter referred to as “encrypted data”) to the data control unit 15.

一方、データ復号部23は、データ制御部15から一のユーザデータの暗号化によって得られた複数の暗号データが与えられると、これら複数の暗号データに対して、暗号化法を利用した復号処理を施す。そして、データ復号部23は、複数の暗号データに対して復号処理を施すことにより得られた圧縮データをデータ展開部24に与える。   On the other hand, when a plurality of encrypted data obtained by encrypting one user data is given from the data control unit 15, the data decrypting unit 23 performs a decryption process using an encryption method on the plurality of encrypted data. Apply. Then, the data decryption unit 23 provides the data decompression unit 24 with the compressed data obtained by performing decryption processing on the plurality of encrypted data.

図3は、データ暗号化部22、及びデータ復号部23のブロック図である。   FIG. 3 is a block diagram of the data encryption unit 22 and the data decryption unit 23.

データ暗号化部22は、暗号化演算部22aと、暗号化用乱数発生部22bとを備えている。
暗号化用乱数発生部22bは、秘密鍵保持部26が保持する秘密鍵に基づいて、複数の圧縮データそれぞれの暗号化に使用する複数の乱数データを生成する。
秘密鍵保持部26は、例えばN個(Nは自然数)の秘密鍵を保持している。
暗号化用乱数発生部22bは、データ圧縮部21から圧縮データが与えられると、秘密鍵保持部26から秘密鍵を取得する。暗号化用乱数発生部22bは、N個の秘密鍵から暗号化用のN個以上のM個(Mは自然数)の範囲で必要数の乱数データを生成する。
The data encryption unit 22 includes an encryption operation unit 22a and an encryption random number generation unit 22b.
The encryption random number generation unit 22b generates a plurality of random number data used for encryption of each of the plurality of compressed data based on the secret key held by the secret key holding unit 26.
The secret key holding unit 26 holds, for example, N (N is a natural number) secret keys.
The encryption random number generation unit 22 b obtains a secret key from the secret key holding unit 26 when the compressed data is given from the data compression unit 21. The random number generator for encryption 22b generates the required number of random number data in the range of N or more M (M is a natural number) for encryption from the N secret keys.

図4は、暗号化用乱数発生部22bの構成を示すブロック図である。
図4中、暗号化用乱数発生部22bは、初期値生成部31と、第1記憶部32と、第2記憶部33と、第1計算部34と、第2計算部35と、出力部36とを備えている。
FIG. 4 is a block diagram showing a configuration of the encryption random number generator 22b.
4, the encryption random number generator 22b includes an initial value generator 31, a first storage 32, a second storage 33, a first calculator 34, a second calculator 35, and an output unit. 36.

初期値生成部31は、秘密鍵か与えられると、第1ベクトルxの初期値及び第2ベクトルyの初期値を生成する。初期値生成部31は、初期値である第1ベクトルxを第1記憶部32に与えるとともに、初期値である第2ベクトルyを第2記憶部33に与える。第1記憶部32は、第1ベクトルxが与えられるとこれを記憶するとともに、第1計算部34に与える。
第1計算部34は、第1ベクトルxが与えられると、当該第1ベクトルxに第1の有理ベクトル写像fを適用した第3ベクトルx’(=f(x))を求め、求めた第3ベクトルx’を出力部36と、第2計算部35とに与える。
The initial value generation unit 31 generates an initial value of the first vector x and an initial value of the second vector y when given a secret key. The initial value generation unit 31 provides the first vector x, which is an initial value, to the first storage unit 32 and also provides the second vector y, which is an initial value, to the second storage unit 33. When the first storage unit 32 is given the first vector x, the first storage unit 32 stores this and also gives it to the first calculation unit 34.
Given the first vector x, the first calculation unit 34 obtains a third vector x ′ (= f (x)) obtained by applying the first rational vector mapping f to the first vector x, The three vectors x ′ are given to the output unit 36 and the second calculation unit 35.

また、第2記憶部33は、初期値生成部31から第2ベクトルyが与えられるとこれを記憶するとともに、第2計算部35に与える。
第2計算部35は、第2ベクトルy及び第1計算部34から第3ベクトルx’が与えられると、これらに第2の有理ベクトル写像gを適用した第4ベクトルy’(=g(x’,y))を求め、求めた第4ベクトルy’を出力部36に与える。
In addition, when the second value y is given from the initial value generation unit 31, the second storage unit 33 stores this and also gives it to the second calculation unit 35.
When given the second vector y and the third vector x ′ from the first calculation unit 34, the second calculation unit 35 applies the second rational vector mapping g to the fourth vector y ′ (= g (x ', Y)) is obtained, and the obtained fourth vector y' is given to the output unit 36.

出力部36は、第3ベクトルx’と、第4ベクトルy’とを結合したベクトルzを生成し、これを乱数データとして暗号化演算部22aに与える。   The output unit 36 generates a vector z obtained by combining the third vector x 'and the fourth vector y', and supplies this to the encryption operation unit 22a as random number data.

また、第1計算部34は、求めた第3ベクトルx’を第1更新部37に与える。第1更新部37は、第3ベクトルx’を第1ベクトルxとして第1記憶部32に与える。
第1記憶部32は、第1更新部37から第1ベクトルxが与えられると、過去の第1ベクトルxを破棄して新たに与えられた第1ベクトルxを記憶する。次いで、第1記憶部32は、第1更新部37から与えられた第1ベクトルxを第1計算部34に与える。
In addition, the first calculation unit 34 gives the obtained third vector x ′ to the first update unit 37. The first update unit 37 gives the third vector x ′ to the first storage unit 32 as the first vector x.
When the first vector x is given from the first updating unit 37, the first storage unit 32 discards the past first vector x and stores the newly given first vector x. Next, the first storage unit 32 gives the first vector x given from the first update unit 37 to the first calculation unit 34.

さらに、第2計算部35は、求めた第4ベクトルy’を第2更新部38に与える。第2更新部38は、第4ベクトルy’を第2ベクトルyとして第2記憶部33に与える。
第2記憶部33は、第2更新部38から第2ベクトルyが与えられると、過去の第2ベクトルyを破棄して新たに与えられた第2ベクトルyを記憶する。次いで、第2記憶部33は、第2更新部38から与えられた第2ベクトルyを第2計算部35に与える。
Further, the second calculator 35 gives the obtained fourth vector y ′ to the second updater 38. The second update unit 38 gives the fourth vector y ′ to the second storage unit 33 as the second vector y.
When the second vector y is given from the second updating unit 38, the second storage unit 33 discards the past second vector y and stores the newly given second vector y. Next, the second storage unit 33 gives the second vector y given from the second update unit 38 to the second calculation unit 35.

その後、第1計算部34及び第2計算部35は、第3ベクトルx’及び第4ベクトルy’を出力部36に与える。
出力部36は、次のベクトルzを生成し、次の乱数データを暗号化演算部22aに与える。
Thereafter, the first calculation unit 34 and the second calculation unit 35 provide the third vector x ′ and the fourth vector y ′ to the output unit 36.
The output unit 36 generates the next vector z and gives the next random number data to the encryption operation unit 22a.

なお、第1の有理ベクトル写像f及び第2の有理ベクトル写像gとしては、楕円関数の加法定理により導かれる有理写像を用いることができる。   As the first rational vector map f and the second rational vector map g, a rational map derived by the addition theorem of elliptic functions can be used.

以上のように、暗号化用乱数発生部22bは、一の乱数データを得るために第1ベクトルx及び第2ベクトルyから演算された第3ベクトルx’及び第4ベクトルy’を、次の乱数データを求めるための計算に用いる第1ベクトルx及び第2ベクトルyとして更新しつつ、順次、必要数の乱数データを生成し、暗号化演算部22aに与える。   As described above, the encryption random number generator 22b uses the third vector x ′ and the fourth vector y ′ calculated from the first vector x and the second vector y to obtain one random number data, While updating as the first vector x and the second vector y used for the calculation for obtaining the random number data, the necessary number of random number data is sequentially generated and given to the encryption operation unit 22a.

このように、暗号化用乱数発生部22bは、一の乱数データに基づいて次の乱数データを生成するので、一の乱数データを生成した後に、次の乱数データを生成する。
暗号化用乱数発生部22bは、乱数データを生成するごとに生成した乱数データを暗号化演算部22aに与える。
Thus, since the random number generator for encryption 22b generates the next random number data based on the one random number data, the next random number data is generated after the one random number data is generated.
The random number generator 22b for encryption gives the random number data generated every time random number data is generated to the encryption calculator 22a.

なお、暗号化用乱数発生部22bによる乱数データの生成については、特許第3030341号公報に記載されている。   The generation of random number data by the encryption random number generator 22b is described in Japanese Patent No. 3030341.

図3に戻って、暗号化演算部22aは、データ圧縮部21から与えられる圧縮データと、暗号化用乱数発生部22bから与えられる乱数データとを用いて暗号化演算を行うことにより、暗号データを生成する。この暗号化演算部22aは、暗号化演算として、例えば、圧縮データと乱数データとの排他的論理和を計算する。なお、暗号化演算は、排他的論理和の計算に限定されるものではない。   Returning to FIG. 3, the encryption operation unit 22a performs the encryption operation using the compressed data given from the data compression unit 21 and the random number data given from the encryption random number generation unit 22b, thereby obtaining the encrypted data. Is generated. For example, the encryption operation unit 22a calculates an exclusive OR of the compressed data and the random number data as the encryption operation. The encryption operation is not limited to the exclusive OR calculation.

暗号化演算部22aは、圧縮データと、乱数データとを用いて暗号化演算を行うことにより暗号データを生成するので、暗号化用乱数発生部22bから乱数データが与えられるごとに各圧縮データそれぞれについて暗号化演算を開始し、暗号データを生成する。よって、データ暗号化部22の暗号化演算部22aは、乱数データが与えられるごとに複数の暗号データを順次生成する。
暗号化演算部22aは、暗号データを生成するごとに生成した暗号データをデータ制御部15に与える。
The encryption operation unit 22a generates encryption data by performing encryption operation using the compressed data and the random number data. Therefore, each time the random number data is given from the encryption random number generation unit 22b, each of the compressed data The encryption operation is started for, and encrypted data is generated. Therefore, the encryption operation unit 22a of the data encryption unit 22 sequentially generates a plurality of encryption data every time random number data is given.
The encryption operation unit 22a gives the generated data to the data control unit 15 every time encrypted data is generated.

以上のようにして、暗号化処理部16は、データ制御部15から与えられるユーザデータに対してデータ圧縮・暗号化処理を行い、複数の暗号データを生成してデータ制御部15に与える。   As described above, the encryption processing unit 16 performs data compression / encryption processing on the user data provided from the data control unit 15, generates a plurality of encrypted data, and provides the data control unit 15 with the data.

データ復号部23は、復号演算部23aと、復号用乱数発生部23bとを備えている。
復号用乱数発生部23bは、秘密鍵保持部26が保持する秘密鍵に基づいて、複数の暗号データそれぞれの復号に使用する複数の乱数データを生成する。
復号用乱数発生部23bは、データ制御部15から暗号データが与えられると、秘密鍵保持部26から秘密鍵を取得する。復号用乱数発生部23bは、N個の秘密鍵から復号用のM個の範囲で必要数の乱数データを生成する。
なお、復号用乱数発生部23bの構成は、暗号化用乱数発生部22bと同様の構成である。よって、ここでは説明を省略する。
The data decryption unit 23 includes a decryption calculation unit 23a and a decryption random number generation unit 23b.
Based on the secret key held by the secret key holding unit 26, the decryption random number generation unit 23b generates a plurality of random number data used for decoding each of the plurality of encrypted data.
The decryption random number generator 23 b obtains the secret key from the secret key holding unit 26 when the encrypted data is given from the data control unit 15. The decryption random number generator 23b generates a necessary number of random number data in the range of M for decryption from the N secret keys.
The configuration of the decryption random number generator 23b is the same as that of the encryption random number generator 22b. Therefore, the description is omitted here.

復号演算部23aは、データ制御部15から与えられる複数の暗号データと、復号用乱数発生部23bから与えられる乱数データとを用いて復号演算を行うことにより、複数の暗号データを復号し圧縮データを生成する。この復号演算部23aは、復号演算として、例えば、暗号データと乱数データとの排他的論理和を計算する。なお、暗号化演算は、排他的論理和に限定されるものではない。
復号演算部23aは、生成した複数の圧縮データをデータ展開部24に与える。
The decryption operation unit 23a performs decryption operation using the plurality of encrypted data provided from the data control unit 15 and the random number data provided from the decryption random number generating unit 23b, thereby decrypting the plurality of encrypted data and compressing the compressed data. Is generated. The decryption operation unit 23a calculates, for example, an exclusive OR of encryption data and random number data as a decryption operation. Note that the encryption operation is not limited to exclusive OR.
The decryption operation unit 23 a gives the generated plurality of compressed data to the data expansion unit 24.

図2に戻って、データ展開部24は、データ復号部23から複数の圧縮データが与えられると、与えられた複数の圧縮データそれぞれの展開を並列処理により行う。データ展開部24は、前述の可逆圧縮アルゴリズムを利用してデータの展開を行う。
データ展開部24は、データを展開する処理により得られる展開データをデータ結合部25へ与える。
Returning to FIG. 2, when a plurality of compressed data is given from the data decoding unit 23, the data decompression unit 24 decompresses each of the given plurality of compressed data by parallel processing. The data expansion unit 24 expands data using the above-described lossless compression algorithm.
The data expansion unit 24 gives the expansion data obtained by the data expansion process to the data combining unit 25.

データ結合部25は、データ展開部24から与えられる複数の展開データを結合して元のユーザデータを生成する。
このようにして、暗号化処理部16は、データ制御部15から与えられる複数の暗号データに対してデータ復元処理を行い、複数の暗号データから元のユーザデータを復元する。
The data combining unit 25 combines a plurality of expanded data given from the data expanding unit 24 to generate original user data.
In this manner, the encryption processing unit 16 performs data restoration processing on the plurality of encrypted data provided from the data control unit 15 and restores original user data from the plurality of encrypted data.

次に、本実施形態に係るデータ管理システムの動作について説明する。
〔データサーバと端末との間の処理について〕
図5は、本実施形態に係るデータ管理システムにおけるデータサーバと端末との間におけるユーザデータの授受に関する処理を示すシーケンス図である。
Next, the operation of the data management system according to this embodiment will be described.
[About processing between data server and terminal]
FIG. 5 is a sequence diagram showing processing related to the exchange of user data between the data server and the terminal in the data management system according to the present embodiment.

図5中、まず、端末2が保持するユーザデータをデータサーバ1に蓄積することを要求するデータ蓄積要求を、当該端末2がデータサーバ1に送信したとする(ステップS1)。
すると、データサーバ1のデータ制御部15は、端末2から送信されたデータ蓄積要求を受け付け、蓄積可能と判断すれば、蓄積を許可する旨の通知(蓄積許可)を送信する(ステップS2)。
In FIG. 5, first, assume that the terminal 2 transmits to the data server 1 a data storage request for requesting that the user data held by the terminal 2 be stored in the data server 1 (step S1).
Then, the data control unit 15 of the data server 1 accepts the data accumulation request transmitted from the terminal 2, and transmits a notification (accumulation of accumulation) that permits accumulation when it is determined that accumulation is possible (step S2).

蓄積許可を受け付けた端末2は、データサーバ1に対して、自らが保持するユーザデータを送信する(ステップS3)。このとき、データサーバ1のデータ制御部15は、端末2から与えられるユーザデータの一部又は全部を例えば制御装置11が有するメモリ内のデータバッファに蓄積する。
そして、データ制御部15は、記憶装置12における、端末2から送信されるユーザデータを書き込む記憶領域を特定する(ステップS4)。
その後、データサーバ1のデータ制御部15は、暗号化処理部16にユーザデータに対するデータ圧縮・暗号化処理を行わせて当該ユーザデータに対応する複数の暗号データを生成させる(ステップS5)。次いで、データ制御部15は、これら複数の暗号データを記憶装置12に書き込む。
The terminal 2 that has accepted the storage permission transmits user data held by itself to the data server 1 (step S3). At this time, the data control unit 15 of the data server 1 stores part or all of the user data given from the terminal 2 in, for example, a data buffer in a memory included in the control device 11.
Then, the data control unit 15 identifies a storage area in the storage device 12 in which user data transmitted from the terminal 2 is written (step S4).
Thereafter, the data control unit 15 of the data server 1 causes the encryption processing unit 16 to perform data compression / encryption processing on the user data to generate a plurality of encrypted data corresponding to the user data (step S5). Next, the data control unit 15 writes the plurality of encrypted data in the storage device 12.

また、端末2がデータサーバ1に蓄積しているユーザデータを引き出すことを要求するデータ引出し要求を、当該端末2がデータサーバ1に送信したとする(ステップS6)。
すると、データサーバ1のデータ制御部15は、端末2から送信されたデータ引出し要求を受け付け、記憶装置12における、端末2のユーザデータに対応する複数の暗号データが格納された記憶領域を特定する(ステップS7)。
Further, it is assumed that the terminal 2 transmits a data withdrawal request for requesting that the terminal 2 retrieves user data stored in the data server 1 to the data server 1 (step S6).
Then, the data control unit 15 of the data server 1 receives the data withdrawal request transmitted from the terminal 2 and specifies a storage area in the storage device 12 in which a plurality of encrypted data corresponding to the user data of the terminal 2 is stored. (Step S7).

そして、データサーバ1のデータ制御部15は、端末2のユーザデータに対応する複数の暗号データを読み出して、暗号化処理部16に複数の暗号データについてデータ復元処理を行わせてユーザデータを復元させる(ステップS8)。
その後、データ制御部15は、復元したユーザデータを端末2に対して送信する(ステップS8)。
Then, the data control unit 15 of the data server 1 reads a plurality of encrypted data corresponding to the user data of the terminal 2, and causes the encryption processing unit 16 to perform a data restoration process on the plurality of encrypted data to restore the user data. (Step S8).
Thereafter, the data control unit 15 transmits the restored user data to the terminal 2 (step S8).

〔データ圧縮・暗号化処理について〕
次に、データ圧縮・暗号化処理の詳細について説明する。
図6(a)は、本実施形態に係るデータ圧縮・暗号化処理の概念図である。
まず、暗号化処理部16のデータ分割部20が、ユーザデータを複数の分割データ(図例では4つ)に分割する。
次に、データ圧縮部21が、複数の分割データの可逆圧縮を並列処理により行い、複数の圧縮データを生成する。この複数の圧縮データは、複数次元データを構成する。
[About data compression / encryption processing]
Next, details of the data compression / encryption processing will be described.
FIG. 6A is a conceptual diagram of data compression / encryption processing according to the present embodiment.
First, the data dividing unit 20 of the encryption processing unit 16 divides user data into a plurality of divided data (four in the illustrated example).
Next, the data compression unit 21 performs lossless compression of the plurality of divided data by parallel processing, and generates a plurality of compressed data. The plurality of compressed data constitutes multidimensional data.

その後、データ暗号化部22が、複数の圧縮データを複数次元データ暗号化アルゴリズムに基づいて、暗号化を並列処理により行う。ここでは、複数次元データ暗号化アルゴリズムとして、任意次元の有理数ベクトルの暗号化を並列処理により行うことが可能な任意次元並列可能カオス暗号可逆アルゴリズムを用いて暗号化を行う。   Thereafter, the data encryption unit 22 performs encryption on the plurality of compressed data based on a multi-dimensional data encryption algorithm by parallel processing. Here, as a multi-dimensional data encryption algorithm, encryption is performed using an arbitrary-dimensional parallel-capable chaos encryption reversible algorithm that can encrypt an arbitrary-dimensional rational vector by parallel processing.

このアルゴリズムでは、M個(Mは自然数)の秘密鍵を用いてN次元(Nは自然数であり、N≧M)の有理数ベクトルを一括化して暗号化するカオス暗号化法により、複数の圧縮データを暗号化する。つまり、任意N(≧M)次元の有理数ベクトルを一括して暗号化する。ここで、「有理数ベクトル」とは、複数の圧縮データそれぞれを要素とする複数次元のベクトルである。そして、複数の圧縮データの個数をN個とすると、N個以下のM個の秘密鍵から生成されるN個の乱数データを用いて、複数の圧縮データそれぞれを暗号化する。なお、カオス暗号化法については、特許第3030341号公報、特許第4219629号公報および特開2011−35800号公報に説明されている。   In this algorithm, a plurality of compressed data is obtained by a chaotic encryption method that encrypts N-dimensional (N is a natural number and N ≧ M) rational number vectors using M secret keys (M is a natural number). Is encrypted. That is, rational vector of arbitrary N (≧ M) dimensions is encrypted collectively. Here, the “rational vector” is a multi-dimensional vector having each of a plurality of compressed data as elements. If the number of the plurality of compressed data is N, each of the plurality of compressed data is encrypted using N random number data generated from N or less M secret keys. The chaotic encryption method is described in Japanese Patent No. 3030341, Japanese Patent No. 4219629, and Japanese Patent Application Laid-Open No. 2011-35800.

以上のように、データ暗号化部22が、複数の圧縮データの暗号化を並列処理により行う。これにより、例えば、暗号化処理部16が、複数の圧縮データを個別に順番に暗号化する構成に比べて、データ暗号化処理に要する時間を短縮できる。   As described above, the data encryption unit 22 encrypts a plurality of compressed data by parallel processing. Thereby, for example, the time required for the data encryption process can be shortened compared to a configuration in which the encryption processing unit 16 individually encrypts a plurality of compressed data in order.

〔データ復元処理について〕
次に、データ復元処理の詳細について説明する。
図6(b)は、本実施形態に係るデータ復元処理の概念図である。
まず、暗号化処理部16のデータ復号部23が、複数の暗号データそれぞれの復号を、複数次元データ暗号化アルゴリズムに基づいて並列処理により行うことにより、複数の圧縮データを生成する。ここで、複数の暗号データが、複数次元データを構成している。
次に、データ展開部24が、複数の圧縮データそれぞれの展開を並列処理により行うことにより、複数の展開データを生成する。
その後、データ結合部25が、複数の展開データを結合することにより、データを復元する。
[About data restoration processing]
Next, details of the data restoration process will be described.
FIG. 6B is a conceptual diagram of data restoration processing according to the present embodiment.
First, the data decryption unit 23 of the encryption processing unit 16 decrypts each of the plurality of encrypted data by parallel processing based on the multi-dimensional data encryption algorithm, thereby generating a plurality of compressed data. Here, the plurality of encrypted data constitutes multi-dimensional data.
Next, the data expansion unit 24 generates a plurality of decompressed data by performing decompression of each of the plurality of compressed data by parallel processing.
Thereafter, the data combining unit 25 combines the plurality of decompressed data to restore the data.

以上のように、データ復号部23が、複数の暗号データの復号を並列処理により行う。これにより、例えば、データ復号部23が、複数の暗号データを個別に順番に復号する構成に比べて、データ復元処理に要する時間を短縮できる。   As described above, the data decryption unit 23 decrypts a plurality of encrypted data by parallel processing. Thereby, for example, the time required for the data restoration processing can be shortened as compared with a configuration in which the data decryption unit 23 individually decrypts a plurality of pieces of encrypted data in order.

〔バックアップ処理について〕
図7は、データサーバ1が行うバックアップ処理を示すシーケンス図である。
この図7では、端末2から蓄積要求されたユーザデータをデータサーバ1がバックアップ用サーバ3に送信しバックアップする場合について示している。
[About backup processing]
FIG. 7 is a sequence diagram illustrating a backup process performed by the data server 1.
FIG. 7 shows a case where the data server 1 transmits user data requested to be stored from the terminal 2 to the backup server 3 for backup.

図7中、まず、端末2がデータ蓄積要求をデータサーバ1に送信したとする(ステップS11)。
端末2からのデータ蓄積要求を受け付けると、データサーバ1のデータ制御部15は、バックアップ用サーバ3に対して、バックアップ処理の対象となるデータの蓄積をバックアップ用サーバ3に要求するためのデータ蓄積要求を送信する(ステップS12)。
バックアップ用サーバ3は、データサーバ1から送信されたデータ蓄積要求を受け付け、蓄積可能と判断すれば、蓄積を許可する旨の通知(蓄積許可)をデータサーバ1に送信する(ステップS13)。
In FIG. 7, it is assumed that the terminal 2 first transmits a data storage request to the data server 1 (step S11).
When the data storage request from the terminal 2 is received, the data control unit 15 of the data server 1 stores data for requesting the backup server 3 to store data to be backed up by the backup server 3. A request is transmitted (step S12).
The backup server 3 receives the data accumulation request transmitted from the data server 1 and, if it determines that accumulation is possible, transmits a notification (accumulation permission) to permit accumulation to the data server 1 (step S13).

バックアップ用サーバ3からの蓄積許可を受け付けたデータサーバ1のデータ制御部15は、端末2に対して蓄積を許可する旨の通知(蓄積許可)を端末2に送信する(ステップS14)。   The data control unit 15 of the data server 1 that has received the storage permission from the backup server 3 transmits to the terminal 2 a notification (accumulation permission) that the storage is permitted to the terminal 2 (step S14).

蓄積許可を受け付けた端末2は、データサーバ1に対して、自らが保持するユーザデータを送信する(ステップS15)。データサーバ1のデータ制御部15は、端末2から与えられるユーザデータの一部又は全部を例えば制御装置11が有するメモリ内のデータバッファに一時的に蓄積する。   The terminal 2 that has accepted the accumulation permission transmits user data held by itself to the data server 1 (step S15). The data control unit 15 of the data server 1 temporarily stores part or all of the user data given from the terminal 2 in, for example, a data buffer in a memory included in the control device 11.

データ制御部15は、暗号化処理部16にデータ圧縮・暗号化処理を行わせるために、ユーザデータを当該暗号化処理部16に与える。
暗号化処理部16は、ユーザデータが与えられると、当該ユーザデータに対して分割、圧縮を行い、複数の圧縮データを生成する(ステップS16)。
その後、暗号化処理部16のデータ暗号化部22は、複数の圧縮データに対する暗号化を開始する(ステップS17)。
The data control unit 15 gives user data to the encryption processing unit 16 in order to cause the encryption processing unit 16 to perform data compression / encryption processing.
When the user data is given, the encryption processing unit 16 divides and compresses the user data to generate a plurality of compressed data (step S16).
Thereafter, the data encryption unit 22 of the encryption processing unit 16 starts encryption of the plurality of compressed data (step S17).

データ暗号化部22(の暗号化演算部22a)は、上述のように、暗号データを生成するごとに生成した暗号データをデータ制御部15(図1)に与える。よって、データ制御部15には、複数の暗号データが順次与えられる。
データ制御部15は、前記複数の暗号データの内、一の暗号データが生成され与えられると他の暗号データが生成され与えられるのを待たずに前記一の暗号データをバックアップ用サーバ3に送信する。
As described above, the data encryption unit 22 (the encryption operation unit 22a) provides the data control unit 15 (FIG. 1) with the encrypted data generated every time the encrypted data is generated. Therefore, a plurality of encrypted data is sequentially given to the data control unit 15.
The data control unit 15 transmits the one encrypted data to the backup server 3 without waiting for another encrypted data to be generated and provided when one encrypted data is generated and given from among the plurality of encrypted data. To do.

よって、データ暗号化部22が複数の暗号データの内、最初の暗号データを生成してデータ制御部15に与えると、データ制御部15は、他の暗号データが与えられるのを待たずにバックアップ用サーバ3に向けた暗号データの送信を開始する(ステップS18)。   Therefore, when the data encryption unit 22 generates the first encrypted data among a plurality of encrypted data and gives it to the data control unit 15, the data control unit 15 performs backup without waiting for other encrypted data to be provided. The transmission of encrypted data toward the server 3 is started (step S18).

図8は、暗号化処理部16が暗号化を開始し、データ制御部15が暗号データを送信する際のタイムチャートである。なお、図8では、4つの圧縮データ(圧縮データ1〜4)から4つの暗号データ(暗号データ1〜4)を並列に処理して生成する場合を示している。
また、図8中、期間P1〜P4は、それぞれ乱数データを生成する期間、期間Q1〜Q4は、それぞれ圧縮データを暗号化して暗号データを生成する期間、期間R1〜R4は、それぞれ暗号データをバックアップ用サーバ3に送信する期間を示している。
FIG. 8 is a time chart when the encryption processing unit 16 starts encryption and the data control unit 15 transmits encrypted data. FIG. 8 shows a case where four pieces of encrypted data (encrypted data 1 to 4) are generated in parallel from four pieces of compressed data (compressed data 1 to 4).
In FIG. 8, periods P1 to P4 are periods for generating random data, periods Q1 to Q4 are periods for encrypting compressed data to generate encrypted data, and periods R1 to R4 are for encrypting data. A period for transmission to the backup server 3 is shown.

暗号化処理部16は、期間P1の始点において暗号化を開始すると(図8中、ステップS17)、まず、秘密鍵を取得して1番目の圧縮データ1の暗号化に用いる乱数データの生成を開始する。
図8中、暗号化処理部16は、期間P1で圧縮データ1の暗号化に用いる乱数データを生成する。
ここで、データ暗号化部22が暗号化に用いる乱数データは、上述したように、一の乱数データに基づいて次の乱数データが生成される(図4)。
When the encryption processing unit 16 starts encryption at the start point of the period P1 (step S17 in FIG. 8), the encryption processing unit 16 first obtains a secret key and generates random number data used for encryption of the first compressed data 1. Start.
In FIG. 8, the encryption processing unit 16 generates random number data used for encryption of the compressed data 1 in the period P1.
Here, as the random number data used for encryption by the data encryption unit 22, the next random number data is generated based on one random number data as described above (FIG. 4).

よって、暗号化処理部16(の暗号化用乱数発生部22b)は、期間P1で圧縮データ1の暗号化に用いる乱数データを生成した後、期間P1終了直後の期間P2において、圧縮データ1用の乱数データに基づいて圧縮データ2用の乱数データを生成する。
暗号化処理部16は、期間P2で圧縮データ2用の乱数データを生成した後、期間P2終了直後の期間P3において、圧縮データ2用の乱数データに基づいて圧縮データ3用の乱数データを生成する。
さらに、暗号化処理部16は、期間P3で圧縮データ3用の乱数データを生成した後、期間P3終了直後の期間P4において、圧縮データ3用の乱数データに基づいて圧縮データ4用の乱数データを生成する。
Therefore, the encryption processing unit 16 (the encryption random number generation unit 22b) generates random number data used for encryption of the compressed data 1 in the period P1, and then in the period P2 immediately after the period P1, the compressed data 1 The random number data for the compressed data 2 is generated based on the random number data.
After generating the random number data for the compressed data 2 in the period P2, the encryption processing unit 16 generates the random number data for the compressed data 3 based on the random number data for the compressed data 2 in the period P3 immediately after the end of the period P2. To do.
Furthermore, after generating the random number data for the compressed data 3 in the period P3, the encryption processing unit 16 generates the random number data for the compressed data 4 based on the random number data for the compressed data 3 in the period P4 immediately after the end of the period P3. Is generated.

暗号化処理部16は、各期間P1、P2、P3、P4において、各圧縮データの暗号化に用いる乱数データを生成すると、その後の各期間Q1、Q2、Q3、Q4において、乱数データを用いて暗号化を行い、暗号データ1、2、3、4を生成する。   When the encryption processing unit 16 generates random number data used for encryption of each compressed data in each period P1, P2, P3, P4, the random number data is used in each subsequent period Q1, Q2, Q3, Q4. Encryption is performed to generate encrypted data 1, 2, 3, and 4.

上記のように、暗号化処理部16は、一の乱数データに基づいて次の乱数データを生成するため、各圧縮データ2〜4に用いる乱数データを生成して暗号化を開始するタイミング(期間P2〜P4それぞれの始点)が、乱数データを生成するために必要な期間(P1〜P3)ずつ順次遅れる。   As described above, since the encryption processing unit 16 generates the next random number data based on the one random number data, it generates the random number data used for each of the compressed data 2 to 4 and starts the encryption (period The respective starting points of P2 to P4 are sequentially delayed by a period (P1 to P3) necessary for generating random number data.

よって、分割データ(圧縮データ)がほぼ同じ長さ(データ量)とされているとすると、最も早いタイミングで暗号化が開始された圧縮データ1の暗号化が最初に完了し、順次圧縮データ2、3、4の順に暗号化が完了する。
なお、本例では、分割データ(圧縮データ)がほぼ同じ長さ(データ量)とされているものとする。
Therefore, assuming that the divided data (compressed data) has substantially the same length (data amount), the encryption of the compressed data 1 that has been encrypted at the earliest timing is completed first, and the compressed data 2 is sequentially added. Encryption is completed in the order of 3, 4 and 4.
In this example, it is assumed that the divided data (compressed data) has substantially the same length (data amount).

暗号化処理部16は、暗号化が完了し暗号データを生成するごとに当該暗号データをデータ制御部15に与える。
データ制御部15は、上述ように、複数の暗号データの内、一の暗号データが生成され与えられると他の暗号データが生成され与えられるのを待たずに前記一の暗号データをバックアップ用サーバ3に送信する。
The encryption processing unit 16 gives the encrypted data to the data control unit 15 every time encryption is completed and encrypted data is generated.
As described above, when one encrypted data is generated and given from among a plurality of encrypted data, the data control unit 15 does not wait for the other encrypted data to be generated and given, and then sends the one encrypted data to the backup server. 3 to send.

よって、図8中、暗号化処理部16が期間Q1において生成した暗号データ1をデータ制御部15に与えると、データ制御部15は、他の暗号データ2〜4の生成を待たずに、期間R1において、暗号データ1の送信を行う。つまり、データ制御部15は、期間R1の始点において、バックアップ用サーバ3に向けた暗号データの送信を開始する(図8中、ステップS18)。   Therefore, in FIG. 8, when the encryption processing unit 16 gives the encrypted data 1 generated in the period Q1 to the data control unit 15, the data control unit 15 does not wait for generation of the other encrypted data 2 to 4 and waits for the period. In R1, the encrypted data 1 is transmitted. That is, the data control unit 15 starts transmission of encrypted data toward the backup server 3 at the start point of the period R1 (step S18 in FIG. 8).

その後、暗号化処理部16が生成した暗号データを順次データ制御部15に与えると、データ制御部15は、他の暗号データの生成を待たずに、与えられた暗号データをバックアップ用サーバ3に順次送信する。   Thereafter, when the encrypted data generated by the encryption processing unit 16 is sequentially given to the data control unit 15, the data control unit 15 sends the provided encrypted data to the backup server 3 without waiting for generation of other encrypted data. Send sequentially.

暗号化処理部16は、期間Q4において暗号データ4を生成すると、全ての圧縮データの暗号化を終える。よって、暗号化処理部16は、期間Q4の終点において、ユーザデータの暗号化を終える(図8中、ステップS19)。
また、データ制御部15は、暗号化処理部16から暗号データ4が与えられ、期間R4において、暗号データ4の送信を終えると、全ての暗号データの送信を終える。よって、データ制御部15は、期間R4の終点において、暗号データの送信を終える(図8中、ステップS20)。
When the encryption processing unit 16 generates the encryption data 4 in the period Q4, the encryption processing unit 16 finishes encryption of all the compressed data. Therefore, the encryption processing unit 16 finishes the encryption of the user data at the end point of the period Q4 (step S19 in FIG. 8).
In addition, the data control unit 15 receives the encrypted data 4 from the encryption processing unit 16 and ends the transmission of all the encrypted data when the transmission of the encrypted data 4 is completed in the period R4. Therefore, the data control unit 15 finishes transmitting the encrypted data at the end point of the period R4 (step S20 in FIG. 8).

上記構成によれば、送信制御部としてのデータ制御部15が、複数の暗号データの内、一の暗号データが生成され与えられると他の暗号データが生成され与えられるのを待たずに一の暗号データを他の装置としてのバックアップ用サーバ3に送信するので、複数の暗号データ全部が生成されるのを待つことなく送信することができる。このため、このため、複数の分割データが全て暗号化されるのを待って送信する場合と比較して、暗号化のための待ち時間を圧縮することができ、ユーザデータの送信処理に要する時間を短縮することができる。   According to the above configuration, when the data control unit 15 as the transmission control unit generates and gives one encrypted data among the plurality of encrypted data, the data control unit 15 does not wait for another encrypted data to be generated and given. Since the encrypted data is transmitted to the backup server 3 as another device, the encrypted data can be transmitted without waiting for all of the plurality of encrypted data to be generated. For this reason, the waiting time for encryption can be compressed and the time required for the transmission processing of user data, compared to the case where transmission is performed after waiting for all of the plurality of divided data to be encrypted. Can be shortened.

仮に全暗号データが生成された後に各暗号データを送信する場合、データ制御部15は、図8中、ステップS19のタイミングまで暗号データの送信を待つことになり、ステップS19のタイミング以後に全暗号データの送信を開始するため、図8中、ステップS20以降において、破線で示す、最大で3つの暗号データを送信するための期間が必要となる。
本実施形態では、上述のように、一の暗号データが生成されると他の暗号データが生成されるのを待たずに一の暗号データをバックアップ用サーバ3に送信するので、図8中、破線で示す期間を短縮することができる。
If all the encrypted data is transmitted after all the encrypted data is generated, the data control unit 15 waits for transmission of the encrypted data until the timing of step S19 in FIG. In order to start data transmission, a period for transmitting a maximum of three encrypted data indicated by a broken line is required after step S20 in FIG. 8.
In the present embodiment, as described above, when one encrypted data is generated, one encrypted data is transmitted to the backup server 3 without waiting for another encrypted data to be generated. The period indicated by the broken line can be shortened.

また、本実施形態において、複数の暗号データは、インターネット4を通じてデータサーバ1からバックアップ用サーバ3に送信されるが、これら複数の暗号データは、ユーザデータを分割した複数の分割データを暗号化して得たものなので、第三者が、暗号データを取得したとしても、元のユーザデータに容易に復元されるのを抑制することができる。   In the present embodiment, a plurality of encrypted data is transmitted from the data server 1 to the backup server 3 through the Internet 4, and the plurality of encrypted data is obtained by encrypting a plurality of divided data obtained by dividing user data. Since it is obtained, even if a third party obtains encrypted data, it can be prevented from being easily restored to the original user data.

図7に戻って、ユーザデータの暗号化を終え(ステップS19)、暗号データの送信を終えると(ステップS20)、データサーバ1は、送信終了通知をバックアップ用サーバ3に送信する(ステップS21)。
送信終了通知を受け付けたバックアップ用サーバ3は、全暗号データを受信したことを認識し、これら複数の暗号データを蓄積する。
Returning to FIG. 7, when the encryption of the user data is completed (step S19) and the transmission of the encrypted data is completed (step S20), the data server 1 transmits a transmission end notification to the backup server 3 (step S21). .
The backup server 3 that has received the transmission end notification recognizes that all the encrypted data has been received, and accumulates the plurality of encrypted data.

なお、データ制御部15は、各暗号データを生成すると、生成した複数の暗号化データを制御装置11が有するメモリ内のデータバッファ等に一時的に蓄積する。
データ制御部15は、バックアップ用サーバ3への暗号データの送信を終えると、前記データバッファに一時的に蓄積していた複数の暗号データをデータサーバ1の記憶装置12に与えて蓄積させる(ステップS22)。
これにより、データサーバ1は、暗号データとされたユーザデータを自身に蓄積しつつ、暗号データとされたユーザデータのバックアップをバックアップ用サーバ3に行わせることができる。
なお、暗号データの記憶装置12への蓄積は、暗号データが生成された後であれば、いつ行ってもよく、各暗号データを生成するごとに逐次行ってもよいし、暗号データの送信が終わった直後に行ってもよい。
When the data control unit 15 generates each encrypted data, the data control unit 15 temporarily stores the generated plurality of encrypted data in a data buffer or the like in a memory included in the control device 11.
After completing the transmission of the encrypted data to the backup server 3, the data control unit 15 gives the plurality of encrypted data temporarily stored in the data buffer to the storage device 12 of the data server 1 for storage (step). S22).
As a result, the data server 1 can cause the backup server 3 to back up the user data that is encrypted data while accumulating the user data that is encrypted data.
The storage of the encrypted data in the storage device 12 may be performed at any time after the encrypted data is generated, may be performed sequentially each time each encrypted data is generated, or the encrypted data is transmitted. You may go right after it is finished.

以上により、端末2から蓄積要求されたユーザデータをデータサーバ1がバックアップ用サーバにバックアップするバックアップ処理は、終了する。   Thus, the backup process in which the data server 1 backs up the user data requested to be stored from the terminal 2 to the backup server ends.

バックアップ用サーバ3に蓄積された暗号データを引き出す場合、データサーバ1は、バックアップ用サーバ3に引出し要求を送信する。なお、引出し要求の送信は、データサーバ1が自発的に送信することもできるし、端末2がデータサーバ1にバックアップ用サーバ3に対する引出し要求を送信させることもできる。
バックアップ用サーバ3は、この引出し要求を受け付けると、要求に応じた暗号データを要求元のデータサーバ1に送信する。
When extracting the encrypted data stored in the backup server 3, the data server 1 transmits a withdrawal request to the backup server 3. The data request can be sent by the data server 1 voluntarily, or the terminal 2 can cause the data server 1 to send a data withdrawal request to the backup server 3.
When the backup server 3 accepts the withdrawal request, the backup server 3 transmits the encrypted data corresponding to the request to the requesting data server 1.

バックアップ用サーバ3からの暗号データを受け付けたデータサーバ1は、復号、展開、及び結合を行ってユーザデータを復元することができる。
データサーバ1は、復元したユーザデータを端末2に与える。
The data server 1 that has received the encrypted data from the backup server 3 can restore the user data by performing decryption, expansion, and combination.
The data server 1 gives the restored user data to the terminal 2.

〔効果について〕
本実施形態のデータサーバ1が有する制御装置11(データ処理装置)は、端末2から与えられるユーザデータを分割して、複数の分割データを生成するデータ分割部20と、複数の分割データそれぞれを可逆圧縮することにより複数の圧縮データを生成するデータ圧縮部21と、複数の圧縮データを、複数次元データとして複数次元データ暗号化アルゴリズムを用いて暗号化することにより暗号データを生成するデータ暗号化部22と、複数の暗号データの内、一の暗号データが生成されると他の暗号データの生成を待たずに前記一の暗号データをバックアップ用サーバ3(他の装置)に送信するデータ制御部15(送信制御部)と、を備えている。
[Effect]
The control device 11 (data processing device) included in the data server 1 of the present embodiment divides user data given from the terminal 2 and generates a plurality of divided data, and a plurality of divided data, respectively. A data compression unit 21 that generates a plurality of compressed data by reversible compression, and a data encryption that generates encrypted data by encrypting the plurality of compressed data as multidimensional data using a multidimensional data encryption algorithm Data control for transmitting the one encrypted data to the backup server 3 (another device) without waiting for the generation of the other encrypted data when one encrypted data is generated from the unit 22 and the plurality of encrypted data Unit 15 (transmission control unit).

本実施形態によれば、データ分割部20がユーザデータを分割して複数の分割データを生成し、データ圧縮部が、複数の分割データそれぞれを可逆圧縮することにより複数の圧縮データを生成する。これにより、データ圧縮部21が分割前のユーザデータを圧縮する構成に比べて、圧縮時間の短縮を図ることができるので、ユーザデータの暗号化処理に要する時間を短縮することができる。また、データ暗号化部22が、複数の圧縮データを複数次元データとして暗号化する。これにより、データ暗号化部22が、複数の圧縮データそれぞれの暗号化に、複数次元データ暗号化アルゴリズムを採用することができる。   According to this embodiment, the data dividing unit 20 divides user data to generate a plurality of divided data, and the data compression unit generates a plurality of compressed data by reversibly compressing each of the plurality of divided data. Thereby, compared with the structure which the data compression part 21 compresses the user data before a division | segmentation, since compression time can be shortened, the time required for the encryption process of user data can be shortened. In addition, the data encryption unit 22 encrypts a plurality of compressed data as multidimensional data. Thereby, the data encryption part 22 can employ | adopt a multidimensional data encryption algorithm for encryption of each of several compression data.

さらに、データ制御部15が、複数の暗号データの内、一の暗号データが生成されると他の暗号データの生成を待たずに一の暗号データをバックアップ用サーバ3に送信するので、複数の暗号データ全部が生成されるのを待つことなく送信することができる。このため、ユーザデータを分割せずそのまま暗号化する場合や、複数の分割データが全て暗号化されるのを待って送信する場合と比較して、暗号化のための待ち時間を圧縮することができ、ユーザデータの送信処理に要する時間を短縮することができる。
以上のように、本実施形態によれば、ユーザデータを暗号化し送信する処理に要する時間の短縮を図ることができる。
Furthermore, since the data control unit 15 transmits one encrypted data to the backup server 3 without waiting for the generation of the other encrypted data when one encrypted data is generated among the plurality of encrypted data. It is possible to transmit without waiting for all the encrypted data to be generated. Therefore, it is possible to compress the waiting time for encryption as compared with the case where user data is encrypted without being divided, or when waiting for all the divided data to be encrypted and transmitted. And the time required for the user data transmission process can be shortened.
As described above, according to this embodiment, it is possible to reduce the time required for the process of encrypting and transmitting user data.

なお、上記実施形態では、バックアップ用サーバ3がインターネット4を介してデータサーバ1に接続された場合を例示したが、バックアップ用サーバ3は、データサーバ1に通信可能に接続されていればよく、LANや電話通信等によってデータサーバ1に接続されていてもよい。   In the above embodiment, the case where the backup server 3 is connected to the data server 1 via the Internet 4 is exemplified. However, the backup server 3 may be connected to the data server 1 so as to be communicable. It may be connected to the data server 1 by LAN or telephone communication.

また、上記実施形態では、データサーバ1が一つのバックアップ用サーバ3に対して暗号データを送信し、このバックアップ用サーバ3に暗号データを蓄積させる場合を例示したが、例えば、複数のバックアップ用サーバ3に一つのユーザデータから生成された複数の暗号データを分散して蓄積させてもよい。
これにより、暗号データが第三者によって容易に元のユーザデータに復元されるのをより効果的に抑制することができる。
In the above embodiment, the case where the data server 1 transmits encrypted data to one backup server 3 and the encrypted data is stored in the backup server 3 is exemplified. 3, a plurality of pieces of encrypted data generated from one user data may be distributed and stored.
Thereby, it can suppress more effectively that encryption data is easily decompress | restored by the third party to the original user data.

1 データサーバ
2 端末
3 バックアップ用サーバ
4 インターネット
11 制御装置
12 記憶装置
13 通信装置
15 データ制御部
16 暗号化処理部
20 データ分割部
21 データ圧縮部
22 データ暗号化部
22a 暗号化演算部
22b 暗号化用乱数発生部
23 データ復号部
23a 復号演算部
23b 復号用乱数発生部
24 データ展開部
25 データ結合部
26 秘密鍵保持部
31 初期値生成部
32 第1記憶部
33 第2記憶部
34 第1計算部
35 第2計算部
36 出力部
37 第1更新部
38 第2更新部
DESCRIPTION OF SYMBOLS 1 Data server 2 Terminal 3 Backup server 4 Internet 11 Control apparatus 12 Storage apparatus 13 Communication apparatus 15 Data control part 16 Encryption process part 20 Data division part 21 Data compression part 22 Data encryption part 22a Encryption calculating part 22b Encryption Random number generation unit 23 Data decryption unit 23a Decryption operation unit 23b Decryption random number generation unit 24 Data expansion unit 25 Data combination unit 26 Secret key storage unit 31 Initial value generation unit 32 First storage unit 33 Second storage unit 34 First calculation Unit 35 second calculation unit 36 output unit 37 first update unit 38 second update unit

Claims (5)

データを圧縮及び暗号化し他の装置に送信するデータ処理装置であって、
前記データを分割して、複数の分割データを生成するデータ分割部と、
前記複数の分割データそれぞれを可逆圧縮することにより複数の圧縮データを生成するデータ圧縮部と、
前記複数の圧縮データを、複数次元データとして複数次元データ暗号化アルゴリズムを用いて暗号化することにより複数の暗号データを生成するデータ暗号化部と、
前記複数の暗号データの内、一の暗号データが生成されると他の暗号データの生成を待たずに前記一の暗号データを前記他の装置に送信する送信制御部と、
を備えているデータ処理装置。
A data processing apparatus that compresses and encrypts data and transmits the data to another apparatus,
A data dividing unit that divides the data to generate a plurality of divided data;
A data compression unit that generates a plurality of compressed data by reversibly compressing each of the plurality of divided data;
A data encryption unit that generates a plurality of encrypted data by encrypting the plurality of compressed data as a plurality of dimensional data using a multi-dimensional data encryption algorithm;
A transmission control unit that transmits the one encrypted data to the other device without waiting for the generation of the other encrypted data when one encrypted data is generated among the plurality of encrypted data;
A data processing apparatus comprising:
前記データ暗号化部は、前記複数の圧縮データそれぞれの暗号化に用いる複数の乱数データを生成する乱数データ生成部を備え、
前記乱数データ生成部は、複数の前記乱数データの内、一の前記乱数データに基づいて次の前記乱数データを生成し、
前記データ暗号化部は、前記乱数データ生成部が前記乱数データを生成するごとに前記複数の暗号データを順次生成する
請求項1に記載のデータ処理装置。
The data encryption unit includes a random number data generation unit that generates a plurality of random number data used for encryption of each of the plurality of compressed data,
The random number data generation unit generates the next random number data based on one random number data among the plurality of random number data,
The data processing apparatus according to claim 1, wherein the data encryption unit sequentially generates the plurality of encrypted data every time the random number data generation unit generates the random number data.
データを圧縮及び暗号化し他の装置に送信するデータ送信方法であって、
前記データを分割して、複数の分割データを生成するデータ分割ステップと、
前記複数の分割データそれぞれを可逆圧縮することにより複数の圧縮データを生成するデータ圧縮ステップと、
前記複数の圧縮データを、複数次元データとして複数次元データ暗号化アルゴリズムを用いて暗号化することにより暗号データを生成するデータ暗号化ステップと、
前記複数の暗号データの内、一の暗号データが生成されると他の暗号データの生成を待たずに前記一の暗号データを前記他の装置に送信する送信制御ステップと、
を含むデータ送信方法。
A data transmission method for compressing and encrypting data and transmitting the data to another device,
A data dividing step of dividing the data to generate a plurality of divided data;
A data compression step of generating a plurality of compressed data by reversibly compressing each of the plurality of divided data;
A data encryption step of generating encrypted data by encrypting the plurality of compressed data as multidimensional data using a multidimensional data encryption algorithm;
A transmission control step of transmitting the one encrypted data to the other device without waiting for the generation of the other encrypted data when one of the plurality of encrypted data is generated;
A data transmission method including:
データを圧縮及び暗号化し他の装置に送信するデータ送信処理をコンピュータに実行させるためのコンピュータプログラムであって、
コンピュータに
前記データを分割して、複数の分割データを生成するデータ分割ステップと、
前記複数の分割データそれぞれを可逆圧縮することにより複数の圧縮データを生成するデータ圧縮ステップと、
前記複数の圧縮データを、複数次元データとして複数次元データ暗号化アルゴリズムを用いて暗号化することにより暗号データを生成するデータ暗号化ステップと、
前記複数の暗号データの内、一の暗号データが生成されると他の暗号データの生成を待たずに前記一の暗号データを前記他の装置に送信する送信制御ステップと、
を実行させるためのコンピュータプログラム。
A computer program for causing a computer to execute data transmission processing for compressing and encrypting data and transmitting the data to another device,
A data dividing step of dividing the data into a computer and generating a plurality of divided data;
A data compression step of generating a plurality of compressed data by reversibly compressing each of the plurality of divided data;
A data encryption step of generating encrypted data by encrypting the plurality of compressed data as multidimensional data using a multidimensional data encryption algorithm;
A transmission control step of transmitting the one encrypted data to the other device without waiting for the generation of the other encrypted data when one of the plurality of encrypted data is generated;
A computer program for running.
データを圧縮及び暗号化しバックアップサーバに送信するデータサーバであって、
前記データを分割して、複数の分割データを生成するデータ分割部と、
前記複数の分割データそれぞれを可逆圧縮することにより複数の圧縮データを生成するデータ圧縮部と、
前記複数の圧縮データを、複数次元データとして複数次元データ暗号化アルゴリズムを用いて暗号化することにより暗号データを生成するデータ暗号化部と、
前記複数の暗号データの内、一の暗号データが生成されると他の暗号データの生成を待たずに前記一の暗号データを前記他の装置に送信する送信制御部と、
を備えているデータサーバ。
A data server that compresses and encrypts data and sends it to a backup server,
A data dividing unit that divides the data to generate a plurality of divided data;
A data compression unit that generates a plurality of compressed data by reversibly compressing each of the plurality of divided data;
A data encryption unit that generates encrypted data by encrypting the plurality of compressed data as multidimensional data using a multidimensional data encryption algorithm;
A transmission control unit that transmits the one encrypted data to the other device without waiting for the generation of the other encrypted data when one encrypted data is generated among the plurality of encrypted data;
Data server equipped with.
JP2015115603A 2015-06-08 2015-06-08 Data processing device, data transmission method, computer program and data server Pending JP2017005412A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015115603A JP2017005412A (en) 2015-06-08 2015-06-08 Data processing device, data transmission method, computer program and data server
PCT/JP2016/067062 WO2016199812A1 (en) 2015-06-08 2016-06-08 Data processing device, data transmission method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015115603A JP2017005412A (en) 2015-06-08 2015-06-08 Data processing device, data transmission method, computer program and data server

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016026869A Division JP2017005682A (en) 2016-02-16 2016-02-16 Data processing device, data transmission method, computer program and data server

Publications (1)

Publication Number Publication Date
JP2017005412A true JP2017005412A (en) 2017-01-05

Family

ID=57504051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015115603A Pending JP2017005412A (en) 2015-06-08 2015-06-08 Data processing device, data transmission method, computer program and data server

Country Status (2)

Country Link
JP (1) JP2017005412A (en)
WO (1) WO2016199812A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102270896B1 (en) * 2020-01-06 2021-06-30 주식회사 아미크 Method and system for archiving data based on data de-identification

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597521B (en) * 2020-05-20 2023-12-01 贵州电网有限责任公司 Method and system for safely processing data of mobile terminal of transformer substation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276331A (en) * 1999-03-29 2000-10-06 Communication Research Laboratory Mpt Device and method for outputting random vector string, and information recording medium
JP2001175168A (en) * 1999-12-21 2001-06-29 Communications Research Laboratory Mphpt Device and method for outputting vector row, and information recording medium
JP2007033649A (en) * 2005-07-25 2007-02-08 Sony Corp Stream encryption device, stream encryption method, stream decryption device, stream decryption method
CN101894030A (en) * 2010-06-29 2010-11-24 福建新大陆通信科技股份有限公司 Television set top box USB interface-based data anti-theft updating method
US7995759B1 (en) * 2006-09-28 2011-08-09 Netapp, Inc. System and method for parallel compression of a single data stream
JP2013097338A (en) * 2011-11-04 2013-05-20 Fujitsu Ltd Encryption program, decryption program, encryption method, decryption method, system, and content generation method
JP2015114771A (en) * 2013-12-10 2015-06-22 パテネット株式会社 Data encryption device, data restoration device, data encryption method, data restoration method, data encryption program, and data restoration program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4464046B2 (en) * 2001-04-03 2010-05-19 三菱電機株式会社 ENCRYPTION DEVICE, DECRYPTION DEVICE, AND RADIO COMMUNICATION DEVICE
JP3735670B2 (en) * 2003-03-19 2006-01-18 独立行政法人情報通信研究機構 Random number sequence generation device, encryption / decryption device, random number sequence generation method, encryption / decryption method, and program
US7548556B1 (en) * 2007-12-14 2009-06-16 Raptor Networks Technology, Inc. Secure communication through a network fabric
US20140317060A1 (en) * 2013-04-18 2014-10-23 Intronis, Inc. Remote backup of large files

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276331A (en) * 1999-03-29 2000-10-06 Communication Research Laboratory Mpt Device and method for outputting random vector string, and information recording medium
JP2001175168A (en) * 1999-12-21 2001-06-29 Communications Research Laboratory Mphpt Device and method for outputting vector row, and information recording medium
JP2007033649A (en) * 2005-07-25 2007-02-08 Sony Corp Stream encryption device, stream encryption method, stream decryption device, stream decryption method
US7995759B1 (en) * 2006-09-28 2011-08-09 Netapp, Inc. System and method for parallel compression of a single data stream
CN101894030A (en) * 2010-06-29 2010-11-24 福建新大陆通信科技股份有限公司 Television set top box USB interface-based data anti-theft updating method
JP2013097338A (en) * 2011-11-04 2013-05-20 Fujitsu Ltd Encryption program, decryption program, encryption method, decryption method, system, and content generation method
JP2015114771A (en) * 2013-12-10 2015-06-22 パテネット株式会社 Data encryption device, data restoration device, data encryption method, data restoration method, data encryption program, and data restoration program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015036128; 佐藤 元樹、鎌田 弘之: '"カオス暗号の並列化に関する研究"' 電子情報通信学会技術研究報告 Vol.110、No.387, 20110117, p.205-210, 社団法人電子情報通信学会 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102270896B1 (en) * 2020-01-06 2021-06-30 주식회사 아미크 Method and system for archiving data based on data de-identification
KR20210088419A (en) * 2020-01-06 2021-07-14 주식회사 아미크 Method and system for archiving data for minimizing cost of data transmission and inquiry
KR102301304B1 (en) 2020-01-06 2021-09-14 주식회사 아미크 Method and system for archiving data for minimizing cost of data transmission and inquiry

Also Published As

Publication number Publication date
WO2016199812A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
CN109150499B (en) Method and device for dynamically encrypting data, computer equipment and storage medium
US11290252B2 (en) Compression and homomorphic encryption in secure query and analytics
US8645713B2 (en) Encrypting method, recording medium of encrypting program, decrypting method, and recording medium of decrypting program
CN112311865B (en) File encryption transmission method and device
JP3871996B2 (en) Data division management method and program
CN110391895B (en) Data preprocessing method, ciphertext data acquisition method, device and electronic equipment
US20150227747A1 (en) Information security based on eigendecomposition
JP5985884B2 (en) Information processing apparatus, information processing method, and information processing system
CN110730167B (en) Data sending method, data query method, device, electronic equipment and system
JP2015114771A (en) Data encryption device, data restoration device, data encryption method, data restoration method, data encryption program, and data restoration program
WO2016199812A1 (en) Data processing device, data transmission method, and computer program
CN112202555B (en) Information processing method, device and equipment for generating random number based on information attribute
CN111552938B (en) File encryption method and device
JP5964460B2 (en) Data encryption storage system
JP2017005682A (en) Data processing device, data transmission method, computer program and data server
CN112131591A (en) Encryption method, device, equipment and medium for compressing ciphertext of information
CN111931204A (en) Encryption and de-duplication storage method and terminal equipment for distributed system
US20230327847A1 (en) Compression of homomorphic ciphertexts
JP5784662B2 (en) ENCRYPTED DATA OPERATION SYSTEM, DEVICE, AND PROGRAM
CN110611674B (en) Protocol interaction method, system and storage medium between different computer systems
JP6197597B2 (en) Information processing system, control program for information processing apparatus, and control method for information processing system
US20150169561A1 (en) Method and apparatus for storing a data file
US20200228310A1 (en) Circuit concealing apparatus, calculation apparatus, and program
CN116800419B (en) Key generation method, device, computer equipment and storage medium
CN114301583B (en) Ciphertext compression method, ciphertext compression device, ciphertext compression equipment and storage medium

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161205