JP2009244302A - Encryption device, decryption device, data protection system, data protection method, encryption program, decryption program - Google Patents

Encryption device, decryption device, data protection system, data protection method, encryption program, decryption program Download PDF

Info

Publication number
JP2009244302A
JP2009244302A JP2008087273A JP2008087273A JP2009244302A JP 2009244302 A JP2009244302 A JP 2009244302A JP 2008087273 A JP2008087273 A JP 2008087273A JP 2008087273 A JP2008087273 A JP 2008087273A JP 2009244302 A JP2009244302 A JP 2009244302A
Authority
JP
Japan
Prior art keywords
data
encryption
mask
random number
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008087273A
Other languages
Japanese (ja)
Other versions
JP5179921B2 (en
Inventor
Masaharu Akei
正治 明井
Takehisa Kato
岳久 加藤
Takeshi Iriuchijima
健 入内島
Akito Niwa
朗人 丹羽
Michiyo Ikegami
美千代 池上
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2008087273A priority Critical patent/JP5179921B2/en
Publication of JP2009244302A publication Critical patent/JP2009244302A/en
Application granted granted Critical
Publication of JP5179921B2 publication Critical patent/JP5179921B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology with which data capacity required for decryption of data can be reduced and difficulty in fraudulent decryption by a malicious third party can be increased in a data protection system for encrypting and decrypting data. <P>SOLUTION: An encryption device includes: an encryption processing section 101 performing a prescribed encryption processing to the object data to be encrypted; and a mask processing section 102 calculating the exclusive OR of a data string of a portion of the encrypted data generated through the encryption processing of the encryption processing section 101 and random numbers having the same data length as the data string. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、データ暗号化復号化システムにおけるデータ保護レベルの向上に寄与する技術に関するものである。   The present invention relates to a technique that contributes to improvement of a data protection level in a data encryption / decryption system.

従来、暗号鍵とそれと対になる復号鍵を用いたデータ暗号化復号化技術が知られる。   Conventionally, a data encryption / decryption technique using an encryption key and a decryption key paired therewith is known.

上記従来のデータ暗号化復号化システムにおいては、所定の暗号鍵を用いた暗号化処理により生成された暗号化データを復号化するためには、対応する復号鍵が必要となる(例えば、非特許文献1および2参照。)。   In the above conventional data encryption / decryption system, in order to decrypt the encrypted data generated by the encryption process using a predetermined encryption key, a corresponding decryption key is required (for example, non-patent) See references 1 and 2.)

悪意のある第三者は、この暗号化データを入手した際に、データの不正入手のために、復号鍵を総当たりすることにより復号化を試みる「Brute Force Attack」もしくは「Brute Force Password Cracking」と呼ばれる復号化手法を利用可能である。   When a malicious third party obtains this encrypted data, it attempts to decrypt it by brute force using the decryption key in order to obtain unauthorized data, such as “Brute Force Attack” or “Brute Force Password Cracking”. Can be used.

この手法に対しては、復号鍵の長さを長くしたり、復号化処理のための演算負荷が大きい暗号化アルゴリズムを採用したりすることにより、総当たりに要するコストを増加させるといった対策が考えられる。しかしながら、上記対策では、計算機の性能向上などにより、暗号化時に想定していたレベルでのデータ保護機能を長期間維持できなくなるおそれがある。   For this technique, measures such as increasing the cost of brute force by increasing the length of the decryption key or adopting an encryption algorithm with a large computation load for decryption processing are considered. It is done. However, with the above measures, there is a possibility that the data protection function at the level assumed at the time of encryption cannot be maintained for a long period of time due to improvement in the performance of the computer.

また、上述のような、計算機の性能向上に起因する問題を解決する手法として、暗号化対象である平文のデータと同じデータ長の乱数を用いた暗号化手法「ワンタイムパッド暗号」が知られる(例えば、非特許文献3参照。)。
R.L.Rivest, “All-Or-Nothing Encryption and The Package Transform”,Fast Software Encryption FSE’97 Lecture Notes in Computer Science,vol.1267,pp.210-218,1997 NIST:FIPS PUB 81 “DES MODES OF OPERATION”(http://www.itl.nist.gov/fipspubs/fip81.htm) 2002年12月13日講演会「暗号理論と乱数」筑波大学 岡本 栄司教授(http://www.21coe.chuo-u.ac.jp/security/okamoto2002-12-13/okamoto.pdf)
In addition, as a technique for solving the problems caused by the improvement in the performance of the computer as described above, an encryption technique “one-time pad encryption” using a random number having the same data length as the plaintext data to be encrypted is known. (For example, refer nonpatent literature 3.).
RLRivest, “All-Or-Nothing Encryption and The Package Transform”, Fast Software Encryption FSE'97 Lecture Notes in Computer Science, vol. 1267, pp. 210-218, 1997 NIST: FIPS PUB 81 “DES MODES OF OPERATION” (http://www.itl.nist.gov/fipspubs/fip81.htm) December 13, 2002 Lecture "Cryptography and Random Numbers" Professor Eiji Okamoto, University of Tsukuba (http://www.21coe.chuo-u.ac.jp/security/okamoto2002-12-13/okamoto.pdf)

しかし、上記「ワンタイムパッド暗号」では、暗号化データの復号化を行う装置にて、暗号化対象である平文のデータと同じデータ長の乱数を、暗号化データと同様に受信する必要があり、当該復号化を行う装置における通信量が多いという問題がある。   However, in the above "One Time Pad Encryption", it is necessary for the device that decrypts the encrypted data to receive a random number having the same data length as the plaintext data to be encrypted in the same way as the encrypted data. There is a problem that the amount of communication in the device that performs the decoding is large.

本発明は上述した問題点を解決するためになされたものであり、データの暗号化および復号化を行うデータ保護システムにおいて、データの復号化に要するデータ容量の低減を図るとともに、悪意の第三者による不正な復号化の困難性を高めることのできる技術を提供することを目的とする。   The present invention has been made to solve the above-described problems. In a data protection system for encrypting and decrypting data, the present invention aims to reduce the data capacity required for data decryption and It is an object of the present invention to provide a technique that can increase the difficulty of unauthorized decryption by a person.

上述した課題を解決するため、本発明の一態様に係る暗号化装置は、暗号化すべき対象データに所定の暗号化処理を施す暗号化処理部と、前記暗号化処理部での暗号化処理により生成される暗号化データの一部のデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出するマスク処理部と、を備えてなることを特徴とするものである。   In order to solve the above-described problem, an encryption apparatus according to an aspect of the present invention includes an encryption processing unit that performs predetermined encryption processing on target data to be encrypted, and encryption processing performed by the encryption processing unit. A mask processing unit that calculates an exclusive OR of a partial data string of the generated encrypted data and a random number having the same data length as the data string is provided. .

また、本発明の一態様に係る復号化装置は、乱数データを用いた所定のマスク処理が施された暗号化済みのデータを復号化する復号化装置であって、復号化の対象となる復号対象データを取得するデータ取得部と、前記所定のマスク処理に用いられた乱数データおよび該乱数データと排他的論理和を演算したデータ領域を示す情報を取得するマスク情報取得部と、前記マスク情報取得部にて取得される情報に基づいて、前記データ取得部にて取得される復号対象データについての、所定のマスク処理によるデータ保護を解除するマスク解除部と、前記マスク解除部にて生成される暗号化済みデータを復号化するための復号鍵を取得する復号鍵取得部と、前記復号鍵取得部にて取得される復号鍵に基づいて、前記マスク解除部にて生成される暗号化済みデータを復号化する復号化部と備えてなることを特徴とするものである。   In addition, a decryption device according to an aspect of the present invention is a decryption device that decrypts encrypted data that has been subjected to predetermined mask processing using random number data, and is a decryption target A data acquisition unit for acquiring target data; a mask information acquisition unit for acquiring random number data used in the predetermined mask processing; and a data area obtained by calculating an exclusive OR with the random number data; and the mask information Based on the information acquired by the acquisition unit, generated by the mask cancellation unit and the mask cancellation unit for canceling data protection by predetermined mask processing for the data to be decoded acquired by the data acquisition unit A decryption key obtaining unit for obtaining a decryption key for decrypting the encrypted data, and an encryption generated by the mask release unit based on the decryption key obtained by the decryption key obtaining unit. It is to characterized in that it comprises a decoding unit for decoding of Data.

また、本発明の一態様に係るデータ保護システムは、暗号化すべき対象データに所定の暗号化処理を施す暗号化処理部と、前記暗号化処理部での暗号化処理により生成される暗号化データの一部のデータ列と、該データ列と同じデータ長である乱数データとの排他的論理和を算出する所定のマスク処理を行うマスク処理部とを有する暗号化装置と、前記マスク処理部にてマスク処理が施されたデータを取得するデータ取得部と、前記所定のマスク処理に用いられた乱数データおよび該乱数データと排他的論理和を演算したデータ領域を示す情報を取得するマスク情報取得部と、前記マスク情報取得部にて取得される情報に基づいて、前記データ取得部にて取得される復号対象データについての、所定のマスク処理によるデータ保護を解除するマスク解除部と、前記マスク解除部にて生成される暗号化済みデータを復号化するための復号鍵を取得する復号鍵取得部と、前記復号鍵取得部にて取得される復号鍵に基づいて、前記マスク解除部にて生成される暗号化済みデータを復号化する復号化部とを有する復号化装置とを備えてなることを特徴とするものである。   The data protection system according to one aspect of the present invention includes an encryption processing unit that performs predetermined encryption processing on target data to be encrypted, and encrypted data generated by the encryption processing in the encryption processing unit. An encryption apparatus having a mask processing unit that performs a predetermined mask process for calculating an exclusive OR of a part of the data string and random number data having the same data length as the data string; and A data acquisition unit that acquires data subjected to mask processing, and mask information acquisition that acquires random number data used in the predetermined mask processing and information indicating a data area obtained by calculating an exclusive OR with the random number data The data protection by the predetermined mask process for the data to be decoded acquired by the data acquisition unit based on the information acquired by the unit and the mask information acquisition unit Based on the decryption key, the decryption key acquisition unit for acquiring the decryption key for decrypting the encrypted data generated by the mask release unit, and the decryption key acquired by the decryption key acquisition unit And a decryption device having a decryption unit for decrypting the encrypted data generated by the mask canceling unit.

また、本発明の一態様に係るデータ保護方法は、暗号化すべき対象データに所定の暗号化処理を施す暗号化処理ステップと、前記暗号化処理ステップでの暗号化処理により生成される暗号化データの一部のデータ列と、該データ列と同じデータ長である乱数データとの排他的論理和を算出する所定のマスク処理を行うマスク処理ステップと、前記マスク処理ステップにてマスク処理が施されたデータを取得するデータ取得ステップと、前記所定のマスク処理に用いられた乱数データおよび該乱数データと排他的論理和を演算したデータ領域を示す情報を取得するマスク情報取得ステップと、前記マスク情報取得ステップにて取得される情報に基づいて、前記データ取得部にて取得される復号対象データについての、所定のマスク処理によるデータ保護を解除するマスク解除ステップと、前記マスク解除ステップにて生成される暗号化済みデータを復号化するための復号鍵を取得する復号鍵取得ステップと、前記復号鍵取得ステップにて取得される復号鍵に基づいて、前記マスク解除ステップにて生成される暗号化済みデータを復号化する復号化ステップと、を備えてなることを特徴とするものである。   The data protection method according to one aspect of the present invention includes an encryption processing step for performing predetermined encryption processing on target data to be encrypted, and encrypted data generated by the encryption processing in the encryption processing step. A mask processing step for performing a predetermined mask processing for calculating an exclusive OR of a part of the data sequence and random number data having the same data length as the data sequence, and the mask processing is performed in the mask processing step. A data acquisition step of acquiring the acquired data, a mask information acquisition step of acquiring information indicating a random number data used in the predetermined mask process and a data area obtained by calculating an exclusive OR with the random number data, and the mask information Based on the information acquired in the acquisition step, the data to be decoded acquired by the data acquisition unit is decoded by a predetermined mask process. Acquired in the mask release step for releasing the data protection, the decryption key acquisition step for acquiring the decryption key for decrypting the encrypted data generated in the mask release step, and the decryption key acquisition step And a decrypting step for decrypting the encrypted data generated in the unmasking step based on the decryption key.

また、本発明の一態様に係る暗号化プログラムは、暗号化すべき対象データに所定の暗号化処理を施す暗号化処理ステップと、前記暗号化処理ステップでの暗号化処理により生成される暗号化データの一部のデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出するマスク処理ステップと、をコンピュータに実行させることを特徴とするものである。   An encryption program according to one aspect of the present invention includes an encryption processing step for performing predetermined encryption processing on target data to be encrypted, and encrypted data generated by the encryption processing in the encryption processing step. A mask processing step of calculating an exclusive OR of a part of the data string and a random number having the same data length as the data string is executed by a computer.

また、本発明の一態様に係る復号化プログラムは、乱数データを用いた所定のマスク処理が施された暗号化済みデータを復号化する復号化プログラムであって、復号化の対象となる復号対象データを取得するデータ取得ステップと、前記所定のマスク処理に用いられた乱数データおよび該乱数データと排他的論理和を演算したデータ領域を示す情報を取得するマスク情報取得ステップと、前記マスク情報取得ステップにて取得される情報に基づいて、前記データ取得部にて取得される復号対象データについての、所定のマスク処理によるデータ保護を解除するマスク解除ステップと、前記マスク解除ステップにて生成される暗号化済みデータを復号化するための復号鍵を取得する復号鍵取得ステップと、前記復号鍵取得ステップにて取得される復号鍵に基づいて、前記マスク解除ステップにて生成される暗号化済みデータを復号化する復号化ステップとをコンピュータに実行させることを特徴とするものである。   In addition, a decryption program according to an aspect of the present invention is a decryption program for decrypting encrypted data that has been subjected to predetermined mask processing using random number data, and is a decryption target to be decrypted A data acquisition step for acquiring data; a mask information acquisition step for acquiring random number data used in the predetermined mask processing; and information indicating a data area obtained by calculating exclusive OR with the random number data; and the mask information acquisition Based on the information acquired in the step, the data to be decrypted acquired in the data acquisition unit is generated in a mask cancellation step for canceling data protection by a predetermined mask process and the mask cancellation step. Obtained in a decryption key obtaining step for obtaining a decryption key for decrypting encrypted data and the decryption key obtaining step Based on the decryption key, it is characterized in that to execute a decoding step of decoding the encrypted data generated by the unmasking step on the computer.

以上に詳述したように本発明によれば、データの暗号化および復号化を行うデータ保護システムにおいて、データの復号化に要するデータ容量の低減を図るとともに、悪意の第三者による不正な復号化の困難性を高めることのできる技術を提供することができる。   As described above in detail, according to the present invention, in a data protection system that encrypts and decrypts data, the data capacity required for decrypting data is reduced, and unauthorized decryption by a malicious third party is performed. It is possible to provide a technique capable of increasing the difficulty of the conversion.

以下、本発明の実施の形態について図面を参照しつつ説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明の実施の形態によるデータ保護システムの概略的なシステム構成を示す図である。図1に示すように、本実施の形態によるデータ保護システムは、暗号化装置1、復号化装置2およびデータベース3を備えている。   FIG. 1 is a diagram showing a schematic system configuration of a data protection system according to an embodiment of the present invention. As shown in FIG. 1, the data protection system according to the present embodiment includes an encryption device 1, a decryption device 2, and a database 3.

本実施の形態によるデータ保護システムでは、暗号化装置1、復号化装置2およびデータベース3は、それぞれが互いに例えばインターネット9等の電気通信回線を介して相互に通信可能となっている。なお、本実施の形態では、一例として、暗号化装置1、復号化装置2およびデータベース3が、インターネット回線を介して通信可能に接続されている例を挙げているが、これに限られるものではなく、例えば、LAN(Local Area Network)やWAN(Wide Area Network)などの電気通信回線を介して接続する構成としてもよい。   In the data protection system according to the present embodiment, the encryption device 1, the decryption device 2, and the database 3 can communicate with each other via an electric communication line such as the Internet 9. In the present embodiment, as an example, the encryption device 1, the decryption device 2, and the database 3 are connected to be communicable via the Internet line. However, the present invention is not limited to this. Instead, for example, a connection may be made via a telecommunication line such as a LAN (Local Area Network) or a WAN (Wide Area Network).

本実施の形態によるデータ保護システムでは、暗号化装置1にて暗号化等のデータ保護処理が施されたデータが、インターネット9を介して復号化装置2へと送信される。復号化装置2は、データベース3から取得される各種情報に基づいて、暗号化装置1から受信したデータの復号化を行う。   In the data protection system according to the present embodiment, data that has been subjected to data protection processing such as encryption by the encryption device 1 is transmitted to the decryption device 2 via the Internet 9. The decryption device 2 decrypts the data received from the encryption device 1 based on various information acquired from the database 3.

以下、暗号化装置1、復号化装置2およびデータベース3の機能の詳細について説明する。図2は、本実施の形態によるデータ保護システムを構成する各構成要素の機能について説明するための機能ブロック図である。   Details of the functions of the encryption device 1, the decryption device 2, and the database 3 will be described below. FIG. 2 is a functional block diagram for explaining the function of each component constituting the data protection system according to the present embodiment.

まず、暗号化装置1について説明する。本実施の形態による暗号化装置1は、暗号化処理部101、マスク処理部102、マスクデータ設定部103、マスクデータ生成部104、操作入力部105、CPU108およびMEMORY109を備えてなる構成となっている。   First, the encryption device 1 will be described. The encryption apparatus 1 according to the present embodiment includes an encryption processing unit 101, a mask processing unit 102, a mask data setting unit 103, a mask data generation unit 104, an operation input unit 105, a CPU 108, and a MEMORY 109. Yes.

暗号化処理部101は、暗号化装置1にて暗号化すべき対象データに所定の暗号化処理を施す役割を有している。   The encryption processing unit 101 has a role of performing predetermined encryption processing on target data to be encrypted by the encryption device 1.

暗号化処理部101にて実行する暗号化処理は、例えば、共通鍵を用いるブロック暗号方式(例えば、CBC(Cipher Block Chaining)方式)を採用するものとする。具体的に、暗号化処理部101におけるブロック暗号処理では、上記暗号化の対象となる「対象データ」を、それぞれが所定のデータ長を有する複数ブロックに分割し、該複数ブロックそれぞれに暗号処理を施すブロック暗号処理を実行する。   The encryption processing executed by the encryption processing unit 101 is, for example, a block encryption method using a common key (for example, a CBC (Cipher Block Chaining) method). Specifically, in the block encryption processing in the encryption processing unit 101, the “target data” to be encrypted is divided into a plurality of blocks each having a predetermined data length, and the encryption processing is performed on each of the plurality of blocks. Perform the block encryption process to be performed.

もちろん、暗号化処理部101における暗号化は、CBC方式に限定されるものではなく、鍵方式についても、共通鍵方式に限らず、例えば公開鍵方式を採用することもできる。本実施の形態における暗号化処理部101は、暗号化処理部101にて暗号化されたデータを復号化するための復号鍵を、例えばインターネット9等の電気通信回線を介して復号化装置2に送信する。   Of course, the encryption in the encryption processing unit 101 is not limited to the CBC method, and the key method is not limited to the common key method, and for example, a public key method can be adopted. The encryption processing unit 101 according to the present embodiment sends a decryption key for decrypting the data encrypted by the encryption processing unit 101 to the decryption device 2 via an electric communication line such as the Internet 9. Send.

マスク処理部102は、暗号化処理部101での暗号化処理により生成される暗号化済データの一部のデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出する。   The mask processing unit 102 calculates an exclusive OR of a partial data string of the encrypted data generated by the encryption process in the encryption processing part 101 and a random number having the same data length as the data string. To do.

マスクデータ設定部103は、操作入力部105へのユーザの操作入力に基づいて、マスク処理部102にて暗号化処理部101での暗号化処理により生成される暗号化データの一部のデータ列と排他的論理和を算出するのに用いる乱数データのデータ長を設定する。   The mask data setting unit 103 is a partial data string of the encrypted data generated by the encryption processing in the encryption processing unit 101 in the mask processing unit 102 based on the user's operation input to the operation input unit 105. And the data length of the random number data used to calculate the exclusive OR.

マスクデータ生成部104は、マスクデータ設定部103における設定処理に基づいて、(1)所定のマスク処理に用いる所望の疑似乱数データ、および(2)暗号化済データにおける該乱数データと排他的論理和が演算されるデータ領域(マスク位置)を示す情報(もしくは、マスク位置に関する情報)を生成する。マスクデータ生成部104にて生成される乱数データは、マスク処理部102に送信されるとともに、データベース3へも送信され、データベース3にて登録される。   Based on the setting process in the mask data setting unit 103, the mask data generation unit 104 performs (1) desired pseudo-random number data used for a predetermined mask process, and (2) the random data and the exclusive logic in the encrypted data. Information indicating the data area (mask position) in which the sum is calculated (or information regarding the mask position) is generated. The random number data generated by the mask data generation unit 104 is transmitted to the mask processing unit 102 and is also transmitted to the database 3 and registered in the database 3.

操作入力部105は、例えば、キーボード、マウス、タッチパネルディスプレイ等から構成されており、ユーザによる操作入力を受け付ける役割を有している。   The operation input unit 105 includes, for example, a keyboard, a mouse, a touch panel display, and the like, and has a role of receiving an operation input by a user.

CPU108は、復号化装置2における各種処理を行う役割を有しており、またMEMORY109に格納されているプログラムを実行することにより種々の機能を実現する役割も有している。MEMORY109は、例えばROMやRAM等から構成されており、復号化装置2において利用される種々の情報やプログラムを格納する役割を有している。   The CPU 108 has a role of performing various processes in the decryption apparatus 2 and also has a role of realizing various functions by executing a program stored in the MEMORY 109. The MEMORY 109 includes, for example, a ROM, a RAM, and the like, and has a role of storing various information and programs used in the decryption apparatus 2.

続いて、本実施の形態による復号化装置2の機能の詳細について説明する。本実施の形態による復号化装置2は、暗号化装置1にて所定のマスク処理が施された暗号化済みのデータを復号化する役割を有している。復号化装置2は、データ取得部201、マスク情報取得部202、マスク解除部203、復号鍵取得部204、復号化部205、CPU208、MEMORY209および操作入力部210を備えている。   Next, details of the function of the decoding device 2 according to the present embodiment will be described. The decryption apparatus 2 according to the present embodiment has a role of decrypting encrypted data that has been subjected to a predetermined mask process in the encryption apparatus 1. The decryption apparatus 2 includes a data acquisition unit 201, a mask information acquisition unit 202, a mask release unit 203, a decryption key acquisition unit 204, a decryption unit 205, a CPU 208, a MEMORY 209, and an operation input unit 210.

データ取得部201は、インターネット9を介して暗号化装置1から送信される復号化の対象となる復号対象データ(暗号化装置1にて暗号化処理およびマスク処理が施されたデータ)を取得する。ここでの復号対象データは、例えば、Eメールに添付ファイルとして添付することによるメール送信処理や、FTP等のデータ転送技術によるデータ送信処理により、例えばインターネット9を介して復号化装置2に送信される。   The data acquisition unit 201 acquires decryption target data (data subjected to encryption processing and mask processing in the encryption device 1) to be decrypted and transmitted from the encryption device 1 via the Internet 9. . The data to be decrypted here is transmitted to the decryption apparatus 2 via the Internet 9, for example, by mail transmission processing by attaching it as an attached file to an email or data transmission processing by a data transfer technique such as FTP. The

マスク情報取得部202は、所定のマスク処理に用いられた乱数データ、および該乱数データと排他的論理和を演算した暗号化済データのデータ領域を示す情報を、データベース3から取得する。   The mask information acquisition unit 202 acquires, from the database 3, information indicating the random number data used for the predetermined mask processing and the data area of the encrypted data obtained by calculating exclusive OR with the random number data.

マスク解除部203は、マスク情報取得部202にて取得される情報に基づいて、データ取得部201にて取得される「復号対象データ」についての、所定のマスク処理によるデータ保護を解除する。   Based on the information acquired by the mask information acquisition unit 202, the mask cancellation unit 203 cancels data protection by “predetermined mask processing” for “decryption target data” acquired by the data acquisition unit 201.

復号鍵取得部204は、マスク解除部203にて生成される暗号化済みデータを復号化するための復号鍵を、暗号化装置1における暗号化処理部101からインターネット9経由で取得する。   The decryption key acquisition unit 204 acquires a decryption key for decrypting the encrypted data generated by the mask release unit 203 from the encryption processing unit 101 in the encryption device 1 via the Internet 9.

このように、本実施の形態では、マスク処理部102にてマスク処理が施されたデータと、暗号化処理部101から送信される復号鍵情報とが、インターネット9を介して復号化装置2に送信される構成となっている。もちろん、これに限られるものではなく、更なるセキュリティレベルの向上のために、マスク処理が施されたデータと復号鍵情報とを、互いに異なる通信手段を介して復号化装置2に送信する構成とすることもできる。   As described above, in the present embodiment, the data subjected to the mask processing by the mask processing unit 102 and the decryption key information transmitted from the encryption processing unit 101 are transmitted to the decryption apparatus 2 via the Internet 9. It is configured to be transmitted. Of course, the present invention is not limited to this, and in order to further improve the security level, the masked data and the decryption key information are transmitted to the decryption device 2 via different communication means. You can also

復号化部205は、復号鍵取得部204にて取得される復号鍵に基づいて、マスク解除部203にて生成される暗号化済みデータを復号化する。具体的に、CBC方式を採用した暗号化処理部101における暗号化処理が施されたデータの復号化処理は、暗号化データの各ブロックをCi(i=1,2,…,n)とした場合に、図3の式で表される。同図の式において、miは復号化後のデータを示し、Kは復号鍵を示し、D()は復号処理を示している。 The decryption unit 205 decrypts the encrypted data generated by the mask release unit 203 based on the decryption key acquired by the decryption key acquisition unit 204. Specifically, in the decryption processing of the data subjected to the encryption processing in the encryption processing unit 101 adopting the CBC method, each block of the encrypted data is expressed as C i (i = 1, 2,..., N). In this case, it is represented by the equation of FIG. In the formula of the figure, m i denotes the data after decoding, K is shown a decryption key, D () shows a decoding processing.

CPU208は、復号化装置2における各種処理を行う役割を有しており、またMEMORY209に格納されているプログラムを実行することにより種々の機能を実現する役割も有している。MEMORY209は、例えばROMやRAM等から構成されており、復号化装置2において利用される種々の情報やプログラムを格納する役割を有している。操作入力部210は、例えば、キーボード、マウス、タッチパネルディスプレイ等から構成されており、ユーザによる操作入力を受け付ける役割を有している。   The CPU 208 has a role of performing various processes in the decryption apparatus 2 and also has a role of realizing various functions by executing a program stored in the MEMORY 209. The MEMORY 209 is composed of, for example, a ROM, a RAM, and the like, and has a role of storing various information and programs used in the decoding device 2. The operation input unit 210 includes, for example, a keyboard, a mouse, a touch panel display, and the like, and has a role of receiving an operation input by a user.

次に、本実施の形態におけるデータベース3の機能の詳細について説明する。本実施の形態によるデータベース3は、本実施の形態によるデータ保護システムにおいて用いられる各種情報の管理を行うデータデータベースとしての役割を有している。具体的に、データベース3は、暗号化装置1および復号化装置2にて利用される乱数データやマスク処理におけるマスク位置に関する情報などを管理するマスクデータ管理部301を備えている。なお、データベース3は、暗号化装置1とは異なる通信経路(例えば、図2におけるルートBなど)を用いて復号化装置2に対してデータを送信することのできる機器によって実現されている。   Next, details of the functions of the database 3 in the present embodiment will be described. The database 3 according to the present embodiment has a role as a data database for managing various information used in the data protection system according to the present embodiment. Specifically, the database 3 includes a mask data management unit 301 that manages random number data used in the encryption device 1 and the decryption device 2, information on a mask position in mask processing, and the like. The database 3 is realized by a device that can transmit data to the decryption device 2 using a communication path different from that of the encryption device 1 (for example, route B in FIG. 2).

このように、本実施の形態では、悪意の第三者によるデータ復号化のリスクを低減させるため、マスクデータ生成部104にて生成される乱数データ等をルートB(図2に示す、データベース3を経由するルート)経由で復号化装置2に送信し、マスク処理部102にてマスク処理を施したデータをルートA(図2に示す、マスク処理部102から復号化装置2に対して直接送信するルート)経由で復号化装置2に送信している。また、暗号化装置1、復号化装置2およびデータベース3との間の通信については、通信内容が第三者に漏洩を防止するため、通信の暗号化をおこなうことが望ましい。   As described above, in the present embodiment, in order to reduce the risk of data decryption by a malicious third party, random data generated by the mask data generation unit 104 is stored in the route B (database 3 shown in FIG. 2). Route to the decoding device 2 via the route), and the data subjected to the mask processing by the mask processing unit 102 is directly transmitted from the mask processing unit 102 to the decoding device 2 as shown in FIG. To the decryption device 2 via the route). In addition, for communication between the encryption device 1, the decryption device 2, and the database 3, it is desirable to perform communication encryption in order to prevent leakage of communication contents to a third party.

また、マスクデータ生成部104における乱数データの生成処理は、マスク処理を行う必要が生じた場合における乱数生成要求の発生から乱数生成完了までの処理時間を短縮するために、予め乱数を生成してMEMORY109等に格納させておき、これら予め格納されている乱数データ中から適宜選択して利用するようにしてもよい。   In addition, the random number data generation processing in the mask data generation unit 104 generates random numbers in advance in order to shorten the processing time from generation of a random number generation request to completion of random number generation when it is necessary to perform mask processing. The data may be stored in the MEMORY 109 or the like, and may be used by appropriately selecting from the previously stored random number data.

続いて、本実施の形態におけるデータ保護システムでの処理の詳細について説明する。   Next, details of processing in the data protection system according to the present embodiment will be described.

暗号化装置1における暗号化処理部101により暗号化された暗号化済データは、マスク処理部102にて、マスクデータ生成部104にて生成されるマスクデータ(暗号化データと同じサイズのデータ)とBIT単位でのXOR(排他的論理和)処理を施される。図4は、マスク処理部102における暗号化済データとマスクデータとのXOR処理の概要を示すイメージ図である。   The encrypted data encrypted by the encryption processing unit 101 in the encryption device 1 is masked by the mask processing unit 102 and is generated by the mask data generation unit 104 (data having the same size as the encrypted data). And XOR (exclusive OR) processing in units of BIT. FIG. 4 is an image diagram showing an outline of the XOR process between the encrypted data and the mask data in the mask processing unit 102.

図4において各々の横長の長方形は、ブロック暗号のCBC方式における各ブロックを示しており、図4における「マスクデータ」は奇数番目のブロックを乱数データで埋め、残りを「0」で埋めたものとなっている。   In FIG. 4, each horizontally long rectangle indicates each block in the CBC scheme of block cipher, and “mask data” in FIG. 4 is obtained by filling odd-numbered blocks with random number data and filling the rest with “0”. It has become.

図5は、マスクデータ生成部104内部にて実行される処理の詳細について説明するための図である。マスクデータ生成部104は、乱数分布パターン生成器104a、乱数生成器104bおよび乱数データ位置生成器104cを備えている。   FIG. 5 is a diagram for explaining details of processing executed in the mask data generation unit 104. The mask data generation unit 104 includes a random number distribution pattern generator 104a, a random number generator 104b, and a random number data position generator 104c.

マスクデータ生成部104は、例えば操作入力部105へのユーザの操作入力に基づいてマスクデータ設定部103にて設定される「対象データの保護についての保護強度の要求レベル」、「復号化装置2にて用いられる通信回線の容量」、「マスクデータを保持する保存エリア(例えば、データベース3やMEMORY209)の容量」などからマスクデータパターンを選定して生成する。具体的に、マスクデータ設定部103からマスクデータ生成部104に対してマスクデータパターンとして与えるパラメータは、「乱数データ比率(「乱数データのデータ長」の「マスク処理の対象である暗号化済データのデータ長」に対する比率)」、「細分化数」および「ブロック選択則」等である。   The mask data generation unit 104, for example, “required protection strength level for protection of target data”, “decryption device 2” set by the mask data setting unit 103 based on a user operation input to the operation input unit 105. The mask data pattern is selected and generated based on the “capacity of the communication line used in” and the “capacity of the storage area (for example, the database 3 or the MEMORY 209) holding the mask data”. Specifically, a parameter given as a mask data pattern from the mask data setting unit 103 to the mask data generation unit 104 is “encrypted data to be masked” of “random number data ratio (“ data length of random number data ”). The ratio to the “data length”) ”,“ number of subdivisions ”,“ block selection rule ”, and the like.

マスクデータ生成部104は、まず対象となる暗号化済データのサイズZと乱数データ比率Pから、乱数分布パターン生成器104aにおいて全乱数データ長Z*Pを求める。次に、乱数生成器104bにおいて、長さZ*Pの乱数データを生成する。乱数分布パターン生成器104aは、生成された乱数データを細分化数Mにより分割し、予め長さZの0で埋められたデータ内に、分割された乱数データを埋め込んでいく。この埋め込み位置は、所定のブロック選択則に則り、次のように決定される。   First, the mask data generation unit 104 obtains the total random number data length Z * P in the random number distribution pattern generator 104a from the size Z of the target encrypted data and the random number data ratio P. Next, random number data of length Z * P is generated in the random number generator 104b. The random number distribution pattern generator 104a divides the generated random number data by the subdivision number M, and embeds the divided random number data in the data previously filled with 0 of the length Z. This embedding position is determined as follows according to a predetermined block selection rule.

(1)ブロック選択則が「0」であるなら奇数ブロックを選択し、

分割された乱数データの長さ ≧ ブロック長

であるなら、各奇数ブロックの開始位置から乱数データを埋め込んでいく。
(1) If the block selection rule is “0”, select an odd block,

Length of divided random data ≥ Block length

If so, random number data is embedded from the start position of each odd block.

一方、

分割された乱数データの長さ < ブロック長

の場合は、乱数データ位置生成器104cにて、0からブロック長の範囲の一様乱数を生成し、その乱数値をブロック内開始位置として分割された乱数データを埋め込んでいく。
on the other hand,

Length of divided random data <block length

In this case, the random number data position generator 104c generates a uniform random number ranging from 0 to the block length, and embeds the random number data divided using the random value as the start position in the block.

(2)ブロック選択則が「1」であるなら偶数ブロックを選択し、上記奇数ブロックと同じく処理し、分割された乱数データを埋め込んでいく。   (2) If the block selection rule is “1”, an even block is selected, processed in the same manner as the odd block, and the divided random number data is embedded.

(3)ブロック選択則が「2」である場合に、

分割された乱数データの長さ ≧ ブロック長

であるならば、乱数データ位置生成器において、0から全ブロック数の範囲の一様乱数を生成し、その乱数値のブロックの開始位置から分割された乱数データを埋め込んでいく。
(3) When the block selection rule is “2”,

Length of divided random data ≥ Block length

If so, the random number data position generator generates a uniform random number ranging from 0 to the total number of blocks, and embeds the random number data divided from the start position of the block of the random value.

一方、

分割された乱数データの長さ < ブロック長

であるならば、乱数データ位置生成器において、0から全ブロック数の範囲の一様乱数と、0からブロック長の範囲の一様乱数を生成し、その乱数値に基づいて、埋め込み対象となるブロックとブロック内開始位置を選択し、分割された乱数データを埋め込んでいく。
on the other hand,

Length of divided random data <block length

If so, the random number data position generator generates a uniform random number in the range from 0 to the total number of blocks and a uniform random number in the range from 0 to the block length, and becomes an embedding target based on the random number value. Select the block and the start position in the block, and embed the divided random number data.

なお、選択されたブロック内におけるマスクデータの開始位置によっては、マスクデータである乱数データが、隣接するブロックにまたがってしまう場合もあり得る。このような場合、隣接する複数のブロックにおいて、ブロック内における同じ領域においてマスク処理が施されないという事態が生ずるおそれがある。そこで、上述のような事態の発生を防ぐため、マスク対象となるブロックの後端を超えるマスクデータがある場合には、当該マスクデータをマスク対象であるブロックにおける未だマスクされていない領域に割り当てることにより、乱数データの埋め込みを行うことが好ましい。図6は、マスク対象であるブロックに対するマスクデータの配置方法の一例を示す図である。   Depending on the start position of the mask data in the selected block, the random number data as the mask data may straddle adjacent blocks. In such a case, there is a possibility that the mask process is not performed in the same area in the block in a plurality of adjacent blocks. Therefore, in order to prevent the occurrence of the above situation, if there is mask data exceeding the rear end of the block to be masked, the mask data is assigned to an unmasked area in the block to be masked. Therefore, it is preferable to embed random number data. FIG. 6 is a diagram illustrating an example of a mask data arrangement method for blocks to be masked.

なお、図6に示す例では、マスク対象であるブロックの後端を超えるマスクデータについては、ブロック先端から配列(図6における記号Qを参照)しているが、これに限られるものではなく、例えば、ブロック内開始位置からブロックの先端方向へ向けて残りのマスクデータを配列するようにしてもよい(図6における破線で囲まれた領域Zを参照)。   In the example shown in FIG. 6, the mask data exceeding the rear end of the block to be masked is arranged from the front end of the block (see symbol Q in FIG. 6), but is not limited to this. For example, the remaining mask data may be arranged from the start position in the block toward the front end of the block (see the region Z surrounded by the broken line in FIG. 6).

上述のようにして生成されたマスクデータと暗号化済データは、マスク処理部102によりマスク処理を施され(図4を参照)、マスク処理済みの暗号化データ(以下、マスク暗号化データと呼ぶ)として復号化装置2へ向けて出力される。マスク処理部102から送信されたマスク暗号化データは、復号化装置2におけるデータ取得部201にて取得され、例えばMEMORY209に保存される。   The mask data and the encrypted data generated as described above are subjected to mask processing by the mask processing unit 102 (see FIG. 4), and the masked encrypted data (hereinafter referred to as mask encrypted data). ) To the decoding device 2. The mask encrypted data transmitted from the mask processing unit 102 is acquired by the data acquisition unit 201 in the decryption apparatus 2 and stored in, for example, the MEMORY 209.

このようにして、マスク処理部102は、例えば、暗号化処理部101による暗号化処理において複数ブロックに分割された対象データの内の先頭ブロックから偶数番目もしくは奇数番目のブロックのデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出することができる。もちろん、必ずしも上記偶数番目もしくは奇数番目のブロックのデータ列をマスク対象とする必要はなく、マスク処理部102は、暗号化処理部101による暗号処理において複数ブロックに分割された対象データの内の少なくとも1つのブロックに含まれるデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出する構成としてもよい。   In this way, the mask processing unit 102, for example, the data sequence of even-numbered or odd-numbered blocks from the first block of the target data divided into a plurality of blocks in the encryption processing by the encryption processing unit 101, and An exclusive OR with a random number having the same data length as the data string can be calculated. Of course, the data sequence of the even-numbered or odd-numbered block does not necessarily have to be a mask target, and the mask processing unit 102 does not need to include at least the target data divided into a plurality of blocks in the encryption processing by the encryption processing unit 101. A configuration may be adopted in which an exclusive OR of a data string included in one block and a random number having the same data length as the data string is calculated.

なお、マスク処理部102におけるマスク処理で用いられるマスクデータは、データベース3内に保存される。マスクデータ管理部301は、データベース3に保持される各マスクデータと、当該マスクデータとマスク暗号化データとの対応づけを保持しながらデータ管理を行う。   Note that the mask data used in the mask processing in the mask processing unit 102 is stored in the database 3. The mask data management unit 301 performs data management while holding each mask data held in the database 3 and the correspondence between the mask data and the mask encrypted data.

次に、復号化装置2においてマスク暗号化データを受信した後、当該マスク暗号化データに対して行われる処理の流れについて詳述する。   Next, the flow of processing performed on the mask encrypted data after the decryption apparatus 2 receives the mask encrypted data will be described in detail.

復号化装置2におけるマスク情報取得部202は、データ取得部201にて取得したマスク暗号化データに対応するマスクデータ(乱数データおよびマスク位置を示す情報など)をデータベース3から取得する。この際、データベース3におけるマスクデータ管理部301は必要に応じて、利用者又は復号化装置2が正当な目的により利用されていることを認証処理等によって確認し、不正利用であると判断する場合にはマスクデータの提供を拒否しても良い。   The mask information acquisition unit 202 in the decryption apparatus 2 acquires from the database 3 mask data (random number data and information indicating the mask position) corresponding to the mask encrypted data acquired by the data acquisition unit 201. At this time, when the mask data management unit 301 in the database 3 confirms that the user or the decryption apparatus 2 is used for a legitimate purpose by an authentication process or the like, if necessary, and determines that the use is unauthorized. May refuse to provide mask data.

マスク情報取得部202は、取得したマスクデータと、データ取得部201にて取得したマスク暗号化データ(もしくは、MEMORY209に保持しているマスク暗号化データ)をマスク解除部203に入力する。   The mask information acquisition unit 202 inputs the acquired mask data and the mask encrypted data acquired by the data acquisition unit 201 (or the mask encrypted data held in the MEMORY 209) to the mask release unit 203.

図7は、マスク解除部203におけるマスク解除処理の詳細を示す図である。マスク解除部203は、図7に示すように排他的論理和を算出することで、同じマスクデータを適用したときの排他的論理和の性質から、暗号化済データを得る。   FIG. 7 is a diagram showing details of the mask release processing in the mask release unit 203. The mask release unit 203 calculates the exclusive OR as shown in FIG. 7 to obtain encrypted data from the exclusive OR property when the same mask data is applied.

復号鍵取得部204は、暗号化処理部101から上記暗号化済データの復号化に必要な復号鍵を取得する。   The decryption key acquisition unit 204 acquires a decryption key necessary for decrypting the encrypted data from the encryption processing unit 101.

復号化部205は、復号鍵取得部204にて取得される復号鍵を用いて、マスク解除部203において得られる暗号化済データの復号処理を行う。なお、本実施の形態では、一例として、復号鍵が暗号化処理部101からインターネット9を介して復号化装置2に直接送信される構成を示したが、これに限られるものではない。例えば、復号化装置2のユーザによる操作入力部210への操作入力による入力や、USBキー等のメディア経由での入力といった入力方法により、復号化装置2にて復号鍵を取得するようにしてもよいし、復号化装置2の内部に外部からは情報を容易に取り出せないセキュアなデータ格納領域(耐タンパ性の高いメモリ領域等)を設け、当該データ格納領域に復号鍵をあらかじめ格納しておいてもよい。   The decryption unit 205 uses the decryption key acquired by the decryption key acquisition unit 204 to decrypt the encrypted data obtained by the mask release unit 203. In the present embodiment, as an example, the configuration in which the decryption key is directly transmitted from the encryption processing unit 101 to the decryption device 2 via the Internet 9 is shown, but the present invention is not limited to this. For example, the decryption device 2 may obtain the decryption key by an input method such as an input by an operation input to the operation input unit 210 by a user of the decryption device 2 or an input via a medium such as a USB key. Alternatively, a secure data storage area (such as a tamper-resistant memory area) in which information cannot be easily extracted from the outside is provided inside the decryption apparatus 2, and a decryption key is stored in advance in the data storage area. May be.

一般に、「CBCブロック方式」による暗号化処理は、暗号化時に複数ブロックに分割した内の連続する二つのブロックがあれば、復号鍵に対する総当たり攻撃により復号化データを不正入手することができる。   In general, in the encryption process by the “CBC block method”, if there are two consecutive blocks divided into a plurality of blocks at the time of encryption, the decrypted data can be obtained illegally by a brute force attack against the decryption key.

しかし、本実施の形態のように暗号化済データに対して更にマスク処理を行うことにより(図4参照)、Ci又はCi+1のどちらか一方は乱数データによりXOR処理されたものとなり、正しい結果miを得るために、不正利用者は復号鍵K以外に、乱数データを総当たり攻撃により推定する必要が生じ、不正に結果を得ることはより困難となる。また、ブロック単位に着目すれば、ワンタイムパッド暗号と同様な効果が得られる。 However, if the encrypted data is further masked as in this embodiment (see FIG. 4), either C i or C i + 1 is XORed with random number data. , to get the correct result m i, unauthorized users other than the decryption key K, it is necessary to estimate the brute random data, it becomes more difficult to obtain unauthorized results. If attention is paid to the block unit, the same effect as the one-time pad encryption can be obtained.

また、本実施の形態に示す処理により生成されるマスクデータは、通信時に、各乱数データのブロックと、乱数データ適用位置(奇数番目)を示す情報を復号化装置2に送るだけで良いため、ワンタイムパッド暗号により暗号化する場合に比べ、大幅なデータ通信量の低減を図ることができる。また、マスクデータの保存についても、ワンタイムパッド暗号に比して、保存エリア容量の大幅な削減を実現することができる。また、復号化部205における復号化処理時の乱数データとマスク暗号化データとのXOR(排他的論理和)処理についても、ワンタイムパッド暗号のように全データ長に適用する場合に比べて大幅処理の削減を実現することができる。   In addition, since the mask data generated by the processing shown in the present embodiment only needs to send each block of random number data and information indicating the random number data application position (odd number) to the decoding device 2 during communication. Compared with the case of encryption by one-time pad encryption, it is possible to greatly reduce the amount of data communication. In addition, mask data can be saved by significantly reducing the storage area capacity as compared with the one-time pad encryption. Also, the XOR (exclusive OR) process of the random number data and the mask encrypted data at the time of the decryption process in the decryption unit 205 is much larger than when applied to the entire data length as in the one-time pad cipher. Reduction of processing can be realized.

また、更なる通信容量、保存エリア容量および演算処理量の削減を目指す場合には、図8に示すように、マスクデータの乱数データで埋める領域を小さくし、代わりに図8の「α」で示す様に「0」で埋めるようにしてもよい。この場合は、マスクデータを持たない不正利用者は、マスク暗号化データの乱数データにより攪乱された部位のサイズ及び情報を推定しながら復号鍵の総当たり攻撃を行いつつ復号鍵を推定することが必要となり、単なる復号鍵Kの推定よりも困難な作業となる。   In order to further reduce the communication capacity, the storage area capacity, and the calculation processing amount, as shown in FIG. 8, the area to be filled with the random number data of the mask data is reduced, and “α” in FIG. 8 is used instead. As shown, it may be filled with “0”. In this case, an unauthorized user who does not have mask data may estimate the decryption key while performing a brute force attack of the decryption key while estimating the size and information of the part disturbed by the random number data of the mask encryption data. This is necessary and is more difficult than simply estimating the decryption key K.

また、ワンタイムパッド暗号の効果から容易に類推できるように、マスクデータ中の乱数データにより攪乱された領域のデータは、例え正しい復号鍵Kをもってしても、マスクデータ無しでは正常に復号化することはできない。また、乱数データによるマスクする位置についても、様々なパターンを採用可能であり、このパターンを必要に応じて変更することにより、保護対象データの不正入手を更に困難なものとすることができる。なお、マスクデータによるマスク位置のパターンについては、予めテンプレートとして暗号化装置1のMEMORY109等に保持させておき、適宜利用可能なようにしてもよい。図9〜図12は、マスクデータによるマスク位置のいくつかのパターン例を示す図である。   Further, as can be easily inferred from the effect of the one-time pad encryption, even if the data in the region disturbed by the random number data in the mask data has the correct decryption key K, it can be normally decrypted without the mask data. It is not possible. Also, various patterns can be adopted for the masking position by the random number data, and unauthorized acquisition of the protection target data can be made more difficult by changing this pattern as necessary. Note that the mask position pattern based on the mask data may be stored in advance in the MEMORY 109 of the encryption apparatus 1 as a template and may be used as appropriate. 9 to 12 are diagrams showing some pattern examples of the mask position based on the mask data.

また、上述の実施の形態では、マスク処理において乱数データによってマスクするデータ列として、暗号化処理部101による暗号化処理において複数ブロックに分割された対象データの内の先頭ブロックから偶数番目もしくは奇数番目のブロックのデータ列を採用しているが、必ずしもこのように規則的なマスク処理を行う必要はない。例えば、保護対象データが圧縮データである場合、当該圧縮データにおける辞書データが格納されているデータ領域は、保護対象となるデータを解読する上で特に重要なデータ部分となる。このような場合、当該データ部分(所定のデータ領域に位置するデータ列)を重点的にマスクすることで、データ保護のレベルを更に高めることが可能となる。   In the above-described embodiment, the data sequence masked with the random number data in the mask processing is an even number or an odd number from the first block of the target data divided into a plurality of blocks in the encryption processing by the encryption processing unit 101. However, it is not always necessary to perform such regular mask processing. For example, when the data to be protected is compressed data, the data area in which the dictionary data in the compressed data is stored becomes a particularly important data part for decoding the data to be protected. In such a case, it is possible to further increase the level of data protection by intensively masking the data portion (data string located in a predetermined data area).

また、マスク処理部102によるマスク処理では、暗号化済データの全データ列に対して常に均一にマスク処理を施す必要はなく、上述のような重要なデータ部分周辺だけ、マスク処理されるエリアの密度や被覆率を高めるようにしてもよい。例えば、マスク処理部102は、暗号化処理部101による暗号処理において生成された暗号化データの内の所定のデータ領域に位置するデータ列が、該所定のデータ領域以外のデータ領域のデータ列よりも上記乱数との排他的論理和を算出するデータ量の割合が多くなるようにマスク処理を行うこともできる。   Further, in the mask processing by the mask processing unit 102, it is not always necessary to uniformly apply mask processing to all data strings of encrypted data. Only the periphery of the important data portion as described above is masked. You may make it raise a density and a coverage. For example, the mask processing unit 102 uses a data string located in a predetermined data area in the encrypted data generated in the encryption process by the encryption processing part 101 from a data string in a data area other than the predetermined data area. Also, the mask process can be performed so that the ratio of the data amount for calculating the exclusive OR with the random number is increased.

図13は、本実施の形態によるデータ保護システムにおける処理(データ保護方法)の流れについて説明するためのフローチャートである。   FIG. 13 is a flowchart for explaining the flow of processing (data protection method) in the data protection system according to this embodiment.

マスクデータ設定部103は、操作入力部105へのユーザの操作入力に基づいて、マスク処理部102にて暗号化処理部101での暗号化処理により生成される暗号化データの一部のデータ列と排他的論理和を算出するのに用いる乱数データのデータ長を設定する(マスクデータ設定ステップ)(S101)。このように、暗号化すべき対象データの重要度(要求されるセキュリティレベル)に応じて、マスク処理に用いる乱数データのデータ長(データ容量)を調整することで、復号化時の通信量の制御及び追加処理量の制御を行うことができる。   The mask data setting unit 103 is a partial data string of the encrypted data generated by the encryption processing in the encryption processing unit 101 in the mask processing unit 102 based on the user's operation input to the operation input unit 105. And the data length of the random number data used to calculate the exclusive OR (mask data setting step) (S101). In this way, by controlling the data length (data capacity) of random number data used for mask processing according to the importance (required security level) of the target data to be encrypted, control of the traffic during decryption And the amount of additional processing can be controlled.

なお、マスクデータ設定部103による各種設定処理は、必ずしもユーザの操作入力に基づく必要はなく、例えば、対象データのデータ長、暗号化装置1と復号化装置2との間での通信に用いる通信回線の種別、トラフィック負荷、暗号化装置1および復号化装置2における演算負荷等に基づいて、自動的に設定するようにしてもよい。   Note that the various setting processes by the mask data setting unit 103 do not necessarily need to be based on the user's operation input. For example, the data length of the target data, communication used for communication between the encryption device 1 and the decryption device 2 It may be automatically set based on the type of line, traffic load, calculation load in the encryption device 1 and decryption device 2, and the like.

マスクデータ生成部104は、マスクデータ設定部103における設定処理に基づいて、所望の疑似乱数データを生成する(マスクデータ生成ステップ)(S102)。   The mask data generation unit 104 generates desired pseudorandom number data based on the setting process in the mask data setting unit 103 (mask data generation step) (S102).

暗号化処理部101は、暗号化すべき対象データに所定の暗号化処理を施す(暗号化処理ステップ)(S103)。   The encryption processing unit 101 performs predetermined encryption processing on the target data to be encrypted (encryption processing step) (S103).

マスク処理部102は、暗号化処理ステップでの暗号化処理により生成される暗号化データの一部のデータ列と、該データ列と同じデータ長である乱数データ(マスクデータ生成ステップにて生成)との排他的論理和を算出する所定のマスク処理を行う(マスク処理ステップ)(S104)。   The mask processing unit 102 includes a partial data string of encrypted data generated by the encryption process in the encryption process step, and random data having the same data length as the data string (generated in the mask data generation step) A predetermined mask process for calculating the exclusive OR with is performed (mask process step) (S104).

データ取得部201は、マスク処理ステップにてマスク処理が施されたデータを取得する(データ取得ステップ)(S105)。   The data acquisition unit 201 acquires the data subjected to the mask processing in the mask processing step (data acquisition step) (S105).

マスク情報取得部202は、所定のマスク処理に用いられた乱数データおよび該乱数データと排他的論理和を演算したデータ領域を示す情報を取得する(マスク情報取得ステップ)(S106)。   The mask information acquisition unit 202 acquires random number data used for a predetermined mask process and information indicating a data area obtained by calculating exclusive OR with the random number data (mask information acquisition step) (S106).

マスク解除部203は、マスク情報取得ステップにて取得される情報に基づいて、データ取得部にて取得される復号対象データについての、所定のマスク処理によるデータ保護を解除する(マスク解除ステップ)(S107)。   Based on the information acquired in the mask information acquisition step, the mask cancellation unit 203 cancels data protection by predetermined mask processing for the data to be decoded acquired in the data acquisition unit (mask cancellation step) ( S107).

復号鍵取得部204は、マスク解除ステップにて生成される暗号化済みデータを復号化するための復号鍵を取得する(復号鍵取得ステップ)(S108)。   The decryption key acquisition unit 204 acquires a decryption key for decrypting the encrypted data generated in the mask release step (decryption key acquisition step) (S108).

復号化部205は、復号鍵取得ステップにて取得される復号鍵に基づいて、マスク解除ステップにて生成される暗号化済みデータを復号化する(復号化ステップ)(S109)。   Based on the decryption key acquired in the decryption key acquisition step, the decryption unit 205 decrypts the encrypted data generated in the mask release step (decryption step) (S109).

上述の暗号化装置での処理における各ステップは、MEMORY109に格納されている暗号化プログラムをCPU108に実行させることにより実現されるものである。また、復号化装置での処理における各ステップは、MEMORY209に格納されている暗号化プログラムをCPU208に実行させることにより実現されるものである。   Each step in the processing in the encryption apparatus described above is realized by causing the CPU 108 to execute the encryption program stored in the MEMORY 109. Each step in the processing in the decryption apparatus is realized by causing the CPU 208 to execute the encryption program stored in the MEMORY 209.

本実施の形態では装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、CD−ROM等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と共働してその機能を実現させるものであってもよい。   In this embodiment, the function for implementing the invention is recorded in advance in the apparatus. However, the present invention is not limited to this, and the same function may be downloaded from the network to the apparatus, and the same function is recorded. What is stored in the medium may be installed in the apparatus. The recording medium may be any form as long as the recording medium can store the program and can be read by the apparatus, such as a CD-ROM. Further, the function obtained by installing or downloading in advance may be realized in cooperation with an OS (operating system) or the like inside the apparatus.

このように、本実施の形態では、データの暗号化に一般的に利用されるブロック暗号処理の性質と、ワンタイムパッド暗号方式の性質を応用し、通常の方法により暗号化された暗号データに対して、後処理を施す構成となっている。これにより、復号鍵に対する総当たり攻撃による不正なデータ復号化を、より困難にすることができる。また、復号化を行う装置が、処理能力の低い小型の端末装置などである場合においても、復号化に必要となる情報のデータ量を極力削減することにより、復号化における演算負荷および通信量をワンタイムパッド暗号方式に比べて低く抑えることができる。   As described above, in the present embodiment, the properties of the block encryption processing generally used for data encryption and the properties of the one-time pad encryption method are applied to the encrypted data encrypted by a normal method. On the other hand, post-processing is performed. Thereby, unauthorized data decryption by a brute force attack on the decryption key can be made more difficult. In addition, even when a device that performs decoding is a small terminal device with low processing capability, by reducing the data amount of information necessary for decoding as much as possible, the computation load and communication amount in decoding can be reduced. Compared to the one-time pad encryption method, it can be kept low.

本発明を特定の態様により詳細に説明したが、本発明の精神および範囲を逸脱しないかぎり、様々な変更および改質がなされ得ることは、当業者には自明であろう。   Although the present invention has been described in detail according to particular embodiments, it will be apparent to those skilled in the art that various changes and modifications can be made without departing from the spirit and scope of the invention.

本発明の実施の形態によるデータ保護システムの概略的なシステム構成を示す図である。1 is a diagram showing a schematic system configuration of a data protection system according to an embodiment of the present invention. 本実施の形態によるデータ保護システムを構成する各構成要素の機能について説明するための機能ブロック図である。It is a functional block diagram for demonstrating the function of each component which comprises the data protection system by this Embodiment. 復号化処理における演算式を示す図である。It is a figure which shows the computing equation in a decoding process. マスク処理部102における暗号化済データとマスクデータとのXOR処理の概要を示すイメージ図である。It is an image figure which shows the outline | summary of the XOR process of the encrypted data and mask data in the mask process part. マスクデータ生成部104内部にて実行される処理の詳細について説明するための図である。6 is a diagram for explaining details of processing executed inside a mask data generation unit 104. FIG. マスク対象であるブロックに対するマスクデータの配置方法の一例を示す図である。It is a figure which shows an example of the arrangement method of the mask data with respect to the block which is a mask object. マスク解除部203におけるマスク解除処理の詳細を示す図である。It is a figure which shows the detail of the mask release process in the mask release part 203. FIG. マスクデータの乱数データで埋める領域を小さくした場合について説明するための図である。It is a figure for demonstrating the case where the area | region filled with the random number data of mask data is made small. マスクデータによるマスク位置のパターン例を示す図である。It is a figure which shows the example of a pattern of the mask position by mask data. マスクデータによるマスク位置のパターン例を示す図である。It is a figure which shows the example of a pattern of the mask position by mask data. マスクデータによるマスク位置のパターン例を示す図である。It is a figure which shows the example of a pattern of the mask position by mask data. マスクデータによるマスク位置のパターン例を示す図である。It is a figure which shows the example of a pattern of the mask position by mask data. 本実施の形態によるデータ保護システムにおける処理(データ保護方法)の流れについて説明するためのフローチャートである。It is a flowchart for demonstrating the flow of the process (data protection method) in the data protection system by this Embodiment.

符号の説明Explanation of symbols

1 暗号化装置、101 暗号化処理部、102 マスク処理部、103 マスクデータ設定部、104 マスクデータ生成部、105 操作入力部、108 CPU、109 MEMORY、2 復号化装置、201 データ取得部、202 マスク情報取得部、203 マスク解除部、204 復号鍵取得部、205 復号化部、208 CPU、209 MEMORY、210 操作入力部、3 データベース、マスクデータ管理部301。 DESCRIPTION OF SYMBOLS 1 Encryption apparatus, 101 Encryption process part, 102 Mask process part, 103 Mask data setting part, 104 Mask data generation part, 105 Operation input part, 108 CPU, 109 MEMORY, 2 Decryption apparatus, 201 Data acquisition part, 202 Mask information acquisition unit, 203 Mask release unit, 204 Decryption key acquisition unit, 205 Decryption unit, 208 CPU, 209 MEMORY, 210 Operation input unit, 3 Database, Mask data management unit 301

Claims (22)

暗号化すべき対象データに所定の暗号化処理を施す暗号化処理部と、
前記暗号化処理部での暗号化処理により生成される暗号化データの一部のデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出するマスク処理部と、
を備えてなる暗号化装置。
An encryption processing unit that performs predetermined encryption processing on target data to be encrypted;
A mask processing unit that calculates an exclusive OR of a partial data string of encrypted data generated by the encryption processing in the encryption processing unit and a random number having the same data length as the data string;
An encryption device comprising:
請求項1に記載の暗号化装置において、
前記暗号化処理部は、前記対象データを、それぞれが所定のデータ長を有する複数ブロックに分割し、該複数ブロックそれぞれに暗号処理を施すブロック暗号処理を実行するものであり、
前記マスク処理部は、前記暗号化処理部による暗号処理において複数ブロックに分割された対象データの内の少なくとも1つのブロックに含まれるデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出する暗号化装置。
The encryption device according to claim 1,
The encryption processing unit divides the target data into a plurality of blocks each having a predetermined data length, and executes block encryption processing for performing encryption processing on each of the plurality of blocks.
The mask processing unit excludes a data sequence included in at least one block of target data divided into a plurality of blocks in the encryption processing by the encryption processing unit, and a random number having the same data length as the data sequence An encryption device that calculates a logical OR.
請求項1に記載の暗号化装置において、
前記暗号化処理部は、前記対象データを、それぞれが所定のデータ長を有する複数ブロックに分割し、該複数ブロックそれぞれに暗号処理を施すブロック暗号処理を実行するものであり、
前記マスク処理部は、前記暗号化処理部による暗号処理において複数ブロックに分割された対象データの内の先頭ブロックから偶数番目もしくは奇数番目のブロックのデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出する暗号化装置。
The encryption device according to claim 1,
The encryption processing unit divides the target data into a plurality of blocks each having a predetermined data length, and executes block encryption processing for performing encryption processing on each of the plurality of blocks.
The mask processing unit has an even or odd block data string from the first block of the target data divided into a plurality of blocks in the encryption process by the encryption processing unit, and has the same data length as the data string An encryption device that calculates an exclusive OR with a random number.
請求項1に記載の暗号化装置において、
前記マスク処理部は、少なくとも、前記暗号化処理部による暗号処理において生成された暗号化データの内の所定のデータ領域に位置するデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出する暗号化装置。
The encryption device according to claim 1,
The mask processing unit excludes at least a data sequence located in a predetermined data area of encrypted data generated in the encryption processing by the encryption processing unit and a random number having the same data length as the data sequence. An encryption device that calculates a logical OR.
請求項1に記載の暗号化装置において、
前記マスク処理部は、前記暗号化処理部による暗号処理において生成された暗号化データの内の所定のデータ領域に位置するデータ列については、該所定のデータ領域以外のデータ領域のデータ列よりも前記乱数との排他的論理和を算出するデータ量の割合を多くる暗号化装置。
The encryption device according to claim 1,
The mask processing unit has a data string located in a predetermined data area in the encrypted data generated in the encryption process by the encryption processing part, more than a data string in a data area other than the predetermined data area. the random number and exclusive encryption device increase the proportion of the amount of data for calculating the logical sum.
請求項1に記載の暗号化装置において、
ユーザの操作入力に基づいて、前記マスク処理部における排他的論理和の算出の対象となるデータ長を設定するマスクデータ設定部を備える暗号化装置。
The encryption device according to claim 1,
An encryption apparatus comprising: a mask data setting unit that sets a data length that is an object of calculation of exclusive OR in the mask processing unit based on a user operation input.
請求項1に記載の暗号化装置において、
前記暗号化処理部は、前記対象データを、それぞれが所定のデータ長を有する複数ブロックに分割し、該複数ブロックそれぞれに暗号処理を施すブロック暗号処理を実行するものであり、
前記マスク処理部は、前記暗号化処理部による暗号化処理において複数ブロックに分割された対象データの各ブロックの所定のデータ領域のデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出する暗号化装置。
The encryption device according to claim 1,
The encryption processing unit divides the target data into a plurality of blocks each having a predetermined data length, and executes block encryption processing for performing encryption processing on each of the plurality of blocks.
The mask processing unit excludes a data string in a predetermined data area of each block of target data divided into a plurality of blocks in the encryption process by the encryption processing unit and a random number having the same data length as the data string An encryption device that calculates a logical OR.
乱数データを用いた所定のマスク処理が施された暗号化済みのデータを復号化する復号化装置であって、
復号化の対象となる復号対象データを取得するデータ取得部と、
前記所定のマスク処理に用いられた乱数データおよび該乱数データと排他的論理和を演算したデータ領域を示す情報を取得するマスク情報取得部と、
前記マスク情報取得部にて取得される情報に基づいて、前記データ取得部にて取得される復号対象データについての、所定のマスク処理によるデータ保護を解除するマスク解除部と、
前記マスク解除部にて生成される暗号化済みデータを復号化するための復号鍵を取得する復号鍵取得部と、
前記復号鍵取得部にて取得される復号鍵に基づいて、前記マスク解除部にて生成される暗号化済みデータを復号化する復号化部と
を備えてなる復号化装置。
A decryption device for decrypting encrypted data subjected to a predetermined mask process using random number data,
A data acquisition unit for acquiring the decoding target data to be decoded;
A mask information acquisition unit that acquires information indicating a random number data used in the predetermined mask processing and a data area obtained by calculating an exclusive OR with the random number data;
Based on the information acquired by the mask information acquisition unit, the mask release unit for releasing data protection by a predetermined mask process for the data to be decoded acquired by the data acquisition unit;
A decryption key acquisition unit for acquiring a decryption key for decrypting the encrypted data generated by the mask release unit;
A decryption device comprising: a decryption unit that decrypts encrypted data generated by the mask release unit based on a decryption key acquired by the decryption key acquisition unit.
請求項8に記載の復号化装置において、
前記データ取得部と前記マスク情報取得部は、互いに異なる通信経路を介してデータの取得を行う復号化装置。
The decoding device according to claim 8,
The data acquisition unit and the mask information acquisition unit are decoding devices that acquire data via different communication paths.
暗号化すべき対象データに所定の暗号化処理を施す暗号化処理部と、
前記暗号化処理部での暗号化処理により生成される暗号化データの一部のデータ列と、該データ列と同じデータ長である乱数データとの排他的論理和を算出する所定のマスク処理を行うマスク処理部と
を有する暗号化装置と、
前記マスク処理部にてマスク処理が施されたデータを取得するデータ取得部と、
前記所定のマスク処理に用いられた乱数データおよび該乱数データと排他的論理和を演算したデータ領域を示す情報を取得するマスク情報取得部と、
前記マスク情報取得部にて取得される情報に基づいて、前記データ取得部にて取得される復号対象データについての、所定のマスク処理によるデータ保護を解除するマスク解除部と、
前記マスク解除部にて生成される暗号化済みデータを復号化するための復号鍵を取得する復号鍵取得部と、
前記復号鍵取得部にて取得される復号鍵に基づいて、前記マスク解除部にて生成される暗号化済みデータを復号化する復号化部と
を有する復号化装置と
を備えてなるデータ保護システム。
An encryption processing unit that performs predetermined encryption processing on target data to be encrypted;
A predetermined mask process for calculating an exclusive OR of a partial data string of the encrypted data generated by the encryption process in the encryption processing unit and random number data having the same data length as the data string; An encryption device having a mask processing unit to perform,
A data acquisition unit for acquiring data subjected to mask processing in the mask processing unit;
A mask information acquisition unit that acquires information indicating a random number data used in the predetermined mask processing and a data area obtained by calculating an exclusive OR with the random number data;
Based on the information acquired by the mask information acquisition unit, the mask release unit for releasing data protection by a predetermined mask process for the data to be decoded acquired by the data acquisition unit;
A decryption key acquisition unit for acquiring a decryption key for decrypting the encrypted data generated by the mask release unit;
A data protection system comprising: a decryption device having a decryption unit that decrypts encrypted data generated by the mask release unit based on a decryption key acquired by the decryption key acquisition unit .
請求項10に記載のデータ保護システムにおいて、
前記データ取得部と前記マスク情報取得部は、互いに異なる通信経路を介してデータの取得を行うデータ保護システム。
The data protection system of claim 10, wherein
The data acquisition system wherein the data acquisition unit and the mask information acquisition unit acquire data via different communication paths.
暗号化すべき対象データに所定の暗号化処理を施す暗号化処理ステップと、
前記暗号化処理ステップでの暗号化処理により生成される暗号化データの一部のデータ列と、該データ列と同じデータ長である乱数データとの排他的論理和を算出する所定のマスク処理を行うマスク処理ステップと、
前記マスク処理ステップにてマスク処理が施されたデータを取得するデータ取得ステップと、
前記所定のマスク処理に用いられた乱数データおよび該乱数データと排他的論理和を演算したデータ領域を示す情報を取得するマスク情報取得ステップと、
前記マスク情報取得ステップにて取得される情報に基づいて、前記データ取得部にて取得される復号対象データについての、所定のマスク処理によるデータ保護を解除するマスク解除ステップと、
前記マスク解除ステップにて生成される暗号化済みデータを復号化するための復号鍵を取得する復号鍵取得ステップと、
前記復号鍵取得ステップにて取得される復号鍵に基づいて、前記マスク解除ステップにて生成される暗号化済みデータを復号化する復号化ステップと、
を備えてなるデータ保護方法。
An encryption processing step for performing predetermined encryption processing on target data to be encrypted;
A predetermined mask process for calculating an exclusive OR of a partial data string of encrypted data generated by the encryption process in the encryption process step and random number data having the same data length as the data string; Mask processing steps to be performed;
A data acquisition step of acquiring data subjected to mask processing in the mask processing step;
A mask information obtaining step for obtaining information indicating a random number data used in the predetermined mask processing and a data area obtained by calculating an exclusive OR with the random number data;
Based on the information acquired in the mask information acquisition step, the mask release step for releasing data protection by a predetermined mask process for the data to be decoded acquired by the data acquisition unit;
A decryption key obtaining step for obtaining a decryption key for decrypting the encrypted data generated in the unmasking step;
Based on the decryption key acquired in the decryption key acquisition step, a decryption step of decrypting the encrypted data generated in the unmasking step;
A data protection method comprising:
請求項12に記載のデータ保護方法において、
前記データ取得ステップと前記マスク情報取得ステップは、互いに異なる通信経路を介してデータの取得を行うデータ保護方法。
The data protection method according to claim 12,
A data protection method in which the data acquisition step and the mask information acquisition step acquire data via different communication paths.
暗号化すべき対象データに所定の暗号化処理を施す暗号化処理ステップと、
前記暗号化処理ステップでの暗号化処理により生成される暗号化データの一部のデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出するマスク処理ステップと、
をコンピュータに実行させる暗号化プログラム。
An encryption processing step for performing predetermined encryption processing on target data to be encrypted;
A mask processing step for calculating an exclusive OR of a partial data string of the encrypted data generated by the encryption process in the encryption processing step and a random number having the same data length as the data string;
An encryption program that causes a computer to execute.
請求項14に記載の暗号化プログラムにおいて、
前記暗号化処理ステップは、前記対象データを、それぞれが所定のデータ長を有する複数ブロックに分割し、該複数ブロックそれぞれに暗号処理を施すブロック暗号処理を実行するものであり、
前記マスク処理ステップは、前記暗号化処理ステップによる暗号処理において複数ブロックに分割された対象データの内の少なくとも1つのブロックに含まれるデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出する暗号化プログラム。
The encryption program according to claim 14,
The encryption processing step divides the target data into a plurality of blocks each having a predetermined data length, and executes block encryption processing for performing encryption processing on each of the plurality of blocks,
The mask processing step is an exclusive of a data string included in at least one block of target data divided into a plurality of blocks in the encryption process in the encryption processing step and a random number having the same data length as the data string An encryption program that calculates the logical OR.
請求項14に記載の暗号化プログラムにおいて、
前記暗号化処理ステップは、前記対象データを、それぞれが所定のデータ長を有する複数ブロックに分割し、該複数ブロックそれぞれに暗号処理を施すブロック暗号処理を実行するものであり、
前記マスク処理ステップは、前記暗号化処理ステップによる暗号処理において複数ブロックに分割された対象データの内の先頭ブロックから偶数番目もしくは奇数番目のブロックのデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出する暗号化プログラム。
The encryption program according to claim 14,
The encryption processing step divides the target data into a plurality of blocks each having a predetermined data length, and executes block encryption processing for performing encryption processing on each of the plurality of blocks,
The mask processing step has the same data length as the data sequence of the even-numbered block or odd-numbered block from the first block of the target data divided into a plurality of blocks in the encryption processing in the encryption processing step. An encryption program that calculates exclusive OR with random numbers.
請求項14に記載の暗号化プログラムにおいて、
前記マスク処理ステップは、少なくとも、前記暗号化処理ステップによる暗号処理において生成された暗号化データの内の所定のデータ領域に位置するデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出する暗号化プログラム。
The encryption program according to claim 14,
The mask processing step excludes at least a data string located in a predetermined data area in the encrypted data generated in the encryption process by the encryption processing step and a random number having the same data length as the data string An encryption program that calculates the logical OR.
請求項14に記載の暗号化プログラムにおいて、
前記マスク処理ステップは、前記暗号化処理ステップによる暗号処理において生成された暗号化データの内の所定のデータ領域に位置するデータ列については、該所定のデータ領域以外のデータ領域のデータ列よりも前記乱数との排他的論理和を算出する割合を多くする暗号化プログラム。
The encryption program according to claim 14,
In the mask processing step, a data string located in a predetermined data area in the encrypted data generated in the encryption process in the encryption processing step is more than a data string in a data area other than the predetermined data area. An encryption program for increasing a ratio of calculating an exclusive OR with the random number.
請求項14に記載の暗号化プログラムにおいて、
ユーザの操作入力に基づいて、前記マスク処理ステップにおける排他的論理和の算出の対象となるデータ長を設定するマスクデータ設定ステップを備える暗号化プログラム。
The encryption program according to claim 14,
An encryption program comprising a mask data setting step for setting a data length that is a target of calculation of exclusive OR in the mask processing step based on a user operation input.
請求項14に記載の暗号化プログラムにおいて、
前記暗号化処理ステップは、前記対象データを、それぞれが所定のデータ長を有する複数ブロックに分割し、該複数ブロックそれぞれに暗号処理を施すブロック暗号処理を実行するものであり、
前記マスク処理ステップは、前記暗号化処理ステップによる暗号化処理において複数ブロックに分割された対象データの各ブロックの所定のデータ領域のデータ列と、該データ列と同じデータ長である乱数との排他的論理和を算出する暗号化プログラム。
The encryption program according to claim 14,
The encryption processing step divides the target data into a plurality of blocks each having a predetermined data length, and executes block encryption processing for performing encryption processing on each of the plurality of blocks,
The mask processing step excludes a data string in a predetermined data area of each block of target data divided into a plurality of blocks in the encryption process in the encryption processing step and a random number having the same data length as the data string An encryption program that calculates the logical OR.
乱数データを用いた所定のマスク処理が施された暗号化済みデータを復号化する処理をコンピュータに実行させる復号化プログラムであって、
復号化の対象となる復号対象データを取得するデータ取得ステップと、
前記所定のマスク処理に用いられた乱数データおよび該乱数データと排他的論理和を演算したデータ領域を示す情報を取得するマスク情報取得ステップと、
前記マスク情報取得ステップにて取得される情報に基づいて、前記データ取得部にて取得される復号対象データについての、所定のマスク処理によるデータ保護を解除するマスク解除ステップと、
前記マスク解除ステップにて生成される暗号化済みデータを復号化するための復号鍵を取得する復号鍵取得ステップと、
前記復号鍵取得ステップにて取得される復号鍵に基づいて、前記マスク解除ステップにて生成される暗号化済みデータを復号化する復号化ステップと
をコンピュータに実行させる復号化プログラム。
A decryption program for causing a computer to execute a process of decrypting encrypted data subjected to a predetermined mask process using random number data,
A data acquisition step for acquiring decryption target data to be decrypted;
A mask information obtaining step for obtaining information indicating a random number data used in the predetermined mask processing and a data area obtained by calculating an exclusive OR with the random number data;
Based on the information acquired in the mask information acquisition step, the mask release step for releasing data protection by a predetermined mask process for the data to be decoded acquired by the data acquisition unit;
A decryption key obtaining step for obtaining a decryption key for decrypting the encrypted data generated in the unmasking step;
A decryption program that causes a computer to execute a decryption step of decrypting the encrypted data generated in the unmasking step based on the decryption key acquired in the decryption key acquisition step.
請求項21に記載の復号化プログラムにおいて、
前記データ取得ステップと前記マスク情報取得ステップは、互いに異なる通信経路を介してデータの取得を行う復号化プログラム。
The decoding program according to claim 21, wherein
The data acquisition step and the mask information acquisition step are decoding programs for acquiring data via different communication paths.
JP2008087273A 2008-03-28 2008-03-28 ENCRYPTION DEVICE, DECRYPTION DEVICE, DATA PROTECTION SYSTEM, DATA PROTECTION METHOD Active JP5179921B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008087273A JP5179921B2 (en) 2008-03-28 2008-03-28 ENCRYPTION DEVICE, DECRYPTION DEVICE, DATA PROTECTION SYSTEM, DATA PROTECTION METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008087273A JP5179921B2 (en) 2008-03-28 2008-03-28 ENCRYPTION DEVICE, DECRYPTION DEVICE, DATA PROTECTION SYSTEM, DATA PROTECTION METHOD

Publications (2)

Publication Number Publication Date
JP2009244302A true JP2009244302A (en) 2009-10-22
JP5179921B2 JP5179921B2 (en) 2013-04-10

Family

ID=41306316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008087273A Active JP5179921B2 (en) 2008-03-28 2008-03-28 ENCRYPTION DEVICE, DECRYPTION DEVICE, DATA PROTECTION SYSTEM, DATA PROTECTION METHOD

Country Status (1)

Country Link
JP (1) JP5179921B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012073816A (en) * 2010-09-29 2012-04-12 Fujitsu Ltd Information processing method and device
CN111723388A (en) * 2020-06-23 2020-09-29 湖南国科微电子股份有限公司 Password operation protection method, device, equipment and medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01122227A (en) * 1987-11-06 1989-05-15 Konica Corp Transmission equipment
JPH0227389A (en) * 1988-07-15 1990-01-30 Sony Corp Enciphering method and enciphering device/decoding device using enciphering method concerned
JPH05333776A (en) * 1992-05-29 1993-12-17 Toshiba Corp Function processing module
JP2003304521A (en) * 2002-04-09 2003-10-24 Sony Corp Signal processing apparatus and method, and communication system
JP2007189659A (en) * 2005-12-15 2007-07-26 Toshiba Corp Encryption device, encryption method, and encryption program
JP2007334016A (en) * 2006-06-15 2007-12-27 Matsushita Electric Ind Co Ltd Data enciphering device and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01122227A (en) * 1987-11-06 1989-05-15 Konica Corp Transmission equipment
JPH0227389A (en) * 1988-07-15 1990-01-30 Sony Corp Enciphering method and enciphering device/decoding device using enciphering method concerned
JPH05333776A (en) * 1992-05-29 1993-12-17 Toshiba Corp Function processing module
JP2003304521A (en) * 2002-04-09 2003-10-24 Sony Corp Signal processing apparatus and method, and communication system
JP2007189659A (en) * 2005-12-15 2007-07-26 Toshiba Corp Encryption device, encryption method, and encryption program
JP2007334016A (en) * 2006-06-15 2007-12-27 Matsushita Electric Ind Co Ltd Data enciphering device and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012073816A (en) * 2010-09-29 2012-04-12 Fujitsu Ltd Information processing method and device
CN111723388A (en) * 2020-06-23 2020-09-29 湖南国科微电子股份有限公司 Password operation protection method, device, equipment and medium

Also Published As

Publication number Publication date
JP5179921B2 (en) 2013-04-10

Similar Documents

Publication Publication Date Title
US11233659B2 (en) Method of RSA signature or decryption protected using a homomorphic encryption
CN104683099B (en) A kind of method and apparatus of improved encryption/decryption content and distribution encrypted content
JP4622811B2 (en) Electronic document authenticity guarantee system
US10187207B2 (en) Re-encryption key generator, re-encryption apparatus, encryption apparatus, decryption apparatus, and storage medium
US9426131B2 (en) Server apparatus and program to re-encrypt ciphertext data
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
JP6753403B2 (en) Information processing equipment, authentication systems, authentication methods, and computer programs
KR20140099126A (en) Method of securing software using a hash function, Computer readable storage medium of recording the method and a software processing apparatus
CN111066077B (en) Encryption device, encryption method, decryption device, and decryption method
US20160013933A1 (en) Order-preserving encryption system, device, method, and program
KR102143525B1 (en) Method for function encryption supporting set intersection operation and apparatus using the same
JP6041864B2 (en) Method, computer program, and apparatus for data encryption
JP2005252384A (en) Encrypted data storage server system, encrypted data storage method, and re-encryption method
CN114124364A (en) Key security processing method, device, equipment and computer readable storage medium
JP5171787B2 (en) Sign-encryption system and sign-encryption generation method
JP5992651B2 (en) ENCRYPTION METHOD, PROGRAM, AND SYSTEM
JP5179921B2 (en) ENCRYPTION DEVICE, DECRYPTION DEVICE, DATA PROTECTION SYSTEM, DATA PROTECTION METHOD
JPWO2019031025A1 (en) Cryptographic device, encryption method, decryption device, and decryption method
JP2007181011A (en) Data sharing device
CN113595982B (en) Data transmission method and device, electronic equipment and storage medium
JP2012156809A (en) Content distribution system, mobile communication terminal device, and browsing control program
CN111953480B (en) Key generation device and method, operation key generation device and method
CN111008837B (en) Block chain account private key recovery method and device, computer equipment and storage medium
KR20140028233A (en) Homomorphic encryption and decryption method using chinese remainder theorem and apparatus using the same
JP5440285B2 (en) Key sharing method, key sharing method, and key sharing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100401

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100517

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130110

R150 Certificate of patent or registration of utility model

Ref document number: 5179921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250